《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 其他 > 掃盲:FPGA電路中的毛刺現象

掃盲:FPGA電路中的毛刺現象

2022-08-26
來源:FPGA之家
關鍵詞: 數字電路 FPGA

  和所有的數字電路一樣,毛刺也是FPGA電路中的棘手問題,它的出現會影響電路工作的穩(wěn)定性,可靠性,嚴重時會導致整個數字系統的誤動作和邏輯紊亂。

  信號在FPGA器件中通過邏輯單元連線時,一定存在延時。延時的大小不僅和連線的長短和邏輯單元的數目有關,而且也和器件的制造工藝、工作電壓、溫度等有關。

  另外,信號的高低電平轉換也需要一定的過渡時間,由于存在這兩方面的因素,多路信號的電平值發(fā)生變化時,在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時變化,往往會出現一些不正確的尖峰信號,這些尖峰信號就是“毛刺”。任何組合電路,反饋電路和計數器都可能。

  潛在的毛刺信號發(fā)生器。

    電路布線長短不同造成各端口輸入信號延時不一致,有競爭冒險,會產生毛刺。分立元件之間存在分布電容和電感可以濾掉這些毛刺,所以用分立元件設計電路時,很少考慮競爭冒險和毛刺問題,但PLD/FPGA內部沒有分布電容和電感,不能濾掉任何毛刺(哪怕不到1ns)。

  舉個簡單的例子:

 

f03d05d6-2406-11ed-ba43-dac502259ad0.jpg

    設計的一個二輸入與門,output<=A & B;進行布局布線后仿真(此時沒有加管腳約束文件)可看到:

  

f05948ea-2406-11ed-ba43-dac502259ad0.jpg

  output_obuf_2處有一毛刺出現。毛刺高電平時間維持141ps。

 f0685182-2406-11ed-ba43-dac502259ad0.jpg

  f072e660-2406-11ed-ba43-dac502259ad0.jpg

  從output_obuf到output輸出處,雖消除了毛刺,但不能保證其它情況下都會消除,我想有可能是此處毛刺時間比較小的原因,所以才有output處輸出是正常的。

  首先毛刺的出現是由于輸入端A由1到0和B由0到1的變化引起的。

 f07e4c6c-2406-11ed-ba43-dac502259ad0.jpg

  從靜態(tài)時序文件中可以看到:A,B到達與門的時間相差141ps,這也正是上述中出現毛刺的原因。

  下面將管腳約束文件加進去再進行后仿真:

  

f0951ba4-2406-11ed-ba43-dac502259ad0.jpg

  可看出此時output輸出有明顯的毛刺出現。

  時序分析報告:

  f0a6ef1e-2406-11ed-ba43-dac502259ad0.jpg

  對于信號A:(Trace delay of A)+AND gate internal delay=9.139ns;

  對于信號B:(Trace delay of B)+AND gate internal delay=5.607ns;

  即A和B到達與門的時間相差了3.532ns,下圖顯示毛刺的時間即正好相符。

 f0c24fc0-2406-11ed-ba43-dac502259ad0.jpg

  毛刺并不是對所有的輸入都有危害,如觸發(fā)器的D輸入端,只要數據不出現在時鐘的上長升沿,并滿足數據的建立保持時間,就不會對系統造成危害,而當毛刺信號成為系統的啟動信號,控制信號,握手信號,觸發(fā)器的清零信號,預置信號,時鐘信號,或鎖存器的輸入信號時就會產生邏輯錯誤。因此,判斷邏輯電路中是否存在冒險以及如何避免冒險是設計人員必須考慮的問題。



更多信息可以來這里獲取==>>電子技術應用-AET<< 

mmexport1621241704608.jpg


本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。