日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

FPGA亞穩(wěn)態(tài)和毛刺小結(jié)

 goandlove 2019-10-30

1首先介紹一下建立時(shí)間和保持時(shí)間的基本概念:

1.1建立時(shí)間和保持時(shí)間:                                                               

                                                                                                             

圖1.1

tsh:建立時(shí)間,th:保持時(shí)間

建立時(shí)間:是指時(shí)鐘觸發(fā)器上升沿到來之前,數(shù)據(jù)穩(wěn)定不變的時(shí)間。如果建立時(shí)間不夠,則數(shù)據(jù)不能在這個(gè)時(shí)鐘進(jìn)入觸發(fā)器。

保持時(shí)間:是指時(shí)鐘觸發(fā)器上升沿到來之后,數(shù)據(jù)保持不變的時(shí)間。如果保持時(shí)間不夠,則數(shù)據(jù)同樣不能被打入觸發(fā)器。

由于PCB走線時(shí),存在分布電感和電容,所以幾納秒的毛刺將被自然濾除,而在PLD內(nèi)部決無分布電感和電容,所以在PLD/FPGA設(shè)計(jì)中,競(jìng)爭和冒險(xiǎn)問題將變的較為突出。

2關(guān)于毛刺的基本概念:

信號(hào)在FPGA內(nèi)通過連線和邏輯單元時(shí),都會(huì)產(chǎn)生延時(shí)。延時(shí)產(chǎn)生的原因:①:連線的長短和邏輯單元的數(shù)目 ,②:受器件的制造工藝、工作電壓、溫度等條件的影響, 所 以在信號(hào)變化的瞬間,組合邏輯的輸出有先后順序,往往會(huì)產(chǎn)生一些尖峰的信號(hào),這些信號(hào)稱為毛刺。如果有毛刺,該電路稱為冒險(xiǎn)電路。只由內(nèi)部電路決定。 

看下面的例子:

 

   我們可以看到,A,B,C,D四個(gè)輸入信號(hào),最后導(dǎo)致輸出出現(xiàn)毛刺。原因是A,B,C,D信號(hào)輸入不是同時(shí)發(fā)生。(即使同時(shí)發(fā)生,它們各自由于連線和邏輯單元的原因,到達(dá)門電路的時(shí)間也不同。)所以可以說,只要輸入信號(hào)同時(shí)發(fā)生變化,由于走線的原因,必將產(chǎn)生毛刺。所以我們不能直接將其輸出,要進(jìn)行一些措施。

方法一:格雷碼代替二進(jìn)制計(jì)數(shù)器,由于格雷碼每次只有一位進(jìn)行變化,不滿足產(chǎn)生毛刺的條件。所以可以減小錯(cuò)誤

方法二:另一種更常見的方法是利用D觸發(fā)器的D輸入端對(duì)毛刺信號(hào)不敏感的特點(diǎn),在輸出信號(hào)的保持時(shí)間內(nèi),用觸發(fā)器讀取組合邏輯的輸出信號(hào),這種方法類似于將異步電路轉(zhuǎn)化為同步電路。如圖:

      

由于異步輸入不是總能滿足所饋送的觸發(fā)器滿足建立時(shí)間和保持時(shí)間,所以常常會(huì)產(chǎn)生亞穩(wěn)態(tài)。

3關(guān)于亞穩(wěn)態(tài)知識(shí)的基本概念

 

圖1.2:采用一個(gè)時(shí)鐘同步下的模型

 其中:tco為觸發(fā)器數(shù)據(jù)輸出延時(shí);Tdelay=Tcomb 為經(jīng)過組合邏輯的延時(shí) ;Tsetup(tsu)為建立時(shí)間;Tpd為時(shí)鐘延時(shí),一般時(shí)鐘延時(shí)可以忽略。

1.1亞穩(wěn)態(tài)的特點(diǎn):

   ①增加觸發(fā)器進(jìn)入穩(wěn)態(tài)的時(shí)間:

