新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 增量設計流程針對需要變更部分進行優(yōu)化

增量設計流程針對需要變更部分進行優(yōu)化

作者: 時間:2011-05-27 來源:網(wǎng)絡 收藏

將綜合工具的功能和集成設計環(huán)境 (IDE) 結(jié)合在一起,提供高效的設計方法,管理工程設計變更通知 (ECO) 需求,使設計人員能對原設計作模塊級變更,即只更改那些需要變更的部分。這種大大減少了變更對那些原已成熟的設計部分的影響,因此能夠節(jié)省時間和資源。

  FPGA設計人員總是希望設計“一次便成功”,但由于復雜的大型系統(tǒng)中涉及各種復雜功能、性能要求,以及數(shù)量龐大的系統(tǒng)門,因此,不管他們花費多少時間和精力,通常都需要更改設計、糾正一些邏輯問題或做進一步的優(yōu)化。與傳統(tǒng)的相比,面向設計/綜合及布局布線物理實現(xiàn)而開發(fā)的,卻非常適合于修改或優(yōu)化設計中的特定部分,而且不會影響已經(jīng)達到設計要求的其它部分。如果因為系統(tǒng)內(nèi)存受限或涉及大強度運行時間而難于采用自上而下的嚴密方法時,設計人員還可采用設計流程完成大型設計。在增量設計流程中還采用了其它一些設計策略,以便在繼續(xù)獨立地開發(fā)設計某些部分的同時,凍結(jié)該設計的另一些部分。

本文引用地址:http://www.butianyuan.cn/article/191195.htm

  傳統(tǒng)設計的創(chuàng)建和物理實現(xiàn)

  一般的FPGA開發(fā)流程有如下幾個步驟:用HDL語言創(chuàng)建設計;運行綜合前仿真;設置約束;綜合設計;運行綜合后仿真 ;進行布局布線 ;分析設計的時序性能。

  若能滿足功能和時序性能的要求,則可生成編程文件并對器件進行編程。Libero IDE (集成設計環(huán)境) 白金版工具配有Actel及其合作伙伴提供的一流開發(fā)工具,可成功地管理“一次性成功”的設計。為了改善性能,Actel 的SmartTime時序分析和約束管理工具提供了識別和解析設計中關鍵路徑的功能。此外,Magma PALACE物理綜合工具一般都能大幅提升Actel的Fusion可編程系統(tǒng)芯片 (PSoC) 和ProASIC3器件的整體性能。

  但若在初始布局完成后還需要進一步優(yōu)化設計的某些部分,那該怎么辦?若性能還不穩(wěn)定,或有些構(gòu)件還存在功能問題,又該怎么辦?

  增量設計流程的概念和優(yōu)勢

  增量設計流程 (見圖1) 與傳統(tǒng)的綜合/物理實現(xiàn)流程非常相似。不過,該流程在初始綜合項目設置和編譯之后增加了一些“編譯點”。這些編譯點是設計的一部分,但作為相對獨立的綜合單元存在;它們有自己的約束文件,進行單獨優(yōu)化 ;而且只在必要時才需根據(jù)設計關聯(lián)分析和設計變更性質(zhì)進行重新綜合。為確保增量設計的穩(wěn)定性以及實現(xiàn)具有多個輸出網(wǎng)表的層次化的布局布線 (每個編譯點有一個輸出網(wǎng)表,每個設計的頂層有一個網(wǎng)表),這些編譯點會被鎖定。“鎖定”編譯點是指在綜合該編譯點的上一層時,不對該點進行重新優(yōu)化,其層次接口保持不變,且不對其邊界進行優(yōu)化。這意味著同一個被鎖定的編譯點的所有實例都采用相同的物理實現(xiàn),在綜合中均同等對待。


  另外,設計組可同時在各個編譯點獨立展開工作,每個編譯點均視為可進行增量修改和個別映射的單獨構(gòu)件,設計中可識別和嵌套任意數(shù)目的編譯點。采用編譯點后,就可管理設計變更,且不影響其它設計部分。

  增量設計流程中采用一種“基于差異”的增量綜合方法,跟蹤設計的變化和關聯(lián)。這樣,只有那些直接受增量變更影響的設計部分才會進行重新綜合。這種綜合方法也可確保網(wǎng)表中所作的增量變更能被相應的網(wǎng)表導入和編譯功能所識別。設計人員可用“Layout Options”(布局選項) 菜單中的“Incremental Mode”(增量模式) 和“Lock Existing Layout”(鎖定現(xiàn)有布局) 選項來盡可能保持原有的布局布線。只有那些與綜合工具產(chǎn)生的編譯點變更直接相關的布局部分才會被更新和修改。

  Synplify Pro 綜合工具的MultiPoint功能和Actel的Libero集成設計環(huán)境 (IDE) 一起提供了高效的增量設計方法,管理真正的工程設計變更通知 (ECO) 需求。兩者的結(jié)合使設計人員能對原設計作模塊級變更,即只更改那些需要變更的部分。這種設計流程大大減少了變更對那些原已成熟的設計部分的影響,因此能夠節(jié)省時間和資源。

  例如,你可用Synplify Pro中的MultiPoint 為日后設計或重新設計預留多個“編譯點”。也可將設計分成一些較小的綜合對象,以便對其中一些區(qū)塊進行修改,同時又不影響另一些區(qū)塊。在特大型設計中,MultiPoint還能對增量區(qū)塊進行設計和綜合,避免系統(tǒng)內(nèi)存或運行時間方面的問題。

  Actel 的Libero可輕易接受Synplify Pro的MultiPoint 綜合產(chǎn)生的更新網(wǎng)表。Libero中“增量”布局布線流程提供ECO方法,而且,只更新那些需要更新的布局部分,原布局中 (由用戶選中) 的其余部分將不受影響。顯然,用增量布局方法比重新進行整個布局快得多。

  在許多情況下,你可能需要返回到最初的設計,進行功能和性能修改,使其達到設計要求。此時,若使用Synplify Pro中的MultiPoint 綜合和Libero IDE中的布局布線選項,設計人員就可用有效的增量ECO模式方法,以最短的時間完成設計更新,且不會影響那些已經(jīng)完成的寶貴的設計和開發(fā)工作。

  而且,Libero IDE中的設計“視圖”允許在同一設計項目中獨立保存設計的不同版本。這個功能可讓設計人員保存先前的約束和布局布線文件,從而在增量設計布局與原來的布局間作比較。這樣,你就能輕松判斷增量修改后的設計能否滿足設計要求,或原來的方案是否更好些。有了這些視圖,你就能輕松地在原始布局上進行更改,或以各增量布局為起點逐次進行更改,并比較每次迭代的結(jié)果。

  增量設計流程能夠給用戶帶來許多益處 :一方面,可將大型設計分解成一些較小的區(qū)塊,減少綜合和布局布線的總體運行次數(shù)和內(nèi)存需求;第二,可在Synplify Pro中標記網(wǎng)表或布局中感興趣的區(qū)域,并以增量方法進行修改,最大限度地減少對原布局的影響,同時還能節(jié)約重新綜合和布局運行時間;第三,傳統(tǒng)自下而上的設計需要設計人員編寫和維護一些費時且易出錯的腳本,用于引導綜合和跟蹤設計關聯(lián)。增量流程采用基于差異的增量綜合方法,無需這類腳本。


上一頁 1 2 3 下一頁

關鍵詞: 增量 設計流程

評論


相關推薦

技術專區(qū)

關閉