4.1 模3计数器
该计数器可产生一个分频系数为3的分频器,并产生一个默认的逻辑符号COUNTER3。其输入端口为RESET、EN和CLK;输出端口为QA和QB。下面给出模3计数器VHDL描述代码:
library ieee;
use ieee.std-logic-1164.all;
use ieee.std-logic-unsigned.all;
entity counter3 is
port(clk,reset,en:in std-logic;
qa,qbut std-logic);
end counter3;
architecture behavior of counter3 is
signal count:std-logic-vector(1 downto 0);
begin
process(reset,clk)
begin
if reset='1'then
count(1 downto 0)<="00";
else
if(clk 'event and clk='1')then
if(en='1')then
if(count="10")then
count<="00";
else
count<=count+1;
end if;
end if;
end if;
end if;
end process;
qa<=count(0);
qb<=count(1);
end behavior;
任意模数的计数器与模3计数器的描述结构完全相同,所不同的仅仅是计数器的状态数。上面的程序经编译、时序模拟后,在MAX+PLUS II可得到如图2所示的仿真波形。