1、实 验 报 告学生姓名: EDA 小王子 学 号: 国家机密 专业班级: 国家机密 实验类型: 验证 综合 设计 创新 实验日期: 国家机密 实验成绩: 很高 实验二 模可变计数器设计(模 23/模 109)一、实验目的1学习一般的数字电路设计;2学习数码管的输出方法;3进一步熟悉 Quartes II 集成开发软件的使用以及 PH-1V 型实验装置的使用二、实验要求学习多层次设计法,设置一位控制位 M,要求 M=0:模 23 计数;M=1:模 109 计数;计数结果用静态数码管显示。三、实验设计1.设计思路:数字电路以前学过模值计数器的设计,而这个实验只是在原类型题加了一个模值转换的设置,再
2、加上要求用数码管显示,所以必须把计数结果转换成 BCD 码,所以干脆直接使用 BCD 码进行模值控制。2.实验程序:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count ISPORT (CLK,RST,EN,M : IN STD_LOGIC;CQ1,CQ2,CQ3 : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ;COUT : OUT STD_LOGIC ) ;END ENTITY count;ARCHITECTURE one OF count ISS
3、IGNAL model : INTEGER;BEGINPROCESS (CLK,RST,EN,M,model)VARIABLE CQI : STD_LOGIC_VECTOR (11 DOWNTO 0) ; BEGIN IF M = 0 THEN model 0);ELSIF CLKEVENT AND CLK = 1 THEN IF EN = 1 THENIF CQI 0) ;END IF;END IF;END IF;IF CQI = model THEN COUT End Time 来设定仿真结束时间(4)将工程 count 的端口信号名选录波形编辑器中(5)在 CLOCK 窗口中设置 CLK
4、 的时钟周期为 100us,占空比为 50(6) 点击 save 保存(7) 通过 Tools 下的 Simulator Tools 项进行仿真,然后观察输出波形。4.引脚锁定(1)通过 Assignment-Assignment Editor-Pin 查找到所有的引脚(2)选择各个输入输出信号来锁定到不同引脚,进行全编译锁定引脚,CLK-79,EN-53,RST-55,M-54,CQ0-172,CQ1-173,CQ2-174,CQ3-175,CQ4-176,CQ5-177,CQ6-179,CQ7-180,CQ8-186, CQ9-187, CQ10-189, CQ11-190, COUNT-
5、2085.编程下载(1)选择 Tools-Programmer 菜单,点击 Hardware Setup 窗口完成硬件设置(2)点击 Start 开始编程下载六、仿真波形1.模 23 计数(M=0)在计数到 22 时产生了进位,实现一次模 22 计数2.模 109 计数(M=1)计数到 108 时,产生进位,实现模 109 计数七、实验结果当 M 接低电平,数码管在 022 循环,计数到 22 时,LED8 亮一次;当 M 接高电平,数码管在 0108 循环,计数到 108 是,LED8 亮一次。八、实验总结1.加深了自己对 vhdl 语言的运用,也更熟悉了实验过程中的操作。2.相比较第一个实
6、验,这个实验感觉比第一个难,难度主要体现在程序比第一个复杂许多,有许多需要重点注意的地方:(1)IF M = 0 THEN model = 34;ELSIF M = 1 THEN model = 264;此处模值应转换为十进制计数,BCD 码 22 即为十进制中的 34,BCD 码中的 108 即为十进制中的 264(2)IF CQI(7 DOWNTO 0) = 153 THEN CQI := CQI + 103 ;ELSIF CQI(3 DOWNTO 0) = 9 THEN CQI := CQI + 7 ;由于当计数到 9 时,BCD 码为 1001,而 10 的 BCD 码为 0001 0000,并不是 1010,所以当计数到 9 时,应加上 7,计数到 153 时同理。注:若程序写为 CQI(11 DOWNTO 0),在计数超过 10 后,将会变为 16 进位。