FPGA 競爭與冒險


一,概念

在數字電路設計時,無論是組合、時序,還是FPGA電路中,都需要考慮競爭冒險現象(Race and Competition)。

競爭:由於信號在傳輸和處理過程中經過不同的邏輯門、觸發器或邏輯單元時產生時差,造成信號的原變量和反變量狀態改變的時刻不一致,這種現象稱為競爭(Race)。

冒險:由於競爭而引起電路輸出信號中出現了非預期信號,產生瞬間錯誤的現象稱為冒險(Competition)。表現為輸出端出現了原設計中沒有的窄脈沖,常稱為毛刺(Burr)。

關系:有競爭不一定產生冒險,但有冒險就一定有競爭。

分類:競爭分為臨界競爭和非臨界競爭。冒險分為靜態冒險和動態冒險。

臨界競爭:產生暫時或永久性錯誤輸出。

非臨界競爭:沒有導致冒險發生,或雖有冒險發生但不會產生錯誤輸出,不影響系統的工作的競爭。

靜態冒險:輸入信號變化前后,輸出的穩態值一樣,但在輸入信號變化時,輸出信號產生了毛刺。在組合邏輯電路中,由於產生冒險的原因不同又分為功能冒險和邏輯冒險。

動態冒險:輸入信號變化前后,輸出的穩態值不同,並在邊沿處出現了毛刺,即輸入變化輸出應變化的情況下,輸出在變化的過程中產生了短暫的錯誤輸出的現象。

產生原因:

組合邏輯電路中,產生競爭冒險的主要原因是時延。

時序邏輯電路中,產生競爭冒險的原因主要有兩個方面:1,組合邏輯電路部分可能發生的競爭冒險現象。2,存儲電路工作過程中發生的競爭冒險。同步時序電路不存在競爭現象。異步時序電路中,當輸入信號和時鍾信號同時改變是,而且是通過不同路徑到達同意觸發器時,就有可能導致競爭冒險。

FPGA中:在FPGA中,延時主要是由連 線的長短和邏輯單元的數目決定的,同時還受器件的制造工藝、工作電壓、溫度等因素影響。信號的電平轉換也需要一定的過渡時間。由於FPGA以及其他的 CPLD器件內部的分布電容和電感不能過濾電路中的毛刺,從而使得毛刺逐級傳遞,對電路早晨的影響更加突出。即使是在最簡單的邏輯運算中,如果出現多路信 號同時跳變的情況,在通過內部走線以后,也一定會產生毛刺。

二,消除方法

1,組合邏輯電路中

(1)加選通脈沖信號
(2)修改邏輯設計(增加乘積項法)
(3)輸出端並聯電容器(電容濾出法)
(4)卡諾圖法
(5)加封鎖脈沖

2,時序邏輯電路中

(1)修改電路法(加D觸發器)
(2)信號同步法
(3)信號延時同步法
(4)靈活運用時鍾信號法
(5)狀態機控制法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM