目录
一.实验一:Quartus II 使用练习
二.实验二:3-8译码器的设计
三.实验三:用74161和与非门来实现十进制计数器
四.实验四:60进制加法计数器
五.实验五:设计一个电路,用8个数码管逐个显示0、1、2、…9。
六.实验六:设计一个电路,用两个数码管显示01~12的十二进制计数,两个数码管显示00~59的六十进制计数。
七.综合设计实验
合肥工业大学 EDA与数字系统设计任务书
摘要
本课程介绍数字系统设计的一般流程及基本步骤,QuartusII的使用方法,硬件描述语言VHDL和VerilogHDL,通过数字系统的设计,把数字系统的基本理论和基本方法相结合,利用QuartusII进行原理图的设计,编译、仿真、PLD编程校验,提高用QuartusII进行数字系统设计的能力。
实验一: QuartusII 使用练习 目的:学会使用Quartus II
一、 打开QuartusII 软件
二、 创建工程,设置工程位置,名称,指定目标芯片 三、 打开原理图编辑器,新建原理图文件
四、 原理图文件编辑:元器件放置,在元器件之间添加连线 五、 给输入、输出引脚命名 六、 保存原理图文件 七、 编译
八、 时序模拟:(1)新建vwf 波形文件 (2)确定仿真时间和网
格宽度 (3)编辑vwf 文件 (4)启动仿真 九、 管脚分配 十、 下载
将原理图文件下载至芯片中后,当两个逻辑开关都为高电平时,LED 灯亮,当两个逻辑开关只要有一个是低电平时,LED 灯不亮,实现了与门的逻辑功能。
实验二:3-8译码器
目的:了解3-8译码器的原理,用与门来实现3-8译码器,进一步使用Quartus II。
实验三:用74161和与非门来实现十进制计数器
目的:了解74161的工作原理,利用74161和与非门如何实现计数器。注意实验板各种时钟的用法。
实验四:60进制加法计数器
目的:了解74160,74161的工作原理,学会用74160、74161和与非门实现60进制计数器的方法。
实验五:实验五:设计一个电路,用8个数码管逐个显示0、1、2、…9。
目的:了解数码管的扫描显示原理,学会使用74160,74161,74138,7448来设计显示电路。
实验六:设计一个电路,用两个数码管显示01~12的十二进制计数,两个数码管显示00~59的六十进制计数。
目的:进一步了解多位数码管的扫描显示原理,自己设计12进制和60进制。了解用Verilog HDL设计8选1数字选择器的方法。设计显示电路。
综合设计实验
设计题目:数字频率计
设计要求:
设计一个能测量方波信号频率的频率计,测量的结果用十进制数显示,测量的频率范围是1Hz-100kHz,分成两个
频段,即1-999Hz,1-100kHz,用三位数码管显示测量的频率,用LED显示表示单位,如亮绿灯表示Hz,亮红灯表示kHz。
具有自动校验和测量两种功能,即能用标准时钟校验测量精度。
具有超量程报警功能,在超出目前量程档的测量范围时,发出灯光和音响信号。
设计原理:
脉冲信号的频率就是在单位时间内所产生的脉冲个数,起表达式f=N/T,f为被测信号的频率;N为计数器所累计的
脉冲个数;T为产生N个脉冲的时间,所以在1s时间内计数
器所记录的结果,就是被测信号的频率。
此设计问题可分为测量/校验选择模块,计数器模块,送存选择/报警电路模块,锁存器模块和扫描显示模块几部分。
测试/校验选择模块的输入信号为:选择信号select,被测信号meas,测试信号test,输出信号为CP1。当
select=0时,为测量状态,CP1=meas;当select=1时,为
校验状态, CP1=test。校验信号与测量共用一个电路,只是被测量信号 CP1不同而已。
设置1s定时信号(周期为2s),在1s定时时间内的所
有被测信号送入计数器输入端。
计数器对CP1信号进行计数,在1s定时时间结束后,将计数器的结果送锁存器锁存,同时将计数器清零,为下一
个采样的测量做好准备。
设置量程档控制开关K,单位显示信号Y,当K=0时,为
1-999Hz量程档,数码管显示的数值为被测信号的频率值,
Y显示绿色,即单位为Hz;当K=1时,为1-100kHz量程档,
被测信号频率为数码管显示数值乘1000,Y显示红色,即单位为kHz。
设置超出量程档测量范围示警信号alert,计数器由四级十进制计数构成。若被测信号频率小于1kHz,则计数器只进行三级十进制计数,最大显示值为999Hz,如果被测信号频率超出此范围,示警信号驱动灯光,扬声器报警;若被
测信号为1-100kHz,计数器进行四位十进制计数,取高三位,最大显示值为99.9kHz,如果被测信号频率超出此范围,报警。
设计过程:
1.电路框图
2.电路图
各部分电路及功能说明 1. 二分频电路
2. 测量校验信号选择电路
功能说明:CP 为脉冲信号输入端,给0.5Hz 的输入脉冲,SELECT 为选择控制端,当SELECT 为1时,选择MEANS 为输入信号,即CP1得到的是校验信号。当SELECT 为0时,选择的是TEST 的输入信号,即待测量的信号输入,CP1得到的是测量信号。
3. 计数器电路
Q[3..0]
OUTPUT Q[7..4]
OUTPUT
Q[11..8]
OUTPUT
Q[19..16]
OUTPUT Q[15..12]
OUTPUT
功能说明:本块电路使用了5块74160的十进制计数器。其中从左起的前五块74160为计数器功能,最后一块提供高位报警的信号输出。在作为计数器的五块74160中,从左起的前三块实现的是1-999Hz的计数及数据的输出;后两块74160是实现高位1-100kHz的计数及数据的输出。所以当选择1-999Hz量程的时候,如果超出该范围,必然后两块74160会有高电平输出,所以用后两块的8个数据输出端的或门组合形成低位报警的信号输出。当高位超出量程时,最后一块的74160会有进位计数,即有高电平的输出,所以用其输出端的或门实现高位报警的功能。
4.选存报警电路
功能说明:BUSMUX是总线的数据选择器,WIDTH=4实现四总线的选择输入。当SEL=0时,选择dataa[]总线输入,当SEL=1时,选择datab[]总线输入。在整体电路实现中,选择高位数据接dataa[],低位接datab[],SEL由开关控制。用两个与门一个或门构成报警电路,c是第四片74161的进位,具有高低位报警功能。
5. 锁存器电路
功能说明:本电路用三个74175,它是由四个D 触发器构成,上一数据选择电路的数据从D0-D11输入到74273中存储。当CLK 有脉冲时,数据从C1-C12输出。所以实现了数据的保存和输出。
6. 扫描电路
Mux8_1A 模块是用作选择数据的,上一层的锁存电路中的数据由三条总线输入,再从q1-q3输出到7448,译码后完成7段码显示。另一部分由74160和3线8线译码器组成,用来控制显示器的轮流开
关的。CLKD是输入扫描的频率,当扫描的频率大于200Hz时,超出了人眼睛的识别惯性范围,即可以在显示器上显示出稳定的数字。MS2引脚与控制开关相与,实现的是小数点的控制。
结论感受
EDA课程设计让我有很多收获,通过使用QuartusII,我学会了一些基本的操作方法,学会了在QuartusII中进行原理图的设计,下载到可编程器件中进行试验验证,学会了数字系统设计的一般方法和思路,在实践过程中对理论进行验证,提升了实践操作的能力,在学习中不断提高对数字电子技术的认识,不断使自己有所发现,有新的感受,希望自己以后多学习数字电子技术的书籍,让自己学得更加充实。
主要参考文献
[1] 李国丽,朱维勇. 电子技术实验指导书第二版机械工业出版社
[2]阎石主编第四版高等教育出版社
[3]潘松,黄继业. EDA技术实用教程[M].北京:科学出版社,2002
[4]王金明,杨吉斌. 数字系统设计与Verilog HDL. 北京:电子工业出版社,2002