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

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

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

如何理解FPGA設(shè)計(jì)中的打拍(寄存)和亞穩(wěn)態(tài)

C29F_xilinx_inc ? 來(lái)源:賽靈思 ? 作者:賽靈思 ? 2022-02-26 18:43 ? 次閱讀

1、前言

可能很多FPGA初學(xué)者在剛開(kāi)始學(xué)習(xí)FPGA設(shè)計(jì)的時(shí)候(當(dāng)然也包括我自己),經(jīng)常聽(tīng)到類(lèi)似于”這個(gè)信號(hào)需要打一拍、打兩拍(寄存),以防止亞穩(wěn)態(tài)問(wèn)題的產(chǎn)生“這種話,但是對(duì)這個(gè)打拍和亞穩(wěn)態(tài)問(wèn)題還是一知半解,接下來(lái)結(jié)合一些資料談下自己的理解。

2、觸發(fā)器的建立時(shí)間和保持時(shí)間

時(shí)序電路的基礎(chǔ)是觸發(fā)器(FF、Flip-Flop),觸發(fā)器正常工作需要滿(mǎn)足建立時(shí)間和保持時(shí)間的時(shí)序要求。

如何理解FPGA設(shè)計(jì)中的打拍(寄存)和亞穩(wěn)態(tài)

建立時(shí)間(Tsu:set up time)

是指在觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)以前,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果建立時(shí)間不夠,數(shù)據(jù)將不能在這個(gè)時(shí)鐘上升沿被穩(wěn)定的打入觸發(fā)器,Tsu就是指這個(gè)最小的穩(wěn)定時(shí)間

保持時(shí)間(Th:hold time)

是指在觸發(fā)器的時(shí)鐘信號(hào)上升沿到來(lái)以后,數(shù)據(jù)穩(wěn)定不變的時(shí)間,如果保持時(shí)間不夠,數(shù)據(jù)同樣不能被穩(wěn)定的打入觸發(fā)器,Th就是指這個(gè)最小的保持時(shí)間

3、亞穩(wěn)態(tài)

亞穩(wěn)態(tài) (Metastability):如果數(shù)據(jù)傳輸中不滿(mǎn)足觸發(fā)器的Tsu和Th不滿(mǎn)足,就可能產(chǎn)生亞穩(wěn)態(tài),此時(shí)觸發(fā)器輸出端Q在有效時(shí)鐘沿之后比較長(zhǎng)的一段時(shí)間處于不確定的狀態(tài),在這段時(shí)間里Q端在0和1之間處于振蕩狀態(tài),而不是等于數(shù)據(jù)輸入端D的值。這段時(shí)間稱(chēng)為決斷時(shí)間Tmet(resolution time)。經(jīng)過(guò)resolution time之后Q端將穩(wěn)定到0或1上,但是穩(wěn)定到0或者1,是隨機(jī)的,與輸入沒(méi)有必然的關(guān)系。

亞穩(wěn)態(tài)振蕩時(shí)間 Tmet 關(guān)系到后級(jí)寄存器的采集穩(wěn)定問(wèn)題,Tmet 影響因素包括:器件 的生產(chǎn)工藝、溫度、環(huán)境以及寄存器采集到亞穩(wěn)態(tài)里穩(wěn)定態(tài)的時(shí)刻等。甚至某些特定條 件,如干擾、輻射等都會(huì)造成 Tmet 增長(zhǎng)。

如何理解FPGA設(shè)計(jì)中的打拍(寄存)和亞穩(wěn)態(tài)

只要系統(tǒng)中有異步元件,亞穩(wěn)態(tài)就是無(wú)法避免的,亞穩(wěn)態(tài)主要發(fā)生在異步信號(hào)檢測(cè)、跨時(shí)鐘域信號(hào)傳輸以及復(fù)位電路等常用設(shè)計(jì)中。由于產(chǎn)生亞穩(wěn)態(tài)后,寄存器Q端輸出在穩(wěn)定下來(lái)之前可能是毛刺、振蕩、固定的某一電壓值。在信號(hào)傳輸中產(chǎn)生亞穩(wěn)態(tài)就會(huì)導(dǎo)致與其相連其他數(shù)字部件將其作出不同的判斷,有的判斷到“1”有的判斷到“0”,有的也進(jìn)入了亞穩(wěn)態(tài),數(shù)字部件就會(huì)邏輯混亂。

4、如何防止亞穩(wěn)態(tài)

首先,在同步系統(tǒng)中,輸入信號(hào)總是系統(tǒng)時(shí)鐘同步,能夠達(dá)到寄存器的時(shí)序要求,所以亞穩(wěn)態(tài)肯定不會(huì)發(fā)生。在異步系統(tǒng)的信號(hào)輸出過(guò)程中,如果無(wú)法滿(mǎn)足建立時(shí)間和保持時(shí)間的要求則會(huì)發(fā)生亞穩(wěn)態(tài)。

