EDA实验-FPGA-vhdl-两个数码管显示12进制

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、实验目的学习时序电路的设计,特别是计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。二、实验要求1、用VHDL语言设计4位加法计数器为同步十二进制计数器,并具有异步清零,同步使能的功能。2、用EDA6000实验仪进行实验结果的验证。三、实验原理设计带有异步复位和同步时钟使能的4位加法计数器,所谓同步或异步都是相对时钟而言的。不依赖于时钟而有效的信号称为异步信号,反之为同步信号。因此,在使用VHDL语言设计该电路时,要注意时钟的使能信号发生时刻,以及进程语句的启动信号处理。四、实验内容1、用VHDL语言编写出含异步清零和同步时钟使能的加法器电路程序;通过QuartysⅡ进行编辑、编译、综合、适配、仿真测试,给出其所有的信号的时序仿真波形。2、按实验要求锁定管脚,重新综合。3、在EDA6000软件中建立实验模式。4、下载设计文件;硬件验证计数器的工作性能。5、熟悉嵌入式逻辑分析仪,使用Signaltag2对此计数器进行实时测试。五、实验结果1、调试首先建工程按照实验要求写好程序,确定程序运行无误后,进行波形仿真,这里有一点非常重要,就是输入,输出的进制问题,还有就是该电路为时序电路,要做成时序电路进行仿真。其次定义管脚,在QuartusII软件上进行管脚定义,为了方便这里定义管脚如上面所示。然后再运行程序。在对EDA6000建立相应实验模式。由先前的定义管脚,在EDA6000中找到对应的IO脚,对软件中的数码管连接类型进行相应设置,分别设置好按键。在EDA6000的CLK0(I030)设置1HZ,也就是自动产生1HZ脉冲波进行计数。2、验证(1)当RST为高电平,EN为低电平时,CQ输出为0,即计数清零,禁止计数。(2)当RST为低电平时,EN为高电平时,每一个CLK的上升沿后,CQ输出加1,当有第十一个上升沿时,CO输出进位信号。当两个数码管显示为11时,CO、CQ清零,从新计数。3、波形图4、实验程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityCNT12isport(clk,rst,en:instd_logic;Co:outstd_logic_vector(3DOWNTO0);cq:outstd_logic_vector(3DOWNTO0));endCNT12;architecturertlofCNT12issignalq1:std_logic_vector(3downto0);signalq2:std_logic_vector(3downto0);beginCo=0001when(q2=0001)else0000;cq=q1(3downto0);process(clk,rst,en)beginifrst='1'thenq1=0000;q2=0000;elsif(clk'eventandclk='1')thenifen='1'thenif(q2=0001andq1=0001)thenq1=0000;q2=0000;elsif(q1=1001)thenq1=0000;q2=q2+1;elseq1=q1+1;endif;endif;endif;endprocess;endrtl;六、心得体会这次试验,我们预习的很不充分,所需程序没有在课前准备好,所以把实验的时间花在了修改程序上。这样对我们来说是很大的损失。而且在修改程序时遇到很多问题,证明我们没有掌握好VHDL的基本语法。所以以后一定要认真学习VHDL。并且要在做实验之前做好充分的预习。这样才会提高实验效率。这次的报告是在课后时间自己调试成功完成的。这次修改的程序可以通过修改when等相应地方就可以实现各种进制,如两个数码管可以实现显示100进制。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功