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