不得不讀的Xilinx FPGA復(fù)位策略_第1頁
不得不讀的Xilinx FPGA復(fù)位策略_第2頁
不得不讀的Xilinx FPGA復(fù)位策略_第3頁
不得不讀的Xilinx FPGA復(fù)位策略_第4頁
不得不讀的Xilinx FPGA復(fù)位策略_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

不得不讀的XilinxFPGA復(fù)位策略先給出Xilinx復(fù)位準(zhǔn)則:(1)盡量少使用復(fù)位,特別是少用全局復(fù)位,能不用復(fù)位就不用,一定要用復(fù)位的使用局部復(fù)位;(2)如果必須要復(fù)位,在同步和異步復(fù)位上,則盡量使用同步復(fù)位,一定要用異步復(fù)位的地方,采用“異步復(fù)位、同步釋放”;(3)復(fù)位電平選擇高電平復(fù)位;(這里說明,由于Altera和Xilinx器件內(nèi)部結(jié)構(gòu)的不同,Altera的FPGA推薦低電平復(fù)位)GlobalResetIsn'tTiming-Critical全局復(fù)位的典型驅(qū)動(dòng):(1)按鍵開關(guān):復(fù)位信號(hào)接一個(gè)按鍵,反應(yīng)非常慢(ms級(jí)別),并且非常不確定(按鍵抖動(dòng)?);(2)電源狀態(tài)輸出:上電后由電源芯片產(chǎn)生一個(gè)監(jiān)測信號(hào)復(fù)位系統(tǒng),可以長時(shí)間的保持,直到電源穩(wěn)定后進(jìn)行正常工作;(3)微處理器等控制芯片:控制芯片產(chǎn)生復(fù)位脈沖;以上所有情況下,復(fù)位信號(hào)似乎是緩慢的,因此,我們也可以有把握地認(rèn)為,它對(duì)時(shí)序不會(huì)造成關(guān)鍵影響。當(dāng)為您的FPGA設(shè)計(jì)指定定時(shí)約束時(shí),這個(gè)信號(hào)通常會(huì)被分配一個(gè)長周期(低頻)。但是,全局復(fù)位不是時(shí)序關(guān)鍵的假設(shè)并不全對(duì),隨著時(shí)鐘頻率的增加,全局復(fù)位對(duì)時(shí)序會(huì)帶來很大的影響。雖然復(fù)位脈沖可以用比時(shí)鐘周期更長的持續(xù)時(shí)間,并保證所有觸發(fā)器都可以被成功復(fù)位,但是復(fù)位信號(hào)的釋放應(yīng)該被認(rèn)為是一個(gè)時(shí)間關(guān)鍵事件。FPGA內(nèi)部的全局置位/復(fù)位(GSR)信號(hào)也是一個(gè)全局復(fù)位,這也是FPGA器件內(nèi)部的一個(gè)高扇出網(wǎng)絡(luò)(highfan-out)。在一個(gè)設(shè)計(jì)中,雖然啟動(dòng)序列可以與“用戶時(shí)鐘”同步,但不能保證它不能與所有時(shí)鐘都同步。FPGA器件有多個(gè)DLL/DCM/PLL模塊,每個(gè)模塊都能夠產(chǎn)生多個(gè)不同頻率和相位的時(shí)鐘。在圖1中,一個(gè)復(fù)位信號(hào)在兩個(gè)時(shí)鐘邊沿之間的某個(gè)時(shí)間被釋放。復(fù)位信號(hào)經(jīng)過一段時(shí)間傳播到各種觸發(fā)器,在每個(gè)觸發(fā)器中,復(fù)位信號(hào)都應(yīng)該在下一個(gè)有效的時(shí)鐘邊沿的“Set-uptime”(建立時(shí)間)前就無效。很明顯,當(dāng)時(shí)鐘頻率上升時(shí),可以用來分配給復(fù)位信號(hào)釋放的時(shí)間就會(huì)減少。考慮到復(fù)位信號(hào)是一個(gè)高扇出網(wǎng)絡(luò),所以復(fù)位釋放的時(shí)序不易收斂。如果復(fù)位的釋放與時(shí)鐘異步(通常就是這種情況),那么就無法保證所有觸發(fā)器都能在同一個(gè)時(shí)鐘邊緣釋放(圖2)。當(dāng)在A時(shí)刻釋放reset時(shí),觸發(fā)器將在第一個(gè)時(shí)鐘邊沿檢測到有效的釋放信號(hào);在C時(shí)刻釋放reset時(shí),復(fù)位的釋放將直到下一個(gè)時(shí)鐘邊沿才被檢測到;B時(shí)刻時(shí)鐘上升沿時(shí)觸發(fā)器檢測到的reset狀態(tài)很難確定(可能高電平,也可能低電平),可能導(dǎo)致亞穩(wěn)態(tài)。隨著時(shí)鐘頻率的提高和與大型器件潛在****的分布傾斜,幾乎不可避免的是,無法保證所有的觸發(fā)器的復(fù)位都能在同一個(gè)時(shí)鐘邊沿被釋放(圖3)。DoesItReallyMatter?好消息是,在99.99%的情況下,全局復(fù)位的異步釋放對(duì)系統(tǒng)沒什么影響,所以大多數(shù)電路都能正常工作。如果一個(gè)電路不工作,那可能恰好是遇到了另外的0.01%,不幸地在錯(cuò)誤的時(shí)間釋放了復(fù)位。在圖4所示的流水線場景中,復(fù)位釋放的時(shí)間并不重要。當(dāng)數(shù)據(jù)通過流水線進(jìn)程時(shí),復(fù)位的釋放時(shí)間無關(guān)緊要。即使出現(xiàn)了錯(cuò)誤,在經(jīng)過一定時(shí)鐘周期后整個(gè)系統(tǒng)就能恢復(fù)。這種情況下,復(fù)位是沒有意義的。當(dāng)有效的數(shù)據(jù)輸入時(shí),初始狀態(tài)或者未知的狀態(tài)將從系統(tǒng)中清除。但是,在圖5顯示了獨(dú)熱碼狀態(tài)機(jī)場景中復(fù)位釋放的時(shí)間非常重要。在上面的獨(dú)熱碼狀態(tài)機(jī)中,有明顯的失敗可能性。如果第一個(gè)觸發(fā)器在第二個(gè)觸發(fā)器的前一個(gè)時(shí)鐘周期釋放,那么獨(dú)熱碼的熱狀態(tài)將丟失,狀態(tài)機(jī)將永遠(yuǎn)變冷(狀態(tài)機(jī)無法恢復(fù))。將所有的觸發(fā)器盡可能的靠近布局能夠降低錯(cuò)誤的發(fā)生概率(在局部重置網(wǎng)絡(luò)上的低傾斜)。然而,除非Set-uptimie建立時(shí)間得到保證,否則這種錯(cuò)誤情況仍有可能發(fā)生。如果所有觸發(fā)器沒有在同一個(gè)時(shí)鐘周期中釋放,編碼后的狀態(tài)機(jī)可能進(jìn)入意外狀態(tài)或則會(huì)非法狀態(tài)。最后,需要仔細(xì)考慮復(fù)位的是包含反饋路徑的電路。沒有反饋的電路實(shí)際上根本不需要復(fù)位。在數(shù)字信號(hào)處理應(yīng)用中,有限脈沖響應(yīng)濾波器(FIR)是沒有反饋的。在有效數(shù)據(jù)填充了所有的抽頭之前,輸出樣本實(shí)際上沒有有效的值,所以復(fù)位抽頭寄存器沒有任何效果。然而,無限脈沖響應(yīng)濾波器(IIR)包含反饋。如果因?yàn)椴桓蓛舻膹?fù)位釋放而產(chǎn)生****了一些不符合預(yù)期的輸出,該輸出結(jié)果又會(huì)返回到輸入,那么會(huì)在很長一段時(shí)間內(nèi)無法獲取真實(shí)的****輸出結(jié)果(反饋環(huán)路互相影響了)。在最壞的情況下,由于不穩(wěn)定,濾波器可能會(huì)完全失效。AutomaticCoverageofthe99.99%ofCases當(dāng)配置或重配置XilinxFPGA時(shí),內(nèi)部所有的單元都被初始化(圖6)。這是masterreset復(fù)位的結(jié)果,因?yàn)樗婕暗倪h(yuǎn)不止簡單的觸發(fā)器。上電配置與全局復(fù)位具有相同的寄存器復(fù)位效果,但除此之外,上電的配置還初始化了所有RAM單元。隨著FPGA器件上RAM資源的增加,這是一個(gè)非常有用的特性。所有RAM內(nèi)容的初始狀態(tài)都是已知的,這對(duì)于仿真和操作是非常理想的,并且消除了使用啟動(dòng)序列來清除內(nèi)存的要求。由于處理器也嵌入到Xilinx設(shè)備中(無論是硬核還是軟核),所有程序和數(shù)據(jù)區(qū)域的初始狀態(tài)在處理器執(zhí)行第一條指令之前就已經(jīng)定義了。在這樣的前提下,為了重置一些觸發(fā)器的初始狀態(tài)而消耗寶貴的可編程資源是沒有意義的。仿真器應(yīng)該能夠?qū)@個(gè)初始化(通常稱為上電復(fù)位)建模,這再次避免了在設(shè)計(jì)中對(duì)復(fù)位信號(hào)的任何要求。Strategyforthe0.01%ofCases最重要的是,有一種策略來處理設(shè)計(jì)中的復(fù)位。設(shè)計(jì)的關(guān)鍵部分在于必須在相關(guān)的時(shí)鐘域同步釋放,可以插入一個(gè)局部的高性能復(fù)位網(wǎng)絡(luò)來控制那些需要局部復(fù)位的觸發(fā)器。圖7中的電路是控制局部復(fù)位網(wǎng)絡(luò)的一種可能有用的機(jī)制,該電路的優(yōu)點(diǎn)是使用外部復(fù)位信號(hào)時(shí)的效果和使用器件上電配置產(chǎn)生的效果一樣(異步復(fù)位、同步釋放,避免了釋放帶來的亞穩(wěn)態(tài))。在配置FPGA或異步復(fù)位信號(hào)期間,鏈中的所有觸發(fā)器都預(yù)設(shè)為1。鏈上的最后一個(gè)觸發(fā)器幾乎立即將一個(gè)有效的復(fù)位信號(hào)驅(qū)動(dòng)到局部復(fù)位網(wǎng)絡(luò)。隨著全局置位/復(fù)位(GSR)或者異步復(fù)位的釋放,移位寄存器鏈開始在每個(gè)時(shí)鐘周期填滿0。鏈中觸發(fā)器的數(shù)量決定了傳輸?shù)骄植繌?fù)位網(wǎng)絡(luò)的復(fù)位脈沖的最小持續(xù)時(shí)間。鏈路的最后一個(gè)觸發(fā)器進(jìn)行一個(gè)從高電平到低電平的轉(zhuǎn)換,局部復(fù)位與時(shí)鐘同步釋放。復(fù)位的觸發(fā)器可以采用同步置位(FDS)或同步復(fù)位(FDR),從而實(shí)現(xiàn)完全同步設(shè)計(jì),并易于時(shí)序規(guī)范和分析。ResetCostsMoreThanYouThink!在實(shí)現(xiàn)設(shè)計(jì)時(shí),大多忽略了HDL代碼中全局復(fù)位的代價(jià),但是全局復(fù)位的代價(jià)可能是巨大的:(1)布線****資源?減少了其他連接的自由度;?可能會(huì)降低系統(tǒng)性能,由此需要更高速度等級(jí)的FPGA,增加了成本;?增加的布線時(shí)間;(2)邏輯****資源?觸發(fā)器專用復(fù)位的使用;?在D輸入或?qū)S脧?fù)位輸入之前需要有額外的邏輯門;?幾乎肯定會(huì)影響設(shè)計(jì)的尺寸;?額外的邏輯層次幾乎肯定會(huì)影響系統(tǒng)性能;?增加布局和布線的時(shí)間;(3)無法****使用高效率的特性,如SRL16E?SRL16E可以在每個(gè)LUT中實(shí)現(xiàn)多達(dá)16個(gè)虛擬觸發(fā)器(Xilinx器件的高效應(yīng)用);?上述實(shí)現(xiàn)的虛擬觸發(fā)器不支持復(fù)位,當(dāng)HDL指定復(fù)位時(shí),綜合工具就無法使用SRL16E來減少觸發(fā)器的使用;?高達(dá)16倍的尺寸和產(chǎn)品成本的增加;?額外的大小可能會(huì)降低系統(tǒng)性能;?增加布局和布線的時(shí)間;關(guān)于復(fù)位信號(hào)如何影響資源利用率的討論,請(qǐng)參見WP275GetyourPrioritiesRight-MakeyourDesignUpto50%small。Summary在XilinxFPGA中實(shí)現(xiàn)的設(shè)計(jì)不需要插入全局復(fù)位網(wǎng)絡(luò)。對(duì)于絕大多數(shù)設(shè)計(jì),所有觸發(fā)器和RAM的上電后的初始化狀態(tài)比任何的邏輯復(fù)位都要全面,不需要為了仿真而插入復(fù)位,因?yàn)闆]有任何東西是未定義的。由于XilinxFPGA已經(jīng)經(jīng)過了全面測試,因此在設(shè)計(jì)中不需要掃描邏

溫馨提示

  • 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)論