1、VHDL语言设计智力竞赛抢答器设计数字系统与逻辑设计课程设计任务书一 、设计目的全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。二、设计要求1、设计正确,方案合理。2、界面友好,使用方便。3、程序精炼,结构清晰。4、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。5、上机演示。6、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结
2、论。三、进度安排第十九周 星期一: 课题讲解,查阅资料 星期二: 总体设计,详细设计星期三: 编程,上机调试、修改程序星期四: 上机调试、完善程序星期五: 答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释); 目 录1、课题的主要功能 12、功能模块的划分 1
3、3、主要功能的实现 13.1、鉴别功能 13.2、锁存功能 13.3、转换功能 23.4、三选一功能 23.5、倒计时功能 23.6、片选功能 23.7、显示功能 24、程序调试 34.1、调试方法 34.2、各模块程序的调试 35、总结 66、附件 76.1、鉴别模块代码 76.2、锁存器模块源代码 76.3、模块源代码 86.4、三选一模块源代码 96.5、倒计时模块源代码 96.6、片选模块源代码 116.7、显示模块源代码 116.8、顶层文件源代码 127、评分表 151、课题的主要功能 设计一个4人参加的智力竞赛抢答计时器。该系统具有回答问题时间控制的功能,要求回答问题时间小于等于
4、100秒(显示为099),时间显示采用倒计时方式。当达到限定时间时,发出声响以示警告;当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。2、功能模块的划分图1智能抢答器功能模块划分图该智能抢答器分为七个模块,分别为:鉴别模块、锁存器模块、转换模块、三选一模块、倒计时模块、偏心模块和显示模块。3、主要功能的实现3.1、鉴别功能鉴别模块jianbie如图2所示,输入信号CLK和CLR,若CLR=“0”,表示无人按键,输出信号Q为0;若CLR=“1”,表示有人按键,输出信号Q为1。3.2、锁存功能 锁存器模块suocunqi如图3所示,锁存器对四位答题者的结果
5、进行锁存,并将其赋给输出信号Q1,Q2,Q3,Q4。3.3、转换功能 转换模块zhuanhuan如图4所示,把抢答结果转化为二进制数。3.4、三选一功能 三选一模块sanxuanyi如图5所示,用三位二进制数分别表示抢答者的号数及其倒计时,输出信号Q。3.5、倒计时功能 倒计时模块daojishi如图6所示,用两个四位二进制数表示倒计时,定义变量HH,LL,由时钟CLK和使能信号EN控制。当HH=0,LL=0时,发出声音停止计时,输出H(XXX),L(XXX)。3.6、片选功能 片选模块pianxuan如图7所示,对三个七段数码管进行选择。3.7、显示功能 显示模块xianshi如图8所示,将
6、所有进程中的数值转换成七位二进制数。 图2 jianbie模块 图3 suocunqi模块 图4 zhuanhuan模块 图5 sanxuanyi模块 图6 daojishi模块 图7 pianxuan模块 图8 xiandhi模块 4、程序调试4.1、调试方法(1)人工调试。写好一个程序后不能急于上机调试,而是先进行纸面上的检查,改正错误的地方。(2)上机调试。机器提示有多处错误,应先改第一条,后面的错误大多是因第一天错误引起的。4.2、各模块程序的调试 (1)鉴别模块:图9鉴别模块仿真波形图给CLK一个时钟信号,在某一时刻开始赋给CLR一个高电平,则从下一个时钟下降沿开始Q输出高电平。 (
7、2)锁存器模块: 图10锁存器模块仿真波形图给CLK一个时钟信号,在某一时刻开始赋给CLR一个高电平,则从下一个时钟上升沿开始:将D1赋给Q1、将D2赋给Q2、将D3赋给Q3、将D4赋给Q4,并输出ALM;在CLR为低电平时无输出。 (3)转换模块:图11转换模块仿真波形图 通过此模块将D1D2D3D4的输入结果转换成Q1Q2Q3Q4这种四位二进制数。 (4)三选一模块: 图12三选一模块仿真波形图由SEL控制Q的输出,当SEL为“000”时将D1赋给Q;当SEL为“001”时将D2赋给Q;当SEL为“111”时将D3赋给Q;其他情况将“1111赋给Q。 (5)倒计时模块: 图13倒计时模块仿
8、真波形图 给CLK一个时钟信号,当EN为“1”且H、L都为“0000”时从这个时钟上升沿开始有声音输出;当H、L不为“0000”时,即使有EN为“1”也没有声音输出。当EN为“0”进行倒计时。 (6)片选模块:图14片选模块仿真波形图给CLK一个时钟信号,当处于时钟上升沿时输出信号a。(7)显示模块:图15显示模块仿真波形图 将输入信号D转变成能在七段数码管上显示的七位二进制数。 (8)顶层文件:图16顶层文件仿真波形图 (9)各模块连结后的电路图:图17各模块连结后的电路图5、总结 一周的数值系统与逻辑设计的课程设计终于做完了,在这一周的课设中我感觉我学到了蛮多东西。首先,我学会了如何对一个
9、大的课题进行分析将大的整体划分为许多下的部分,直到各个部分容易设计出来。刚开始接到抢答器这个课设题目时我感到一头雾水,根本不知道从哪下手,然后通过认真阅读课设题目下的算法提示终于有了的眉目,原来要不这个抢答器分成:鉴别模块、锁存器模块、倒计时模块、转换模块、片选模块、三选一模块和显示模块这七大模块,有了思路剩下的事情就容易多了。 其次,这次课程设计让我感受到了我对所学习的内容是多么的不熟练,在编程的时候还要老是去翻书。我记忆在深刻的是在编顶层文件时,看了一遍又一遍书但在编写的过程中还是出错了,最后只好对着书编写。但我觉的出现问题并不是很要紧,这些问题能提醒我那些地方没有学好,只要我重视这些地方
10、将其巩固我想我将能学到许多的知识。 最后,我感觉我对Quartus I I软件的使用熟练了许多。我虽然以前在试验的时候使用过Quartus I I这个软件,但用的时间毕竟不长,对其不太熟练,经过这次做课设我对这个软件运用熟练了很多,这对以后的学习一定有很大的帮助。我想在面对一个问题时不能存在侥幸心理,只要我们认真对待它,我们就能学到东西。6、附件6.1、鉴别模块代码LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY jianbie ISPORT(CLK,CLR:IN STD_LOGIC; Q :OUT STD_LOGIC);END jianbie;
11、ARCHITECTURE jianbie_mk OF jianbie IS BEGINPROCESS(CLK,CLR)BEGINIF CLR=0THEN -利用IF_THEN_ELSE语句 Q=0;ELSIF CLKEVENT AND CLK=0THEN -边缘检测信号为低电平 Q=1;END IF;END PROCESS;END jianbie_mk;6.2、锁存器模块源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY suocunqi ISPORT(D1,D2,D3,D4:IN STD_LOGIC; -输入端口定义4个变量 CLK,CLR:
12、IN STD_LOGIC; Q1,Q2,Q3,Q4,ALM:OUT STD_LOGIC);END suocunqi;ARCHITECTURE suocunqi_mk OF suocunqi ISBEGIN PROCESS(CLK) BEGINIF CLR=0THEN Q1=0; Q2=0; Q3=0; Q4=0; ALM=0; ELSIF CLKEVENT AND CLK=1THEN -检测为高电平,则有人抢答 Q1=D1; Q2=D2; Q3=D3; Q4=D4; ALMQQQQQQQQQ=1111;END CASE;END PROCESS; END sanxuanyi_mk;6.5、倒计时
13、模块源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY daojishi ISPORT(CLK,EN:IN STD_LOGIC; H,L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SOUND:OUT STD_LOGIC);END daojishi;ARCHITECTURE daojishi_mk OF daojishi ISBEGINPROCESS(CLK,EN)VARIABLE HH,LL:STD_LOGIC_VECTOR(3 DOWNTO 0);BEG
14、INIF CLKEVENT AND CLK=1THENIF EN=1THENIF LL=0 AND HH=0 THEN SOUND=1;ELSIF LL=0 THEN LL:=1001; HH:=HH-1; ELSE LL:=LL-1;END IF;ELSE SOUND=0; HH:=1001; LL:=1001;END IF;END IF;H=HH;L=LL;END PROCESS;END daojishi_mk;6.6、片选模块源代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY pianxuan IS PORT(CLK:IN STD_LO
15、GIC; a :OUT INTEGER RANGE 0 TO 7); END pianxuan;ARCHITECTURE pianxuan_mk OF pianxuan IS BEGIN PROCESS(CLK) VARIABLE AA:INTEGER RANGE 0 TO 7; -定义标准逻辑位矢量类型 BEGIN IF CLKEVENT AND CLK=1THEN -利用IF_THEN语句 AA:=AA+1; END IF; AQQQQQQQQQQQD1,D2=D2,D3=D3,D4=D4,CLK=C,CLR=CLR, Q1=A1,Q2=A2,Q3=A3,Q4=A4,AlM=D);U2:p
16、ianxuan PORT MAP( CLK=CLK,A=SEL);U3:jianbie PORT MAP ( CLK=CLK,CLR=CLR,Q=C);U4:daojishi PORT MAP (CLK=CLK,L=B1,H=B2,SOUND=SOUND,EN=D);U5:zhuanhuan PORT MAP(D1=A1,D2=A2,D3=A3,D4=A4,Q=E);U6:sanxuanyi PORT MAP(SEL=M,D1=B1,D2=B2,D3=E,Q=F);U7: xianshi PORT MAP(D=F,Q=Q);END DCWJ;7、评分表计算机科学与技术系课程设计评分表课题名称: 智力竞赛抢答器设计 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1