新聞中心

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

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

        作者: 時間:2013-11-16 來源:網(wǎng)絡(luò) 收藏

        設(shè)計中的同步復(fù)位問題

          1. 問題(I)

          在許多地方,設(shè)計人員在時鐘方面喜歡同步。原因可能是為了節(jié)省一些芯片面積(帶有異步復(fù)位輸入的觸發(fā)器比任何不可復(fù)位觸發(fā)器都大)或讓系統(tǒng)與時鐘完全同步,也可能有一些其他原因。對于此類設(shè)計,當(dāng)復(fù)位源被斷言時需要向設(shè)計的觸發(fā)器提供時鐘,否則,這些觸發(fā)器可能會在一段時間內(nèi)都不進(jìn)行初始化。但當(dāng)該模塊被插入一個系統(tǒng)時,系統(tǒng)設(shè)計人員可能選擇在復(fù)位階段禁用其時鐘(如果在一開始不需要激活該模塊),以節(jié)省整個系統(tǒng)的動態(tài)功耗。因此,該模塊甚至在復(fù)位去斷言后一段時間內(nèi)都不進(jìn)行初始化。如果該模塊的任何輸出直接在系統(tǒng)中使用,那么將捕獲未初始化和未知的值(X),這可能會導(dǎo)致系統(tǒng)功能故障。

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

          圖9:同步復(fù)位問題時序圖

          2. 解決方案

          在復(fù)位階段啟用該模塊的時鐘且持續(xù)最短的時間,使該模塊內(nèi)的所有觸發(fā)器都在復(fù)位過程中被初始化。 當(dāng)系統(tǒng)復(fù)位被去斷言時,模塊輸出不會有任何未初始化的值。

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

          圖10:同步復(fù)位問題已解決

          3. 問題(II)

          在時鐘域交叉路徑使用兩個觸發(fā)同步器是常見做法。然而,有時設(shè)計人員對這些觸發(fā)器使用同步復(fù)位。相同的RTL代碼是

          always @(posedge clk )

          if(!sync_rst_b) begin

          sync1 = 1‘b0; sync2 = 1’b0 ;

          end

          else begin

          sync1 = async_in; sync2 = sync1

          end

          在硬件中進(jìn)行了RTL合成后,上面的代碼會在雙觸發(fā)器同步器的同步鏈中引入組合邏輯,這會帶來風(fēng)險,并縮短sync2觸發(fā)器輸入進(jìn)入亞穩(wěn)態(tài)的時間。

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


        上一頁 1 2 3 下一頁

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

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 临猗县| 永靖县| 郧西县| 丽水市| 偃师市| 广水市| 盐山县| 龙山县| 莱芜市| 东安县| 石阡县| 那坡县| 洪湖市| 准格尔旗| 甘泉县| 汝城县| 张家港市| 玉树县| 垦利县| 广安市| 大埔县| 霸州市| 平潭县| 六枝特区| 维西| 北安市| 东乡县| 鄱阳县| 博兴县| 襄城县| 衡阳市| 商丘市| 连平县| 鹿邑县| 花垣县| 满洲里市| 克什克腾旗| 疏勒县| 长寿区| 泰兴市| 毕节市|