新聞中心

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

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

        作者: 時間:2013-11-16 來源:網絡 收藏
        normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  if(!module_rst_b) data_q = 1’b0;

          else data_q = data_d;

          在上面的示例中,slave_addr,write_enable和wdata改變它們的值 w.r.t system clock,使用靜態時序分析,設計人員可以保證在目標觸發器的設置時間窗口之前這些信號在一個時鐘周期內的穩定性。然而,在該示例中,這些信號直接用作觸發器的異步清零輸入。

          因此,即使在特定的時間slave_addr[7:0]在邏輯上將其值從“00000110”改為 “01100000”,但由于組合邏輯的傳播延遲(凈延遲和信元延遲)它可以用一個序列“00000110 --> 00000010 --> 00000000 --> 01000000 --> 01100000”生成過渡。

          在這段時間里,salve_addr為“00000010”,如果wdata[7:0]始終為零且“write_enable” 已經被斷言,那么它將在module_rst_b創建一個無用脈沖,從而導致虛假復位。

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

          圖6:復位路徑的組合邏輯

          2. 解決方案

          首先注冊組合輸出,然后再將其用作復位源(如圖7所示)。

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

          圖7:復位路徑的組合邏輯解決方案

          3. 問題(II)

          在上面的示例中,復位路徑的組合邏輯解決方案并不完善。如果組合邏輯輸入大約在同一時間發生變化,那么它可能在設計中觸發虛假復位。然而,如果組合邏輯的輸入信號變化相互排斥,那么它可能不會引起任何設計問題。例如,測試模式和功能模式相互排斥。因此復位路徑的測試復用是有效的設計實踐。

          然而,對于某些情況,變化相互排斥的靜態信號或信號可能會導致設計出現虛假復位觸發。下面的示例描述了此類設計可能出現問題。

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

          圖8:復位路徑的組合邏輯(問題 2)

          在上面的示例中,多路復用結構用于復位路徑,同時進行RTL編碼。其中“mode” 是一個控制信號,不頻繁改變,而mode0_rst_b和mode_1_rst_b是兩個復位事件,然而在合成RTL時,在門控級它被分解成不同的復雜的組合(And-Or-Invert[AOI])信元。雖然在邏輯上它相當于一個多路復用器,但由于不同的信元和凈延遲,每當信號“mode”從 1-->0變化時,final_rst_b都會產生干擾。

          4. 解決方案

          * 在合成過程中在復位路徑保留多路復用結構,因為多路復用結構與其他組合邏輯相比易于產生干擾。MUX Pragma可以在編碼RTL時使用,這將有助于合成工具在復位路徑中保留任何多路復用器。


        上一頁 1 2 3 下一頁

        關鍵詞: 復位設計 結構性

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 揭东县| 长兴县| 腾冲县| 城步| 巢湖市| 西安市| 阿合奇县| 仪征市| 龙里县| 象山县| 寿光市| 大连市| 历史| 五华县| 诏安县| 怀来县| 高台县| 加查县| 确山县| 永昌县| 瓦房店市| 定远县| 武隆县| 白沙| 望奎县| 商城县| 永福县| 阿瓦提县| 万荣县| 新河县| 辽阳市| 江都市| 柳江县| 神农架林区| 阳高县| 景东| 宜良县| 汤阴县| 伊川县| 定远县| 军事|