使用時(shí)鐘周期約束的優(yōu)勢(shì)
摘要:通過賽靈思ISE及工具行為方式深入了解TS_clk約束,在FPGA設(shè)計(jì)方案中獲得高效率時(shí)序收斂。
本文引用地址:http://m.butianyuan.cn/article/131691.htm設(shè)計(jì)人員可通設(shè)置時(shí)序約束來滿足芯片設(shè)計(jì)的具體時(shí)序需求。物理綜合工具可通過布局布線滿足這些時(shí)序約束。一個(gè)非常常見且重要的時(shí)序約束條件與最大時(shí)鐘頻率密切相關(guān),我們通常稱其為周期約束。在Xilinx ISE工具套件中,該約束在用戶約束文件(UCF)中被稱之為TS_clk。賽靈思時(shí)序約束用戶指南規(guī)定,周期約束用于:
1)定義設(shè)計(jì)中的每個(gè)時(shí)鐘;
2)覆蓋每個(gè)時(shí)鐘域中的所有同步路徑;
3)交叉檢查相關(guān)時(shí)鐘域之間的路徑;
4)定義時(shí)鐘持續(xù)時(shí)間;
5)定義時(shí)鐘占空比。
用戶指南包含豐富的詳細(xì)信息,并對(duì)周期約束功能提供了良好的相關(guān)解釋。不過我們應(yīng)當(dāng)深入了解FPGA綜合工具背后的奧秘,探索相關(guān)周期約束行為的一系列問題,并掌握布局布線的算法如何工作。具體而言,我們將討論解釋TS_clk約束失效的方法,通過漸進(jìn)約束工具來檢查您是否正在逐步改善結(jié)果,討論為什么工具顯示的結(jié)果存在差異。最后我們還將了解這種時(shí)序約束相對(duì)于非約束設(shè)計(jì)的優(yōu)劣。
如何解釋TS_clk約束失效
如果設(shè)計(jì)不能滿足時(shí)鐘周期約束要求,就意味著它不能在相應(yīng)的時(shí)鐘頻率下運(yùn)行。此后您可進(jìn)行流水線設(shè)計(jì),在慢速路徑下放松時(shí)序要求。流水線技術(shù)可能足以讓設(shè)計(jì)滿足約束條件。還有一種改進(jìn)時(shí)序的辦法就是減少兩個(gè)寄存器之間的邏輯級(jí)數(shù),事實(shí)上您需要簡(jiǎn)化關(guān)鍵路徑中的邏輯設(shè)計(jì)。這兩種方法都適用于設(shè)計(jì)層面,在該層面上設(shè)計(jì)人員可對(duì)RTL代碼進(jìn)行必要的調(diào)整。如果您的設(shè)計(jì)在RTL調(diào)整后仍無法滿足時(shí)序要求,下一步就要啟用賽靈思ISE開關(guān):register_balancing(專門用于寄存器重新定時(shí))與register_duplication(可復(fù)制寄存器,降低特定寄存器下的高扇出)。
改進(jìn)時(shí)序的另一種途徑就是將引腳正確地分配給I/O信號(hào)。良好的設(shè)計(jì)實(shí)踐是將相鄰的引腳分配給相鄰的信號(hào)。例如,一個(gè)I/O總線上的所有信號(hào)應(yīng)分配給一個(gè)bank上的相鄰引腳。分配大量引腳時(shí)應(yīng)使用相鄰bank。
以上問題非常重要,它們將作為布局布線工具的約束條件。該工具通常會(huì)盡量使相關(guān)邏輯在一起,如果相關(guān)I/O分配給相鄰引腳,這就比較容易,因?yàn)樵摷夹g(shù)很有可能將減少布線延遲,然后工具也不會(huì)分散器件上的邏輯。分散邏輯會(huì)加大布線延遲。
一般而言,在FPGA必須位于印刷電路板上時(shí),在分配引腳時(shí)就要考慮更多相關(guān)電路板的問題。由于FPGA會(huì)與電路板上其它芯片連接,因而相鄰引腳分配法不見得總能適用。因此,F(xiàn)PGA設(shè)計(jì)人員最好在設(shè)計(jì)階段早期就與電路板設(shè)計(jì)人員溝通,以減少引腳分配沖突。
還有一種改進(jìn)時(shí)序的方法是使用更高速級(jí)別的器件。不過,這會(huì)影響產(chǎn)品價(jià)格,因此這不是輕易可以選擇的。我們不光要考慮器件本身成本的提高,還要考慮更高速器件會(huì)對(duì)電路板設(shè)計(jì)產(chǎn)生的影響,進(jìn)而對(duì)電路板設(shè)計(jì)成本的影響。
評(píng)論