⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counter.txt

📁 对外部输入的高频脉冲信号进行分频
💻 TXT
字号:
entity counter is
    Port ( F_CLKIN : in  STD_LOGIC;             --外部时钟输入
           TWE : in  STD_LOGIC;                 --外部数据总线赋值写信号
           TD : in  STD_LOGIC_VECTOR (10 downto 0);  --外部总线
           CE : in  STD_LOGIC; 
			  RESET: in std_logic;
           CLK_INT : out  STD_LOGIC);            --分频输出
end counter;

architecture Behavioral of counter is
 
signal a:  std_logic_vector(10 downto 0);    
signal b:  std_logic_vector(10 downto 0);
signal c:  std_logic;
begin

  process(CE,TWE,F_CLKIN,TD,RESET)                    --分频器进程  
      --采用时钟同步写信号, 
  begin
    if(RESET='0') then
	    a<="00000000000";
       b<="00000000000";
		 c<='0';
       CLK_INT<='0';
    else
    	 if (rising_edge(F_CLKIN)) then
	        if(CE='0' and TWE='0') then		   
               a<=TD;                          
	            b<=TD;
           		c<='1';	                      --c为标志位,c为1时才可以将clk int置1
	        elsif(a="00000000000" and c='1') then
      	  
               CLK_INT<='1';					   --CLK_INT 与lock 信号宽度为一个标频周期
	            a<=b;
		     else
		         a<=a-1;
			      CLK_INT<='0';
	       end if; 
        end if; 
    end if;	 
  end process;

end Behavioral;

⌨️ 快捷键说明

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