本文系《創(chuàng)建 Vitis? 加速平臺的簡單指南》的第1部分。(您可通過下列鏈接查看其它各部分:第 2 部分:在 PetaLinux 中為加速平臺創(chuàng)建軟件工程;第 3 部分:在 Vitis 中封裝加速平臺?;第 4 部分:在 Vitis 中測試定制加速平臺)。
在本文中,我們將講解如何在 Vivado? Design Suite 中完成平臺準(zhǔn)備工作,以便將其用作為 Vitis 中的加速平臺。
您既可以采用已確認的成熟設(shè)計作為平臺,這樣只需稍作增強便可靈活運用于加速軟件功能,或者也可以采用僅含加速所需拓撲結(jié)構(gòu)的簡單基礎(chǔ)平臺。重點在于,此平臺并沒有必要采用一次性設(shè)計,而應(yīng)采用可有機變化的設(shè)計,這樣即可隨您的設(shè)計需求而變。
引言
加速軟件組件就意味著將其從 CPU 卸載至可編程邏輯中的加速 IP。Vitis 工具將負責(zé)處理在加速 IP 與 CPU 之間添加數(shù)據(jù)移動程序的操作。
但它確實需要用戶提供輸入信息。它需要了解從 SoC 和加速 IP 連接到哪個接口。它還需要了解有哪些時鐘/復(fù)位可供使用。
并且由于我們在 CPU 與加速 IP 之間發(fā)送數(shù)據(jù)塊,因此需要中斷信號?;旧暇瓦@些…… 好吧,其實還要向 Vitis 工具提供一些其它信息,這個我們稍后再聊。
先繼續(xù)往下看。啟動 Vivado 并創(chuàng)建工程。我使用的是 ZCU104 評估板。但以下步驟對于所有 Zynq? UltraScale? 開發(fā)板都是通用的,無論是開發(fā)板還是定制板都一樣。
創(chuàng)建硬件設(shè)計
創(chuàng)建塊設(shè)計 (BD)。此處名稱與用于命名平臺的名稱相同。
從 IP 目錄添加 Zynq UltraScale 處理器子系統(tǒng) IP 塊。如果使用的是開發(fā)板,那么應(yīng)啟用“塊自動化設(shè)置 (Block Automation)”功能。
我把默認接口更改為僅包含 LPD:
在我們的簡單平臺中,可以只創(chuàng)建 2 個時鐘。這些時鐘將在 Vitis 中使用。
我們可從 IP 目錄添加 Clocking Wizard:
默認情況下,復(fù)位處于高電平有效狀態(tài),而復(fù)位源(位于 Zynq UltraScale 器件上)則處于低電平有效狀態(tài)。因此,在進行時鐘設(shè)置配置時需牢記此信息。
我添加了 3 個輸出時鐘:100Mhz、150Mhz 和 300Mhz:
下一步,需要添加中斷信號。這里我們從 IP 目錄添加 AXI Interrupt Controller。用戶可以使用 IP integrator 中的“運行自動連接(Run Connection Automation)”功能來處理 AXI 連接。
使用 100Mhz 時鐘
在 AXI Interrupt Controller 中,將“中斷輸出連接(Interrupt Output Connection)”設(shè)置為“單連接 (Single)”,并將其連接到 Zynq UltraScale IP 上的 pl_ps_irq:
對于基本硬件平臺,這樣設(shè)置就可以了。
現(xiàn)在,我們只需設(shè)置元數(shù)據(jù),以便通過 Platform (PFM) 屬性將硬件信息告知 Vitis 即可。
添加 PFM 屬性
PFM 屬性是將元數(shù)據(jù)傳遞給 Vitis 所必需的。
Vitis 會提取這些數(shù)據(jù)以判定哪些接口、時鐘和中斷信號可用于在現(xiàn)有平臺中添加加速部分。
平臺名稱
首先,對平臺命名:
完成命名后,您將看到一個新的“平臺 (Platform)”選項卡。其中將顯示整個設(shè)計中的所有時鐘、接口和中斷信號。 我們需要篩選可用于 Vitis 的資源。
啟用時鐘
右鍵單擊時鐘,然后單擊“啟用 (Enable)”:
針對 clk_out3 重復(fù)此操作。
時鐘屬性
選中“選項 (Options)”選項卡:
注:時鐘 ID 必須以 0 開頭并遞增,因此,請更改此處設(shè)置。我們還必須指定默認值。
此處默認值即 Vitis 中使用的默認時鐘:
啟用接口
可采用塊設(shè)計中可用的任意接口,例如,Zynq UltraScale 器件上的接口或 AXI Interconnect 上的接口。
在此例中,我只添加 Zynq UltraScale 器件上的接口。
啟用中斷
工程屬性
Vitis IDE 是支持眾多不同流程(例如,數(shù)據(jù)中心、加速或嵌入式流程等)的統(tǒng)一工具。我們需要將此用途傳遞給 Vitis 工具。
如果要創(chuàng)建嵌入式設(shè)計,就需要指定該用途。在此示例中,我們將把 Vitis 用于加速。此用途必須明確指定,因為 Vitis 需要告知下游工具如何處理該平臺。
此處可看到下列屬性:
創(chuàng)建 XSA
完成以下任務(wù)以創(chuàng)建 XSA
? 生成塊設(shè)計
? 創(chuàng)建 HDL 封裝
? 生成比特流
? 依次單擊“File -> Export -> Export Hardware”
o 依次單擊“Expandable -> Pre Synthesis”,然后選中“Bitstream”
用戶可在此處輸入詳細信息:
至此大功告成。
如需了解后續(xù)步驟,請參閱本系列博客的第 2 部分:在 PetaLinux 中為加速平臺創(chuàng)建軟件工程
文章轉(zhuǎn)載自:Xilinx賽靈思官微
編輯:hfy
-
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121510 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5059瀏覽量
97548 -
Vivado
+關(guān)注
關(guān)注
19文章
812瀏覽量
66585
發(fā)布評論請先 登錄
相關(guān)推薦
評論