《EDA技术与应用》课件第7章 EDA实验及课程设计_第1页
《EDA技术与应用》课件第7章 EDA实验及课程设计_第2页
《EDA技术与应用》课件第7章 EDA实验及课程设计_第3页
《EDA技术与应用》课件第7章 EDA实验及课程设计_第4页
《EDA技术与应用》课件第7章 EDA实验及课程设计_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章EDA实验及课程设计第7章EDA实验及课程设计EDA技术是一门全新的综合性电子设计技术,涉及面广,因此在知识构成上对于新时代嵌入式创新人才有更高的要求,除了必须了解基本的EDA软件、硬件描述语言和FPGA器件相关知识外,还必须熟悉计算机组成与接口、汇编语言或C语言、DSP算法、数字通信、嵌入式系统开发、片上系统构建与测试等知识。显然,知识面的拓宽必然推动电子信息及工程类各学科分支与相应的课程类别间的融合,而这种融合必将有助于学生设计理念的培养和创新思维的升华。另外,实验的目的在于巩固理论知识的同时拓展知识面,提高工程能力,为将来的学习及工作打下良好的基础,因此唯有踏踏实实地完成实验过程的每一步,才能从中有所学,获得工程经验,体会到收获的感觉和实验的快乐。7.1课程实验部分7.1.1

MAX

+

plusⅡ/QuartusⅡ软件图形设计

实验一MAX + plusⅡ/QuartusⅡ软件应用

一、实验目的1.熟悉EDA开发平台的基本操作;2.掌握EDA开发工具的图形设计方法;3.掌握图形设计的编译与验证方法。4.熟悉EDA/SOPC实验箱

二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.建立图7.1所示的原理图电路。2.通过该例熟悉软件的使用。3.熟悉EDA/SOPC实验箱使用。图7.1原理图设计例图四、实验研究与思考功能仿真、验证可以起到什么作用?实验二奇偶检测电路设计

一、实验目的1.掌握EDA软件开发工具的原理图输入的设计步骤及方法;2.掌握简单组合逻辑电路原理图的设计方法,进一步熟悉开发工具的界面和设计流程;3.设计并实现一个奇偶检测电路。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.设计一个三输入的奇数检测电路,要求对三个输入信号的输入情况进行检测,当有奇数个1电平输入时,输出为1,否则为0。2.对设计文件进行语法检查、项目编译,无误后加以仿真,验证电路设计是否正确。3.设计提示:假设输入信号为abc,输出为F,则其输入输出关系应满足:F(a,b,c)=(1,2,4,7) = a⊕b⊕c4.画出设计电路并编译、仿真和进行硬件验证。四、实验研究与思考如何把具体功能转换成相对应的表达式?

实验三同步计数器74161的应用

一、实验目的1.掌握EDA开发工具的原理图输入的设计步骤及方法;2.设计并实现一个模10计数器。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.在MAXplusⅡ工具中采用原理图的方法,用四位同步计数器74161设计一个模10的计数器,要求输出端有计数端和分频端。2.对设计文件进行语法检查、项目编译,无误后加以仿真以验证电路设计是否正确。3.设计提示:可采用置位法和复位法两种方法之一进行设计。4.对设计进行硬件验证。四、实验研究与思考1.置位法和复位法有什么差异?2.如何设置分频端?

实验四数据选择器74151的应用

一、实验目的1.掌握EDA软件开发工具的原理图输入的设计步骤及方法;2.设计并实现一个四位二进制数输入中含偶数个‘0’的判断电路。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.设计要求:用八选一数据选择器74151实现一个四位二进制数输入中含偶数个‘0’的判断电路,可附加必要的外围电路。2.对设计文件进行语法检查、项目编译,无误后加以仿真以验证电路设计是否正确。四、实验研究与思考1.外围电路如何添加更简单?2.实现偶数个‘0’的判断后如何简单修改电路实现奇数个‘0’的判断?

