📄 counter24.vhd
字号:
--******************************************************
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
--******************************************************
ENTITY COUNTER24 IS
PORT(
CP : IN STD_LOGIC; --时钟脉冲
BIN : OUT STD_LOGIC_VECTOR (5 DOWNTO 0); --二进制
S : IN STD_LOGIC; --输出启动信号
CLR : IN STD_LOGIC; --清除信号
EC : IN STD_LOGIC; --使能计数信号
CY24 : OUT STD_LOGIC --计数24进位信号
);
END COUNTER24;
--*******************************************************
ARCHITECTURE a OF COUNTER24 IS
SIGNAL Q : STD_LOGIC_VECTOR (4 DOWNTO 0) ;
SIGNAL RST, DLY : STD_LOGIC;
BEGIN
PROCESS (CP,RST) -- 计数24
BEGIN
IF RST = '1' THEN
Q <= "00000"; -- 复位计数器
ELSIF CP'event AND CP = '1' THEN
DLY <= Q(4);
IF EC = '1' THEN
Q <= Q+1; -- 计数值加1
END IF;
END IF;
END PROCESS;
CY24 <= NOT Q(4) AND DLY; -- 进位信号微分
RST <= '1' WHEN Q=24 OR CLR='1' ELSE -- 复位信号设定
'0';
BIN <= ('0' & Q) WHEN S = '1' ELSE -- 计数输出
"000000";
END a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -