新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > Xilinx的增量編譯技術(shù)

Xilinx的增量編譯技術(shù)

作者: 時(shí)間:2012-10-17 來源:網(wǎng)絡(luò) 收藏

通常FPGA工程師編譯較大的工程時(shí)比較頭疼,因?yàn)榫幾g時(shí)間非常長,常常需要花費(fèi)幾個(gè)小時(shí),如果是在調(diào)試階段,每次修改一個(gè)錯(cuò)誤需要幾小時(shí),這樣效率就非常低。導(dǎo)致編譯時(shí)間較長的原因有兩點(diǎn):1. 設(shè)計(jì)中資源利用比較大,synthesis、translate和map需要的時(shí)間較長;2. 設(shè)計(jì)的時(shí)序比較緊張,需要反復(fù)PR來達(dá)到最佳時(shí)序狀態(tài)。

本文引用地址:http://2s4d.com/article/185642.htm

如果不想修改工程代碼,想要縮短編譯時(shí)間,則可以采用,其基本原理就是根據(jù)前一次編譯的結(jié)果,只重新編譯部分修改過設(shè)計(jì),其它部分則沿用前一次編譯的結(jié)果,這樣就可以縮短總體的編譯時(shí)間。有兩種:SmartGuide和Partition。

SmartGuide:這個(gè)ISE中的全局優(yōu)化選項(xiàng),使能這個(gè)選項(xiàng),編譯器在Implementation時(shí)會(huì)比較前一次編譯的Implementation結(jié)果,未修改部分則沿用前一次的結(jié)果,但是如果時(shí)序比較緊張,會(huì)根據(jù)情況重新實(shí)現(xiàn)相應(yīng)未修改部分來達(dá)到時(shí)序要求。SmartGuide主要能縮短MAP和PAR的時(shí)間。

SmartGuide具體的使用方法如下:

1. 右擊top module,然后點(diǎn)擊SmartGuide選項(xiàng)。

圖1

2. 選擇前一次的編譯信息,其中NCD文件包含當(dāng)前設(shè)計(jì)的物理映射信息。

圖2

3. 點(diǎn)擊OK,使能SmartGuide。

Partition:基于partition(分區(qū))的設(shè)計(jì),如果一個(gè)partition的HDL代碼、時(shí)序、物理約束和實(shí)現(xiàn)選項(xiàng)未修改,實(shí)現(xiàn)工具會(huì)采用“復(fù)制粘貼”操作保留這部分partition的信息,從而縮短了實(shí)現(xiàn)的時(shí)間。partition設(shè)置后能縮短綜合、實(shí)現(xiàn)的時(shí)間。

自ISE12.1版本后,ISE軟件就不再支持partition選項(xiàng),但是在PlanAhead軟件中支持partition功能(ISE快退出軟件舞臺(tái)了,據(jù)說以后有個(gè)Rodin的軟件,界面與現(xiàn)在的PlanAhead類似)。如圖3所示,在Netlist窗口中右擊需要分區(qū)的module,然后選擇Set Partition即可。

圖3

參考文獻(xiàn)

XAPP918:Incremental Design Reuse with Partitions

注:在 最近的項(xiàng)目中,為了縮短編譯時(shí)間,使能了SmartGuide選項(xiàng),但是發(fā)現(xiàn)時(shí)序一直很差,記得以前timing score都是0分的,然后采用了各種優(yōu)化:加bufg、關(guān)鍵路徑加register打拍等等,但是時(shí)序始終達(dá)不到0分。在快絕望的時(shí)候,突然發(fā)現(xiàn)之前使 能過SmartGuide選項(xiàng),把它去了試試,結(jié)果版本跑出來時(shí)序0分了,當(dāng)時(shí)是既欣喜又崩潰。 通過這次的經(jīng)歷,得到了一些教訓(xùn),在debug階段雖然使用能加快效率,但是前提是你的代碼功能、時(shí)序都需要滿足條件,之后才能使用增量編譯 繼續(xù)debug



關(guān)鍵詞: Xilinx 增量 編譯技術(shù)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