<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何通過(guò)RTL分析、SDC約束和綜合向導更快推出FPGA設計

如何通過(guò)RTL分析、SDC約束和綜合向導更快推出FPGA設計

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

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

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

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


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


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


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


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


什么是 ?


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


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


SDC 不應過(guò)于復雜


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


迭代的另一個(gè)問(wèn)題在于,數名設計人員可能在不同的地點(diǎn)為 SDC 設計不同的模塊。這樣設計工作會(huì )變得非常復雜,設計團隊必須想辦法驗證SDC,避免在芯片級封裝階段出現層級名稱(chēng)的沖突。要確保進(jìn)行有效的設計協(xié)作,就必須采用適當的工具和方法。


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


對典型的 FPGA 設計而言,綜合解決方案還處于探索階段,不管是面積、速度還是功耗的優(yōu)化,都存在多個(gè)局部最大值和局部最小值。利用智能向導,我們能實(shí)現最佳解決方案,避免綜合工具聚集到任意的局部最小值。最有效的向導之一就是采用錯誤路徑和多周期路徑,避免綜合工具為不必要的組件浪費寶貴的優(yōu)化時(shí)間。


不過(guò),找到設計中的所有錯誤路徑 (FP) 和多周期路徑 (MCP) 并不容易?;ㄉ献銐虻臅r(shí)間,我們能找到一些簡(jiǎn)單的 FP 和 MCP,不過(guò)一些涉及狀態(tài)機和計數器的復雜 FP 和 MCP(特別是在多個(gè)層級中)則很難找到。幸運的是,FPGA 設計人員可采用Blue Pearl Software 等創(chuàng )新公司推出的工具執行自動(dòng)化 FP 和 MCO 生成,從而確保完整性、全面性和準確性。此外,這些工具還能為每個(gè) FP 和MCP 提供不同的機制,包括原理圖、斷言和審核路徑,從而讓用戶(hù)驗證其正確性。


由于 FPGA 廠(chǎng)商和商用 EDA 廠(chǎng)商的合作進(jìn)一步加強,采用通用接口,設計團隊就能夠將 Blue Pearl 軟件套件集成到他們所青睞的工作流程中。既然賽靈思的最新 Vivado 設計套件支持 SDC,那么在不同工具之間溝通設計意圖就變得極其簡(jiǎn)單(圖 2)。


除了與賽靈思及其他 FPGA 廠(chǎng)商協(xié)作外,Blue Pearl 公司還同Synopsys 開(kāi)展密切合作。這兩家公司共同研究如何讓綜合工具接受盡可能多的自動(dòng)生成的 SDC,同時(shí)避免設計人員進(jìn)行任何手動(dòng)修改。由于 SDC 格式對不同工具的使用差異很小,因此工作團隊快速明確命名方案是順利實(shí)現互操作性的一大挑戰。


這里的解決方案是在綜合的第一階段(編譯)后截取映射名稱(chēng),在 BluePearl 軟件套件的 SDC 生成工具中使用名稱(chēng)(見(jiàn)圖 3),并為綜合工具的第二階段(優(yōu)化)提供適當的 SDC。該方法給 FPGA 設計人員提供了一個(gè)最佳解決方案,無(wú)需花時(shí)間處理格式化問(wèn)題。


以下給出非優(yōu)化型約束編寫(xiě)示例:

set_false_path -from

[get_cells

{i_tv80_core.SP[*]}] -to

[get_cells

{i_tv80_core.i_reg.RegsL}]


優(yōu)化后則為:

set_false_path -from

[get_cells

{i_tv80_core.SP[*]}] -to

[get_cells

{i_tv80_core.i_reg.RegsL_2[7:0]}]


能取得哪些實(shí)際的效果?


Blue Pearl 軟件套件能實(shí)現一些任務(wù)的自動(dòng)化, 設計人員對其結果質(zhì)量(QoR) 很滿(mǎn)意。表 1 顯示了用 Blue Pearl 軟件套件自動(dòng)生成 SDC,能將示例設計的 QoR 提升 20%,該示例采用多個(gè) IP 核,其中包括 Verilog 的R1200 和 VHDL 的 AES 加密。


運行 1 未采用 Blue Pearl 軟件,結果沒(méi)有實(shí)現時(shí)序收斂。設計人員用RTL 設計或工具約束進(jìn)行迭代以滿(mǎn)足60MHz 的要求很容易就要花上好幾個(gè)星期的時(shí)間。在運行 2 中,Blue Pearl軟件套件幾分鐘就能生成 SDC,而自動(dòng)生成的SDC 足以指導下游工具滿(mǎn)足時(shí)序要求。


顯然,對 FPGA 設計人員來(lái)說(shuō),降低壓力、簡(jiǎn)化工作的一個(gè)好辦法就是跟別人一樣添加 RTL 分析、SDC 生成和工具。



關(guān)鍵詞: RTL SDC 綜合向導 FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>