網(wǎng)友總結(jié):FPGA時(shí)序約束的六種方法
發(fā)布時(shí)間:2015-01-02 來源:riple的博客 責(zé)任編輯:sherryyu
【導(dǎo)讀】對(duì)自己的設(shè)計(jì)的實(shí)現(xiàn)方式越了解,對(duì)自己的設(shè)計(jì)的時(shí)序要求越了解,對(duì)目標(biāo)器件的資源分布和結(jié)構(gòu)越了解,對(duì)EDA工具執(zhí)行約束的效果越了解,那么對(duì)設(shè)計(jì)的時(shí)序約束目標(biāo)就會(huì)越清晰,相應(yīng)地,設(shè)計(jì)的時(shí)序收斂過程就會(huì)更可控。本文總結(jié)了幾種進(jìn)行時(shí)序約束的方法。
按照從易到難的順序排列如下:
0. 核心頻率約束
這是最基本的,所以標(biāo)號(hào)為0。
1. 核心頻率約束+時(shí)序例外約束
時(shí)序例外約束包括FalsePath、MulticyclePath、MaxDelay、MinDelay。但這還不是最完整的時(shí)序約束。如果僅有這些約束的話,說明設(shè)計(jì)者的思路還局限在FPGA芯片內(nèi)部。
2. 核心頻率約束+時(shí)序例外約束+I/O約束
I/O約束包括引腳分配位置、空閑引腳驅(qū)動(dòng)方式、外部走線延時(shí)(InputDelay、OutputDelay)、上下拉電阻、驅(qū)動(dòng)電流強(qiáng)度等。加入I/O約束后的時(shí)序約束,才是完整的時(shí)序約束。FPGA作為PCB上的一個(gè)器件,是整個(gè)PCB系統(tǒng)時(shí)序收斂的一部分。FPGA作為PCB設(shè)計(jì)的一部分,是需要PCB設(shè)計(jì)工程師像對(duì)待所有COTS器件一樣,閱讀并分析其I/O Timing Diagram的。FPGA不同于COTS器件之處在于,其I/O Timing是可以在設(shè)計(jì)后期在一定范圍內(nèi)調(diào)整的;雖然如此,最好還是在PCB設(shè)計(jì)前期給與充分的考慮并歸入設(shè)計(jì)文檔。
正因?yàn)镕PGA的I/O Timing會(huì)在設(shè)計(jì)期間發(fā)生變化,所以準(zhǔn)確地對(duì)其進(jìn)行約束是保證設(shè)計(jì)穩(wěn)定可控的重要因素。許多在FPGA重新編譯后,F(xiàn)PGA對(duì)外部器件的操作出現(xiàn)不穩(wěn)定的問題都有可能是由此引起的。
3. 核心頻率約束+時(shí)序例外約束+I/O約束+Post-fit Netlist
引入Post-fit Netlist的過程是從一次成功的時(shí)序收斂結(jié)果開始,把特定的一組邏輯(Design Partition)在FPGA上實(shí)現(xiàn)的布局位置和布線結(jié)果(Netlist)固定下來,保證這一布局布線結(jié)果可以在新的編譯中重現(xiàn),相應(yīng)地,這一組邏輯的時(shí)序收斂結(jié)果也就得到了保證。這個(gè)部分保留上一次編譯結(jié)果的過程就是Incremental Compilation,保留的網(wǎng)表類型和保留的程度都可以設(shè)置,而不僅僅局限于Post-fit Netlist,從而獲得相應(yīng)的保留力度和優(yōu)化效果。由于有了EDA工具的有力支持,雖然是精確到門級(jí)的細(xì)粒度約束,設(shè)計(jì)者只須進(jìn)行一系列設(shè)置操作即可,不需要關(guān)心布局和布線的具體信息。由于精確到門級(jí)的約束內(nèi)容過于繁多,在qsf文件中保存不下,得到保留的網(wǎng)表可以以Partial Netlist的形式輸出到一個(gè)單獨(dú)的文件qxp中,配和qsf文件中的粗略配置信息一起完成增量編譯。
4. 核心頻率約束+時(shí)序例外約束+I/O約束+LogicLock
LogicLock是在FPGA器件底層進(jìn)行的布局約束。LogicLock的約束是粗粒度的,只規(guī)定設(shè)計(jì)頂層模塊或子模塊可以調(diào)整的布局位置和大小(LogicLock Regions)。成功的LogicLock需要設(shè)計(jì)者對(duì)可能的時(shí)序收斂目標(biāo)作出預(yù)計(jì),考慮特定邏輯資源(引腳、存儲(chǔ)器、DSP)與LogicLock Region的位置關(guān)系對(duì)時(shí)序的影響,并可以參考上一次時(shí)序成功收斂的結(jié)果。這一權(quán)衡和規(guī)劃FPGA底層物理布局的過程就是FloorPlanning。LogicLock給了設(shè)計(jì)者對(duì)布局位置和范圍更多的控制權(quán),可以有效地向EDA工具傳遞設(shè)計(jì)者的設(shè)計(jì)意圖,避免EDA工具由于缺乏布局優(yōu)先級(jí)信息而盲目優(yōu)化非關(guān)鍵路徑。由于模塊在每一次編譯中的布局位置變化被限定在了最優(yōu)的固定范圍內(nèi),時(shí)序收斂結(jié)果的可重現(xiàn)性也就更高。由于其粗粒度特性,LogicLock的約束信息并不很多,可以在qsf文件中得到保留。
需要注意的是,方法3和4經(jīng)常可以混合使用,即針對(duì)FloorPlanning指定的LogicLock Region,把它作為一個(gè)Design Partition進(jìn)行Incremental Compilation。這是造成上述兩種方法容易混淆的原因。
5. 核心頻率約束+時(shí)序例外約束+I/O約束+寄存器布局約束
寄存器布局約束是精確到寄存器或LE一級(jí)的細(xì)粒度布局約束。設(shè)計(jì)者通過對(duì)設(shè)計(jì)施加精準(zhǔn)的控制來獲得可靠的時(shí)序收斂結(jié)果。對(duì)設(shè)計(jì)中的每一個(gè)寄存器手工進(jìn)行布局位置約束并保證時(shí)序收斂是一項(xiàng)浩大的工程,這標(biāo)志著設(shè)計(jì)者能夠完全控制設(shè)計(jì)的物理實(shí)現(xiàn)。這是一個(gè)理想目標(biāo),是不可能在有限的時(shí)間內(nèi)完成的。通常的做法是設(shè)計(jì)者對(duì)設(shè)計(jì)的局部進(jìn)行寄存器布局約束并通過實(shí)際運(yùn)行布局布線工具來獲得時(shí)序收斂的信息,通過數(shù)次迭代逼近預(yù)期的時(shí)序目標(biāo)。
看到過一個(gè)這樣的設(shè)計(jì):一個(gè)子模塊的每一個(gè)寄存器都得到了具體的布局位置約束。該模塊的時(shí)序收斂也就相應(yīng)地在每一次重新編譯的過程中得到了保證。經(jīng)過分析,這一子模塊的設(shè)計(jì)和約束最初是在原理圖中進(jìn)行的,在達(dá)到時(shí)序收斂目標(biāo)后該設(shè)計(jì)被轉(zhuǎn)換為HDL語言描述,相應(yīng)的約束也保存到了配置文件中。
6. 核心頻率約束+時(shí)序例外約束+I/O約束+特定路徑延時(shí)約束
好的時(shí)序約束應(yīng)該是“引導(dǎo)型”的,而不應(yīng)該是“強(qiáng)制型”的。通過給出設(shè)計(jì)中關(guān)鍵路徑的時(shí)序延遲范圍,把具體而微的工作留給EDA工具在該約束的限定范圍內(nèi)自由實(shí)現(xiàn)。這也是一個(gè)理想目標(biāo),需要設(shè)計(jì)者對(duì)每一條時(shí)序路徑都做到心中有數(shù),需要設(shè)計(jì)者分清哪些路徑是可以通過核心頻率和簡單的時(shí)序例外約束就可以收斂的,哪些路徑是必須制定MaxDelay和MinDelay的,一條也不能遺漏,并且還需要EDA工具“善解人意”的有力支持。設(shè)定路徑延時(shí)約束就是間接地設(shè)定布局布線約束,但是比上述3、4、5的方法更靈活,而且不失其準(zhǔn)確性。通過時(shí)序約束而不是顯式的布局和網(wǎng)表約束來達(dá)到時(shí)序收斂才是時(shí)序約束的真諦。
記得有人說過“好的時(shí)序是設(shè)計(jì)出來的,不是約束出來的”,我一直把這句話作為自己進(jìn)行邏輯設(shè)計(jì)和時(shí)序約束的指導(dǎo)。好的約束必須以好的設(shè)計(jì)為前提。沒有好的設(shè)計(jì),在約束上下再大的功夫也是沒有意義的。不過,通過正確的約束也可以檢查設(shè)計(jì)的優(yōu)劣,通過時(shí)序分析報(bào)告可以檢查出設(shè)計(jì)上時(shí)序考慮不周的地方,從而加以修改。通過幾次“分析—修改—分析”的迭代也可以達(dá)到完善設(shè)計(jì)的目標(biāo)。應(yīng)該說,設(shè)計(jì)是約束的根本,約束是設(shè)計(jì)的保證,二者是相輔相成的關(guān)系。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 一文看懂電壓轉(zhuǎn)換的級(jí)聯(lián)和混合概念
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