新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 復位設計中的結構性缺陷及解決方案(一)

        復位設計中的結構性缺陷及解決方案(一)

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

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

          復位設計中的結構性缺陷及解決方案(一)

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

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

        2. 解決方案

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

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

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

          復位設計中的結構性缺陷及解決方案(一)

          圖4:解決方案1

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

          復位設計中的結構性缺陷及解決方案(一)

          圖5:解決方案2

          復位路徑的組合邏輯

          1. 問題(I)

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

          assign module_a_rstb = !((slave_addr[7:0]==8‘h02 write_enable (wdata[7:0]==00))

          always @(posedge clk or negedge module_rst_b)



        關鍵詞: 復位設計 結構性

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 当雄县| 锡林浩特市| 英山县| 天祝| 屏东县| 名山县| 禹州市| 天气| 广丰县| 新龙县| 天镇县| 龙江县| 界首市| 咸宁市| 衡山县| 乳山市| 扎赉特旗| 射洪县| 湘阴县| 依安县| 蒲城县| 江川县| 辰溪县| 宝应县| 林周县| 清丰县| 望都县| 韶关市| 建宁县| 论坛| 武穴市| 伽师县| 绍兴县| 琼海市| 澳门| 海晏县| 孟津县| 凌云县| 满洲里市| 舒城县| 苏尼特左旗|