VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc

上传人:灯火****19 文档编号:136791895 上传时间:2020-07-02 格式:DOC 页数:8 大小:218.50KB
返回 下载 相关 举报
VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc_第1页
第1页 / 共8页
VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc_第2页
第2页 / 共8页
VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc_第3页
第3页 / 共8页
VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc_第4页
第4页 / 共8页
VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc》由会员分享,可在线阅读,更多相关《VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计.doc(8页珍藏版)》请在金锄头文库上搜索。

1、电 子 设 计 自 动 化 实 验 实验名称 综合性实验二、硬件描述语言的层次化设计 实验设备 (1)EDA实验箱(型号 ),(2)计算机,(3)EDA软件(QuartusII)实验目的 1、 熟悉EDA软件(QuartusII)的硬件描述语言输入设计方法; 2、 掌握VHDL语言的层次化设计方法和仿真分析方法; 3、 了解功能仿真、时序仿真和时序参数分析的意义。 实验内容 1、 用VHDL语言完成4位十进制计数器、4位锁存器、测频控制器的设计,包括编译、综合、仿真;* 2、 采用层次化设计的方法,用VHDL语言的元件例化语句写出4位十进制频率计的顶层文件,并分别给出其测频功能和时序仿真分析波

2、形图,并加以分析;* 3、 用EDA实验箱进行硬件验证,并分析测量结果;建议硬件测试实验电路采用NO.0电路结构,待测信号F_IN接clock0;测频控制时钟CLK接clock2;* 4、 在2基础上将其扩展为8位十进制频率计,或带译码输出的4位十进制频率计。实 验 报 告 要 求 根据以上实验内容写出实验报告: 1、 简述4位频率计模块的工作原理及其设计、编译、仿真分析过程; 2、 给出模块设计文件、仿真测试文件、仿真结果波形图及其分析报告; 3、 简述硬件验证过程和验证结果。 1、 简述4位频率计模块的工作原理根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信

3、号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器清0信号。这3个信号可以由一个测频控制信号发生器产生,即TESTCTL,它的设计要求是,TESTCTL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要产生一个锁存信号LOAD,在该信号上升沿时,将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性

4、的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作作准备。每一个计数器CNT10有4位输出(00001001分别表示十进制中的09),因此需要用四片CNT10。四片CNT10应串接起来,当前一片CNT10产生进位信号后,由CARRY_OUT输出跳变高电平,引入下一片CNT10(也即输入时钟信号CLK)。四位十进制计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT (CLK,RST,EN : IN ST

5、D_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10;ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ; -计数器异步复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数

6、(同步使能) IF CQI 0); -大于9,计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT = 1; -计数大于9,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出 END PROCESS;END behav;四位寄存器LIBRARY IEEE; -4位锁存器 USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG4B IS PORT ( LK : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT

7、: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END REG4B; ARCHITECTURE behav OF REG4B IS BEGIN PROCESS(LK, DIN) BEGIN IF LKEVENT AND LK = 1 THEN DOUT = DIN; END IF; END PROCESS; END behav;测频器LIBRARY IEEE; -测频控制电路 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FTCTRL IS PORT (CLKK : IN S

8、TD_LOGIC; - 1Hz CNT_EN : OUT STD_LOGIC; - 计数器时钟使能 RST_CNT : OUT STD_LOGIC; - 计数器清零 Load : OUT STD_LOGIC ); - 输出锁存信号 END FTCTRL; ARCHITECTURE behav OF FTCTRL IS SIGNAL Div2CLK : STD_LOGIC; BEGIN PROCESS( CLKK ) BEGIN IF CLKKEVENT AND CLKK = 1 THEN - 1Hz时钟2分频 Div2CLK = NOT Div2CLK; END IF; END PROCESS

9、; PROCESS (CLKK, Div2CLK) BEGIN IF CLKK=0 AND Div2CLK=0 THEN RST_CNT=1;- 产生计数器清零信号 ELSE RST_CNT = 0; END IF; END PROCESS; Load = NOT Div2CLK; CNT_EN = Div2CLK; END behav;实验记录: 1、 仿真分析(目标芯片型号 ,待测信号频率FIN=132*CLK,XX为末两位学号) 测频控制器工作时序波形:4位频率计工作时序波形:(功能仿真分析)4位频率计工作时序波形:(时序仿真分析) 编译结果8位频率计8位频率计工作时序波形:(功能仿真分析)8位频率计工作时序波形:(时序仿真分析) 编译、综合和适配频率计顶层设计文件,完全通过,设计到目前为止正确无误。小结:通过实验完成设计4位十进制频率计,学习较复杂的数字系统设计方法;深入学习数字系统设计的方法与步骤;用VHDL硬件描述语言进行模块电路的设计。熟悉4位十进制频率计的工作原理以及各个模块的功能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号