新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > Xilinx的增量編譯技術

        Xilinx的增量編譯技術

        作者: 時間:2012-10-17 來源:網絡 收藏

        通常FPGA工程師編譯較大的工程時比較頭疼,因為編譯時間非常長,常常需要花費幾個小時,如果是在調試階段,每次修改一個錯誤需要幾小時,這樣效率就非常低。導致編譯時間較長的原因有兩點:1. 設計中資源利用比較大,synthesis、translate和map需要的時間較長;2. 設計的時序比較緊張,需要反復PR來達到最佳時序狀態。

        本文引用地址:http://www.104case.com/article/185642.htm

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

        SmartGuide:這個ISE中的全局優化選項,使能這個選項,編譯器在Implementation時會比較前一次編譯的Implementation結果,未修改部分則沿用前一次的結果,但是如果時序比較緊張,會根據情況重新實現相應未修改部分來達到時序要求。SmartGuide主要能縮短MAP和PAR的時間。

        SmartGuide具體的使用方法如下:

        1. 右擊top module,然后點擊SmartGuide選項。

        圖1

        2. 選擇前一次的編譯信息,其中NCD文件包含當前設計的物理映射信息。

        圖2

        3. 點擊OK,使能SmartGuide。

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

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

        圖3

        參考文獻

        XAPP918:Incremental Design Reuse with Partitions

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



        關鍵詞: Xilinx 增量 編譯技術

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高碑店市| 永仁县| 婺源县| 淄博市| 庆元县| 泸定县| 麻阳| 集安市| 南靖县| 冷水江市| 共和县| 兴山县| 东兰县| 工布江达县| 和林格尔县| 和平县| 通许县| 连江县| 崇阳县| 固阳县| 青河县| 青川县| 黄石市| 梅河口市| 高淳县| 呈贡县| 浦东新区| 兴海县| 平潭县| 玉龙| 兖州市| 都安| 湘乡市| 城步| 都昌县| 溆浦县| 汉中市| 潞城市| 普兰店市| 闸北区| 淮安市|