实验五3-8译码器

一、实验目的1.掌握组合逻辑电路的设计方法;2.掌握组合逻辑电路的静态测试方法;3.初步掌握EDA软件的基本操作与应用;4.初步了解可编程器件的设计的全过程。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.新建一个设计工程。2.输入并连接如图7.2所示的原理图。图7.2

3-8译码器原理图3.编译与适配。4.波形文件输入与设定,功能仿真与验证。四、实验研究与思考组合逻辑电路的设计应该注意什么问题?7.1.2

MAX

+

plusⅡ/QuartusⅡ软件VHDL设计

实验六VHDL软件设计

一、实验目的1.熟悉EDA开发平台的基本操作;2.掌握EDA开发工具的VHDL设计方法;3.掌握硬件描述语言设计的编译与验证方法。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.二十四进制加法计数器设计与验证。代码如下:LIBRARYIEEE;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYcount24ISPORT(en,clk:INSTD_LOGIC;qa:outSTD_LOGIC_VECTOR(3DOWNTO0); --个位数计数qb:outSTD_LOGIC_VECTOR(1DOWNTO0)); --十位数计数ENDcount24;ARCHITECTUREa1OFcount24ISBEGINprocess(clk)variabletma:STD_LOGIC_VECTOR(3DOWNTO0);variabletmb:STD_LOGIC_VECTOR(1DOWNTO0);beginifclk'eventandclk='1'thenifen='1'theniftma="1001"thentma:="0000";tmb:=tmb+1;Elsiftmb="10"andtma="0011"thentma:="0000";tmb:="00";elsetma:=tma+1;endif;endif;endif;qa<=tma;qb<=tmb;endprocess;ENDa1;2.修改以上程序获得六十进制加法计数器并进行功能和时间仿真验证。3.自行设定实验步骤和设计记录方式,完成实验报告。四、实验研究与思考比较图形设计和语言设计方法的差别及其各自的优缺点。实验七编

一、实验目的设计并实现一个8-3线优先编码器。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验原理常用的编码器有:4-2编码器、8-3编码器、16-4编码器,下面我们用一个8-3线编码器的设计来介绍编码器的设计方法。8-3编码器如图7.3所示,其真值表如表7.1所示。

图7.3

8-3编码器表7.1

8-3优先编码器真值表输入输出EIN0N1N2N3N4N5N6N7NA2NA1NA0NGSNEON1XXXXXXXX11111011111111111100XXXXXXX0000010XXXXXX01001010XXXXX011010010XXXX0111011010XXX01111100010XX011111101010X01111111100100111111111101四、实验内容1.启动软件建立一个空白工程,然后命名。2.新建VHDL源程序文件并命名,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。3.新建仿真文件,对各模块设计进行仿真,验证设计结果,打印仿真结果。五、实验研究与思考对于优先级编码器的设计,是如何控制其优先顺序的?

实验八数

一、实验目的设计并实现一个4位二进制数据比较器。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验原理二进制比较器是提供关于两个二进制操作数间关系信息的逻辑电路。两个操作数的比较结果有三种情况:A等于B,A大于B,A小于B。考虑当操作数A和B都是一位二进制数时,构造比较器的真值表(见表7.2)。输出表达式如下:AEQB=A'B'+AB=(AB)'A>B=AB'A<B=A'B表7.2一位比较器的真值表输入输出ABA=BA>BA<B00100010011001011100在一位比较器的基础上,我们可以继续得到两位比较器,然后通过“迭代设计”得到四位的数据比较器。对于4位比较器的设计,我们还可以通过原理图输入法或VHDL描述来完成,其中VHDL语言描述是一种最为简单的方法。四、实验内容1.启动软件建立一个空白工程,然后命名为comp4.qpf。2.新建VHDL源程序文件comp.vhd,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。3.建立波形仿真文件(comp.vwf)并进行仿真验证。五、实验研究与思考在进行多位二进制数据比较时,可以采用整体比较的方法,也可以采用由高位到低位的顺序进行比较,试写出这两种不同方法设计的比较器程序,并比较两种方法输出速度的快慢。

