本文介紹了在 AMD VivadoDesign Tool中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程中要把具體步驟映射到相應(yīng)的 DFX 非工程模式的步驟,這樣才能更好地理解整個(gè)流程的運(yùn)行邏輯。
1. 創(chuàng)建初始普通工程
DFX 工程模式會將 DFX 的要求自動嵌入到 Vivdao 流程中,后續(xù)用戶可以在 Vivado IDE 中訪問該工程。
所有靜態(tài)邏輯和各個(gè) RM(Reconfigurable Module)的源文件,各個(gè) Configuration 的輸出文件都會都被自動管理,而在 DFX 非工程模式中這個(gè)文件都需要用戶自行管理。
DFX 模式中創(chuàng)建工程的流程和普通設(shè)計(jì)沒有區(qū)別,用戶需要把靜態(tài)部分的源文件和約束文件加入到新建的工程中。
Intitial Configuration 的 RM 所包含的源文件和約束文件可以在此時(shí)加入工程,也可以在后續(xù)步驟中加入到當(dāng)前的工程中。如果此時(shí)不加入 Intitial Configuration 的 RM 的相關(guān)文件,可以暫時(shí)將此 RM 作為黑盒處理。在這里我們一般選擇同時(shí)把 Intitial Configuration 的 RM 所包含的源文件和約束文件到加入工程中。
2. 將初始普通工程設(shè)置成 DFX 工程
建成初始普通工程后,建議把工程通過以下任一的方法做好備份。
1. File -> Project -> Archive
2. 在 TCL CONSOLE 執(zhí)行 "write_project_tcl XX.tcl" 獲得重建工程所需的 TCL 腳本。通過主菜單 Tools -> Enable Dynamic Function eXchange 將初始普通工程設(shè)置成 DFX 工程。
注意:這個(gè)操作一旦執(zhí)行不可逆轉(zhuǎn), 不可撤銷。
3. 創(chuàng)建分區(qū)定義(Create Partition Definition)
這步操作對應(yīng)非工程模式中創(chuàng)建 RP(Reconfigurable Partitions)的步驟, 對應(yīng)的模塊的 HD.REGUFIGURABLE 屬性被自動被設(shè)置成 True。
當(dāng)把普通工程轉(zhuǎn)成 DFX 工程之后,可以從 RTL Source/Hierarchy 窗口中選擇一個(gè)文件(對應(yīng)的 Instance)作為 RP。
注意:動態(tài)頂層文件不能是 IP,DCP 或者 EDIF。如果暫時(shí)沒有動態(tài)部分的邏輯,這里允許選擇黑盒文件。(在后續(xù)的 opt_design 步驟之前,需要用網(wǎng)表或者灰盒填充這個(gè)黑盒)。
在這里的例子中,同一個(gè) Module 被例化了兩次,不管是哪一個(gè) Instance 被定義成 Partition, 這兩個(gè) Instance 都會變成 RP。如果實(shí)際只需要一個(gè) Module 作 RP,那么需要手動修改其中一個(gè) Module 的名字,使他們相互不同。
在彈窗"Create Partition Name"中分別給 Partition Definition 和 Reconfiguratble Module 命名后,Source 窗口會相應(yīng)改變: 黃色菱形代表的模塊即是 Partition Definition。
在非工程模式中靜態(tài)部分和動態(tài)部分是分開綜合再 Link 到一起。在非工程模式中,工具會自動對 RP 模塊進(jìn)行 OOC 綜合后合并到頂層,和在非工程模式的原理一致。在這里要注意動態(tài)區(qū)邏輯和靜態(tài)區(qū)邏輯的綜合依然是保持相互獨(dú)立。
4. 按照 DFX Wizard 的引導(dǎo)完成 DFX 工程的設(shè)置
1. 在工具菜單或者 Flow Navigator 中啟動 DFX Wizard。
2. 點(diǎn)擊 Next 進(jìn)入 Edit Reconfigurable Modules 頁面。
這里可以看到之前加的 RM shift_right 已經(jīng)存在了。藍(lán)色的+、-和鉛筆按鈕分別對應(yīng)增加、刪除和修改 RM 源文件的操作。
3. 點(diǎn)擊+號可以創(chuàng)建一個(gè)新的 RM,點(diǎn)擊“Add Files"或者"Add Directories”。
4. 點(diǎn)擊 Next,進(jìn)入"Edit Configurations"頁面。
點(diǎn)擊+號添加Configuration,也可以直接點(diǎn)擊"automatically create configurations"讓工具自動生成 Configuration。這里我們直接讓工具自動產(chǎn)生 Configuration,然后我們可以按照我們自己的需求在這基礎(chǔ)上進(jìn)行修改。
5. 點(diǎn)擊 Next,進(jìn)入"Edit Configuration Runs" 頁面,把這些 Configuration 和直接的 Run 掛鉤。
和上一個(gè)頁面相似,點(diǎn)擊+號可以添加 Runs,這里我們直接點(diǎn)擊"Standard DFX", 工具會自動產(chǎn)生 Configuration Runs。
然后我們可以在這基礎(chǔ)上進(jìn)行修改, 按需增減 Configuration Runs;同時(shí)通過下拉菜單設(shè)置每個(gè) Run 的 Run strategy 和 Report Strategy。
在此頁面上點(diǎn)擊黃色鉆石符號,可以顯示每個(gè) Configuration Run 中的 RP 所包含 RM 的名字。
6. 點(diǎn)擊 Next 進(jìn)入 Summary 頁面。
可以看到當(dāng)次創(chuàng)建的RM,Configuration 以及 Configuration Runs 的數(shù)目。
點(diǎn)擊“Finish”退出 DFX Wizard。
? ? ?
5. 查看各個(gè) RM 所包含的源文件
在 Source 窗口,Partition Definitions 中依次展開 RP, RM 可以看到每個(gè) RM 中包含的源文件。
6. 在 Deisgn Runs 或者 Flow Naviagator 中啟動 Runs 的運(yùn)行,直至生成比特流文件
Child Impl run 會使用和其 Parent Impl run 相同的靜態(tài)邏輯。
完成 Implementation 后,工具會自動執(zhí)行 Pr_verify 命令驗(yàn)證這些 Run 之間邊界邏輯的一致性。
7. 在各個(gè) Run 的目錄下,可以找到各自的 Full bit 和 Partial bit
審核編輯:劉清
-
TCL
+關(guān)注
關(guān)注
10文章
1739瀏覽量
88871 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59944 -
Vivado
+關(guān)注
關(guān)注
19文章
815瀏覽量
66883
原文標(biāo)題:開發(fā)者分享|如何在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論