1、2013年 1月 2日一、实验目的 1进一步了解VHDL设计方法2熟悉数码管和LED的显示二、实验所用仪器及元器件1、计算机2、Quartus II 7.2 (32-Bit)软件3、EP2C5实验箱三、实验内容(1)、设计一个十六进制计数器,用一个数码管、8个彩灯循环显示计数状态。(2)、有清零信号控制,按下后从零开始。四、设计思路与过程根据实验要求,需要实现在拨码开关或者按键的控制下实现十六进制计数器。首先,确定输入输出变量:输入:拨码开关a:清零;时钟clk::提供有效时钟沿;输出SEL-LED:8维向量b:连接8个发光二极管。输出 SEL-DATA :8维向量c:连接数码管。 其次,确定
2、电路工作状态因为要实现计数十六进制计数器,所以首先要实现在时钟控制下实现计数;还要考虑到清零信号;再次,实现对计术状态的表示;也就是让计数状态用数码管和LED显示出来。五、VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count16 ISPORT( CLK5 :IN STD_LOGIC; RST : SEG_SEL :OUT STD_LOGIC_VECTOR(2 DOWNTO 0); SEG_DA :OUT ST
3、D_LOGIC_VECTOR(7 DOWNTO 0); LED :OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END count16;ARCHITECTURE BEHAVE OF count16 ISSIGNAL SHIFT_CNT,TEMP :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL CNT_VALUE : BEGIN PROCESS(CLK5) BEGIN IF RST=1 THEN TEMP =0000; ELSIF CLK5EVENT AND CLK5= THEN IF TEMP=1111 TEMP ELSE TEMP=TEMP+
4、1; END IF; END IF; END PROCESS; SHIFT_CNT=TEMP; SEG_SEL SEG_DA=x3FLED000000010001060000001000105B0000010000114F000010000100660001000001016D0010000001107D010000000111071000000010007F10016F10107710117C11003911015E11107971 END CASE; END PROCESS; END BEHAVE;六、实验 QuarterII原理图:七、实验过程1、用Quartus II 7.2 打开已经
5、写好的程序,编译,建立仿真文件,进行仿真。2、打开计算机和EP2C5实验箱,用串口线连接好,打开电源。3、为输入输出分配好引脚:CLK5对应 PIN 145 RST 对应 PIN 43 SEG_SEL2 to 0对应 PIN 141 142 143 SEG_DATA7 to 0对应PIN 144 12 11 10 8 6 5 3 LED7 to 0对应PIN 34 33 31 30 15 14 134、添加硬件,点击start;观察实验现象;仿真波形仿真分析:TEMP在时钟上升沿处计数,SEG_DATA7 to 0,LED7 to 0显示对应TEMP 的值:图中TEMP=0;SEG_DATA7
6、 to 0=00111111;LED7 to 0=00000001;引脚分配图实验现象:八、故障及问题分析本次实验整体比较顺利,但仍旧出现了一个个问题:开始时引脚分配有问题,没有找到与EP2C5有关的引脚,后来找到了。其他未出现什么问题,顺利地完成了实验。九、总结和结论本学期EDA实验共完成了8次实验,分别完成了以下四项任务:对实验板的熟悉;对Quartus II 7.2 (32-Bit) 的初步认识,并熟悉掌握其图形编译功能;对Quartus II 7.2 (32-Bit)的进一步了解,初步结识VHDL语言,并用其实现了简单的计数器和译码器的功能,为最后一次实验打下基础;进一步熟悉VHDL语
7、言,并用其实现实际电路设计;纵观四次实验,让我感触颇深的就是,预习对实验的重要性。QuarterII对我们来说是一个全新的东西,一切操作都得从头来学,好在它的界面友善,操作简单易懂,只是在编写VHDL程序的时候,需要事先学习其语言习惯。如果预习充分,就能很顺利地完成实验任务,还留有时间思考其它问题,完成额外的题目。实验要想仿真并下载成功,需要注意的细节很多,如,引脚设置、输入变量的周期设置等。在第三次实验时,我犯了个小错误锁定引脚后没有让程序再运行compilation一遍,导致的结果就是,仿真完全正确,但下载到实验板上怎么就不能正确工作,白白耽误了很长时间。所以按部就班的操作是很必要的。实验
8、中还有一些细节,在预习时并未注意,只有去实验室实际操作时才发现。如第三次实验实现7段数码译码器并用数码显示管显示时,预习时,并不知道,通过用一个八维向量c来控制8个数码显示管亮的管子的数量;再如第四次实验,预习的时候并不知道,板子上提供的时钟是50MHz,必须通过分频才能看清实验现象,就临场模仿书上例子做了分频器。本学期的EDA实验,完成了理论与实验的结合,将一些很抽象的理论概念具体地体现出来,如,门的延迟对输出波形的影响,冒险现象的产生原因等等。与此同时,我们学会了仿真工具QuarterII,初步掌握了VHDL语言,为理论学习提供了便利。这些都使EDA的学习更具趣味性,同时更可以增强我们的动手动脑能力,从而达到学以致用的目的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1