復(fù)位設(shè)計(jì)中出現(xiàn)的結(jié)構(gòu)性缺陷及解決方案_第1頁
復(fù)位設(shè)計(jì)中出現(xiàn)的結(jié)構(gòu)性缺陷及解決方案_第2頁
復(fù)位設(shè)計(jì)中出現(xiàn)的結(jié)構(gòu)性缺陷及解決方案_第3頁
復(fù)位設(shè)計(jì)中出現(xiàn)的結(jié)構(gòu)性缺陷及解決方案_第4頁
復(fù)位設(shè)計(jì)中出現(xiàn)的結(jié)構(gòu)性缺陷及解決方案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【W(wǎng)ord版本下載可任意編輯】 復(fù)位設(shè)計(jì)中出現(xiàn)的結(jié)構(gòu)性缺陷及解決方案 assign module_a_rstb = !(slave_addr=8h02 & write_enable & (wdata=00) always (posedge clk or negedge module_rst_b) if(!module_rst_b) data_q 0變化時(shí),final_rst_b都會(huì)產(chǎn)生干擾。 4. 解決方案 * 在合成過程中在復(fù)位路徑保存多路復(fù)用構(gòu)造,因?yàn)槎嗦窂?fù)用構(gòu)造與其他組合邏輯相比易于產(chǎn)生干擾。MUX Pragma可以在編碼RTL時(shí)使用,這將有助于合成工具在復(fù)位路徑中保存任何多路復(fù)用器。

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

3、能故障。 圖9:同步復(fù)位問題時(shí)序圖 2. 解決方案 在復(fù)位階段啟用該模塊的時(shí)鐘且持續(xù)短的時(shí)間,使該模塊內(nèi)的所有觸發(fā)器都在復(fù)位過程中被初始化。 當(dāng)系統(tǒng)復(fù)位被去斷言時(shí),模塊輸出不會(huì)有任何未初始化的值。 圖10:同步復(fù)位問題已解決 3. 問題(II) 在時(shí)鐘域交叉路徑使用兩個(gè)觸發(fā)同步器是常見做法。然而,有時(shí)設(shè)計(jì)人員對(duì)這些觸發(fā)器使用同步復(fù)位。相同的RTL代碼是 always (posedge clk ) if(!sync_rst_b) begin sync1 = 1b0; sync2 = 1b0 ; end else begin sync1 = async_in; sync2 = sync1 end

4、在硬件中開展了RTL合成后,上面的代碼會(huì)在雙觸發(fā)器同步器的同步鏈中引入組合邏輯,這會(huì)帶來風(fēng)險(xiǎn),并縮短sync2觸發(fā)器輸入進(jìn)入亞穩(wěn)態(tài)的時(shí)間。 圖11:同步復(fù)位問題2 4. 解決方案 可用以下方式編寫RTL代碼,以防止同步鏈的組合邏輯。 always (posedge clk ) if(!sync_rst_b) begin sync1 = 1b0; end else begin sync1 = async_in; sync2 = sync1 end 在上面的代碼中,對(duì)sync2觸發(fā)器不使用復(fù)位,因此在同步鏈中不會(huì)實(shí)現(xiàn)組合信元。然而,需要注意sync2需要一個(gè)額外的周期才能復(fù)位,這不應(yīng)導(dǎo)致設(shè)計(jì)出現(xiàn)任

