cnt10.vhd

来自「基于CPLD的数字频率计」· VHDL 代码 · 共 38 行

VHD
38
字号
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;    	--有时钟使能的十进制计数器
ENTITY CNT10 IS
  PORT (
         CLK:IN STD_LOGIC;    	--计数时钟信号
         CLR:IN STD_LOGIC;    		--清零信号
         ENA:IN STD_LOGIC;    		--计数使能信号
         CQ:OUT INTEGER RANGE 0 TO 15;	--4位计数结果输出
         CARRY_OUT:OUT STD_LOGIC);    	--计数进位
END CNT10; 
ARCHITECTURE ART OF CNT10 IS 
SIGNAL CQI :INTEGER RANGE 0 TO 15;
BEGIN
   	PROCESS(CLK,CLR,ENA)
      BEGIN
       	IF   CLR= '1' THEN 
               CQI<= 0;    		--计数器异步清零
            ELSIF CLK'EVENT AND CLK= '1' THEN            
                 IF ENA= '1' THEN 
                     IF CQI<9 THEN 
                         CQI<=CQI+1;
                          ELSE 
                            CQI<=0;
                    END IF;    		--等于9,则计数器清零
                  END IF; 
               END IF;
          END PROCESS;
    PROCESS (CQI)
       BEGIN
         IF CQI=9 THEN
           CARRY_OUT<= '1';    	--进位输出
             ELSE 
              CARRY_OUT<= '0';
       END IF;
       END PROCESS;
       CQ<=CQI;
END ART; 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?