VHDL-计数器频率计控制器
洛阳理工学院实验报告
系别 计算机系 班级 课程名称 实验名称 EDA技术与VHDL 4位二进制加法计数器 学号 姓名 实验日期 成绩 实验目的: 1.熟悉QuartusII软件 2.练习计数器模块的定制和工作原理 实验条件: Quartus II 集成开发环境 实验内容: 编写4位二进制加法计数器的VHDL代码并仿真,编译下载验证 实验数据: 1.实验程序 (1) 4位二进制加法计数器的VHDL代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT4 IS PORT(CLK:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END; ARCHITECTURE BHV OF CNT4 IS SIGNAL Q1:STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; END IF; END PROCESS; Q<=Q1; END BHV;
(2) 频率计控制器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY zmk437 IS PORT (CLKK : IN STD_LOGIC; CNT_EN,RST_CNT : OUT STD_LOGIC; LOAD : OUT STD_LOGIC ); END zmk437; ARCHITECTURE BEHAV OF zmk437 IS SIGNAL Div2CLK : STD_LOGIC; BEGIN PROCESS (CLKK) BEGIN IF CLKK'EVENT AND CLKK='1' THEN Div2CLK <= NOT Div2CLK; END IF; END PROCESS; 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;
2.程序运行图: (1) 4位二进制加法计数器 (2) 频率计控制器
3.波形图: (1) 4位二进制加法计数器 (2) 频率计控制器