如圖 ,如果滿足正常建立時(shí)間和保持時(shí)間,則Tco為觸發(fā)器的延時(shí)。如果違反觸發(fā)器的時(shí)序要求:則會(huì)在延時(shí)后出現(xiàn)亞穩(wěn)態(tài)時(shí)間tR。

②:可能輸出毛刺,震蕩,或中間電平

 經(jīng)過一段時(shí)間后,亞穩(wěn)態(tài)會(huì)處于穩(wěn)定狀態(tài),有可能是高電平,也有可能是低電平。與數(shù)據(jù)無關(guān),與電路有關(guān)。且在亞穩(wěn)態(tài)狀態(tài)時(shí),會(huì)出現(xiàn)毛刺,震蕩或者輸出中間電平。

如例:

 

F1 <= local_2m輸入,F(xiàn)0 <= local_2m輸入,local_2m和cdr_2m都是2MHz的方波信號(hào),被一個(gè)50MHz的異步時(shí)鐘作同步化處理。Verilog代碼為:

always @(posedge clk_50m)

  if(sel==1)begin

    clk2m_oa <= cdr_2m ;

    clk2m_ob <= cdr_2m ;

  end

  else begin

    clk2m_oa <= local_2m ;

    clk2m_ob <= local_2m ;

  end

 

分析出現(xiàn)亞穩(wěn)態(tài)的原因:首先,2MHZ被50MHZ處理,一定會(huì)出現(xiàn)亞穩(wěn)態(tài),在震蕩期間出現(xiàn)高電平,然后為低電平。這個(gè)毛刺產(chǎn)生的原因是因?yàn)殚T電路的原因。

③:亞穩(wěn)態(tài)返回到哪一個(gè)穩(wěn)定態(tài)是不可預(yù)測(cè)的,而且和輸入數(shù)據(jù)無關(guān)。

1.2亞穩(wěn)態(tài)的危害:

目前FPGA都是基于同步設(shè)計(jì)的思想,一個(gè)良好的子模塊設(shè)計(jì)都是基于同一時(shí)鐘下設(shè)計(jì)的。當(dāng)不同時(shí)鐘域進(jìn)行通信時(shí),就可能產(chǎn)生亞穩(wěn)態(tài)。(如異步FIFO)

①:理論上如果亞穩(wěn)態(tài)一個(gè)周期內(nèi)不能正確恢復(fù)成穩(wěn)定狀態(tài),則目的寄存器也會(huì)發(fā)生亞穩(wěn)態(tài),這就是亞穩(wěn)態(tài)的傳播。

②:亞穩(wěn)態(tài)的毛刺直接輸出可能會(huì)導(dǎo)致系統(tǒng)錯(cuò)誤,如送錯(cuò)中斷。

③:采樣到錯(cuò)誤的電平,導(dǎo)致功能錯(cuò)誤。在狀態(tài)機(jī)內(nèi),如果狀態(tài)機(jī)的正常功能狀態(tài)為 2.4.6.8,由于產(chǎn)生產(chǎn)生亞穩(wěn)態(tài)導(dǎo)致狀態(tài)機(jī)進(jìn)入1.3.5.7的狀態(tài),會(huì)使?fàn)顟B(tài)機(jī)掛死在非法狀態(tài)。

④:在異步讀取RAM時(shí),讀寫時(shí)鐘不一致,如果出現(xiàn)亞穩(wěn)態(tài),會(huì)導(dǎo)致數(shù)據(jù)讀錯(cuò),(或者漏讀,或者漏寫)。

1.3亞穩(wěn)態(tài)的處理:

一般來說,只要是異步信號(hào)同步化,都會(huì)產(chǎn)生亞穩(wěn)態(tài),只要等待一定的時(shí)間,都能恢復(fù)成穩(wěn)定狀態(tài),等待的時(shí)間取決于MTBF和期間本身。

