FPGA實(shí)戰(zhàn)開發(fā)技巧(8)
5.4 大規(guī)模設(shè)計(jì)帶來的綜合和布線問題
FPGA 設(shè)計(jì)的時(shí)序性能是由物理器件、用戶代碼設(shè)計(jì)以及EDA 軟件共同決定的,忽略了任何一方面的因素,都會對時(shí)序性能有很大的影響。本節(jié)主要給出大規(guī)模設(shè)計(jì)中,賽靈思物理器件和EDA 軟件的最優(yōu)使用方案。
本文引用地址:http://m.butianyuan.cn/article/201710/365612.htm1)IO 約束技巧
優(yōu)秀設(shè)計(jì)必須要考慮IO 約束的技巧。對于賽靈思器件來講,進(jìn)位鏈?zhǔn)谴怪狈植嫉?、邏輯排列塊之間也有水平方向上三態(tài)緩沖線的直接連接、且硬核單元基本都是按列分布( 在水平方向就具備最短路徑),因此最優(yōu)的方案為:將用于控制信號的I/O 置于器件的頂部或底部,且垂直布置;數(shù)據(jù)總線的I/O 置于器件的左部和右部,且水平布置,如圖5-16 所示。
圖5-16 賽靈思器件的最佳IO布局示意圖
這種IO 分配方式充分利用了Xilinx FPGA 芯片架構(gòu)的特點(diǎn),如進(jìn)位鏈排列方式以及塊RAM、硬核乘法器位置。進(jìn)位鏈的結(jié)構(gòu)如圖5-17 所示。能解決多位寬加法、乘法從最低位向最高位的進(jìn)位延時(shí)問題;塊RAM 和硬核乘法器可節(jié)約大量的邏輯資源且保證時(shí)序,二者在FPGA 芯片中都是自上而下成條狀分布,因此數(shù)據(jù)流水平、控制流垂直可最大限度地利用芯片底層架構(gòu)。當(dāng)然,在實(shí)際系統(tǒng)設(shè)計(jì)中,可能無法完全做到上述要求,但還是應(yīng)該盡可能地將高速率、多位寬的信號布置在芯片左右兩側(cè)。
圖5-17 賽靈思器件的進(jìn)位鏈結(jié)構(gòu)示意圖
2)ISE 的實(shí)現(xiàn)工具
ISE 中集成的實(shí)現(xiàn)工具具備不同的努力程度(Effort Level),當(dāng)然使用最高級別的,可以提高時(shí)序性能,而不必采取其它措施( 如施加更高級的時(shí)序約束,使用高級工具或者更改代碼等),但需要花費(fèi)很長的計(jì)算時(shí)間。為此,賽靈思推薦的最佳流程如圖5-18 所示。
圖5-18 賽靈思實(shí)現(xiàn)工具的最佳使用策略
在第一遍實(shí)現(xiàn)時(shí),使用全局時(shí)序約束和缺省的實(shí)現(xiàn)參數(shù)選項(xiàng),如果不能滿足時(shí)序要求,則可嘗試以下方法:
(1) 嘗試修改代碼,如使用合適的代碼風(fēng)格,增加流水線等;
(2) 修改綜合參數(shù)選項(xiàng),如OpTImizaTIon Effort,Use Synthesis Constraints File,Keep Hierarchy,Register
DuplicaTIon,Register Balancing 等;
(3) 增加實(shí)現(xiàn)工具的努力程度;
(4) 在綜合和實(shí)現(xiàn)時(shí)采用指定路徑時(shí)序約束的方法。
實(shí)現(xiàn)工具分為映射(MAP) 和布局布線(PAR) 兩部分,和PAR 一樣,也可使用Map-TIming 參數(shù)選項(xiàng)針對關(guān)鍵路徑進(jìn)行約束。如:參數(shù)“Timing-Driven Packing and Placement”給關(guān)鍵路徑以優(yōu)先時(shí)序約束的權(quán)利;用戶約束通過翻譯(Translate) 過程從User Constraints File (UCF ) 中傳遞到設(shè)計(jì)中。
評論