0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【教程分享】在FPGA中,同步信號、異步信號和亞穩(wěn)態(tài)的理解

電子發(fā)燒友論壇 ? 來源:未知 ? 2023-05-16 09:30 ? 次閱讀

本系列將帶來FPGA的系統(tǒng)性學(xué)習(xí),從最基本的數(shù)字電路基礎(chǔ)開始,最詳細(xì)操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息、通信類專業(yè)學(xué)生、初入職場小白及打算進(jìn)階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學(xué)習(xí)的機(jī)會。


系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對個(gè)人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。后續(xù)會陸續(xù)更新 Xilinx 的 Vivado、ISE 及相關(guān)操作軟件的開發(fā)的相關(guān)內(nèi)容,學(xué)習(xí)FPGA設(shè)計(jì)方法及設(shè)計(jì)思想的同時(shí),實(shí)操結(jié)合各類操作軟件,會讓你在技術(shù)學(xué)習(xí)道路上無比的順暢,告別技術(shù)學(xué)習(xí)小BUG卡破腦殼,告別目前忽悠性的培訓(xùn)誘導(dǎo),真正的去學(xué)習(xí)去實(shí)戰(zhàn)應(yīng)用,這種快樂試試你就會懂的。話不多說,上貨。


在FPGA中,同步信號、異步信號和亞穩(wěn)態(tài)的理解

PGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列。主要是利用內(nèi)部的可編程邏輯實(shí)現(xiàn)設(shè)計(jì)者想要的功能。FPGA屬于數(shù)字邏輯芯片,其中也有可能會集成一部分模擬電路的功能,大多數(shù)模擬電路都是當(dāng)做asic進(jìn)行工作的,可編程的部分大多數(shù)都是數(shù)字邏輯部分。


數(shù)字邏輯電路是由組合邏輯和時(shí)序邏輯器件構(gòu)成,在時(shí)序邏輯器件中,常用就是時(shí)鐘觸發(fā)的寄存器。



如果在設(shè)計(jì)中,所有的寄存器的時(shí)鐘端都是連接的同一個(gè)時(shí)鐘,那么稱之為同步電路設(shè)計(jì)。所謂同步也就是所有的寄存器的輸出端都是由同一個(gè)時(shí)鐘端驅(qū)動出來的,所有的寄存器在同一個(gè)步調(diào)上進(jìn)行更新。


同步電路中的信號,我們稱之為同步信號。


如果在設(shè)計(jì)中,寄存器的時(shí)鐘端連接在不同的時(shí)鐘上,那么稱之為異步電路設(shè)計(jì)。



在異步電路中,被clk1驅(qū)動的寄存器和組合邏輯電路構(gòu)成時(shí)鐘域clk1的電路,被clk2驅(qū)動的寄存器和組合邏輯電路構(gòu)成時(shí)鐘域clk2的電路。信號從clk1的時(shí)鐘域到clk2的時(shí)鐘域,被稱為跨時(shí)鐘域。而對于信號D5來說,我們認(rèn)為它是clk1時(shí)鐘域的信號,那么對于clk2時(shí)鐘域來說,就是異步信號,因?yàn)樗慌cclk2的驅(qū)動沿對齊。


寄存器有一種特性,在clk的有效邊沿時(shí),采樣數(shù)據(jù)D,輸出到Q,此過程如果想要穩(wěn)定進(jìn)行,那么要求,數(shù)據(jù)D在clk有效邊沿之前一段時(shí)間保持穩(wěn)定(建立時(shí)間),在clk有效邊沿之后一段時(shí)間保持穩(wěn)定(保持時(shí)間),如果任何一個(gè)不滿足,就會導(dǎo)致此過程失敗,結(jié)果就是clk的有效邊沿過去后,Q的值可能就不會出現(xiàn)預(yù)想值。那么是什么呢?先不著急,后面慢慢談。


在真實(shí)的電路中,各部分元器件都是有延遲的。對于同步電路來說,Q的更新都是在clk上上升沿之后的一段時(shí)間(Tco:輸出延遲),輸出的數(shù)據(jù)經(jīng)過組合邏輯或者線路也會有延遲(delay:線路延遲),到達(dá)下一個(gè)寄存器。此時(shí),信號早就偏離了clk的上升沿。所以對于下級寄存器來說,這個(gè)信號也是“異步信號”。所以說真實(shí)電路中,全部的信號都是“異步信號”。


那么為什么在同步電路中,我們都稱為同步信號呢?


