小红袍 发表于 2005-9-10 12:11

继续请教,这次是关于异步计数器的

请教asynchron Zaehler的原理

比如从5数到11。应该是有几个FF,是不是4个?(2^4)

具体连线遵循什么概念?

求教求教。;)

[ 本帖最后由 小红袍 于 2005-9-10 19:01 编辑 ]

chinachip 发表于 2005-9-12 21:36

自己看吧

library ieee;
       use ieee.std_logic_1164.all;

entity counter is
   generic (
      NBITS: positive
   );
   port (
      clk, rst_b: in std_logic;
      q: out std_logic_vector(NBITS-1 downto 0)
   );
end entity counter;

architecture async of counter is
   signal clkdiv: std_logic_vector(0 to NBITS);
begin

   clkdiv(0) <= clk;

   div: for i in 0 to NBITS-1 generate

      process (clkdiv(i), rst_b)
      begin
         if rst_b = '0' then
            clkdiv(i+1) <= '1';
         elsif clkdiv(i)'event and clkdiv(i) = '1' then
            clkdiv(i+1) <= not clkdiv(i+1);
         end if;
      end process;
      q(i) <= clkdiv(i+1);

   end generate div;

end architecture async;
该你个例子,自己用MODELSIM模拟一下便知
页: [1]
查看完整版本: 继续请教,这次是关于异步计数器的