数字电路与逻辑设计实验

2019-07-30 13:10

数字电路与逻辑设计实验报告

学 院: 班 级: 姓 名: 学 号:

日 期:

一. 实验名称:

实验一:QuartusII 原理图输入法设计与实现

实验二:用 VHDL 设计与实现组合逻辑电路 实验三:用 VHDL 设计与实现时序逻辑电路 实验四:用 VHDL 设计与实现数码管动态扫描控制器

二. 实验所用器件及仪器:

1.计算机 2.直流稳压电源

3.数字系统与逻辑设计实验开发板

三. 实验要求:

实验一:

(1) 用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图

形模块单元。 (2) 用(1)实现的半加器和逻辑门设计实现一个全加器,仿真并验证其功能,

并下载到实验板上测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3) 用3—8线译码器和逻辑门设计实现函数F=/C/B/A+/CB/A+C/B/A+CBA,仿

真验证其功能并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。

注:实验时将三个元器件放在一个new block diagram中实现。

实验二:

(1) 用VHDL语言设计实现一个共阴极7段数码译码器,仿真验证其功能,

并下载到实验板测试。要求用拨码开关设定输入信号,7段数码管显示输出信号。 (2) 用VHDL语言设计实现一个8421码转余三码的代码器,仿真验证其功

能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 (3) 用VHDL语言设计实现一个4位二进制奇校验器,输入奇数个‘1’时,输

出1,否则出0;仿真验证其功能,并下载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 实验三:

(1) 用VHDL语言设计实现一个带异步复位的8421 十进制计数器,仿真验证其

功能,并下载到实验板测试。要求用按键设定输入信号,发光二极管显示输出信号。

(2) 用VHDL语言设计实现一个分频系数为12,输出信号占空比为50%的分频器,

仿真验证其功能。 注:实验时将(1)、(2)和数码管译码器 3 个电路进行链接,并下载到实验板显示计数结果。

实验四:

(1) 用VHDL语言设计实现六个数码管串行扫描电路,要求同时显示

0,1,2,3,4,5这几个不同的数字图形到数码管上,仿真验证其功能,并下载到实验板测试。 (2)

用VHDL语言设计实现六个数码管滚动显示电路:

A. 循环左循环,左进右出。状态为:

012345->123450->234501->345012->450123->501234->012345

B. 向左滚动,状态为(X表示数码管不显示):

012345->12345X->2345XX->345XXX->45XXXX->5XXXXX->XXXXXX->XXXXX0->XXXX01->XXX012->XX0123->X01234->012345

四. 实验原理及设计思路:

实验一:

(1) 半加器是考虑两位二进制数相加,出来的结果有二者加后的一个低位数,和

一个这两位数相加所得的进位数。所以用异或门和与门即可实现双输入双输出的半加器。 (2) 全加器可以以半加器为基础,在考虑两位二进制数相加时也考虑上地位的进

位信号,输出与半加器类似。

(3) 译码器加逻辑门可以实现相应的逻辑函数,将有相应最小项的输出项或即可。

实验二:

(1) 共阴极7段数码译码器:拨码开关的不同状态对应输入信号的0和1,通过

改变拨码开关的状态改变输入值,此时用VHDL语言描述每个输入值下对应的数在数码管中的显示。 (2) 8421码转余三码的代码器:将8421BCD码加上0011即为对应的余三码,通

过通过改变拨码开关的状态改变输入的84212BCD码,由四个LED灯的亮与灭(亮表示该值为1,灭表示0),来表示余三码的码值。 (3) 奇偶校验电路:同理用拨码开关设定输入信号,发光二极管显示输出信号,

输入奇数个1时,对应的发光二极管亮,反之则为熄灭状态。

实验三:

(1) 异步计数器:由于是异步复位,且yibuclear(清零信号)优先级最高,

当它有效时使状态清零。或者当到达第11个状态(1010)时复位,使状态回归到初始状态(0000)。其余时刻,用cp来计数,每按一次键cp=1,状态加1。因此设计2个输入端,一个输出端数组即可。 (2) 分频器:是使cp经过12个周期,输出的信号正好完成一次完整的翻转,

因此需要计数,该计数器模值为12,每六个状态时翻转一次。 (3) 可以使用分频器为异步计数器提供脉冲信号,异步计数器的输出作为数

码管译码管的输入,由数码管译码管显示当前数据。

实验四:

(1) 六个数码管串行扫描电路:由实验板上18号元件提供时钟,每过一个

周期,亮一个数码管,且该数码管序号也会改变,因此需要两个数组来体现这种改变。设选择一个管亮的数组为xuan(5 downto 0),数码管上控制输出数字形状的数组为guan(6 downto 0),通过输入的时钟改变状态(signal status),由状态定xuan,guan。由于要求“同时显示”,我们知道闪烁发光的二极管闪烁频率较高时,我们将观察到持续点亮的现象,一个数码管要稳定,需要显示频率大于50HZ,现在需要6个数码管同时显示,因而时钟的频率应该大于300HZ。 (2) 六个数码管滚动扫描电路:大致原理同(1),但是需要注意guan

不再只有6个状态,需要用12个状态来配合周期循环使用。需要每轮的管子状态改变一个位移。此时可以把xuan由循环来赋值,实现控制不同时刻数码管的亮与灭。

五. 实验模块端口及连接图:

实验三(3):分频器的时钟信号接外部时钟,异步清零端接外部信号,异步清零信号有效时可以实现分频器内部计数清零。当外部时钟clk=1时,分频器内部计数器的状态加1,每六个状态clk_out实现一次翻转。分频器的输出作为异步计数器的时钟,异步计数器的异步复位端接外部输入,可由实验板上拨码开关实现。这样就将外部时钟12分频后输入给异步计数器,异步计数器将计数输入数码译码器,实现控制数码管的状态,使之显示异步8421十进制计数器的此刻的数。

实验四:

(1) clk是输入信号,接外部时钟信号(location对应实验板18),要求频率

大于300HZ,clear是异步复位信号。guan为输出信号,连接到数码管上对应的7条线,控制这个数码管中每一段线的亮与灭,实现显示数字。xuan是控制6个数码管此时应该亮哪一个。由signal status根据输入信号确定此时对应的状态下的xuan和guan。


数字电路与逻辑设计实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教研活动记录 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: