新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > FPGA實戰(zhàn)開發(fā)技巧(7)

FPGA實戰(zhàn)開發(fā)技巧(7)

作者: 時間:2017-10-13 來源:網(wǎng)絡 收藏

技巧1、XST 主要參考資料:XST User Guide (ISE 安裝目錄doc 中的xst.pdf)
技巧2、 輔助參考資料:WP231 - HDL Coding PracTIces to Accelerate Design Performance
技巧3、特別注意之一:請給XST 加時序約束。

本文引用地址:http://butianyuan.cn/article/201710/365614.htm

通常我們會為工程添加 約束指定時序要求和管腳約束。但是 約束是給MAP,PAR 等實現(xiàn)使用的,綜合工具XST 并不能感知系統(tǒng)的時序要求。而為XST 添加 約束卻是使實現(xiàn)結(jié)果擁有最高頻率的關鍵。其原因是顯而易見的:實現(xiàn)工具只能在綜合網(wǎng)表的基礎上布局布線,而綜合工具卻可以根據(jù)要求調(diào)整綜合網(wǎng)表,使實現(xiàn)工具更容易滿足時序要求。如果不將時序目標告知綜合器,將導致我們對性能的要求得不到體現(xiàn)。

約束語法與 類似并且在XST User Guide 中有詳細描述。其實常用的Period、Offest等約束和UCF的語法是一模一樣的,可以直接使用在中。

給設計添加XCF 約束的方法是Synthesize - XST --> 右鍵 --> Synthesis Constraint File = 指定路徑

技巧4、特別注意之二:仔細察看綜合報告中的Warning。切記要仔細查看綜合報告中的所有Warning并確認是否是可以安全忽略的。綜合器產(chǎn)生Error會使工具停止工作,但是Warning 經(jīng)常會被用戶忽略。其實Waning可以提示很多潛在的邏輯問題,比如某些信號聲明了,被使用了,卻沒有被賦值,或者綜合器發(fā)現(xiàn)了Latch但卻不是期望的結(jié)果等等。

技巧5、 常用選項之一:keep_hierarchy - 保持層次。在初始設計/debug 的時候很有用。XST根據(jù)層次來綜合,不打破層次優(yōu)化,所有的寄存器名字都以名字排列,UCF 約束可以很方便得找到需要約束的對象。如果選擇soft,則在綜合時保持層次,而在map 時工具會打破層次來優(yōu)化,但是instance 的名字還是保留的。

技巧6、常用選項之二:register_duplicaTIon + max_fanout + equivalent_register_removal + resource_sharing - 允許自動復制寄存器,設置最大扇出,禁止資源共享。當TIming不滿足時使用復制寄存器的方法通常能改善一些瓶頸。綜合器為了節(jié)省面積而做出的某些優(yōu)化可能導致對時序不利,因此關閉equivalent_register_removal 和resource_sharing可能可以改善時序。

技巧7、常用選項之三:Add IO Buffers - 自動插入緩沖器。當我們的設計作為頂層使用時,通常讓工具自動插入IO buffer ;當需要將設計作為模塊插入別的設計中時,就需要禁止自動插入IO Buffer。

技巧8、常用選項之四: Number of Clock Buffers 和 buffer_type 約束: 當綜合結(jié)果中的BUFG 不是像想象中一樣時,我們可以通過下面兩種方法來解決:

- 用buffer_type 約束對該信號所使用的Buffer類型定義。具體使用方法在XST User Guide
- 手動插入BUFG,然后設置允許使用BUFG的數(shù)量,那么手動插入的將擁有高優(yōu)先級而先占用了BUFG,工具就不會再自動插BUFG 了。

技巧9、 BlackBox :調(diào)用其它已經(jīng)綜合好的網(wǎng)表需要使用BlackBox。BlackBox說白了就是只有端口說明的HDL文件。更多的BlackBox TIp請參考我的博客( 注:為RickySu 的博客)。

技巧10、XST的命令行模式:XST支持使用命令行模式進行批量操作。

命令行的XST 支持兩種模式:

Shell 方式 - 在cmd下輸入xst,然后在xst的shell 環(huán)境中一條一條打命令;
Script 方式 - 在cmd下用xst -ifn script.scr運行script.scr 內(nèi)的命令,或者在xst shell 中用script命令調(diào)用script.scr中的內(nèi)容。在此之前,會需要先準備好compile_list.prj。EDK 其實就使用這種方法調(diào)用XST。更詳細的語法參考XST User Guide。

技巧11、要查看綜合后的網(wǎng)表,除了XST自帶的RTL Schematic工具和Technology Schematic工具,還可以使用PlanAhead。他的顯示/ 查找能力更為強大,而且他會先合并所有的綜合網(wǎng)表,不會因為某個模塊式預先綜合好的而不能察看內(nèi)部狀況。



關鍵詞: FPGA XCF UCF

評論


相關推薦

技術專區(qū)

關閉