创建工程啥的就不说了哈哈,我就直接上代码和思路分析了
1、实用计数器的VHDL设计
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK,RST,EN,LOAD:IN STD_LOGIC;
DATA:IN STD_LOGIC_VECTOR(0 to 3);--四位预置数
DOUT:OUT STD_LOGIC_VECTOR(0 to 3);--计数值输出
COUT:OUT STD_LOGIC );--计数进位输出
ENd CNT10;
ARCHITECTURE behav OF CNT10 IS
BEGIN
PROCESS(CLK,RST,EN,LOAD)
VARIABLE Q:STD_LOGIC_VECTOR(0 to 3) ;
BEGIN
IF RST='0' THEN Q:=(OTHERS=>'0');--复位低电平时,计数寄存器清0
ELSIF CLK'EVENt AND CLK='1' THEN--测试时钟上升沿
IF EN='1' THEN --计数使能高电平,允许计数
IF(LOAD='0')THEN Q:=DATA;ELSE--预置控制低电平,允许加载
IF Q'0'); --否则计数器清0
END IF;
END IF;
END IF;
END IF;
IF Q="1011"THEN COUT |