MTBF (平均無故障時(shí)間)與可靠性如果一個(gè)設(shè)計(jì)中包含同步組件,無論是否愿意它都會(huì)出現(xiàn)亞穩(wěn)態(tài)。亞穩(wěn)態(tài)無法徹底消除,因此我們所做的就是計(jì)算錯(cuò)誤概率以及在時(shí)間上來描述它。讓我們來看一下,假設(shè)這里有一個(gè)物理系統(tǒng)亞穩(wěn)態(tài)錯(cuò)誤發(fā)生的概率為 1/1000。換句話說,每一千次采樣就會(huì)因?yàn)閬喎€(wěn)態(tài)發(fā)生一次錯(cuò)誤。這也意味著,每一千次,輸出就會(huì)在下一個(gè)時(shí)鐘沿到來時(shí),無法變化。如果時(shí)鐘頻率為 1KHz,那么每秒都會(huì)有一次錯(cuò)誤出現(xiàn),MTBF 值就為 1 秒。當(dāng)然,這個(gè)假設(shè)過于簡單;MTBF 是一種故障概率的統(tǒng)計(jì)度量,并且需要更為復(fù)雜、經(jīng)驗(yàn)化、實(shí)驗(yàn)化的數(shù)據(jù)來計(jì)算。對(duì)于觸發(fā)器來說,這種關(guān)系依賴于電路自身的物理常數(shù)和時(shí)鐘頻率,記住亞穩(wěn)態(tài)本身與時(shí)鐘沒有任何關(guān)系,但是它和 MTBF 相關(guān)。自然的,我們會(huì)說一個(gè)可靠性好的電路具有很高的 MTBF 值。

①:經(jīng)典的處理方法為多拍

異步信號(hào)經(jīng)過第一個(gè)寄存器,如果發(fā)生了亞穩(wěn)態(tài),2nS(假設(shè)MTBF=1000Y)左右返回到穩(wěn)定態(tài),如果時(shí)鐘周期大于2ns(時(shí)鐘頻率小于500MHz), 那么顯然第二個(gè)寄存器就沒有亞穩(wěn)態(tài)發(fā)生了。此時(shí)亞穩(wěn)態(tài)的唯一影響就是不能在最準(zhǔn)確的時(shí)刻識(shí)別到異步信號(hào),有可能早一拍,或者晚一拍識(shí)別。
    多說一點(diǎn),為了處理亞穩(wěn)態(tài),識(shí)別異步信號(hào)需要的時(shí)間就較長(2拍或者更多),這就是目前流行的同步設(shè)計(jì)的代價(jià)。

 

②: 降低亞穩(wěn)態(tài)帶來的危害。

 一個(gè)良好的設(shè)計(jì)必須有好的容錯(cuò)能力,讓設(shè)計(jì)對(duì)亞穩(wěn)態(tài)不敏感。如果亞穩(wěn)態(tài)出現(xiàn),至少要有能力恢復(fù)。
  1.狀態(tài)機(jī)如果有異步信號(hào)輸入,一定要多拍處理異步信號(hào),并且使用安全狀態(tài)機(jī),任何情況下不可以讓狀態(tài)機(jī)掛死在非法狀態(tài)。
  2.異步接口不可能做到準(zhǔn)確地定時(shí),在預(yù)算精度時(shí),必須容忍+/-1拍的延時(shí)。
  3.異步FIFO兩個(gè)時(shí)鐘域的地址交互時(shí),使用格雷碼計(jì)數(shù)器并多拍處理, 可減低對(duì)亞穩(wěn)態(tài)的敏感.
  4.能用低的頻率實(shí)現(xiàn)的功能,不要用高的頻率。頻域較高時(shí),要用三拍或者更多的觸發(fā)器來降低亞穩(wěn)態(tài)的危害。
  5.較陡的信號(hào)邊沿(包括數(shù)據(jù)和時(shí)鐘)有利于降低發(fā)生亞穩(wěn)態(tài)的概率。

歡迎通信工程師和FPGA工程師關(guān)注公眾號(hào)

FPGA微信技術(shù)群

歡迎大家加入全國FPGA微信技術(shù)群,這里有一群熱愛技術(shù)的工程師,在這里可以一起交流討論技術(shù)!

用手指按住就可以加入FPGA全國技術(shù)群哦

FPGA IP核服務(wù):各類優(yōu)質(zhì)IP核服務(wù)商,服務(wù)到位,有保障!有需求的可以直接聯(lián)系群主!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多