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