因?yàn)樵陔娐分校械难舆t都是已知的(TCO、delay等等),我們可以通過擴(kuò)大clk的周期,確保clk的周期大于TCO等等之類延遲之和,那么就可以保證下級寄存器采樣到數(shù)據(jù)。所以這種電路中的信號,我們依然把他稱之為同步信號。


在跨時(shí)鐘域時(shí),由于兩個(gè)時(shí)鐘之間沒有任何關(guān)系,無論怎么調(diào)整周期,都不一定能滿足下級寄存器采樣到數(shù)據(jù),肯定不能調(diào)成一致周期,那就變成了同步設(shè)計(jì)。例:用寄存器采樣外部按鍵的輸入,那么此時(shí)外部按鍵的信號對于寄存器來說就是異步信號,因?yàn)橥獠啃盘柺请S時(shí)都有可能有效,所以無論怎么調(diào)整,都不一定能夠保證信號滿足寄存器的建立保持時(shí)間。


那么既然在很多情況下,無論如何也避免不了異步信號帶的壞處,那么能不能全部采用同步設(shè)計(jì)?顯然是不太現(xiàn)實(shí),不同接口或者存儲器等都有自己頻率,全部采用同步電路設(shè)計(jì)的方式將失去很多功能。例如:千兆以太網(wǎng)的GMII接口,采用125M接口,1080P的HDMI接口采用148.5MHz的接口。


既然無法避免,那就勇敢面對。


當(dāng)信號不滿足建立和保持時(shí)間時(shí),寄存器會輸出什么值呢?



在上圖中,輸入信號在clock的上升沿左右有了一個(gè)從高到低的變化,即不滿足建立和保持時(shí)間。那么寄存器的輸出端就會輸出一個(gè)既不是高電平也是低電平的一個(gè)電平。


在數(shù)字電路中,高電平和低電平是兩個(gè)穩(wěn)定的電平值,能夠一直維持不變化。如果不滿足建立或者保持時(shí)間的話,輸出的電平值不高也不低,但是此電平不穩(wěn)定,稱為亞穩(wěn)態(tài)(類似于健康和亞健康)。亞穩(wěn)定是不穩(wěn)定的,終究要向高或者低電平進(jìn)行變化。


那么有人說,亞穩(wěn)態(tài)終究會走向穩(wěn)態(tài),那么豈不是沒有影響了。答案是錯(cuò)誤的??梢韵胂?,亞穩(wěn)態(tài)走向穩(wěn)態(tài)是必然趨勢,可是需要一定的時(shí)間,如果在這一段時(shí)間內(nèi),被其他電路所引用,那么就會造成亞穩(wěn)態(tài)的傳播,進(jìn)而導(dǎo)致整個(gè)電路的癱瘓(因?yàn)檎麄€(gè)電路都會變成非高非低的信號在運(yùn)行)。


那么應(yīng)該如何處理呢?


對于單bit信號,我們一般采用同步寄存器鏈來進(jìn)行處理。



對于同步寄存器鏈的要求有三點(diǎn):



第一:在同步寄存器鏈中,所有的寄存器都必須用同一個(gè)或者相關(guān)(例如:一個(gè)時(shí)鐘是另外一個(gè)時(shí)鐘的相位延遲180度)時(shí)鐘驅(qū)動。


第二:第一個(gè)寄存器的輸入為外部的異步信號。


第三:在同步寄存器鏈中,所有的輸出只能給下一級使用。只有最后一級寄存器可以給其他的電路使用。


對于第一點(diǎn)和第二點(diǎn),不再解釋。下面解釋一下第三點(diǎn)。



D3信號為clk2時(shí)鐘域的異步信號,那么D4信號就有可能出現(xiàn)亞穩(wěn)態(tài)。假設(shè)D4信號出現(xiàn)亞穩(wěn)態(tài)后,恢復(fù)至穩(wěn)態(tài)的時(shí)間為T1,組合邏輯2的延遲為T2,那么D5信號得到穩(wěn)態(tài)的時(shí)間為T1+T2。如果沒有組合邏輯2時(shí),D5信號得到穩(wěn)態(tài)的時(shí)間為T1。如果clk2的周期大于T1+T2,那么有無組合邏輯2,將不受影響;如果clk2的周期大于T1且小于T1+T2,那么有組合邏輯2,就會造成亞穩(wěn)態(tài)的傳播。如果clk2的周期小于T1,也會亞穩(wěn)態(tài)的傳播。


綜上所述,組合邏輯2,還是不要有的好,能夠大大增加D5得到穩(wěn)態(tài)的幾率。


在上述敘述中,我們只是提高了得到穩(wěn)態(tài)的幾率,但是還是有亞穩(wěn)態(tài)傳播的幾率。