預(yù)防亞穩(wěn)態(tài)的方法就是將輸入信號(hào)(單bit信號(hào))打拍,也就是在要使用的時(shí)鐘域下,將信號(hào)寄存。

如何理解FPGA設(shè)計(jì)中的打拍(寄存)和亞穩(wěn)態(tài)

rx是相對(duì)于時(shí)鐘域sys_clk的異步信號(hào),rx_reg1、rx_reg2分別是rx在時(shí)鐘域sys_clk打一拍(寄存一次、可以理解為延遲一個(gè)時(shí)鐘周期 )、打兩拍(寄存一兩次、可以理解為延遲兩個(gè)時(shí)鐘周期)的信號(hào)??梢钥吹絩x_reg1可能還存在低概率的亞穩(wěn)態(tài)現(xiàn)象,當(dāng)然rx_reg2雖然在示意圖里是穩(wěn)定的,不過(guò)實(shí)際過(guò)程中也仍然存在亞穩(wěn)態(tài)發(fā)生的概率。

單比特信號(hào)從慢速時(shí)鐘域同步到快速時(shí)鐘域需要使用打兩拍的方式消除亞穩(wěn)態(tài)。 第一級(jí)寄存器產(chǎn)生亞穩(wěn)態(tài)并經(jīng)過(guò)自身后可以穩(wěn)定輸出的概率為 70%~80%左右,第二級(jí)寄存 器可以穩(wěn)定輸出的概率為 99%左右,后面再多加寄存器的級(jí)數(shù)改善效果就不明顯了,所以 數(shù)據(jù)進(jìn)來(lái)后一般選擇打兩拍即可。這里注意,該方法僅僅適用單比特信號(hào)從慢速時(shí)鐘域同步到快速時(shí)鐘域,單比特信號(hào)從快速時(shí)鐘域同步到慢速時(shí)鐘域還僅僅使用打兩拍的方式則會(huì)漏采數(shù)據(jù)。

