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