在實(shí)際電路中,一般同步寄存器鏈會有兩級甚至多級。那么多級的同步寄存器鏈會有什么作用呢?


在上述敘述中得知,亞穩(wěn)態(tài)是一種不穩(wěn)定的狀態(tài),會向穩(wěn)定狀態(tài)過渡。如果第一級寄存器輸出亞穩(wěn)態(tài),恢復(fù)時(shí)間為T1,如果clk的周期小于T1,那么亞穩(wěn)態(tài)將會在第二級寄存器輸出,由于第一級亞穩(wěn)態(tài)已經(jīng)經(jīng)過clk一個(gè)周期的恢復(fù),所以在第二級寄存器輸出時(shí),亞穩(wěn)態(tài)恢復(fù)至穩(wěn)態(tài)的時(shí)間T2將會縮短。T2< T1。


再多級的寄存器,也無法避免亞穩(wěn)態(tài),只是級數(shù)越多,最后一級輸出亞穩(wěn)態(tài)的幾率將會越低。


在實(shí)際電路中,一般采用兩級或者三級即可。






聲明本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


更多熱點(diǎn)文章閱讀

  • 電子工程師分享:常用電平轉(zhuǎn)換電路、電源自動切換電路、太陽能充電電路總結(jié)

  • 基于32位RISC-V設(shè)計(jì)的互聯(lián)型微控制器,沁恒微CH32V307開發(fā)樣例

  • RK3568!四核64位ARMv8.2A架構(gòu),匯聚編譯源碼及實(shí)戰(zhàn)樣例

  • 尺寸僅有21mm*51mm,板邊采用郵票孔設(shè)計(jì),合宙 Air105 核心板開發(fā)總結(jié)

  • 基于ESP32芯片,搭載OpenHarmony操作系統(tǒng),NiobeU4開發(fā)板應(yīng)用實(shí)例


原文標(biāo)題:【教程分享】在FPGA中,同步信號、異步信號和亞穩(wěn)態(tài)的理解

