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