www.pudn.com > ep1c6_12_1_2_moto.rar > CNTA.VHD


LIBRARY IEEE;                                            -- 24进制计数器 
USE IEEE.STD_LOGIC_1164.ALL; 
USE IEEE.STD_LOGIC_UNSIGNED.ALL; 
ENTITY CNTA IS 
    PORT ( CLK : IN STD_LOGIC;  
			U_D : IN STD_LOGIC; 
              CQ : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)); 
END CNTA; 
ARCHITECTURE behav OF CNTA IS 
    SIGNAL CQI : STD_LOGIC_VECTOR(4 DOWNTO 0); 
BEGIN 
    PROCESS(CLK) 
    BEGIN 
        IF CLK'EVENT AND CLK = '1' THEN 
            IF U_D = '1' THEN 
                IF CQI = 31 THEN   CQI <= "11111";         -- 模为32 
                     ELSE 
                    CQI <= CQI + 1; 
                END IF; 
				ELSE 
				IF CQI=0 THEN  CQI<= "00000"; 
					ELSE 
					CQI<= CQI-1; 
				END IF; 
	       END IF; 
		END IF; 
    END PROCESS; 
  CQ(4 DOWNTO 0) <= CQI; 
END behav;