实验九组合逻辑电路的VHDL描述

一、实验目的1.掌握组合逻辑电路的设计方法;2.掌握组合逻辑电路的静态测试方法;3.熟悉FPGA设计的过程,比较原理图输入和文本输入的优劣。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验内容1.用VHDL语言设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。参考电路原理图如图7.4所示。图7.4四舍五入判别参考电路2.用VHDL语言设计四个开关控制一盏灯的逻辑电路,要求改变任意开关的状态能够引起灯亮灭状态的改变。(即任一开关的合断改变原来灯亮灭的状态,参考电路原理图如图7.5所示。)

图7.5灯控参考电路3.用VHDL语言设计一个优先排队电路(参考电路原理图如图7.6所示),其中:A = 1,最高优先级;B = 1,次高优先级;C = 1,最低优先级。要求输出端最多只能有一端为“1”,即只能是优先级较高的输入端所对应的输出端为“1”。图7.6优先排队参考电路4.自行设定实验步骤和设计记录方式,完成实验报告。

四、实验研究与思考1.CPLD和FPGA有什么差别?设计中应该注意什么问题?2.图形设计方法中采用LPM设计有什么好处?

实验十计

一、实验目的设计一个带使能输入及同步清0的加减法8进制计数器,仿真波形图见图7.7。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验原理在用VHDL语言描述一个计数器时,如果使用了程序包ieee.std_logic_unsigned,则在描述计数器时就可以使用其中的函数“+”(递增计数)和“-”(递减计数)。假定设计对象是加法计数器并且计数器被说明为向量,则当所有位均为‘1’时,计数器的下一状态将自动变成‘0’。举例来说,假定计数器的值到达“111”时将停止,则在增1之前必须测试计数器的值。如果计数器被说明为整数类型,则必须有上限值测试。否则,在计数数值等于7,并且要执行增1操作时,模拟器将指出此时有错误发生。图7.7的UP控制是加法计数还是减法计数,RST控制是否清0,EN是使能端控制输入信号是否有效,CLK是时钟脉冲。COUNT是输出的进位信号,SUM是输出信号(000~111)。其中CLK可以由实验箱中的时钟电路来提供(必要时进行分频处理),也可以手动产生。

图7.7加减控制计数器波形图四、实验内容1.启动软件建立一个空白工程,然后命名。2.新建VHDL源程序文件并命名,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。3.新建仿真文件,对各模块设计进行仿真,验证设计结果,打印仿真结果。五、实验研究与思考计数器的清零方式(同步/异步)如何控制?实验十一数字时钟

一、实验目的设计一个可以计时的数字时钟,其显示时间范围是00:00:00~23:59:59,且该时钟具有暂停计时、清零等功能。二、实验仪器计算机、MAX

+

plusⅡ或QuartusⅡ软件、EDA/SOPC实验箱。三、实验原理

数字时钟框图如图7.8所示,一个完整的时钟应由四部分组成:秒脉冲发生电路、计数部分、译码显示部分和时钟调整部分。(1)秒脉冲发生电路。一个时钟的准确与否主要取决于秒脉冲的精确度。可以设计分频电路对系统时钟50 MHz进行5 × 107分频从而得到稳定的1 Hz的基准信号。定义一个5

×

