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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

競爭與冒險產生的原因,判斷方法和避免競爭與冒險的方法

FPGA學習筆記 ? 來源:FPGA學習筆記 ? 作者:FPGA學習筆記 ? 2024-02-18 14:34 ? 次閱讀

在實際的電路設計過程中,存在傳播延時和信號變換延時。由延時引起的競爭與冒險現象會影響輸出的正確與否。下面將就競爭與冒險產生的原因,判斷方法避免競爭與冒險的方法進行討論,希望對諸位有所幫助。

產生原因

競爭:在組合邏輯電路中不同路徑的輸入信號到達同一個門級電路時,在時間上有先有后,這種先后時間上的差異稱之為競爭(Competition)

冒險:由于競爭的存在,信號在過渡時間瞬間可能產生錯誤的輸出,例如尖峰脈沖。成為冒險。

有競爭不一定產生冒險,但是有冒險一定存在競爭。

判斷方法

代數法

在電路的邏輯表達式中保持一個變量不變,其余變量用0或者1替代如果邏輯表達式可以化成:

F = A + ~A

F = A·~A

的形式則可以判斷出此邏輯存在競爭與冒險。

卡諾圖法

存在兩個相切的卡諾圖,若在相切處沒有其他卡諾圖包圍,可能會出現競爭與冒險現象。如下圖所示:

wKgaomXNrUKATNocAABL_BWhff4575.png

F = ~A·~B + A·C

wKgZomXNrU6AIOPAAAAw7O0aAXU346.png

F = A·~B + B·~C

消除方法

常見的避免競爭與冒險的辦法有以下四種:

增加濾波電容,濾除窄脈沖

在輸出端并聯一個小電容,將尖峰脈沖幅度削弱至門電路閾值以下。這種方法的突出問題是會增加輸出電壓的翻轉時間,容易破壞波形。

修改邏輯,增加冗余項

在卡諾圖中兩個相切的圈之間增加一個圈,并加入邏輯表達式之中。如下圖所示:

wKgaomXNrVyAetGzAAA4fwJelsk715.png

F = ~A·~B + A·C + ~B·C

使用時鐘同步電路,利用觸發(fā)器進行打拍延遲

同步電路信號的變化都發(fā)生在時鐘邊沿,對于D觸發(fā)器的輸入端而言,只要毛刺不出現在時鐘上升沿并且還不滿足建立保持時間要求,就不會對系統(tǒng)產生危害,即D觸發(fā)器對輸入端毛刺不敏感。因此在時鐘邊沿驅動下,對組合邏輯信號進行延遲打拍即可消除競爭冒險。實際設計過程中可以根據設計需求對信號進行合理的打拍延遲。

采用格雷碼計數器

在遞加的多bit位計數器,計數值有時候會發(fā)生多bit的跳變,產生短暫的尖峰脈沖。而格雷碼計數器,計數時相鄰的數之間只有一個bit數據發(fā)生跳變,所以能有效避免競爭與冒險。

總結

在消除競爭與冒險的辦法中,增加濾波電容和邏輯冗余都不是在代碼層面考慮的問題。利用觸發(fā)器在時鐘同步電路下對異步信號進行打拍延時常在Verilog中使用。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 電路
    +關注

    關注

    171

    文章

    5816

    瀏覽量

    171590
  • 競爭冒險
    +關注

    關注

    0

    文章

    2

    瀏覽量

    5004
