您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > VHDL语言设计--智力竞赛抢答器设计
《数字系统与逻辑设计》课程设计任务书一、设计目的全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。二、设计要求1、设计正确,方案合理。2、界面友好,使用方便。3、程序精炼,结构清晰。4、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。5、上机演示。6、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。三、进度安排第十九周星期一:课题讲解,查阅资料星期二:总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释);目录1、课题的主要功能.........................................................12、功能模块的划分.........................................................13、主要功能的实现.........................................................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、评分表................................................................1511、课题的主要功能设计一个4人参加的智力竞赛抢答计时器。该系统具有回答问题时间控制的功能,要求回答问题时间小于等于100秒(显示为0~99),时间显示采用倒计时方式。当达到限定时间时,发出声响以示警告;当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。2、功能模块的划分图1智能抢答器功能模块划分图该智能抢答器分为七个模块,分别为:鉴别模块、锁存器模块、转换模块、三选一模块、倒计时模块、偏心模块和显示模块。3、主要功能的实现3.1、鉴别功能鉴别模块jianbie如图2所示,输入信号CLK和CLR,若CLR=“0”,表示无人按键,输出信号Q为0;若CLR=“1”,表示有人按键,输出信号Q为1。3.2、锁存功能锁存器模块suocunqi如图3所示,锁存器对四位答题者的结果进行锁存,并将其赋给输出信号Q1,Q2,Q3,Q4。顶层文件QDQdaojishi模块sanxuanyi模块pianxuan模块xianshi模块jianbie模块suocunqi模块zhuanhuan模块23.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所示,将所有进程中的数值转换成七位二进制数。CLKCLRQjianbieinst12D1D2D3D4CLKCLRQ1Q2Q3Q4ALMsuocunqiinst4D1D2D3D4Q[3..0]zhuanhuaninst6SEL[2..0]D1[3..0]D2[3..0]D3[3..0]Q[3..0]sanxuanyiinst3图2jianbie模块图3suocunqi模块图4zhuanhuan模块图5sanxuanyi模块CLKENH[3..0]L[3..0]SOUNDdaojishiinstCLKa[2..0]pianxuaninst2D[3..0]Q[6..0]xianshiinst5图6daojishi模块图7pianxuan模块图8xiandhi模块34、程序调试4.1、调试方法(1)人工调试。写好一个程序后不能急于上机调试,而是先进行纸面上的检查,改正错误的地方。(2)上机调试。机器提示有多处错误,应先改第一条,后面的错误大多是因第一天错误引起的。4.2、各模块程序的调试(1)鉴别模块:图9鉴别模块仿真波形图给CLK一个时钟信号,在某一时刻开始赋给CLR一个高电平,则从下一个时钟下降沿开始Q输出高电平。(2)锁存器模块:图10锁存器模块仿真波形图给CLK一个时钟信号,在某一时刻开始赋给CLR一个高电平,则从下一个时钟上升沿开始:将D1赋给Q1、将D2赋给Q2、将D3赋给Q3、将D4赋给Q4,并输出ALM;在CLR为低电平时无输出。(3)转换模块:4图11转换模块仿真波形图通过此模块将D1D2D3D4的输入结果转换成Q1Q2Q3Q4这种四位二进制数。(4)三选一模块:图12三选一模块仿真波形图由SEL控制Q的输出,当SEL为“000”时将D1赋给Q;当SEL为“001”时将D2赋给Q;当SEL为“111”时将D3赋给Q;其他情况将“1111赋给Q。(5)倒计时模块:图13倒计时模块仿真波形图给CLK一个时钟信号,当EN为“1”且H、L都为“0000”时从这个时钟上升沿开始有声音输出;当H、L不为“0000”时,即使有EN为“1”也没有声音输出。当EN为“0”进行倒计时。5(6)片选模块:图14片选模块仿真波形图给CLK一个时钟信号,当处于时钟上升沿时输出信号a。(7)显示模块:图15显示模块仿真波形图将输入信号D转变成能在七段数码管上显示的七位二进制数。(8)顶层文件:图16顶层文件仿真波形图6(9)各模块连结后的电路图:图17各模块连结后的电路图5、总结一周的《数值系统与逻辑设计》的课程设计终于做完了,在这一周的课设中我感觉我学到了蛮多东西。首先,我学会了如何对一个大的课题进行分析——将大的整体划分为许多下的部分,直到各个部分容易设计出来。刚开始接到抢答器这个课设题目时我感到一头雾水,根本不知道从哪下手,然后通过认真阅读课设题目下的算法提示终于有了的眉目,原来要不这个抢答器分成:鉴别模块、锁存器模块、倒计时模块、转换模块、片选模块、三选一模块和显示模块这七大模块,有了思路剩下的事情就容易多了。其次,这次课程设计让我感受到了我对所学习的内容是多么的不熟练,在编程的时候还要老是去翻书。我记忆在深刻的是在编顶层文件时,看了一遍又一遍书但在编写的过程中还是出错了,最后只好对着书编写。但我觉的出现问题并不是很要紧,这些问题能提醒我那些地方没有学好,只要我重视这些地方将其巩固我想我将能学到许多的知识。最后,我感觉我对QuartusII软件的使用熟练了许多。我虽然以前在试验的时候使用过QuartusII这个软件,但用的时间毕竟不长,对其不太熟练,经过这次做课设我对这个软件运用熟练了很多,这对以后的学习一定有很大的帮助。我想在面对一个问题时不能存在侥幸心理,只要我们认真对待它,我们就能学到东西。76、附件6.1、鉴别模块代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYjianbieISPORT(CLK,CLR:INSTD_LOGIC;Q:OUTSTD_LOGIC);ENDjianbie;ARCHITECTUREjianbie_mkOFjianbieISBEGINPROCESS(CLK,CLR)BEGINIFCLR='0'THEN--利用IF_THEN_ELSE语句Q='0';ELSIFCLK'EVENTANDCLK='0'THEN--边缘检测信号为低电平Q='1';ENDIF;ENDPROCESS;ENDjianbie_mk;6.2、锁存器模块源代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYsuocunqiISPORT(D1,D2,D3,D4:INSTD_LOGIC;--输入端口定义4个变量CLK,CLR:INSTD_LOGIC;Q1,Q2,Q3,Q4,ALM:OUTSTD_LOGIC);ENDsuocunqi;ARCHITECTUREsuocunqi_mkOFsuocunqiISBEGINPROCESS(CLK)8BEGINIFCLR='0'THENQ1='0';Q2='0';Q3='0';Q4='0';
本文标题:VHDL语言设计--智力竞赛抢答器设计
链接地址:https://www.777doc.com/doc-6306534 .html