107进制的计数器,将系统时钟作为时钟输入引脚clk,进位输出即为分频后的1 Hz信号。(2)计数部分。应设计1个六十0进制秒计数器、1个六十进制分计数器、1个二十四进制时计数器用于计时。秒计数器应定义clk(时钟输入)、rst(复位)两个输入引脚,Q3~Q0(秒位)、Q7~Q4(十秒位)、Co(进位位)共9个输出引脚。分、时计数器类似。如需要设置时间可再增加置数控制引脚set和置数输入引脚d0~d7。(3)译码显示部分。此模块应定义控制时钟输入、时分秒计数数据输入共25个输入引脚;8位显示码输出(XQ7~XQ0)、6位数码管选通信号(DIG0~DIG5)共14个输出引脚。在时钟信号的控制下轮流选择对十时、时、十分、分、十秒、秒输入信号进行译码输出至XQ7~XQ0,并通过DIG0~DIG5输出相应的选通信号选择数码管。每位显示时间控制在1ms左右。时钟信号可由分频电路引出。各模块连接方式如图7.8所示。

图7.8数字时钟框图选择译码电路显示码8位数码管显示选通信号6位数码管小时秒分进位信号进位信号六十进制计数器二十四进制计数器复位rst置数set分频电路时钟信号动态显示时钟信号2000 Hz四、实验内容1.启动QuartusⅡ建立一个空白工程并命名。2.新建VHDL源程序文件,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。最后再生成图形符号文件。3.用波形仿真进行验证。五、实验研究与思考如何实现时间的调整?7.2课程设计部分

设计一BCD码加法器一、设计任务及要求BCD码是二进制编码的十进制码,也就是用4位二进制数来表示十进制中的0~9这十个数。由于4位二进制数有0000~1111共16种组合,而十进制数只需对应4位二进制数的10种组合,故从4位二进制数的16种组合中取出10种组合来分别表示十进制中的0~9,则有许多不同的取舍方式,于是便形成了不同类型的BCD码。本设计只针对最简单的情况,也是最常见的BCD码,就是用4位二进制的0000~1001来表示十进制的0~9,而丢弃4位二进制的1010~1111共6种组合,这样一来,就相当于用4位二进制的0~9对应十进制的0~9。这样的BCD码进行相加时会出现两种可能,一种可能是当两个BCD码相加的值小于10时,结果仍旧是正确的BCD码;另外一种可能是当两个码相加的结果大于或者等于10时,就会得到错误的结果,这是因为4位二进制码可以表示0~15,而BCD码只取了其中的0~9的原因。对于第二种错误的情况,有一个简单的处理方法就是作加6处理,就会得到正确的结果。下面举例说明第二种情况的处理过程。假如A = (7)10 = (0111)2 = (0111)BCD,B = (8)10 = (1000)2 = (1000)BCD,那么A+B = (15)10 = (1111)2 ≠ (00010101)BCD。但是对于A = (1111)2和B = (0110)2,有(1111)2 + (0110)2 = (00010101)2 = (00010101)BCD。因此在程序设计时要注意单个输入的BCD码是否会出现大于或等于10的情况,如果是则无效,灯全亮。如果双个输入的BCD码结果出现大于或等于10的情况,则作加6修正处理,符合十进制习惯。利用EDA/SOPC实验箱上的拨档开关模块的K1~K4作为一个BCD码输入,K5~K8作为另一个BCD码输入,用LED模块的LED1_1~LED1_4作为结果的个位数输出,用LED1_5~LED1_8作为结果的十位数输出,LED亮表示输出‘1’,LED灭表示输出‘0’。二、设计内容1.用VHDL语言设计上述程序。2.完成程序的编译、综合、适配、仿真。3.完成程序的硬件验证。

三、设计报告要求1.写出BCD码加法器的VHDL语言设计源程序。2.给出仿真波形图。3.给出硬件验证图。设计二四

一、设计要求及原理全加器是由两个加数Xi和Yi以及低位来的进位Ci-1作为输入,产生本位和Si以及向高位的进位Ci的逻辑电路。它不但要完成本位二进制码Xi和Yi相加,而且还要考虑到低一位进位Ci-1的逻辑。对于输入为Xi、Yi和Ci-1,输出为Si和Ci的情况,根据二进制加法法则可以得到全加器的真值表如表7.3-1所示。表7.3全加器真值表XiYiCi-1SiCiXiYiCi-1SiCi0000010010001101010101010110010110111111由真值表得到Si和Ci的逻辑表达式,经化简后为Si = Xi

