数字逻辑系统设计.doc

上传人:飞****2 文档编号:78850757 上传时间:2023-03-19 格式:DOC 页数:14 大小:89KB
返回 下载 相关 举报
数字逻辑系统设计.doc_第1页
第1页 / 共14页
数字逻辑系统设计.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《数字逻辑系统设计.doc》由会员分享,可在线阅读,更多相关《数字逻辑系统设计.doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数字逻辑系统设计课程设计报告题 目 智力竞赛抢答器设计 学 院 电子信息工程学院 专 业 电子工程学院 学生姓名 万海堂 班 级 A1122 学 号 指导教师 盛老师 二一三年十二月目 录 摘要:21EDA技术的发展3一、设计内容及要求41、设计内容42、设计要求4二、抢答器设计方案51、设计方案5三、主要VHDL源程序与系统模块51. 抢答鉴别电路QDJB的VHDL源程序和模块52分器电路JFQ的VHDL源程序63计时器电路JSQ的VHDL源程序84数码管显示电路的VHDL源程序95力抢答器在QUARTUS II中所用的引脚分配框图11四、路抢答器总电路图及系统仿真11五、设计技巧分析13心

2、得体会14六、参考文献14摘要:智力抢答器是“快乐学习”这一教育模式的典范,它采用在规一段时间内抢答与必答等方式,在给人们的生活带来乐趣的同时,也使参与与观众在愉悦的气氛中学到一些科学知识与生活知识,因此很受大家的喜欢。但是,在这类比赛中,对于水先抢答后抢答,在何时抢答,如何计算答题时间等等问题,我们需要一种具备自动锁存,置位,清零等功能智能抢答器来解决这些问题。 关键字:FPGA,VHDL,波形图,引脚分配1EDA技术的发展人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快

3、,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是EDA技术。EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计,电子电路设计以及PCB设计。没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,但是面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集体化设计黄精,改变传统的设计思路,将精力集中到设计构想、方案比较和寻找优化

4、设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷版设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。2. EDA技术的设计优势传统的设计方法采用自底向上的设计方法,一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试,由于无法进行硬件系统功能仿真,如果某一过程存在错误,查找和修改十分不便,所以这是一种费时、费力的设计方

