输入:时冲脉波 clk,使能端 en,清零 clr_1,置数端 ld_1,数据输入
d。输出:数据输出端 q1,q2,进位输出 co。
(2)功能表:
工作方式
输 入 输出
clr_1 clk ld_1 d en q1 q2
清零
0 X 1 X 1 0 0
置数
1
上升沿
1 0 1 0 0
1
上升沿
1 0 1 1 1
计数
1
上升沿
1 1 1
计数 计数
保持
1 X 1 1 1 Q1 Q2
1 X 1 1 0 Q1 Q2
(2) 源代码(若使用系统提供的器件可省略)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY hour IS
PORT(
clk,en,clr_1,ld_1 : IN STD_LOGIC;
d:IN integer range 0 to 23;
q1:OUT integer range 0 to 9;
q2:OUT integer range 0 to 9;
co:OUT STD_LOGIC
);
END hour;
ARCHITECTURE hc160_arch of hour IS
SIGNAL iq:integer range 0 to 23;
BEGIN
PROCESS(clk,clr_1)
BEGIN
IF clr_1='0' THEN iq<=0;
ELSIF ld_1='0' THEN iq<=d;
ELSIF clk'EVENT AND clk='1' THEN
IF (en)='1' THEN iq<=iq+1;
END IF;
END IF;