欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7259|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

VHDL防抖動模塊程序以及解釋

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:203367 發(fā)表于 2017-5-22 09:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
libraryieee;  

useieee.std_logic_1164.all;

entityyou is定義實體

port(clk,din:in std_logic;系統(tǒng)時鐘和開關(guān)里程輸入脈沖

dout:out std_logic );輸出信號

endyou;  

architecturertl of you is定義結(jié)構(gòu)體

signalx,y:std_logic;定義兩個中間標(biāo)準邏輯信號

begin  

process(clk) 進程

begin

if clk'event and clk='1' then 判斷是否為上升沿

x<=din; 變量賦值

y<=x;

end if;

dout<=x and (not y); 去抖動

end process;  

end rtl;



該模塊的的核心部分在于

if clk'event and clk='1' then  

x<=din; y<=x;

end if;

dout<=x and (not y);

   這是一個同步整形電路,在進程中,信號不是在改變值之后立即變化的,其他語句使用的還是該信號的舊值(未執(zhí)行進程時的值),所以假設(shè)y=0,那么在時鐘的上升沿:

如果:

   din="1"小于一個時鐘寬:則有x=1,y=0(雖然進程中改變了值,但不會立即被使用);

   則有dout=x and (not y)=1 and (not 0)=1;

如果:

   din="1"超過一個時鐘寬:則有x=1,y=1(前次執(zhí)行進程后,y的值已經(jīng)改變?yōu)椤?’了);

   則有dout=x and (not y)=1 and (not 1)=0;

如果din在時鐘周期內(nèi)出現(xiàn)抖動,則因為不執(zhí)行進程,所以輸出無影響,還是被整成一個時鐘寬度,所以不管是長按還是短按你的鍵,有效高電平寬度等于時鐘。




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表