Yi

Ci-1Ci = (Xi

Y)Ci-1+XiYi这仅仅是一位的二进制全加器,要完成一个四位的二进制全加器,只需要把四个加法器级联起来即可。本设计要完成的任务是设计一个四位二进制全加器。具体的实验过程就是利用EDA/SOPC实验箱上的拨档开关模块的K1~K4作为一个X码输入,K5~K8作为另一个Y码输入,用LED模块的LED1_5~LED1_8来作为进位C输出,用LED1_1~LED1_4来作为结果S输出,LED亮表示输出‘1’,LED灭表示输出‘0’。二、设计内容1.用VHDL语言设计上述程序。2.完成程序的编译、综合、适配、仿真。3.完成程序的硬件验证。三、设计报告要求1.写出四位全加器的VHDL语言设计源程序。2.给出仿真波形图。3.给出硬件验证图。设计三出租车计费器

一、设计任务及要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为10.00元,并在车行3公里后再按2元/公里收费,当计费器计费达到或超过一定收费(如20元)时,每公里加收50%的返程车费,车停止时不计费。2.实现预置功能:能预置起步费、每公里收费、行车加费里程。3.实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。4.设计动态扫描电路:将车费显示出来,有两位小数。5.用VHDL语言设计符合上述功能要求的出租车计费器,并用层次化设计方法设计该电路。6.各计数器的计数状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。7.完成电路全部设计后,通过系统实验箱下载验证设计的正确性。二、系统顶层框图图7.9系统顶层框图计费器按里程收费,每100米开始一次计费。各模块功能如下所述:1.车速控制模块当启停键为启动状态时(高电平),模块根据车速选择和基本车速发出响应频率的脉冲驱动计费器和里程显示模块进行计数;当处于停止状态时暂停发出脉冲,此时计费器和里程显示模块相应地停止计数。2.里程动态显示模块该模块包括计录车速控制模块发出的脉冲以及将计数显示动态显示出来,每来一个脉冲里程值加0.1(控制器每发一个脉冲代表运行了0.1公里)。3.计费动态显示模块该模块记录的初值为10元,当里程超过3公里后才接受计数车速控制模块发出的脉冲的驱动,并将计数显示动态显示出来,每来一个脉冲(代表运行了0.5公里)其数值加1元,当收费超过20元时每来一个脉冲,其数值加1.5元。三、设计报告要求1.画出顶层原理图。2.用VHDL语言设计各子模块。3.叙述各子模块和顶层原理图的工作原理。4.给出各模块和顶层原理图的仿真波形图。5.给出硬件测试流程和结果。

设计四数字秒表

一、设计任务及要求1.设计用于体育比赛的数字秒表,要求:(1)计时精度应大于1/100s,计时器能显示1/100s的时间,提供给计时器内部定时的时钟脉冲频率应大于100 Hz,这里选用1 kHz。(2)计时器的最长计时时间为1小时,为此需要一个6位的显示器,显示的最长时间为59分59.99秒。2.设置有复位和启/停开关。(1)复位开关用来使计时器清零,并作好计时准备。(2)启/停开关的使用方法与传统的机械式计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。(3)复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时进程立刻终止,并对计时器清零。3.采用VHDL语言用层次化设计方法设计符合上述功能要求的数字秒表。4.对电路进行功能仿真,通过有关波形确认电路设计是否正确。5.完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。二、系统顶层框图系统顶层框图如图7.10所示。图7.10系统顶层框图1.计时控制器作用是控制计时。计时控制器的输入信号是启动、暂停和清零。为符合惯例,将启动和暂停功能设置在同一个按键上,按一次是启动,按第二次是暂停,按第三次是继续。所以计时控制器共有两个开关输入信号,即启动/暂停和清除。计时控制器输出信号为计数允许/保持信号和清零信号。2.计时电路的作用是计时,其输入信号为1 kHz时钟、计数允许/保持和清零信号,输出为10 ms、100 ms、1 s和1 min的计时数据。3.时基分频器是一个10分频器,产生10 ms周期的脉冲,用于计时电路时钟信号。4.显示电路为动态扫描电路,用以显示十分位、1 min、10 s、1 s、100 ms和10 ms序号。程序设计提示:程序设计分为两大模块,control控制模块以及由cdu99和两个cdu90s级联组成的计数模块。