5、何問題。 冗余復(fù)位同步器引起的問題 1. 問題 在使用多個(gè)異步時(shí)鐘的設(shè)計(jì)中,設(shè)計(jì)人員需要確保在目標(biāo)存放器使用的時(shí)鐘方面,異步復(fù)位的同步去斷言,否則可能導(dǎo)致目標(biāo)觸發(fā)器發(fā)生時(shí)序違反,從而產(chǎn)生亞穩(wěn)態(tài)。復(fù)位同步器被用來復(fù)位去斷言,與目標(biāo)時(shí)鐘域同步。然而,只有在系統(tǒng)復(fù)位去斷言過程中有目標(biāo)時(shí)鐘時(shí)才會(huì)發(fā)生復(fù)位去斷言時(shí)序違反。如果在復(fù)位去斷言時(shí)沒有時(shí)鐘,那么便不會(huì)有任何時(shí)序違反。因此,在設(shè)計(jì)多時(shí)鐘域模塊時(shí),設(shè)計(jì)人員可以讓編譯時(shí)間選項(xiàng)繞過該模塊中的那些復(fù)位同步器,并讓系統(tǒng)集成商根據(jù)對(duì)該模塊的時(shí)鐘可用性決定是否需要使用復(fù)位同步器。 此外,如果系統(tǒng)時(shí)鐘和異步時(shí)鐘比非常高,冗余同步器甚至?xí)斐稍O(shè)計(jì)功能性問題。下面描述

6、了這個(gè)問題。 圖12:冗余同步器的問題 在上面的設(shè)計(jì)中,去斷言與sys clk同步的系統(tǒng)復(fù)位被饋送到(mod_clk域)的復(fù)位同步器,然后在mod_clk域邏輯中使用該復(fù)位。讓我們假定sys clk : mod_clk的時(shí)鐘頻率比大于6:1.默認(rèn)不啟用mod_clk,以節(jié)省動(dòng)態(tài)功率。當(dāng)用戶想要啟用mod_clk域邏輯的功能時(shí),便啟用該時(shí)鐘。在啟用了該時(shí)鐘后,有兩個(gè)mod_clk周期的延遲,其中,由于復(fù)位同步器導(dǎo)致整個(gè)mod_clk域邏輯都處于復(fù)位狀態(tài)。在該階段,如果一些數(shù)據(jù)交易從sys clk域開始,將在mod_clk域丟失。 2. 解決方案 雖然這不是大問題,但有時(shí)會(huì)在客戶一端造成混淆,因?yàn)?/p>

7、該延遲對(duì)客戶不可見。 因此消除混淆的更好的方式是: * 如果在全局復(fù)位去斷言過程中沒有時(shí)鐘,則在設(shè)計(jì)中繞過/刪除冗余復(fù)位同步器。 這當(dāng)然會(huì)節(jié)省一定的門控?cái)?shù)。 * 如果動(dòng)態(tài)功耗不是問題,用戶可以在mod_clk域邏輯開始運(yùn)作之前很長(zhǎng)時(shí)間在啟動(dòng)代碼選擇啟用mod_clk. 因此,復(fù)位去斷言將有足夠的時(shí)間傳播。 * 這也可以在軟件中處理,在任何有效操作之前啟用了mod_clk后,設(shè)置兩三個(gè)mod_clk周期的延遲。 由于罕見的時(shí)鐘路徑導(dǎo)致復(fù)位去斷言時(shí)序問題 1. 問題 設(shè)計(jì)的復(fù)位架構(gòu)根據(jù)系統(tǒng)而不同。在一些安全關(guān)鍵設(shè)備中,整個(gè)復(fù)位狀態(tài)機(jī)在安全時(shí)鐘上工作,安全時(shí)鐘默認(rèn)啟用。 該時(shí)鐘也被用作設(shè)備的默認(rèn)系統(tǒng)時(shí)鐘。 圖13:罕見時(shí)鐘路徑的問題 在上圖中,復(fù)位狀態(tài)機(jī)(R觸發(fā)器)在default_clk上工作。此外,在復(fù)位去斷言過程中,default_clk是sys clk的源。因此,在邏輯上,這兩個(gè)時(shí)鐘(clk1和clk2)在復(fù)位去斷言過程中同步。但是,由于clk1和clk2之間存在巨大的罕見路徑,因此很難平衡這兩個(gè)時(shí)鐘并視其為同步。 因此,滿足A觸發(fā)器的復(fù)位去斷言變得具有挑戰(zhàn)性。 2. 解決方案 異步對(duì)待clk1和clk2,并在A觸發(fā)器中使用復(fù)位之前放置復(fù)位同步器?,F(xiàn)在需要從S2-A滿足復(fù)位去斷言時(shí)序(見圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論