新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何通過RTL分析、SDC約束和綜合向?qū)Ц焱瞥鯢PGA設(shè)計

如何通過RTL分析、SDC約束和綜合向?qū)Ц焱瞥鯢PGA設(shè)計

作者: 時間:2017-06-04 來源:網(wǎng)絡(luò) 收藏

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

大多數(shù) 設(shè)計人員都充滿熱情地開展專業(yè)化問題解決和創(chuàng)造性工作,當(dāng)然,他們工作壓力也相當(dāng)大,工作流程也非常單調(diào)乏味。幸運的是,EDA 公司和 廠商不斷開發(fā)新的工具和方法,推進(jìn)繁瑣任務(wù)的自動化,幫助設(shè)計團(tuán)隊集中精力做好創(chuàng)造性工作。下面我們就來看看 工具流程的演進(jìn)發(fā)展,了解一下現(xiàn)代 FPGA 團(tuán)隊是如何利用 分析、約束生成和綜合導(dǎo)向來減少設(shè)計迭代的。

如果您已經(jīng)是一名 FPGA 設(shè)計專業(yè)人士,那么將擁有輝煌的職業(yè)發(fā)展前景,因為越來越多傳統(tǒng)上需要 ASIC 實現(xiàn)的設(shè)計現(xiàn)已改用 FPGA。隨著新一代芯片工藝技術(shù)的推出,設(shè)計 ASIC的成本正呈幾何級數(shù)增加。與此同時,F(xiàn)PGA 廠商則能利用最新工藝技術(shù)實現(xiàn)新一代產(chǎn)品,且不會讓客戶承擔(dān)過重的成本負(fù)擔(dān)。


但不容樂觀的是,F(xiàn)PGA 設(shè)計相當(dāng)復(fù)雜,需要跟 ASIC 流程一樣復(fù)雜的工具流程,這往往需要整個設(shè)計團(tuán)隊的共同努力才能完成,而不能光靠一名設(shè)計人員。因此,F(xiàn)PGA 設(shè)計團(tuán)隊在著手ECO 或新項目之前應(yīng)認(rèn)真分析現(xiàn)有的工具套件。那么好消息呢?就是新一代EDA 工具如雨后春筍般涌出,可助他們一臂之力。設(shè)計人員可選擇采用標(biāo)準(zhǔn)數(shù)據(jù)格式且易于安裝和使用的工具,簡化流程集成工作,而且能夠在選定的平臺(不管是 Windows 還是 Linux)上實現(xiàn)本機(jī)運行。


FPGA 工具流程的發(fā)展演進(jìn)


這些年來,F(xiàn)PGA 設(shè)計日趨復(fù)雜,工具流程也隨之發(fā)展,而且越來越像 ASIC流程。上世紀(jì) 90 年代,F(xiàn)PGA 流程(見圖 1 的流程 A)跟當(dāng)時的簡易 ASIC 流程一樣,最初以 為基礎(chǔ),并采用綜合及布局布線工具。隨著設(shè)計變得進(jìn)一步復(fù)雜化,F(xiàn)PGA 團(tuán)隊在流程中增加了時序分析功能,幫助客戶確保設(shè)計能按指定的頻率運行。今天的 FPGA已經(jīng)發(fā)展為龐大的系統(tǒng)平臺,設(shè)計團(tuán)隊通常要通過 分析來最小化設(shè)計迭代,并確保設(shè)計能夠?qū)崿F(xiàn)相應(yīng)的性能目標(biāo)。


進(jìn)而言之,由于今天的 FPGA 設(shè)計項目非常龐大復(fù)雜,所以設(shè)計人員需要想盡一切辦法更好地了解設(shè)計的規(guī)模和復(fù)雜性,以便更好地控制流程中的工具,加速設(shè)計上市進(jìn)程。現(xiàn)代FPGA 設(shè)計團(tuán)隊正在采用一種新型方法,那就是在整個設(shè)計流程中貫穿約束機(jī)制。我們不妨看看當(dāng)下最流行的、現(xiàn)已得到賽靈思最新 Vivado 流程支持的一種約束方法——Synopsys 設(shè)計約束 () 格式,以及了解如何通過 讓設(shè)計項目受益。


什么是


SDC 是一款基于 TCL 的格式,可用來設(shè)定設(shè)計目標(biāo),包括設(shè)計的時序、功耗和面積約束。一些產(chǎn)品能讀取或?qū)懭?SDC。一些示例 SDC 約束包括時序約束(如創(chuàng)建時鐘、創(chuàng)建生成時鐘、設(shè)置輸入延遲和設(shè)置輸出延遲)和時序例外(如設(shè)置錯誤路徑、設(shè)置最大延遲、設(shè)置最小延遲以及設(shè)置多周期路徑)。這些 SDC 約束通常應(yīng)用于寄存器、時鐘、端口、引腳和網(wǎng)絡(luò)(連線)等設(shè)計對象。


需要指出的是,盡管 SDC 是標(biāo)準(zhǔn)化格式,但生成的 SDC 和讀取 SDC之間還是略有差異(不同工具之間有差異)。了解這些差異并積極采取措施,有助于避免意外情況的發(fā)生。


SDC 不應(yīng)過于復(fù)雜


SDC 最常見的應(yīng)用就是約束綜合。一般說來,設(shè)計人員要考慮設(shè)計的哪些方面需要約束,并為其編寫 SDC。設(shè)計人員通常要執(zhí)行流程 B 中描述的流程,首次肯定無法進(jìn)行時序收斂。隨后要反復(fù)手動盲目嘗試添加 SDC,以實現(xiàn)時序收斂,或讓設(shè)計能在指定的頻率上工作。許多從事過上述工作的設(shè)計人員都抱怨說設(shè)計迭代要花好幾個星期,往往會拖延設(shè)計進(jìn)程。


迭代的另一個問題在于,數(shù)名設(shè)計人員可能在不同的地點為 SDC 設(shè)計不同的模塊。這樣設(shè)計工作會變得非常復(fù)雜,設(shè)計團(tuán)隊必須想辦法驗證SDC,避免在芯片級封裝階段出現(xiàn)層級名稱的沖突。要確保進(jìn)行有效的設(shè)計協(xié)作,就必須采用適當(dāng)?shù)墓ぞ吆头椒ā?/p>


流程 C 是現(xiàn)代化流程,除了流程B 的工具之外還采用了分析、SDC 約束和高層次綜合技術(shù),在解決上述問題方面發(fā)揮了重大作用。

RTL SDC 綜合向?qū)?/a> FPGA

評論


相關(guān)推薦

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

關(guān)閉