京微雅格重磅之作―新版FPGA/CAP設(shè)計(jì)套件Primace5
使用技巧
時(shí)序約束設(shè)置方法
時(shí)序約束設(shè)置基本可以遵循先整體后局部,先高層后低層的規(guī)律分階段、分步驟的逐步細(xì)化設(shè)置。用戶可以按照以下順序設(shè)置時(shí)序約束:
核心頻率約束
通過(guò)約束每個(gè)時(shí)鐘的時(shí)鐘頻率以及相位關(guān)系,可以完成基礎(chǔ)的核心頻率約束。目前Priamce5.0支持的這類約束包括Clock Setup,Clock Hold,F(xiàn)alling edge, Generated Clock。
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)定的問(wèn)題都有可能是由此引起的。目前Primace5.0支持的這類約束包括Tsu,Th,Tco,Tpd。
時(shí)序例外約束
時(shí)序例外約束可以指出在全局約束下的特殊路徑集合,使得最終的時(shí)序約束準(zhǔn)確,嚴(yán)格。正確的應(yīng)用例外約束可以提高時(shí)序分析報(bào)告質(zhì)量,加快時(shí)序收斂過(guò)程。目前Primace5.0通過(guò)FalsePath來(lái)支持時(shí)序例外約束。
“好的時(shí)序是設(shè)計(jì)出來(lái)的,不是約束出來(lái)的”,好的約束必須以好的設(shè)計(jì)為前提。沒(méi)有好的設(shè)計(jì),在約束上下再大的功夫也是沒(méi)有意義的。不過(guò),通過(guò)正確的約束也可以檢查設(shè)計(jì)的優(yōu)劣,通過(guò)時(shí)序分析報(bào)告可以檢查出設(shè)計(jì)上時(shí)序考慮不周的地方,從而加以修改。通過(guò)幾次“分析-修改-分析”的迭代也可以達(dá)到完善設(shè)計(jì)的目標(biāo)。應(yīng)該說(shuō),設(shè)計(jì)是約束的根本,約束是設(shè)計(jì)的保證,二者是相輔相成的關(guān)系。
基于iXplorer的時(shí)序收斂方法
時(shí)序收斂(Timing Closure)指時(shí)序的不斷逼近,原理是采用多次迭代(循環(huán))的技術(shù)。因此時(shí)序收斂就是一個(gè)不斷反復(fù)的過(guò)程,以確保設(shè)計(jì)中的每個(gè)路徑都滿足時(shí)序要求。iXplorer是京微雅格定義的,嵌入在Primace工具中的時(shí)序收斂設(shè)計(jì)流程。Primace有很多選項(xiàng)設(shè)置和策略,但是無(wú)法保證哪種選項(xiàng)或約束會(huì)對(duì)所有的設(shè)計(jì)帶來(lái)最佳的效果。iXplorer技術(shù)能夠幫助用戶找到最佳的工具選項(xiàng)來(lái)實(shí)現(xiàn)時(shí)序要求或者找到設(shè)計(jì)的最高性能。iXplorer通過(guò)采用不同策略和選項(xiàng)來(lái)運(yùn)行多個(gè)布局布線版本并找出滿足時(shí)序要求的實(shí)現(xiàn)結(jié)果。目前iXplorer支持三種搜索算法來(lái)滿足不同場(chǎng)景下的使用需求:
Target fMAX,用戶指定期望的fMAX,啟動(dòng)iXplorer后,iXplorer開(kāi)始嘗試不同約束與選項(xiàng),直到達(dá)到給定的fMAX停止。
Max Loop Count,用戶指定最多iXplorer嘗試不同約束與選項(xiàng)組合的次數(shù),從給定次數(shù)的運(yùn)行結(jié)果中找到最佳實(shí)現(xiàn)結(jié)果。
Ending Before Time,用戶給定最晚結(jié)束時(shí)間,iXplorer會(huì)盡可能多的搜索約束與選項(xiàng)的組合,并在給定結(jié)束時(shí)間時(shí)停止。例如,用戶可以設(shè)結(jié)束時(shí)間為第二天早上八點(diǎn),然后在下班前啟動(dòng),第二天上班時(shí)去查看結(jié)果。
iXplorer會(huì)用時(shí)序驅(qū)動(dòng)的技術(shù)根據(jù)頻率目標(biāo)是否達(dá)到來(lái)加強(qiáng)或放松時(shí)序目標(biāo),這樣就可以判斷出所指定時(shí)鐘域的最高頻率限制。在優(yōu)化結(jié)束后,用戶可以從iXplorer報(bào)告中看到究竟哪種策略和選項(xiàng)對(duì)目前的設(shè)計(jì)是最佳的。
總結(jié)
Primace5.0是京微雅格最新發(fā)布的FPGA/CAP設(shè)計(jì)套件。本文簡(jiǎn)要介紹了Primace5.0包括基于時(shí)序驅(qū)動(dòng)的布局布線等新功能,并針對(duì)時(shí)序收斂問(wèn)題給出了兩種基于Primace5.0的設(shè)計(jì)方法。限于篇幅,本文不能盡述Primace5.0對(duì)用戶設(shè)計(jì)體驗(yàn)的改變,如果讀者對(duì)Primace5.0有任何問(wèn)題、意見(jiàn)或建議,請(qǐng)與京微雅格的銷售支持聯(lián)系。
評(píng)論