工程師談FPGA時(shí)序約束七步法
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2016-06-12 14:07:06
0. 頻率約束
這是基本的,所以標(biāo)號(hào)為0。
1. 頻率約束+時(shí)序例外約束
時(shí)序例外約束包括FalsePath、MulticyclePath、MaxDelay、MinDelay。但這還不是完整的時(shí)序約束。如果僅有這些約束的話,說(shuō)明設(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ì)文檔。 riple
正因?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)定的問(wèn)題都有可能是由此引起的。
3. 頻率約束+時(shí)序例外約束+I/O約束+Post-fit Netlist
引入Post-fit Netlist的過(guò)程是從成功的時(shí)序收斂結(jié)果開(kāi)始,把特定的一組邏輯(Design Partition)在FPGA上實(shí)現(xiàn)的布局位置和布線結(jié)果(Netlist)固定下來(lái),保證這一布局布線結(jié)果可以在新的編譯中重現(xiàn),相應(yīng)地,這一組邏輯的時(shí)序收斂結(jié)果也就得到了保證。這個(gè)部分保留上編譯結(jié)果的過(guò)程就是Incremental Compilation,保留的網(wǎng)表類(lèi)型和保留的程度都可以設(shè)置,而不僅僅局限于Post-fit Netlist,從而獲得相應(yīng)的保留力度和優(yōu)化效果。由于有了EDA工具的有力支持,雖然是到門(mén)級(jí)的細(xì)粒度約束,設(shè)計(jì)者只須進(jìn)行一系列設(shè)置操作即可,不需要關(guān)心布局和布線的具體信息。由于到門(mén)級(jí)的約束內(nèi)容過(guò)于繁多,在qsf文件中保存不下,得到保留的網(wǎng)表可以以Partial Netlist的形式輸出到一個(gè)單獨(dú)的文件qxp中,配和qsf文件中的粗略配置信息一起完成增量編譯。
4. 頻率約束+時(shí)序例外約束+I/O約束+LogicLock
LogicLock是在FPGA器件底層進(jìn)行的布局約束。LogicLock的約束是粗粒度的,只規(guī)定設(shè)計(jì)頂層模塊或子模塊可以調(diào)整的布局位置和大?。↙ogicLock Regions)。成功的LogicLock需要設(shè)計(jì)者對(duì)可能的時(shí)序收斂目標(biāo)作出預(yù)計(jì),考慮特定邏輯資源(引腳、存儲(chǔ)器、DSP)與LogicLock Region的位置關(guān)系對(duì)時(shí)序的影響,并可以參考上時(shí)序成功收斂的結(jié)果。這一權(quán)衡和規(guī)劃FPGA底層物理布局的過(guò)程就是FloorPlanning。LogicLock給了設(shè)計(jì)者對(duì)布局位置和范圍更多的控制權(quán),可以有效地向EDA工具傳遞設(shè)計(jì)者的設(shè)計(jì)意圖,避免EDA工具由于缺乏布局優(yōu)先級(jí)信息而盲目?jī)?yōu)化非關(guān)鍵路徑。由于模塊在每編譯中的布局位置變化被限定在了的固定范圍內(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的細(xì)粒度布局約束。設(shè)計(jì)者通過(guò)對(duì)設(shè)計(jì)施加精準(zhǔn)的控制來(lái)獲得可靠的時(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)行寄存器布局約束并通過(guò)實(shí)際運(yùn)行布局布線工具來(lái)獲得時(shí)序收斂的信息,通過(guò)數(shù)次迭代逼近預(yù)期的時(shí)序目標(biāo)。 riple
不久前我看到過(guò)一個(gè)這樣的設(shè)計(jì):一個(gè)子模塊的每一個(gè)寄存器都得到了具體的布局位置約束。該模塊的時(shí)序收斂也就相應(yīng)地在每重新編譯的過(guò)程中得到了保證。經(jīng)過(guò)分析,這一子模塊的設(shè)計(jì)和約束初是在原理圖中進(jìn)行的,在達(dá)到時(shí)序收斂目標(biāo)后該設(shè)計(jì)被轉(zhuǎn)換為HDL語(yǔ)言描述,相應(yīng)的約束也保存到了配置文件中。
6. 頻率約束+時(shí)序例外約束+I/O約束+特定路徑延時(shí)約束
好的時(shí)序約束應(yīng)該是“引導(dǎo)型”的,而不應(yīng)該是“強(qiáng)制型”的。通過(guò)給出設(shè)計(jì)中關(guān)鍵路徑的時(shí)序延遲范圍,把具體而微的工作留給EDA工具在該約束的限定范圍內(nèi)自由實(shí)現(xiàn)。這也是一個(gè)理想目標(biāo),需要設(shè)計(jì)者對(duì)每一條時(shí)序路徑都做到心中有數(shù),需要設(shè)計(jì)者分清哪些路徑是可以通過(guò)頻率和簡(jiǎn)單的時(shí)序例外約束就可以收斂的,哪些路徑是必須制定MaxDelay和MinDelay的,一條也不能遺漏,并且還需要EDA工具“善解人意”的有力支持。設(shè)定路徑延時(shí)約束就是間接地設(shè)定布局布線約束,但是比上述3、4、5的方法更靈活,而且不失其準(zhǔn)確性。通過(guò)時(shí)序約束而不是顯式的布局和網(wǎng)表約束來(lái)達(dá)到時(shí)序收斂才是時(shí)序約束的真諦。
記得有網(wǎng)友說(shuō)過(guò)“好的時(shí)序是設(shè)計(jì)出來(lái)的,不是約束出來(lái)的”,我一直把這句話作為自己進(jìn)行邏輯設(shè)計(jì)和時(shí)序約束的指導(dǎo)。好的約束必須以好的設(shè)計(jì)為前提。沒(méi)有好的設(shè)計(jì),在約束上下再大的功夫也是沒(méi)有意義的。不過(guò),通過(guò)正確的約束也可以檢查設(shè)計(jì)的優(yōu)劣,通過(guò)時(shí)序分析可以檢查出設(shè)計(jì)上時(shí)序考慮不周的地方,從而加以修改。通過(guò)幾次“分析—修改—分析”的迭代也可以達(dá)到完善設(shè)計(jì)的目標(biāo)。應(yīng)該說(shuō),設(shè)計(jì)是約束的根本,約束是設(shè)計(jì)的保證,二者是相輔相成的關(guān)系。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 集成電路技術(shù)體系與場(chǎng)景化應(yīng)用指南2026/1/8 10:10:43
- 集成電路傳統(tǒng)封裝:材料與工藝的全面解讀2025/8/1 10:32:18
- 一文讀懂TTL電路的基本結(jié)構(gòu)、工作原理和特性2020/9/8 11:29:48
- 如何通過(guò)R10電位器線性改變VRF的電壓值2020/7/15 15:09:26
- 一種集成電路開(kāi)短路測(cè)試方案詳解2023/6/21 15:50:05
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開(kāi)關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見(jiàn)問(wèn)題分析









