cnt10.vhd

来自「这是消除毛刺十进制计数器的源程序」· VHDL 代码 · 共 40 行

VHD
40
字号
--库文件和程序包定义
--编译之前首先要set project to current file,指向当前编译文件,否则指向上一次编译文件
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;--定义了integer型及std_logic_vector 和std_logic混合运算的运算符
--实体说明
ENTITY CNT10 IS
	PORT(CLK,CLR,CLOCK:IN STD_LOGIC;
		  QOUT3,QOUT2,QOUT1,QOUT0:BUFFER STD_LOGIC);--Q MODE定义 OUT错误,应该为 BUFFER带有回读
END ENTITY CNT10;
--结构体说明
ARCHITECTURE BEHAV OF CNT10 IS
	SIGNAL Q:STD_LOGIC_VECTOR(3 DOWNTO 0);--DECLARE
	BEGIN
				PROCESS(CLR,CLK)IS
			BEGIN
				IF(CLR='1')THEN
					Q<="0000";--Q<=0;ERROR 类型不对应
				ELSIF(RISING_EDGE(CLK))THEN
					IF(Q="1001")THEN--buffer 型带有回读
						Q<="0000";--类型不对应,std_logic_vector
					ELSE
						Q<=Q+1;--unsigned包里有定义
					END IF;
				END IF;
		END PROCESS;
--消除毛刺
PROCESS(CLOCK,Q)IS
	BEGIN
		IF(CLOCK'EVENT AND CLOCK='1')THEN
			QOUT3<=Q(3);
			QOUT2<=Q(2);
			QOUT1<=Q(1);
			QOUT0<=Q(0);
		END IF;
END PROCESS;
END ARCHITECTURE BEHAV;


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?