翻译VHDL语言程序,急!!!!

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK,RST,EN : IN STD_LOGIC;
CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT : OUT STD_LOGIC );
END CNT10;
ARCHITECTURE behav OF CNT10 IS
BEGIN
PROCESS(CLK, RST, EN)
VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST = '1' THEN CQI := (OTHERS =>'0') ;
ELSIF CLK'EVENT AND CLK='1' THEN
IF EN = '1' THEN
IF CQI < 9 THEN CQI := CQI + 1;
ELSE CQI := (OTHERS =>'0');
END IF;
END IF;
END IF;
IF CQI = 9 THEN COUT <= '1';
ELSE COUT <= '0';
END IF;
CQ <= CQI;
END PROCESS;
END behav;

这是个模值为10的计数器
在进程里,设了CQL这个变量
RST(RESET)为1时,CQL归零
当时钟CLK上升沿到来,且EN为1时,CQL开始计数(小于9时加一,到9时归零,所以每一轮计10个数);当CQL=9时,输出COUT变为高电平
进程结束,把变量CQL赋给输出端口CQ
不过这个程序有错,CQL明明是4位向量,所以不能写CQL=9这种,而是CQL=1001
温馨提示:答案为网友推荐,仅供参考
相似回答