三、设计报告要求1.画出顶层原理图。2.用VHDL语言设计各子模块。3.叙述各子模块和顶层原理图的工作原理。4.给出各模块和顶层原理图的仿真波形图。5.给出硬件测试流程和结果。

设计五交通灯控制器

一、实验任务及要求1.能显示十字路口东西、南北两个方向的红、黄、绿三色的信号指示灯状态。用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯。变化规律为:东西绿灯,南北红灯→东西黄灯,南北红灯→东西红灯,南北绿灯→东西红灯,南北黄灯→东西绿灯,南北红灯……依次循环。2.能实现正常的倒计时功能。用两组数码管作为东西和南北方向的允许或通行时间的倒计时显示,显示时间为红灯45秒、绿灯40秒、黄灯5秒。3.能实现紧急状态处理的功能:(1)出现紧急状态(例如消防车、警车执行特殊任务时要优先通行)时,两路上所有车禁止通行,红灯全亮;

(2)显示倒计时的两组数码管闪烁;(3)计数器停止计数并保持在原来的状态;(4)特殊状态解除后能返回原来状态继续运行。4.能实现系统复位功能。系统复位后,东西绿灯亮,南北红灯亮,东西计时器显示40秒,南北显示45秒。5.用VHDL语言设计符合上述功能要求的交通灯控制器,并用层次化设计方法设计该电路。6.控制器、置数器的功能用功能仿真的方法验证,可通过有关波形确认电路设计是否正确。7.完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。

二、系统顶层框图1.信号说明系统顶层框图如图7.11所示。图7.11系统顶层框图reset:系统复位;clk:计时和闪烁频率;urgen:紧急情况信号,高电平代表紧急情况出现;state:状态变化信号,00代表东西绿灯,南北红灯;01代表东西黄灯,南北红灯;10代表东西红灯,南北绿灯;11代表东西红灯,南北黄灯;sub1、sub2:东西和南北方向的计数器减1信号;set1、set2:东西和南北方向的计数器置数信号;r1、g1、y1:东西方向的红灯、绿灯和黄灯;led1:东西方向的计时显示;r2、g2、y2:南北方向的红灯、绿灯和黄灯;led2:南北方向的计时显示。

2.模块说明(1)输出模块:正常状态下通过控制模块输出的state状态信号、sub减1信号和set置数信号控制东西和南北方向的指示灯和计数显示;紧急状态下通过urgen紧急信号、clk时钟信号处理紧急情况,输出红灯,计数输出值不断闪烁。(2)控制模块:通过对时钟的计数控制运行状态的转变,输出相应的状态变化信息、递减信号和置数信号给输出模块进行显示;出现紧急情况时停止计数和状态的变化,解除紧急状态后继续原来的运行状态。三、设计报告要求1.画出顶层原理图。2.对照交通灯电路框图分析电路工作原理。3.写出各功能模块的VHDL语言源文件。4.叙述各模块的工作原理。5.详述控制器部分的工作原理,绘出详细电路图,写出VHDL语言源文件,画出有关状态机的变化。6.书写实验报告时应结构合理,层次分明,在分析时注意语言流畅、易懂。设计六四人抢答器一、实验任务及要求1.设计用于竞赛抢答的四人抢答器,要求:(1)有多路抢答,抢答台数为4;(2)具有抢答开始后20秒倒计时功能,20秒倒计时后无人抢答,显示超时并报警;(3)能显示超前抢答台号并显示犯规报警。2.系统复位后进入抢答状态,当有一路抢答按键按下时,该路抢答信号将其余各路抢答信号封锁,同时铃声响起,直至该路按键被松开,显示牌显示该路抢答台号。3.用VHDL语言设计符合上述功能要求的四人抢答器,并用层次化设计方法设计该电路。4.完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。