文章出處:【微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:【教程分享】在FPGA中,同步信號、異步信號和亞穩(wěn)態(tài)的理解

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    怎么判斷同步清零和異步清零

    異步清零都是對寄存器或計(jì)數(shù)器進(jìn)行清零操作的方式,它們的主要區(qū)別在于清零信號的觸發(fā)方式。 同步清零:同步清零是指在時(shí)鐘信號的控制下,將寄存器
    的頭像 發(fā)表于 07-23 11:11 ?1034次閱讀

    FPGA同步復(fù)位和異步復(fù)位

    FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)的復(fù)位操作是設(shè)計(jì)過程不可或缺的一環(huán),它負(fù)責(zé)將電路恢復(fù)到初始狀態(tài),以確保系統(tǒng)的正確啟動和穩(wěn)定運(yùn)行。
    的頭像 發(fā)表于 07-17 11:12 ?1074次閱讀

    FPGA異步信號處理方法

    FPGA(現(xiàn)場可編程門陣列)處理異步信號時(shí),需要特別關(guān)注信號同步化、穩(wěn)定性以及潛在的
    的頭像 發(fā)表于 07-17 11:10 ?920次閱讀

    數(shù)字電路亞穩(wěn)態(tài)是什么

    在數(shù)字電路的設(shè)計(jì)與實(shí)現(xiàn),亞穩(wěn)態(tài)是一個(gè)不可忽視的現(xiàn)象。它可能由多種因素引發(fā),對電路的穩(wěn)定性和可靠性產(chǎn)生嚴(yán)重影響。本文將深入探討數(shù)字電路中亞穩(wěn)態(tài)的概念、產(chǎn)生原因、影響以及應(yīng)對策略,以期為讀者提供全面而深入的
    的頭像 發(fā)表于 05-21 15:29 ?974次閱讀

    SPWM脈寬調(diào)制是異步還是同步?

    SPWM脈寬調(diào)制是異步還是同步? SPWM脈寬調(diào)制是一種用于調(diào)節(jié)交流電壓的技術(shù),通過調(diào)整脈沖的寬度來模擬純正的正弦電壓信號。SPWM技術(shù)
    的頭像 發(fā)表于 02-06 11:33 ?641次閱讀

    兩級觸發(fā)器同步,就能消除亞穩(wěn)態(tài)嗎?

    兩級觸發(fā)器同步,就能消除亞穩(wěn)態(tài)嗎? 兩級觸發(fā)器同步可以幫助消除亞穩(wěn)態(tài)。本文將詳細(xì)解釋兩級觸發(fā)器同步原理、
    的頭像 發(fā)表于 01-16 16:29 ?972次閱讀

    復(fù)位信號存在亞穩(wěn)態(tài),有危險(xiǎn)嗎?

    復(fù)位信號存在亞穩(wěn)態(tài),有危險(xiǎn)嗎? 復(fù)位信號電子設(shè)備起著重要的作用,它用于使設(shè)備回到初始狀態(tài),以確保設(shè)備的正常運(yùn)行。然而,我們有時(shí)會發(fā)現(xiàn)復(fù)位
    的頭像 發(fā)表于 01-16 16:25 ?427次閱讀

    異步電路的時(shí)鐘同步處理方法

    異步電路的時(shí)鐘同步處理方法? 時(shí)鐘同步異步電路
    的頭像 發(fā)表于 01-16 14:42 ?985次閱讀

    異步信號同步電路交互的問題及其解決方法

    不良影響。本文將詳細(xì)介紹異步信號同步電路交互問題的背景、常見的問題及其解決方法。 一、背景 現(xiàn)代電子系統(tǒng),通信和交互已經(jīng)成為不可或缺的
    的頭像 發(fā)表于 12-07 10:53 ?605次閱讀

    數(shù)字電路亞穩(wěn)態(tài)產(chǎn)生原因

    亞穩(wěn)態(tài)是指觸發(fā)器的輸入信號無法規(guī)定時(shí)間內(nèi)達(dá)到一個(gè)確定的狀態(tài),導(dǎo)致輸出振蕩,最終會在某個(gè)不確定的時(shí)間產(chǎn)生不確定的輸出,可能是0,也可能是1,導(dǎo)致輸出結(jié)果不可靠。
    的頭像 發(fā)表于 11-22 18:26 ?1772次閱讀
    數(shù)字電路<b class='flag-5'>中</b>的<b class='flag-5'>亞穩(wěn)態(tài)</b>產(chǎn)生原因

    什么是同步邏輯和異步邏輯?同步電路與異步電路有何區(qū)別?

    什么是同步邏輯和異步邏輯?同步電路與異步電路有何區(qū)別? 同步邏輯和異步邏輯是計(jì)算機(jī)科學(xué)
    的頭像 發(fā)表于 11-17 14:16 ?2141次閱讀

    信號驅(qū)動IO與異步IO的區(qū)別

    , 是開始處理IO, 這個(gè)時(shí)候還是存在阻塞的,將數(shù)據(jù)從內(nèi)核態(tài)拷貝進(jìn)入到用戶態(tài)的過程至少是阻塞住的 (應(yīng)用程序?qū)?shù)據(jù)從內(nèi)核態(tài)拷貝到用戶態(tài)的過程是阻塞等待的, 和異步IO的區(qū)別) (此處是區(qū)分信號驅(qū)動IO和異步IO的關(guān)鍵所在)
    的頭像 發(fā)表于 11-08 15:32 ?919次閱讀
    <b class='flag-5'>信號</b>驅(qū)動IO與<b class='flag-5'>異步</b>IO的區(qū)別

    信號協(xié)議同步傳輸和異步傳輸有什么區(qū)別

    信號協(xié)議,有非常多的種類,如UART,I2C,SPI,PCIe等等,它們有自己的一套制定規(guī)則,但是協(xié)議制定,一定需要在
    的頭像 發(fā)表于 11-07 14:50 ?1105次閱讀
    <b class='flag-5'>信號</b>協(xié)議<b class='flag-5'>中</b><b class='flag-5'>同步</b>傳輸和<b class='flag-5'>異步</b>傳輸有什么區(qū)別

    FPGA工程師面試剛需

    引起。 同步邏輯是時(shí)鐘之間有固定的因果關(guān)系。異步邏輯是各時(shí)鐘之間沒有固定的因果關(guān)系。 同步復(fù)位是時(shí)鐘沿變化時(shí),完成復(fù)位動作。 優(yōu)點(diǎn): 1)抗干擾能力高,可以提出復(fù)位
    發(fā)表于 11-03 10:39

    FPGA項(xiàng)目開發(fā)之同步信號亞穩(wěn)態(tài)

    FPGA項(xiàng)目開發(fā)之同步信號亞穩(wěn)態(tài) 讓我們從觸發(fā)器開始,所有觸發(fā)器都有一個(gè)圍繞活動時(shí)鐘沿的建立(setup time)和保持窗口(hold time),在此期間數(shù)據(jù)不得更改。如果該窗口
    發(fā)表于 11-03 10:36