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