1、提交日期 2013年 11 月 4 日 一、实验内容1. 38译码器设计。 本实验利用Quartus II软件开发利用,有两种设计模式:一、用原理图输入法设计3线-8线译码器;二、利用VHDL语言设计3线-8线译码器。二38译码器设计1.设计要求设计1个38译码器,完成规定的译码功能,并通过波形仿真验证。2.原理图设计38译码器原理图如图1所示。 图1 38译码器原理图 3.操作步骤1)进入windows操作系统,打开quartus II2)创建工程“数电”3)打开原理图编辑器4)原理图编辑。如图所示5)给输入、输出引脚命名(输入引脚分别命名为a,b,c,输出引脚为y0y7)6)保存原理图7)
2、编译8)时序模拟。 (1) 新建vwf文件(2) 确定仿真时间和网格宽度:设置end time为 100ms,grid size为10ms(3) 编辑vwf文件(4) 启动仿真9)引脚分配10)下载(以DE2开发板为例)。设计文件下载至FPGA芯片后,根据步骤9引脚分配的结果,改变数据开关SW2-0的电平,验证发光管LEDR0-7的状态。硬件系统的L1-L8对应于LEDR0-7,K1-K3对应于SW2-0。三4位数字频率计设计设计4位数字频率计,测频范围00009999Hz。用DEII实验板验证。2数字频率计的工作原理图2 数字频率计原理框图 图3 数字频率计原理框图工作时序3数字频率计顶层原
3、理图设计 图中clk1为8赫兹周期信号,通过模块CONSIGNAL产生频率计工作中的三个控制信号,包括四个10进制的计数器开始计数时的清零信号与片选信号,频率计数完毕时的锁存信号。以确定采样时间为1s,图中clkin为待测信号。模块文件LOCK为锁存模块在计数完毕后锁存计数,以保证led显示不至于快速闪烁。DECODER模块将BCD码计数器结果译码为七段显示码,以便于数码管显示。数字频率计底层模块仿真4.(1)计数器模块仿真十进制加法计数器:1当闸门信号cs为低电平时,计数器CNT10处于不工作状态,停止计数;2闸门信号cs为高电平,CNT10开始计数,qq记录被测信号clk的脉冲个数;3当清
4、零信号clr有效,即clr处于高电平时,qq被清零,值为0;4进位信号co记录CNT10计数器的进位。图5 计数器模块仿真结果(2)锁存器模块仿真当输入clk为高电平时,将dd数据移入qq,当clk低电平时,保持qq不变。 图6 锁存器模块仿真结果(3)显示译码模块仿真结果 显示译码器将输入qq信号转化为led灯管显示的数字,固定引脚后,即可在从led灯管上读出被测信号的频率。图7 显示译码模块仿真结果(4)控制模块仿真结果 图中clk为8赫兹脉冲信号,clr清零信号cs闸门信号,持续时间为8赫兹信号的8个周期,为1s。1s过后锁存信号脉冲。锁存计数。5.数字频率操作过程 完成上述操作后,固定
5、引脚,下载至开发板,在clk1端输入8赫兹信号不变,clkin输入待测信号,即可在数码管上读出被测信号的频率。图8 控制模块仿真结果(1)器件选定每个VHD文件经过置顶编译仿真后,通过“File-Create/Update-Create Symbol Files for Current File”生成模块符号,在顶层原理图中调用。(2)管脚分配(3)编程下载连接电脑与DE2开发板;“Run/Program”开关打至“Run”档,启动DE2;“Tools”Programmer,“Handware Setup”USB-Blaster,将编程模式选为JTAG,在“Program/Configure”
6、复选框内打,点击Start;四实验体会上个学期学的是课本上死板的题目数字什么的,但是这个学期的实验是叫我们如何灵活的运用Quartus II进行简单数字电路的探索,用VHDL硬件语言进行电路模拟,是对课本上的知识进行实践,我觉得让我更对数电产生了非常浓厚的兴趣,知道了电路还可以用代码的形式来变现,我觉得十分新奇。以前学数电的时候只知道会做这类型的题目,现在了解了他的实际功能,在实验中我真是体会到了这些模块的功能。做实验过程,我一直不太顺利,不是这个文件名输错,就是那个代码输错,而且往往要花很长的时间去寻找自己的错误所在,很多次都想放弃,但是我还是坚持了下来,一一找出我自己的错误所在,然后加以改正,培养了我的耐心。总之这次实验让我受益匪浅。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1