5、法,而现代电子设计技术(EDA)是自顶向下且先进高效的。在电子产品的设计理念、设计方式、系统硬件构成、设计的重用性、知识产权、设计周期等方面,EDA技术具有一定的优势。所以本次设计的抢答器抛弃了传统的设计方法,选择了采用主流的EDA技术进行设计。 智力抢答器设计一、设计内容及要求 1、设计内容 在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。同时,还可以设置计分、犯规及奖惩计录等多种功能。 2、设计要求 ((1) 设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮供抢答者使用。 (2) 电路具有第一抢

6、答信号的鉴别和锁存功能。 (3) 设置计分电路。 (4) 设置犯规电路。二、抢答器设计方案1、设计方案 抢根据系统设计要求可知,系统的输入信号有:各组的抢答按钮A、B、C、D,系统清零信号CLR,系统时钟信号CLK,计分复位端RST,加分按钮端ADD,计时预置控制端LDN,计时使能端EN,计时预置数据调整按钮TA、TB;系统的输出信号有:四个组抢答成功与否的指示灯控制信号输出口LEDA、LEDB、LEDC、LEDD,四个组抢答时的计时数码显示控制信号若干,抢答成功组别显示的控制信号若干,各组计分动态显示的控制信号若干。 三、主要VHDL源程序与系统模块1. 抢答鉴别电路QDJB的VHDL源程序

7、和模块-QDJB.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS PORT(CLR: IN STD_LOGIC; A, B, C, D: IN STD_LOGIC; A1,B1,C1,D1: OUT STD_LOGIC; STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY QDJB; ARCHITECTURE ART OF QDJB IS CONSTANT W1: STD_LOGIC_VECTOR: =0001; CONSTANT W2: STD_LOGIC_VECT

8、OR: =0010; CONSTANT W3: STD_LOGIC_VECTOR: =0100; CONSTANT W4: STD_LOGIC_VECTOR: =1000; BEGIN PROCESS(CLR,A,B,C,D) IS BEGINIF CLR=1 THEN STATES=0000; ELSIF (A=1AND B=0AND C=0AND D=0) THEN A1=1; B1=0; C1=0; D1=0; STATES=W1; ELSIF (A=0AND B=1AND C=0AND D=0) THEN A1=0; B1=1; C1=0; D1=0; STATES=W2; ELSIF

9、 (A=0AND B=0AND C=1AND D=0) THEN A1=1; B1=0; C1=1; D1=0; STATES=W3; ELSIF (A=0AND B=0AND C=0AND D=1) THEN A1=0; B1=0; C1=0; D1=1; STATES=W4; END IF; END PROCESS; END ARCHITECTURE ART; 2分器电路JFQ的VHDL源程序 计分器电路按一定数制的加减即可,但随着计数数目的增加会变得很复杂。我们可以将一个大的进制数分解为数个十进制以下,并将计数器级联。LIBRARY IEEE; USE IEEE.STD_LOGIC_11

10、64.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JFQ IS PORT(RST: IN STD_LOGIC; ADD: IN STD_LOGIC; CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0); AA2,AA1,AA0,BB2,BB1,BB0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CC2,CC1,CC0,DD2,DD1,DD0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY JFQ ; ARCHITECTURE ART OF JFQ IS B

11、EGIN PROCESS(RST,ADD,CHOS) IS VARIABLE POINTS_A2,POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_B2,POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_C2,POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE POINTS_D2,POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF (ADDEVENT AND ADD=1)

12、THEN IF RST=1 THEN POINTS_A2: =0001; POINTS_A1: =0000; POINTS_B2: =0001; POINTS_B1: =0000; POINTS_C2: =0001; POINTS_C1: =0000; POINTS_D2: =0001; POINTS_D1: =0000; ELSIF CHOS=0001 THENIF POINTS_A1=1001 THEN POINTS_A1: =0000; IF POINTS_A2=1001 THEN POINTS_A2: =0000; ELSE POINTS_A2: =POINTS_A2+1; END I

13、F; ELSE POINTS_A1: =POINTS_A1+1; END IF; ELSIF CHOS=0010 THENIF POINTS_B1=1001 THEN POINTS_B1: =0000; IF POINTS_B2=1001 THEN POINTS_B2: =0000; ELSE POINTS_B2: =POINTS_B2+1; END IF; ELSE POINTS_B1: =POINTS_B1+1; END IF; ELSIF CHOS=0100 THEN IF POINTS_C1=1001 THEN POINTS_C1: =0000; IF POINTS_C2=1001 T

14、HEN POINTS_C2: =0000; ELSE POINTS_C2: =POINTS_C2+1; END IF; ELSE POINTS_C1: =POINTS_C1+1; END IF; ELSIF CHOS=1000 THEN IF POINTS_D1=1001 THEN POINTS_D1: =0000; IF POINTS_D2=1001 THEN POINTS_D2: =0000; ELSE POINTS_D2: =POINTS_D2+1; END IF; ELSE POINTS_D1: =POINTS_D1+1; END IF; END IF; END IF; AA2=POI

15、NTS_A2; AA1=POINTS_A1; AA0=0000; BB2=POINTS_B2; BB1=POINTS_B1; BB0=0000; CC2=POINTS_C2; CC1=POINTS_C1; CC0=0000; DD2=POINTS_D2; DD1=POINTS_D1; DD0=0000; END PROCESS; END ARCHITECTURE ART; 3计时器电路JSQ的VHDL源程序 计时器电路即有计时初始值的预置功能,又有减计数功能。其中,初始值的预置功能是将两位数分别进行预置。LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; US

16、E IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ IS PORT(CLR,LDN,EN,CLK: IN STD_LOGIC; TA,TB: IN STD_LOGIC; QA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); QB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END ENTITY JSQ; ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL DB: STD_LOGIC_VECTOR(3 DOWNTO 0)

17、; BEGIN PROCESS(TA,TB,CLR) IS BEGIN IF CLR=1 THEN DA=0000; DB=0000; ELSEIF TA=1 THEN DA=DA+1 ; END IF; IF TB=1 THEN DB=DB+1; END IF; END IF; END PROCESS; PROCESS(CLK) IS VARIABLE TMPA: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE TMPB: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLR=1 THEN TMPA: =0000; TMPB: =

18、0110; ELSIF CLKEVENT AND CLK=1 THEN IF LDN=1 THEN TMPA: =DA; TMPB: =DB; ELSIF EN=1 THEN IF TMPA=0000 THEN TMPA: =1001; IF TMPB=0000 THEN TMPB: =0110; ELSE TMPB: =TMPB-1; END IF; ELSE TMPA: =TMPA-1; END IF; END IF; END IF; QA=TMPA; QBss2=QA;aa=001;weiss2=QB;aa=010;weiss2=STATES;aa=011;weiss2=AA2;aa=1

19、00;weiss2=AA1;aa=101;weiss2=AA0;aa=000;weinull;end case;case ss2 iswhen 0000= led7 led7 led7 led7 led7 led7 led7 led7 led7 led7 led7=;end case;end if;end process;end three;5力抢答器在QUARTUS II中所用的引脚分配框图图6 智力抢答器在设计中所用的框图注:图中的引脚号是本次在QUARTUS II中所用的引脚接口四、路抢答器总电路图及系统仿真(1)系统仿真抢答鉴别电路仿真图计分器电路仿真图 计时器电路仿真图多选一译码显示

20、电路仿真图五、设计技巧分析1.在抢答鉴别电路设计中,A,B,C,D,八组抢答,理论上应该有256种可能情况,但实际上由于芯片反应速度快到一定程度时,两组以上同时抢答成功的可能性非常不,因此我们可设计成只有四种情况,这大大简化了电路的设计复杂性。2.在计分器电路的设计中,按照一般的设计原则,按一定数进制进行加减即可,但是随着计数数目的增加,要将计数数目分解成十进制并进行译码显示分变得越来越麻烦。因此为了减少译码显示的麻烦,一般是将一个大的进制数分解成数个十进制以内的时制数,计数器串级连接。但随着位数的增加,电路的接口增加因此本设计采用IF语句从低往高判断是否有进位,以采取相应的操作,既减少了接口

21、,又大大地简化了设计。3.本系统中的计时器电路既有计时初始值的预置功能,又有减计数功能,功能比较齐全。其中初始值的预置功能是将两位数分解成两个数分别进行预置,每个数的预置则采用高电平计数的方式进行。减计数的功能与上述的加法计数类似,非常简洁。 心得体会 经过一星期的EDA实习,我们组的两位成员通过不懈努力,成功地设计出了数字式四路竞赛抢答器。回首这两周,虽然因为初次涉及EDA技术及quartus软件,对相关知识知之甚少,我们也遇到了很多困难,但是我们在这次实习的过程中都受益匪浅。 此次实习前我们对于数字电子技术这门课程的学习仅是纸上谈兵,在头脑中抽象地记忆、理解那些课本上的理论知识,有些理论知

22、识晦涩难懂,甚至要靠自己死记硬背。而这次的实习就提供机会让我们在实践中灵活运用知识。我们通过在实践中发现问题,进而去书本中找相关的知识去解决问题,从而巩固了理论知识,同时也增强了我们以后的学习兴趣,为以后的工作积累了一定的经验。经过这次实习,我们有了很深刻的体会。首先,要学好书本上的基本知识,掌握常用编程语句,这样在设计中才会游刃有余,得心应手。其次,在遇到困难时要勇于面对,其实只要有耐心,再加上试验中的细心操作,一切困难都将迎刃而解。 六、参考文献 1 谭会生, 电子技术实验与课程设计2 高吉祥,电子技术基础实验与课程设计.电子工业出版社3 吕思忠,数子电路实验与课程设计.哈尔滨工业大学出版社4 郑家龙,集成电子技术基础教程北京:高等教育出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com