Xilinx的增量編譯技術(shù)
通常FPGA工程師編譯較大的工程時(shí)比較頭疼,因為編譯時(shí)間非常長(cháng),常常需要花費幾個(gè)小時(shí),如果是在調試階段,每次修改一個(gè)錯誤需要幾小時(shí),這樣效率就非常低。導致編譯時(shí)間較長(cháng)的原因有兩點(diǎn):1. 設計中資源利用比較大,synthesis、translate和map需要的時(shí)間較長(cháng);2. 設計的時(shí)序比較緊張,需要反復PR來(lái)達到最佳時(shí)序狀態(tài)。
本文引用地址:http://dyxdggzs.com/article/185642.htm如果不想修改工程代碼,想要縮短編譯時(shí)間,則可以采用增量編譯技術(shù),其基本原理就是根據前一次編譯的結果,只重新編譯部分修改過(guò)設計,其它部分則沿用前一次編譯的結果,這樣就可以縮短總體的編譯時(shí)間。Xilinx的增量編譯技術(shù)有兩種:SmartGuide和Partition。
SmartGuide:這個(gè)ISE中的全局優(yōu)化選項,使能這個(gè)選項,編譯器在Implementation時(shí)會(huì )比較前一次編譯的Implementation結果,未修改部分則沿用前一次的結果,但是如果時(shí)序比較緊張,會(huì )根據情況重新實(shí)現相應未修改部分來(lái)達到時(shí)序要求。SmartGuide主要能縮短MAP和PAR的時(shí)間。
SmartGuide具體的使用方法如下:
1. 右擊top module,然后點(diǎn)擊SmartGuide選項。
圖1
2. 選擇前一次的編譯信息,其中NCD文件包含當前設計的物理映射信息。
圖2
3. 點(diǎn)擊OK,使能SmartGuide。
Partition:基于partition(分區)的設計,如果一個(gè)partition的HDL代碼、時(shí)序、物理約束和實(shí)現選項未修改,實(shí)現工具會(huì )采用“復制粘貼”操作保留這部分partition的信息,從而縮短了實(shí)現的時(shí)間。partition設置后能縮短綜合、實(shí)現的時(shí)間。
自ISE12.1版本后,ISE軟件就不再支持partition選項,但是在PlanAhead軟件中支持partition功能(ISE快退出Xilinx軟件舞臺了,據說(shuō)以后有個(gè)Rodin的軟件,界面與現在的PlanAhead類(lèi)似)。如圖3所示,在Netlist窗口中右擊需要分區的module,然后選擇Set Partition即可。
圖3
參考文獻:
XAPP918:Incremental Design Reuse with Partitions
注:
評論