用VHDL編寫任意占空比方波信號輸出

一個比較實用的小程序,在很多地方可以用到,實測可用。

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity reseter is
port(clk:in std_logic;               --輸入時鐘100Mhz
     reset_out:buffer std_logic:='1');   --初始設(shè)為高電平
      end reseter;

architecture behav of reseter is
signal COUNT1 :INTEGER RANGE 0 TO 300000000:=0; 
signal count2 :integer range 0 to 300000000:=0;
begin

PROCESS(clk,reset_out) 
 
BEGIN 
IF RISING_EDGE(clk) THEN
IF reset_out='1' THEN                           --1S高電平
    IF COUNT1=1000000 THEN 
     --IF COUNT1=40 THEN 
     reset_out<='0'; COUNT1<=0; 
    ELSE COUNT1<=count1+1;  
  END IF; 
ELSE
     if count2=200000000 then                 --2S低電平
     -- if count2=300 then
      reset_out<='1'; count2<=0;
      else count2<=count2+1;
END IF;
end if;
end if;
END PROCESS ;
end behav;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容