VHDL n进制计数器

如有错误,望指正。

Entity cntn is
Port (clk,rst:in std_logic;
          cnt:in std_logic_vector(m downto 0);
          --其中m的计算如下:假设要写60进制
          --计数器,则其中的60用2^6(64)就
          --可以满足,即6位就可以了,所以这
          --里的m=5);
end cntn;
Architecture Behavior of cntn is
signal cntt:std_logic_vector(m downtown 0);--这里用中间信号来代替输出cnt进行“运算”
begin
process(clk,rst)
begin
if rst='0' then
    cntt<=(others=>'0');
elsif rising_edge(clk) then
    if cntt=n-1 then
        cntt<=(others=>'0');
    else
        cntt<=cntt+1;
    end if;
end if;
end process;
cnt<=cntt;
end Behavior;
    

你可能感兴趣的:(笔记)