二、系统顶层框图满足本设计要求的四人抢答器系统顶层框图如图7.12所示。图7.12系统顶层框图

系统复位后,反馈信号为一个高电平,使K1、K2、K3、K4键入有效。当抢答开始后,在第一个人按键后,保持电路输出低电平,同时送抢答信号至显示电路,让其保存按键的台号并输出,同时反馈给抢答台,使所有抢答台输入无效,计时电路停止。当在规定时间内无人抢答时,倒计时电路输出超时信号。当主持人未说完开始二字时,若有人抢先按键则显示犯规信号。三、设计报告要求1.画出顶层原理框图。2.对照四人抢答器电路框图分析电路工作原理。3.写出各功能模块的VHDL语言源文件。4.书写实验报告时应结构合理,层次分明,在分析时注意语言的流畅性与易读性。设计七四位并行乘法器一、实验原理及要求实现并行乘法器的方法有很多种,但是归结起来基本上就分为两类,一类是靠组合逻辑电路实现,另一类通过流水线结构实现。流水线结构的并行乘法器的最大优点就是速度快,尤其是在连续输入的乘法器中,可以达到近乎于单周期的运算速度,但是实现起来比组合逻辑电路要稍微复杂一些。下面就组合逻辑电路实现无符号数乘法的方法作详细介绍。假如有被乘数A和乘数B,首先用A与B的最低位相乘得到S1,然后再把A左移1位与B的第2位相乘得到S2,再将A左移3位与B的第3位相乘得到S3,依此类推,直到把B的所有位都乘完为止,然后再把乘得的结果S1、S2、S3……相加,即得到相乘的结果。需要注意的是,具体实现乘法器时,并不是真正地去乘,而是利用简单的判断去实现,举个简单的例子:假如A左移n位后与B的第n位相乘,如果B的这位为‘1’,那么相乘的中间结果就是A左移n位后的结果,否则如果B的这位为‘0’,那么就直接让相乘的中间结果为‘0’即可。待B的所有位相乘结束后,把所有的中间结果相加即得到A与B相乘的结果。本设计的任务是实现一个简单的四位并行乘法器,被乘数A用拨档开关模块的K1~K4来表示,乘数B用K5~K8来表示,相乘的结果用LED模块的LED1_1~LED1_8来表示,LED亮表示对应的位为‘1’。

二、设计内容1.用VHDL语言设计上述程序。2.完成程序的编译、综合、适配、仿真。3.完成程序的硬件验证。三、设计报告要求1.写出四位乘法器的VHDL语言设计源程序。2.给出仿真波形图。3.给出硬件验证图。4.书写实验报告时应结构合理,层次分明,在分析时注意语言流畅、易懂。设计八步长可变的加减法计数器一、实验任务及要求计数器的步长是指计数器每次的改变量,比如上一个实验中的计数模块74169,它每次改变的时候要么加1,要么减1,因此我们就说该计数器的步长为1。在很多应用场合,都希望计数器的步长可变。所谓步长可变,也就是计数器的步长是一个不定值,具体是多少是要靠外部干预的,比如外部给定其步长为5,那么该计数器每次要么增加5,要么减少5,也就是说计数器每次的改变量是5。这种步长可变的计数器才具有一定的实际意义。比如在DDFS中的地址累加器就是一个步长可变的递增计数器。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论