復(fù)位保護電路,是在系統(tǒng)進行復(fù)位的過程中對接口進行硬性邏輯保護,避免毛刺和錯誤對周圍系統(tǒng)產(chǎn)生影響的模塊。
通常而言,復(fù)位保護電路的開啟應(yīng)該在復(fù)位之前,關(guān)閉應(yīng)該在復(fù)位撤離之后。咱們針對握手接口來分類看下如何進行復(fù)位保護(使能接口也類似)。
對外輸出valid。
在復(fù)位期間由于復(fù)位信號到達不同寄存器的時間不同,加之組合邏輯路徑,可能會產(chǎn)生錯誤的valid信號對外輸出。
顯然在本系統(tǒng)單獨復(fù)位的場景下,是不應(yīng)該有對外的valid輸出的,因此在復(fù)位前,需要將對外輸出的valid信號&&0操作,確保復(fù)位和解復(fù)位期間沒有valid誤觸發(fā)。

對內(nèi)輸入的ready。
進入復(fù)位的階段,對內(nèi)輸入的ready是可以不做處理的,因為即使復(fù)位時出現(xiàn)了對外valid的誤觸發(fā),系統(tǒng)也馬上就會進入復(fù)位狀態(tài)了不會有任何影響。
在解復(fù)位階段,如果流程內(nèi)能夠通過時鐘關(guān)斷或時鐘降頻等手段來保證系統(tǒng)內(nèi)的寄存器同一拍解復(fù)位,在內(nèi)部不產(chǎn)生valid誤觸,對內(nèi)輸入的ready可以不經(jīng)過邏輯處理。

如果沒有其他的手段保護,可以考慮對內(nèi)的in_ready = out_ready || 1來保證在復(fù)位撤離階段將誤觸發(fā)的valid通過假握手丟棄掉。
對外輸出的ready。
系統(tǒng)復(fù)位期間,從業(yè)務(wù)需求上其他系統(tǒng)理應(yīng)不對該系統(tǒng)有事務(wù)操作。
如果真的出現(xiàn)了極端異常場景,那么比較合理的情況是對外輸出的ready保證為1,將事務(wù)丟棄,不阻塞其他系統(tǒng),如果為帶rsp的事務(wù)那就等待其他系統(tǒng)的超時中斷。

對內(nèi)輸入的valid。
在復(fù)位和復(fù)位期間,一般而言輸入的valid是無需理會的。解復(fù)位時最好也是通過其他手段保證不出現(xiàn)內(nèi)部的ready誤觸,且當(dāng)本系統(tǒng)單獨復(fù)位期間其他系統(tǒng)理應(yīng)不存在請求到來,因此對內(nèi)輸入的valid也是不需要經(jīng)過特殊處理的。

如果沒有其他的手段保護,可以考慮對內(nèi)的in_valid = out_valid && 0,避免內(nèi)部誤觸發(fā)的ready同in_valid進行了握手。
復(fù)位保護電路。
通常而言,復(fù)位保護的使能信號從寄存器輸出,作用于RTL,那么同樣存在一個異步路徑的問題。因為使能復(fù)位保護和撤銷復(fù)位保護時,RTL是沒有處于工作狀態(tài)的,且內(nèi)部電路處于穩(wěn)態(tài)。沒有工作處于穩(wěn)態(tài)時,對外的valid必然為0,ready必然為1(如果不滿足這個條件,請單獨討論)。
對外out_valid = 0 && (~prot_en),此時prot_en由1跳變?yōu)?(或0跳變位1),輸出邏輯不會改變,也不存在亞穩(wěn)態(tài)采樣的問題;對外輸出的out_ready = 1 || (prot_en),此時prot_en由1跳變?yōu)?(或0跳變位1),輸出邏輯不會改變,同樣不存在亞穩(wěn)態(tài)采樣的問題。
因此個人認為, 由寄存器輸出的prot_en作用于內(nèi)部邏輯時,無需經(jīng)過跨異步處理 。
-
保護電路
+關(guān)注
關(guān)注
46文章
947瀏覽量
103602 -
寄存器
+關(guān)注
關(guān)注
31文章
5609瀏覽量
130016 -
RTL
+關(guān)注
關(guān)注
1文章
394瀏覽量
62676 -
軟中斷
+關(guān)注
關(guān)注
0文章
9瀏覽量
3240
發(fā)布評論請先 登錄
如何進行IGBT保護電路設(shè)計
怎么樣用外部復(fù)位電路對MCU系列芯片進行復(fù)位?
熱過載繼電器怎么復(fù)位
如何進行51單片機復(fù)位電路的設(shè)計復(fù)位電路的詳細資料說明
復(fù)位電路的設(shè)計
復(fù)位保護電路如何進行復(fù)位保護?
評論