在Vivado FlowNavigator中有一個Elaborated Design,如下圖所示,屬于RTL Analysis這一步對應(yīng)的設(shè)計。可能很多工程師都沒有使用到,而實際上對于代碼優(yōu)化,它是很有幫助的。
通常情況下,我們總是習(xí)慣了打開綜合后的設(shè)計,執(zhí)行諸如
report_timing
report_timing_summary
report_design_analysis
等命令分析時序,卻忽視了RTL代碼層面的優(yōu)化。通過這些命令找到關(guān)鍵路徑之后,一個重要的步驟是檢查這些路徑上的邏輯單元是否很好地映射到FPGA器件中。如果沒有,就要嘗試通過修改RTL代碼、使用綜合屬性(Synthesis Attribute)、設(shè)置綜合選項、使用BlockLevel綜合技術(shù)或者使用不同的綜合策略優(yōu)化RTL代碼,使得在綜合之后時序能夠達到一個較好的結(jié)果。這對于邏輯級數(shù)較高的路徑尤為重要。因為高邏輯級數(shù)的路徑會對后期布局布線帶來很大的壓力,同時成為設(shè)計整體性能提升的瓶頸,更明顯的是改善高邏輯級數(shù)路徑的常用且有效的方法是插入流水寄存器以降低邏輯級數(shù),這一工作在設(shè)計初期完成最為快捷,越是在設(shè)計后期越難以做這一工作。
在Vivado Project模式下,同時打開Synthesized Design和ElaboratedDesign。在Synthesized Design下對設(shè)計進行分析,找到設(shè)計的關(guān)鍵路徑,生成相應(yīng)的時序報告,如下圖所示。選中圖中的時序路徑,按下F4,會生成該路徑對應(yīng)的Schematic視圖,同時還可以看到路徑上的邏輯單元(cell)和單元之間的連線(net)都已被選中。此時切換到Elaborated Design,按下F4,可看到這條路徑在Elaborated Design下的Schematic視圖。這時候就可以檢查這條路徑的RTL邏輯單元,尤其是注意執(zhí)行了哪些操作、數(shù)據(jù)位寬是否合理。
責(zé)任編輯人:CC
-
RTL
+關(guān)注
關(guān)注
1文章
388瀏覽量
60663 -
design
+關(guān)注
關(guān)注
0文章
161瀏覽量
46384
原文標(biāo)題:借助Elaborated Design優(yōu)化RTL代碼
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何在不改變RTL代碼的情況下,優(yōu)化FPGA HLS設(shè)計

RTL級設(shè)計的基本要素和步驟是什么

優(yōu)化 FPGA HLS 設(shè)計
怎么利用Synphony HLS為ASIC和FPGA架構(gòu)生成最優(yōu)化RTL代碼?
來自vivado hls的RTL可以由Design Compiler進行綜合嗎?
怎么解決Conformal做RTL和netlist的形式驗證時綜合優(yōu)化的電路也會報不相等?
RTL功耗優(yōu)化

Vivado中的Elaborate是做什么的?
簡述Vivado中的Elaborate的作用

Cadence 推出 Joules RTL Design Studio,將 RTL 生產(chǎn)力和結(jié)果質(zhì)量提升到新的高度

評論