為便于說(shuō)明,這里我們給出一個(gè)應(yīng)用案例。DFX設(shè)計(jì)中有兩個(gè)RP:count和shift。每個(gè)RP下分別有兩個(gè)RM,即count下有count_down和count_up兩個(gè)RM,shift下有shift_left和shift_right兩個(gè)RM,如下圖所示。
標(biāo)準(zhǔn)的DFX流程會(huì)形成兩個(gè)configuration,如下圖所示。config_1為static + count_up +shift_right,config_2為static +count_down + shift_left。在此基礎(chǔ)上形成兩個(gè)Design Runs,其中parent run為impl_1,child run為child_0_impl_1,如下圖所示。
執(zhí)行impl_1,直至生成布線后的.dcp文件,共4個(gè)。top_routed.dcp:整個(gè)設(shè)計(jì)布線后的.dcp文件(static + count_up + shift_right)top_routed_bb.dcp:靜態(tài)區(qū)布線后的.dcp文件(static + count_blacbox + shift_blackbox)此時(shí),靜態(tài)區(qū)布局布線信息被鎖定,每個(gè)RP被當(dāng)作黑盒子。u_count_count_up_routed.dcp:RM count_up布線后的.dcpu_shift_shift_right_routed.dcp:RM shift_right布線后的.dcp
Abstract Shell流程和標(biāo)準(zhǔn)的DFX流程至此操作是相同的。接下來(lái)Abstract Shell流程就需要對(duì)每個(gè)RP生成相應(yīng)的Abstract Shell。此時(shí)需要用到的文件是top_routed.dcp。打開該文件執(zhí)行命令write_abstract_shell,如下圖所示。
以圖中第19行代碼為例,write_abstract_shell會(huì)首先通過(guò)命令update_design -blackbox將RP count的RM換為黑盒子,之后鎖定相關(guān)靜態(tài)區(qū)與之的接口信息以及RP count的位置信息,并生成相應(yīng)的.dcp文件即ab_sh_count.dcp。這個(gè)過(guò)程中還會(huì)執(zhí)行pr_verify命令(這些命令都被包含在wrtie_abstract_shell中,不需要單獨(dú)執(zhí)行)。
打開ab_sh_count.dcp,可以看到Netlist窗口下顯示的信息除了靜態(tài)區(qū)部分cell之外就是RP count對(duì)應(yīng)的黑盒子u_count,同時(shí)左側(cè)Physical Constraints窗口表明RP count的位置信息已經(jīng)被鎖定。
同樣地,也要生成另外一個(gè)RP即RP shift對(duì)應(yīng)的Abstract Shell文件:ab_sh_shift.dcp。接下來(lái)分別用這兩個(gè)AbstractShell文件生成各自RP下新的RM對(duì)應(yīng)的.dcp文件。例如,對(duì)于RP count,添加ab_sh_count.dcp,添加count_down綜合后的.dcp文件count.dcp,執(zhí)行布局布線,生成相應(yīng)的.dcp,相關(guān)命令如下圖所示。
同樣地,需要生成RP shift下新的RM對(duì)應(yīng)的.dcp。由于這兩個(gè)操作只需要各自對(duì)應(yīng)的Abstract Shell,故相互獨(dú)立互不干擾,從而可并行執(zhí)行,縮短編譯時(shí)間。
最后,生成相應(yīng)的Partial Bitstream文件。比較簡(jiǎn)單的方法是直接利用Abstract Shell方式生成的.dcp文件生成對(duì)應(yīng)的Bitstream。例如:利用abstract_shell_count_down_routed.dcp可生成count_down對(duì)應(yīng)的Bitstream文件。
對(duì)比標(biāo)準(zhǔn)DFX設(shè)計(jì)流程和AbstractShell流程如下圖所示。
編輯:jq
-
RM
+關(guān)注
關(guān)注
0文章
14瀏覽量
36385 -
DCP
+關(guān)注
關(guān)注
0文章
30瀏覽量
17196 -
DFx
+關(guān)注
關(guān)注
0文章
35瀏覽量
10512
原文標(biāo)題:Abstract Shell流程分析(2)
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論