審核編輯:湯梓紅

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

    關(guān)注

    1629

    文章

    21750

    瀏覽量

    604070
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2000

    瀏覽量

    61206
  • 亞穩(wěn)態(tài)
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    13302
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCM5142如何在FPGA通過(guò)SPI配置寄存器?

    工作正常)。左右通道均沒(méi)有輸出;(xsmt/mode1已拉高) 2、如何在FPGA通過(guò)SPI配置寄存器,文檔只有page0 R1,并沒(méi)有具體寄存
    發(fā)表于 10-31 07:29

    FPGA Verilog HDL代碼如何debug?

    優(yōu)點(diǎn)在于: 速度快,能夠快速得出比較結(jié)果。 如果您的系統(tǒng)對(duì)時(shí)序要求較為嚴(yán)格,對(duì)亞穩(wěn)態(tài)比較敏感,或者后續(xù)的邏輯處理需要嚴(yán)格按照時(shí)鐘節(jié)拍進(jìn)行,那么使用 4 級(jí)比較器搭配寄存器的方法可能更合適。 但如果您更
    發(fā)表于 09-24 19:16

    FPGA Verilog HDL有什么奇技巧?

    reg 變量,因?yàn)?initial 塊是不可綜合的,只能在仿真環(huán)境中使用,用于初始化寄存器、內(nèi)存或執(zhí)行仿真期間的其他任務(wù)。 但在 FPGA 設(shè)計(jì),可以使用默認(rèn)賦值或者使用有條件的賦值語(yǔ)句來(lái)為 reg
    發(fā)表于 09-12 19:10

    穩(wěn)態(tài)觸發(fā)器是什么耦合雙穩(wěn)態(tài)電路

    穩(wěn)態(tài)觸發(fā)器是一種具有兩個(gè)穩(wěn)定狀態(tài)的數(shù)字邏輯電路,它可以在兩個(gè)狀態(tài)之間切換,并且能夠在沒(méi)有外部輸入信號(hào)的情況下保持當(dāng)前狀態(tài)。雙穩(wěn)態(tài)觸發(fā)器廣泛應(yīng)用于數(shù)字電子系統(tǒng),如存儲(chǔ)器、計(jì)數(shù)器、寄存
    的頭像 發(fā)表于 08-11 10:15 ?809次閱讀

    穩(wěn)態(tài)觸發(fā)器的類(lèi)型有哪些

    狀態(tài)的邏輯電路。在沒(méi)有外部輸入信號(hào)的情況下,雙穩(wěn)態(tài)觸發(fā)器可以保持在兩個(gè)穩(wěn)定狀態(tài)之一,并且只有在接收到外部觸發(fā)信號(hào)時(shí)才會(huì)從一個(gè)狀態(tài)切換到另一個(gè)狀態(tài)。這種特性使得雙穩(wěn)態(tài)觸發(fā)器在數(shù)字電路設(shè)計(jì)具有廣泛的應(yīng)用,如存儲(chǔ)器、計(jì)數(shù)器、
    的頭像 發(fā)表于 08-11 09:59 ?896次閱讀

    FPGA異步信號(hào)處理方法

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)在處理異步信號(hào)時(shí),需要特別關(guān)注信號(hào)的同步化、穩(wěn)定性以及潛在的亞穩(wěn)態(tài)問(wèn)題。由于異步信號(hào)可能來(lái)自不同的時(shí)鐘域或外部設(shè)備,其到達(dá)時(shí)間和頻率可能不受FPGA內(nèi)部時(shí)鐘控制,因此處理起來(lái)相對(duì)復(fù)雜。以下是對(duì)
    的頭像 發(fā)表于 07-17 11:10 ?1188次閱讀

    CPU寄存器的用途

    在計(jì)算機(jī)體系結(jié)構(gòu),中央處理單元(CPU)無(wú)疑是整個(gè)系統(tǒng)的核心。CPU負(fù)責(zé)執(zhí)行指令、處理數(shù)據(jù)、控制計(jì)算機(jī)系統(tǒng)的運(yùn)行等關(guān)鍵任務(wù)。而在這個(gè)過(guò)程,寄存器扮演著至關(guān)重要的角色。本文將詳細(xì)探討CPU
    的頭像 發(fā)表于 05-30 17:09 ?1474次閱讀

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

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

    深入理解 FPGA 的基礎(chǔ)結(jié)構(gòu)

    轉(zhuǎn)載地址:https://zhuanlan.zhihu.com/p/506828648 文章很詳細(xì)的介紹了FPGA的基礎(chǔ)結(jié)構(gòu),能更直觀的理解內(nèi)部結(jié)構(gòu)原理。對(duì)深入學(xué)習(xí)很有幫助。 以下是正文: 這一段
    發(fā)表于 04-03 17:39

    為什么格雷碼可以輔助解決多bit跨時(shí)鐘域的問(wèn)題??求解

    單bit通過(guò)兩級(jí)同步打拍可以有效的解決亞穩(wěn)態(tài)問(wèn)題。
    的頭像 發(fā)表于 03-08 09:02 ?1363次閱讀
    為什么格雷碼可以輔助解決多bit跨時(shí)鐘域的問(wèn)題??求解

    如何根據(jù)自己設(shè)計(jì)寄存器配置總線定義來(lái)生成一套寄存器配置模版

    無(wú)論是FPGA還是ASIC,系統(tǒng)設(shè)計(jì)總會(huì)存在配置寄存器總線的使用,我們會(huì)將各種功能、調(diào)試寄存器掛載在寄存器總線上使用。
    的頭像 發(fā)表于 03-04 13:56 ?1166次閱讀
    如何根據(jù)自己設(shè)計(jì)<b class='flag-5'>中</b>的<b class='flag-5'>寄存</b>器配置總線定義來(lái)生成一套<b class='flag-5'>寄存</b>器配置模版

    無(wú)穩(wěn)態(tài)是什么意思?單穩(wěn)態(tài)是什么意思?雙穩(wěn)態(tài)是什么意思?

    無(wú)穩(wěn)態(tài)是什么意思?單穩(wěn)態(tài)是什么意思?雙穩(wěn)態(tài)是什么意思?怎么區(qū)分這三種? 無(wú)穩(wěn)態(tài)是指系統(tǒng)沒(méi)有達(dá)到穩(wěn)定狀態(tài),即系統(tǒng)的狀態(tài)隨時(shí)間變化而不斷變化,沒(méi)有趨于一個(gè)固定的平衡點(diǎn)。無(wú)
    的頭像 發(fā)表于 02-18 16:26 ?1890次閱讀

    穩(wěn)態(tài)觸發(fā)器的暫穩(wěn)態(tài)時(shí)間與什么有關(guān)

    穩(wěn)態(tài)觸發(fā)器是一種能夠在某個(gè)時(shí)間間隔內(nèi)將輸入信號(hào)的電平轉(zhuǎn)換為期望的輸出信號(hào)電平的數(shù)字電路。在單穩(wěn)態(tài)觸發(fā)器,暫穩(wěn)態(tài)時(shí)間是指當(dāng)觸發(fā)器的輸入信號(hào)發(fā)生改變時(shí),觸發(fā)器在從暫
    的頭像 發(fā)表于 02-06 11:01 ?2241次閱讀

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

    兩級(jí)觸發(fā)器同步,就能消除亞穩(wěn)態(tài)嗎? 兩級(jí)觸發(fā)器同步可以幫助消除亞穩(wěn)態(tài)。本文將詳細(xì)解釋兩級(jí)觸發(fā)器同步原理、亞穩(wěn)態(tài)的定義和產(chǎn)生原因、以及兩級(jí)觸發(fā)器同步如何消除亞穩(wěn)態(tài)的機(jī)制。 1. 兩級(jí)觸發(fā)
    的頭像 發(fā)表于 01-16 16:29 ?1266次閱讀

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

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