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