说明:设电路的控制端均为高电平有效,时钟端 CLK, 电路的预置数据输入端为 4 位 D ,计数输出端也为 4 位 Q ,带同步始能 EN 、异步复位 CLR 和预置控制 LD 的六进制减法计数器。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT6 IS PORT(EN,CLR,LD,CLK:IN STD_LOGIC; D: IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT6; ARCHITECTURE BEHA OF CNT6 IS SIGNAL QTEMP:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR,LD) BEGIN IF CLR='1' THEN QTEMP<="0000"; --CLR=1 ELSIF (CLK'EVENT AND CLK='1') THEN -- 判断是否上升沿 IF LD='1' THEN QTEMP<= 1 ; -- 判断是否置位 ELSIF EN='1' THEN -- 判断是否允许计数 IF QTEMP="0000" THEN QTEMP<= 2 ; -- 等于 0 ,计数值置 5 ELSE QTEMP<= 3 ; -- 否则,计数值减 1 END IF; END IF; END IF; Q<=QTEMP; END PROCESS; END BEHA;