新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 復(fù)位設(shè)計中的結(jié)構(gòu)性缺陷及解決方案(一)

復(fù)位設(shè)計中的結(jié)構(gòu)性缺陷及解決方案(一)

作者: 時間:2013-11-16 來源:網(wǎng)絡(luò) 收藏
NG: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  在上圖中,當(dāng)復(fù)位源SW_Q斷言時,會導(dǎo)致rst_b斷言,這是全局復(fù)位?,F(xiàn)在,如果全局復(fù)位本身被用于清除 “SW_Q” 復(fù)位斷言,那么會在設(shè)計中在SW_Q輸出和全局復(fù)位時產(chǎn)生干擾。此外,在模擬中,這會導(dǎo)致紊亂情況,因為復(fù)位源斷言試圖通過該組合邏輯去斷言。

  然而,如果復(fù)位源(SW_Q)在復(fù)位狀態(tài)機(觸發(fā)器的SET/CLR輸入)為全局復(fù)位斷言被異步使用,那么復(fù)位干擾可能能夠復(fù)位整個系統(tǒng)(通過斷言全局復(fù)位),因為全局系統(tǒng)復(fù)位去斷言不僅僅與復(fù)位源去斷言相關(guān)。當(dāng)該復(fù)位源(有干擾)被同步使用或在觸發(fā)器D輸入使用的情況下可能依然有一個問題。干擾范圍可能無法在至少一個周期內(nèi)保持穩(wěn)定,因此這不會被目標觸發(fā)器捕獲。此外,該復(fù)位源不能被用作任何電路的時鐘(除了脈沖捕捉電路),因為它可能違反時鐘寬度。

  復(fù)位設(shè)計中的結(jié)構(gòu)性缺陷及解決方案(一)

  圖3:復(fù)位源干擾(問題2)

  在上圖中,復(fù)位源SW_Q將出現(xiàn)干擾。雖然如果復(fù)位源SW_Q的干擾在某個觸發(fā)器被捕捉作為復(fù)位事件狀態(tài)(在S)或用于其他目的,全局復(fù)位輸出(rst_b)都沒有干擾,但它將導(dǎo)致時序違反/亞穩(wěn)態(tài),或根本不可能被捕獲。

2. 解決方案

  * 設(shè)計人員永遠都不應(yīng)犯下上述(圖2)低級錯誤。

  * 如果復(fù)位實現(xiàn)如圖3所示,那么設(shè)計人員應(yīng)保證復(fù)位源(在該示例中為SW_Q)總是在觸發(fā)器的SET/CLR輸入使用,而不在D或CLK使用。

  * 解決這個問題的最好的方法是在復(fù)位狀態(tài)機中使用之前注冊該復(fù)位源。 雖然它將導(dǎo)致時鐘依靠全局復(fù)位斷言,但是無論如何,如果沒有時鐘,該內(nèi)部復(fù)位(SW_Q)都不會斷言。請參見圖4.

  復(fù)位設(shè)計中的結(jié)構(gòu)性缺陷及解決方案(一)

  圖4:解決方案1

  此外,用戶也可以擴展SW_Q斷言,然后再在設(shè)計中使用它,復(fù)位斷言與時鐘無關(guān)。 請參見圖5.

  復(fù)位設(shè)計中的結(jié)構(gòu)性缺陷及解決方案(一)

  圖5:解決方案2

  復(fù)位路徑的組合邏輯

  1. 問題(I)

  如果組合邏輯輸入大約在同一時間發(fā)生變化,那么使用復(fù)位路徑中的組合邏輯可能產(chǎn)生干擾,這可能在設(shè)計中觸發(fā)虛假復(fù)位。下面是一個RTL代碼,它會在設(shè)計中意外復(fù)位。

  assign module_a_rstb = ?。ǎ╯lave_addr[7:0]==8‘h02 write_enable (wdata[7:0]==00))

  always @(posedge clk or negedge module_rst_b)



關(guān)鍵詞: 復(fù)位設(shè)計 結(jié)構(gòu)性

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