十进制计数器 cn10
cnt10 的输入端口:
en——允许计数
clk--时钟;
reset--复位;
输出端口为:
q--计数值输出;
carry--进位输出;
具体描述如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY cnt10 IS
PORT(reset,en,clk:IN STD_LOGIC;
carry:OUT STD_ULOGIC;
q:OUT STD_ULOGIC_VECTOR(3 DOWNTO 0));
END cnt10;
ARCHITECTURE rtl OF cnt10 IS
SIGNAL qs:STD_LOGIC_VECTOR(3 DOWNTO O);
SIGNAL ca:STD_ULOGIC;
BEGIN
PROCESS(clk)
VARIABLE q10:INTEGER;
BEGIN
IF(clk 'EVENT AND clk= '1 ')THEN
IF(reset= '1 ')THEN
q10:=0;
ELSIF(en= '1 ')THEN
IF(q10=9)THEN
q10:=0
ca <= '0 ';
---(1)
ELSIF(q10=8)THEN
q10:=q10+1;
ca <= '1 ';
---(2)
ELSE
q10:=q10+1;
ca <= '0 ';
END IF;
END IF;
END IF;
评论0