收藏 人收藏

    評論

    相關推薦

    Linux系統(tǒng)中的競爭冒險處理方法

    今天主要和大家聊一聊,如何理解Linux系統(tǒng)中的競爭冒險。
    發(fā)表于 11-07 09:46 ?631次閱讀

    FPGA中競爭冒險的前世今生

    競爭冒險:在組合電路中,當邏輯門有兩個互補輸入信號同時向相反狀態(tài)變化時,輸出端可能產生過渡干擾脈沖的現象,稱為競爭冒險。那么 FPGA
    發(fā)表于 02-21 16:26

    FPGA設計中競爭冒險問題的研究

     摘 要:以現場可編程門陣列(以下簡稱FPGA)在設計中由于其內部構成,容易引起競爭問題。以我們在實驗教學中的應用與實踐為主線,詳細介紹了消除競爭冒險的各種方法。關鍵詞:現場
    發(fā)表于 04-21 16:44

    怎樣消除競爭冒險

    ; elseout=0;endendmodule在進行門級仿真的時候波形中出現了毛刺,也就是所謂的競爭冒險,如下圖書上也有競爭冒險的解決辦法,但具體到代碼里還是不會,誰能教教我該怎么改
    發(fā)表于 10-21 14:31

    FPGA中競爭冒險問題的研究

    FPGA中競爭冒險問題的研究
    發(fā)表于 08-04 16:16

    組合邏輯電路的競爭冒險,輸入信號同時從1變0會產生競爭冒險

    `對于一個組合邏輯電路,如果有兩個輸入端,那么只有兩個輸入端一個從0變1,另一個從1變0是才有可能產生競爭冒險嗎,如果開始時兩個輸入端都是1,那么同時從1變0時會不會產生
    發(fā)表于 12-22 18:49

    FPGA中的競爭冒險現象

    通過改變設計,破壞毛刺產生的條件,來減少毛刺的發(fā)生。例如,在數字電路設計中,常常采用格雷碼計數器取代普通的二進制計數器,這是因為格雷碼計數器的輸出每次只有一位跳變,消除了競爭冒險的發(fā)生條件,
    發(fā)表于 08-01 09:53

    什么是競爭冒險現象?怎樣判斷?如何消除?

     在組合邏輯中,由于門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭產生毛刺叫冒險。    如果布爾式中有相反的信號則可能產生
    發(fā)表于 08-02 11:57

    簡談FPGA的競爭冒險和毛刺問題

    問題。 競爭冒險:在組合電路中,當邏輯門有兩個互補輸入信號同時向相反狀態(tài)變化時,輸出端可能產生過渡干擾脈沖的現象,稱為競爭冒險
    發(fā)表于 05-30 17:15

    FPGA | 競爭冒險和毛刺問題

    ,某一輸入變量經過不同途徑傳輸后,到達電路中某一匯合點的時間有先有后,這種現象稱競爭;由于競爭而使電路輸出發(fā)生瞬時錯誤的現象叫做冒險。(也就是由于競爭產生的毛刺叫做
    發(fā)表于 11-02 17:22

    組合邏輯中的競爭冒險及毛刺的處理方法

    組合邏輯中的競爭冒險及毛刺的處理方法 在組合邏輯中,由于門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭。產生毛刺叫
    發(fā)表于 01-24 18:12 ?0次下載
    組合邏輯中的<b class='flag-5'>競爭</b>與<b class='flag-5'>冒險</b>及毛刺的處理<b class='flag-5'>方法</b>

    組合邏輯中的競爭冒險及毛刺的處理方法

    組合邏輯中的競爭冒險及毛刺的處理方法
    發(fā)表于 01-17 19:54 ?7次下載

    FPGA視頻教程之FPGA設計中如何避免冒險競爭

    本文檔的主要內容詳細介紹的是FPGA視頻教程之FPGA設計中如何避免冒險競爭。
    發(fā)表于 03-22 17:04 ?12次下載
    FPGA視頻教程之FPGA設計中如何<b class='flag-5'>避免</b><b class='flag-5'>冒險</b><b class='flag-5'>競爭</b>

    電路存在競爭冒險產生原因?

    簡言之:在組合邏輯中,由于門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭競爭產生冒險。
    發(fā)表于 06-26 06:38 ?1.9w次閱讀

    毛刺的產生原因冒險競爭

    冒險按照產生方式分為靜態(tài)冒險 & 動態(tài)冒險兩大類。靜態(tài)冒險指輸入有變化,而輸出不應該變化時產生
    的頭像 發(fā)表于 04-29 10:33 ?4956次閱讀