<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 復(fù)位設(shè)計(jì)中的結(jié)構(gòu)性缺陷及解決方案

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

          作者: 時(shí)間:2014-08-07 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/256895.htm

          隨著數(shù)字化設(shè)計(jì)和的日益復(fù)雜,復(fù)位架構(gòu)也變得非常復(fù)雜。在實(shí)施如此復(fù)雜的架構(gòu)時(shí),設(shè)計(jì)人員往往會(huì)犯一些低級(jí)錯(cuò)誤,這些錯(cuò)誤可能會(huì)導(dǎo)致亞穩(wěn)態(tài)、干擾或其他系統(tǒng)功能故障。本文討論了一些的基本的結(jié)構(gòu)性問(wèn)題。在每個(gè)問(wèn)題的最后,都提出了一些解決方案。

          復(fù)位域交叉問(wèn)題

          1.問(wèn)題

          在一個(gè)連續(xù)設(shè)計(jì)中,如果源的異步復(fù)位不同于目標(biāo)的復(fù)位,并且在起點(diǎn)的復(fù)位斷言過(guò)程中目標(biāo)寄存器的數(shù)據(jù)輸入發(fā)生異步變化,那么該路徑將被視為異步路徑,盡管源寄存器和目標(biāo)寄存器都位于同一個(gè)時(shí)鐘域,在源寄存器的復(fù)位斷言過(guò)程中可能導(dǎo)致目標(biāo)寄存器出現(xiàn)亞穩(wěn)態(tài)。這被稱(chēng)為復(fù)位域交叉,其中啟動(dòng)和捕捉觸發(fā)的復(fù)位是不同的。

          在這種情況下,C寄存器和A寄存器的起點(diǎn)異步復(fù)位斷言是不同的。在C寄存器復(fù)位斷言過(guò)程中而A觸發(fā)器沒(méi)有復(fù)位,如果A寄存器的輸入端有一些有效數(shù)據(jù)交易,那么C寄存器的起點(diǎn)異步復(fù)位斷言引起的異步變更可能導(dǎo)致目標(biāo)A寄存器發(fā)生時(shí)序違規(guī),從而可能產(chǎn)生亞穩(wěn)態(tài)。




          圖1:復(fù)位域交叉問(wèn)題。


          在上面的時(shí)序圖中,當(dāng)有一些有效數(shù)據(jù)交易通過(guò)C1進(jìn)行時(shí),rst_c_b獲得斷言,導(dǎo)致C1發(fā)生異步改變,w.r.t clk從而使QC1進(jìn)入亞穩(wěn)態(tài),這可能導(dǎo)致設(shè)計(jì)發(fā)生功能故障。

          2.解決方案

          *使用異步復(fù)位、不可復(fù)位觸發(fā)器或D1觸發(fā)器POR.

          *如果復(fù)位源rst_c_b是同步的,那么則認(rèn)為來(lái)自C_CLR ——> Q的用于從rst_c_b_reg ——>C_CLR——>C_Q1——>C1——>A_D進(jìn)行設(shè)置保持檢查的時(shí)序弧能夠避免設(shè)計(jì)亞穩(wěn)態(tài)。然而,通常在默認(rèn)情況下C_CLR——>Q時(shí)序弧在庫(kù)中不啟用,需要在定時(shí)分析過(guò)程中明確啟用。

          *在目的地(A)使用雙觸發(fā)器同步器,以避免設(shè)計(jì)中發(fā)生亞穩(wěn)態(tài)傳播。然而,設(shè)計(jì)人員應(yīng)確保安裝兩個(gè)觸發(fā)器引入的延遲不會(huì)影響預(yù)期功能。

          由于組合環(huán)路導(dǎo)致復(fù)位源干擾

          1.問(wèn)題

          中,全局系統(tǒng)復(fù)位在設(shè)備中組合了軟件或硬件生成的各種復(fù)位源。LVD復(fù)位、看門(mén)狗復(fù)位、調(diào)試復(fù)位、軟件復(fù)位、時(shí)鐘丟失復(fù)位是導(dǎo)致全局系統(tǒng)復(fù)位斷言的一些示例。然而,如果由于任何復(fù)位源導(dǎo)致的全局復(fù)位斷言是完全異步的,且復(fù)位發(fā)生源邏輯被全局復(fù)位清零,那么設(shè)計(jì)中會(huì)產(chǎn)生組合環(huán)路,這會(huì)在該復(fù)位源產(chǎn)生干擾。組合路徑的傳播延遲會(huì)根據(jù)不同的流程、電壓或溫度以及干擾范圍而不同。如果設(shè)計(jì)中使用了組合信元用于復(fù)位斷言和去斷言,那么也會(huì)導(dǎo)致模擬中出現(xiàn)紊亂情況。這被視為設(shè)計(jì)人員的非常低級(jí)的錯(cuò)誤。



          圖2:復(fù)位源干擾(基本問(wèn)題)。


          在上圖中,當(dāng)復(fù)位源SW_Q斷言時(shí),會(huì)導(dǎo)致rst_b斷言,這是全局復(fù)位?,F(xiàn)在,如果全局復(fù)位本身被用于清除“SW_Q”復(fù)位斷言,那么會(huì)在設(shè)計(jì)中在SW_Q輸出和全局復(fù)位時(shí)產(chǎn)生干擾。此外,在模擬中,這會(huì)導(dǎo)致紊亂情況,因?yàn)閺?fù)位源斷言試圖通過(guò)該組合邏輯去斷言。

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



          圖3:復(fù)位源干擾(問(wèn)題2)。


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

          2.解決方案

          *設(shè)計(jì)人員永遠(yuǎn)都不應(yīng)犯下上述(圖2)低級(jí)錯(cuò)誤。

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

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



          圖4:解決方案1.


          此外,用戶(hù)也可以擴(kuò)展SW_Q斷言,然后再在設(shè)計(jì)中使用它,復(fù)位斷言與時(shí)鐘無(wú)關(guān)。請(qǐng)參見(jiàn)圖5.



          圖5:解決方案2.


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();