count.vhd

来自「一些很好的FPGA设计实例」· VHDL 代码 · 共 43 行

VHD
43
字号
library ieee; 
use ieee.std_logic_1164.all; 
use ieee.std_logic_unsigned.all;
entity fcount is
port(
      clk :  in   std_logic;
      sig :  in   std_logic; 
      rst :  in   std_logic;
      fcounter : out std_logic_vector (12 downto 0)
     );        --计数输出
end fcount;

architecture data of fcount is
signal  temp,dtemp : std_logic_vector(12 downto 0) ;
begin 
p1 : process(sig,clk,rst)
     begin
      if clk'event and clk = '1' then 
          if sig = '1' then
          temp <= temp + 1; --在闸门的高电平时段计数
          else 
          temp <= (others=>'0') ;--在闸门的低电平时段清零
          end if;
      end if;
end process p1;

p2 : process(sig)
       begin
       if sig'event and sig = '0' then
          dtemp <= temp; --在闸门的下降沿将数据读出
       end if;
end process p2;

p3 : process(rst)
       begin
       if rst ='0' then
       fcounter <= (others=>'0');
       else
       fcounter <= dtemp;
       end if;
end process p3;

end data; 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?