chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Vitis HLS創(chuàng)建Vivado IP

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-09-09 09:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用Vitis HLS創(chuàng)建屬于自己的IP

副標(biāo)題-FPGA高層次綜合HLS(三)-Vitis HLS創(chuàng)建Vivado IP

高層次綜合(High-level Synthesis)簡(jiǎn)稱HLS,指的是將高層次語(yǔ)言描述的邏輯結(jié)構(gòu),自動(dòng)轉(zhuǎn)換成低抽象級(jí)語(yǔ)言描述的電路模型的過程。

對(duì)于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具叫Vivado HLS,之后為了統(tǒng)一將HLS集成到Vitis里了,集成之后增加了一些功能,同時(shí)將這部分開源出來了。Vitis HLS是Vitis AI重要組成部分,所以我們將重點(diǎn)介紹Vitis HLS。

官方指南:

https://docs.xilinx.com/r/_lSn47LKK31fyYQ_PRDoIQ/root

重要術(shù)語(yǔ)

LUT 或 SICE

LUT 或 SICE是構(gòu)成了 FPGA 的區(qū)域。它的數(shù)量有限,當(dāng)它用完時(shí),意味著您的設(shè)計(jì)太大了!

BRAM 或 Block RAM

FPGA中的內(nèi)存。在 Z-7010 FPGA上,有 120 個(gè),每個(gè)都是 2KiB(實(shí)際上是 18 kb)。

Latency延遲

設(shè)計(jì)產(chǎn)生結(jié)果所需的時(shí)鐘周期數(shù)。

循環(huán)的延遲是一次迭代所需的時(shí)鐘周期數(shù)。

Initiation Interval (or II, or Interval間隔)

在接受新數(shù)據(jù)之前必須執(zhí)行的時(shí)鐘周期數(shù)。

循環(huán)的間隔是可以開始循環(huán)迭代的最大速率,以時(shí)鐘周期為單位。

之前,我們一直在使用Vivado給我們提供的IP或者使用硬件描述語(yǔ)言制作 IP 。今天我們將講解如何使用HLS-高級(jí)綜合語(yǔ)言來創(chuàng)建屬于我們自己的IP。我們將使用的工具稱為Vitis HLS,此后稱為 HLS。HLS 采用 C 和 C++ 描述并將它們轉(zhuǎn)換為自定義硬件 IP,完成后我們就可以在 Vivado 項(xiàng)目中使用該IP。

Vitis HLS

創(chuàng)建一個(gè)新的 HLS 項(xiàng)目:

通過從Linux 終端鍵入 vitis_hls 或從 Windows 開始菜單運(yùn)行 HLS 。

78b7b5ba-2fd7-11ed-ba43-dac502259ad0.png

PS:Linux系統(tǒng)下可能并沒有安裝到命令行,所以可能需要使用下面完整命令才能運(yùn)行HLS:

/opt/york/cs/net/xilinx_vitis-2020.2/Vitis_HLS/2020.2/bin/vitis_hls

選擇創(chuàng)建新項(xiàng)目并為其指定合適的名稱和位置。同樣,請(qǐng)記住 Xilinx 工具不允許路徑或者名稱中有空格或者中文。點(diǎn)擊下一步。

792a9e9a-2fd7-11ed-ba43-dac502259ad0.png7952553e-2fd7-11ed-ba43-dac502259ad0.png

將頂部函數(shù)設(shè)置為 toplevel。點(diǎn)擊下一步。

798a5470-2fd7-11ed-ba43-dac502259ad0.png79bcfa60-2fd7-11ed-ba43-dac502259ad0.png

將時(shí)鐘周期設(shè)置為 10(以納秒為單位,因此對(duì)應(yīng)于 100MHz 時(shí)鐘頻率,這是提供給 FPGA 架構(gòu)的默認(rèn)時(shí)鐘頻率)。

選擇FPGA到xc7z020clg484-2。

79e880e0-2fd7-11ed-ba43-dac502259ad0.png

單擊完成。

現(xiàn)在我們就能看到一個(gè) HLS 項(xiàng)目,但它是空的。創(chuàng)建兩個(gè)名為toplevel.cpp和toplevel.h

toplevel.cpp

#include"toplevel.h"

//Inputdatastorage
#defineNUMDATA100

uint32inputdata[NUMDATA];

//Prototypes
uint32addall(uint32*data);
uint32subfromfirst(uint32*data);

uint32toplevel(uint32*ram,uint32*arg1,uint32*arg2,uint32*arg3,uint32*arg4){
#pragmaHLSINTERFACEm_axiport=ramoffset=slavebundle=MAXI
#pragmaHLSINTERFACEs_axiliteport=arg1bundle=AXILiteS
#pragmaHLSINTERFACEs_axiliteport=arg2bundle=AXILiteS
#pragmaHLSINTERFACEs_axiliteport=arg3bundle=AXILiteS
#pragmaHLSINTERFACEs_axiliteport=arg4bundle=AXILiteS
#pragmaHLSINTERFACEs_axiliteport=returnbundle=AXILiteS

readloop:for(inti=0;i

toplevel.h

#ifndef__TOPLEVEL_H_
#define__TOPLEVEL_H_

#include
#include
#include

//Typedefs
typedefunsignedintuint32;
typedefintint32;

uint32toplevel(uint32*ram,uint32*arg1,uint32*arg2,uint32*arg3,uint32*arg4);

#endif

檢查文件

toplevel.cpp 包含整個(gè) EMBS 結(jié)構(gòu)。toplevel函數(shù)有五個(gè)uint32類型的參數(shù)。在typedef.h中描述寬度為32位的無符號(hào)整數(shù)。

該文件還包含被HLS稱為指令的雜注。指令用于告訴HLS如何制作硬件。這里的指令告訴HLS創(chuàng)建AXI主接口和AXI從接口。主接口允許組件訪問主存儲(chǔ)器,從接口允許ARM內(nèi)核傳入一些變量,并啟動(dòng)、復(fù)位和停止組件。一旦構(gòu)建完成并導(dǎo)出硬件IP,IP將在Vivado中顯示如下:

7a1fe2b0-2fd7-11ed-ba43-dac502259ad0.png

注意三個(gè)重要的事情:

沒有 main 函數(shù)。

我們已經(jīng)聲明了一個(gè)函數(shù) toplevel。這將是硬件的“入口點(diǎn)”。

代碼中的循環(huán)被賦予了標(biāo)簽(readloop、addloop和subloop)。軟件中大多數(shù)程序員都不這樣做,但它在HLS中很有用,稍后您我們將講解。

測(cè)試組件

硬件綜合需要的時(shí)間比較長(zhǎng)。因此,在構(gòu)建硬件之前,應(yīng)該充分的驗(yàn)證我們?cè)O(shè)計(jì)的硬件是正確的。測(cè)試平臺(tái)是其中的重要組成部分。測(cè)試平臺(tái)測(cè)試代碼的功能屬性,以確保它不包含任何邏輯錯(cuò)誤并且它大致符合要求。因?yàn)闇y(cè)試平臺(tái)是在軟件中模擬的,所以無法測(cè)試最終硬件的速度。

在 HLS 中,右鍵單擊左側(cè)資源管理器中的“Test Bench”,然后選擇“New File”。命名testbench.cpp 并將其放在合理的地方(與之前的toplevel.h文件相同的文件夾中,否則將需要編輯 #include 以獲得頭文件的相對(duì)路徑)。

復(fù)制以下代碼:

testbench.cpp

#include"toplevel.h"
#defineNUMDATA100

uint32mainmemory[NUMDATA];

intmain(){

//Createinputdata
for(inti=0;i

注意事項(xiàng):

我們將一塊內(nèi)存聲明為“主內(nèi)存”。在實(shí)際系統(tǒng)中,這是 Z7 板上的 1GB DDR 內(nèi)存,但對(duì)于測(cè)試平臺(tái),我們只需分配一個(gè)足夠大的ARRAY即可滿足我們的目的。

如果一切正常,測(cè)試平臺(tái)應(yīng)該返回 0。它將從硬件返回的值與預(yù)先計(jì)算的值對(duì)比,以確保是正確的。

要運(yùn)行測(cè)試平臺(tái),請(qǐng)選擇 Project | 運(yùn)行 C Simulation 并在出現(xiàn)的對(duì)話框中單擊確定。應(yīng)該會(huì)看到 HLS 做了很多工作,但最終會(huì)看到測(cè)試平臺(tái)的輸出。

Sumofinput:12950
Values1to99subtractedfromvalue0:3050
INFO:[SIM211-1]CSimdonewith0errors.
INFO:[SIM211-3]***************CSIMfinish***************
INFO:[HLS200-111]FinishedCommandcsim_designCPUusertime:0seconds.CPUsystemtime:0seconds.Elapsedtime:4.582seconds;currentallocatedmemory:191.719MB.
FinishedCsimulation.


我們已經(jīng)驗(yàn)證了我們的設(shè)計(jì)。(如果需求,應(yīng)該更嚴(yán)格地測(cè)試一個(gè)真實(shí)的設(shè)計(jì)?。?/p>

高層次綜合

所以現(xiàn)在我們有了一個(gè)仿真好的設(shè)計(jì),我們需要研究如何將其轉(zhuǎn)化為硬件。在窗口的右上角,應(yīng)該看到一行三個(gè)按鈕-Debug, Synthesis, 和 Analysis(調(diào)試、合成和分析)。

7a5f918a-2fd7-11ed-ba43-dac502259ad0.png

這些是透視圖,我們將通過單擊它們切換。單擊合成按鈕以確保處于合成透視圖中。

打開 toplevel.cpp. 現(xiàn)在單擊Solution | Run C Synthesis | C Synthesis(或單擊工具欄中的綠色箭頭)。將開始進(jìn)行綜合(綜合是將 C++ 描述轉(zhuǎn)化為硬件的過程)。

綜合完成后,將打開綜合報(bào)告窗口。這會(huì)告訴有關(guān)剛剛構(gòu)建的設(shè)計(jì)的所有信息。在 Performance Estimates下 查看 Latency 摘要。這應(yīng)該類似于:

7aa5a828-2fd7-11ed-ba43-dac502259ad0.png

該報(bào)告說明設(shè)計(jì)具有 709 個(gè)時(shí)鐘周期的總體延遲(從第一個(gè)數(shù)據(jù)輸入到最后一個(gè)數(shù)據(jù)輸出的時(shí)間)。它的間隔是 710,這是從一次運(yùn)行的第一個(gè)數(shù)據(jù)到設(shè)計(jì)能夠接受另一次運(yùn)行的第一個(gè)數(shù)據(jù)的周期數(shù)。

在toplevel行下方,它顯示了代碼中的三個(gè)循環(huán)(說明為什么給它們標(biāo)簽是有用的)。循環(huán)的延遲是完成所需的周期數(shù)。有時(shí) HLS 不會(huì)知道這一點(diǎn)(例如,如果循環(huán)變量不是靜態(tài)的)。迭代延遲是一次迭代所花費(fèi)的周期數(shù)。啟動(dòng)間隔僅對(duì)流水線循環(huán)有效(見下文),行程計(jì)數(shù)是將計(jì)算的迭代總數(shù)。

與性能一樣重要的是利用率。進(jìn)一步查看利用率摘要,將看到設(shè)計(jì)在 FF(觸發(fā)器)和 LUT(查找表)中的用法。這些是可重構(gòu)邏輯的度量。還有 DSP數(shù)字信號(hào)處理)單元和 BRAM(Block RAM)。Block RAM 是整個(gè) FPGA 架構(gòu)中非常高速的內(nèi)存小塊。可以在單個(gè)時(shí)鐘周期內(nèi)讀取或?qū)懭胨鼈?,但每個(gè)時(shí)鐘周期每個(gè) Block RAM 最多可訪問兩次。這些數(shù)字脫離上下文可能有點(diǎn)無意義,因此可以單擊表格上方的 % 符號(hào)將這些數(shù)字轉(zhuǎn)換為 FPGA 的百分比。

7ac569e2-2fd7-11ed-ba43-dac502259ad0.png

上表中主要注意的是 BRAM 和 FF/LUT。此表有助于對(duì)大部分設(shè)計(jì)使用資源的位置進(jìn)行粗略分類匯總。隨著設(shè)計(jì)變得越來越復(fù)雜,可以進(jìn)一步檢查資源以獲取更詳細(xì)的信息。

使用指令調(diào)整綜合

上邊的設(shè)計(jì)整體看還可以,但可以通過指令進(jìn)行進(jìn)一步優(yōu)化。首先,讓我們仔細(xì)看看設(shè)計(jì)是如何實(shí)現(xiàn)的。單擊“ Analysis”按鈕(右上角)轉(zhuǎn)到“ Analysis”透視圖。這應(yīng)該會(huì)打開一個(gè)性能選項(xiàng)卡。

7aeb8780-2fd7-11ed-ba43-dac502259ad0.png

這些行是來自已編譯代碼的操作。列是狀態(tài),因此垂直查看會(huì)顯示并行發(fā)生的所有進(jìn)程,如果兩件事在同一列中,它們會(huì)并行發(fā)生。目前我們可以看到addloop和subloop循環(huán)不重疊,因此它們不是并行完成的。還要注意,addloop和subloop有兩種狀態(tài)。這對(duì)應(yīng)于我們從綜合報(bào)告中得到的性能估計(jì),該報(bào)告告訴我們這兩個(gè)循環(huán)的迭代延遲都是2。

這是因?yàn)槲易鞅琢?,?duì)不起!

HLS 實(shí)際上會(huì)做得更好,但我在上面的代碼中包含了一些指令,故意關(guān)閉一些優(yōu)化,以便我們更好地了解它們的作用。我們將在下一節(jié)中撤消它??梢酝耆归_每個(gè)循環(huán)以查看在每個(gè)狀態(tài)下發(fā)生的各個(gè)操作。還可以右鍵單擊操作并選擇 Goto Source 以查看創(chuàng)建它的 C++ 代碼行,或者將創(chuàng)建實(shí)際 FPGA 硬件的生成的 Verilog 或 VHDL 行。

流水線循環(huán)

我們要做的第一個(gè)優(yōu)化是告訴 HLS 流水線 addloop 和 subloop,它們都有兩種狀態(tài),因此它們可以同時(shí)處理兩個(gè)數(shù)據(jù)元素。沒有流水線,一次只能運(yùn)行一個(gè)迭代,如這些圖所示。

7b1ccfac-2fd7-11ed-ba43-dac502259ad0.png

關(guān)閉性能報(bào)告并返回Synthesis透視圖。打開 toplevel.cpp并選擇右側(cè)的 Directive 選項(xiàng)卡(或 Window → Show View → Directive)。此選項(xiàng)卡顯示源文件中可以附加指令的項(xiàng)目。查找addloop,并注意我包含了指令“HLS PIPELINE off”。這告訴它不要PIPELINE循環(huán)。

7b2fd232-2fd7-11ed-ba43-dac502259ad0.png

雙擊該指令并在彈出的對(duì)話框中取消選中“關(guān)閉”。接下來,重復(fù)subloop指令。

7b6ca02c-2fd7-11ed-ba43-dac502259ad0.png

保存文件并重新運(yùn)行綜合(單擊綠色箭頭)。完成后查看報(bào)告。我們立即看到設(shè)計(jì)的延遲現(xiàn)在是 512 個(gè)周期,低于之前的710個(gè)。這是因?yàn)閮蓚€(gè)循環(huán)同時(shí)處理多個(gè)數(shù)據(jù)項(xiàng)。

7b992c96-2fd7-11ed-ba43-dac502259ad0.png

在綜合報(bào)告中,將看到兩個(gè)循環(huán)現(xiàn)在已流水線化,它們的 Initiation Interval 現(xiàn)在為 1。這意味著每個(gè)時(shí)鐘周期都可以將數(shù)據(jù)項(xiàng)推入循環(huán)。它們的行程計(jì)數(shù)(它們執(zhí)行的次數(shù))是 100 和 99,因此它們的延遲是 100 和 99 個(gè)周期,低于之前的 200 和 198。

單擊Analysis透視圖。流水線還是沒有使循環(huán)并行發(fā)生。速度提升來自于數(shù)據(jù)項(xiàng)被更快地推入循環(huán)的事實(shí)。關(guān)閉 Performance 選項(xiàng)卡并返回 Synthesis 透視圖。

7c048b08-2fd7-11ed-ba43-dac502259ad0.png

展開循環(huán)

比流水線循環(huán)更有效地操作是展開它們。UNROLL 指令告訴 HLS 嘗試并行執(zhí)行循環(huán)的各個(gè)迭代。 這是非??斓?,但根據(jù)展開的級(jí)別可能會(huì)花費(fèi)更多的硬件資源。

7c522020-2fd7-11ed-ba43-dac502259ad0.png

在 Synthesis 透視圖中, toplevel.cpp 右鍵單擊 addloop 和 subloop 循環(huán)上的 PIPELINE 指令并刪除它們。有時(shí),上述操作會(huì)導(dǎo)致 HLS 弄亂源代碼,如果是,請(qǐng)修復(fù)它。

7c7ef456-2fd7-11ed-ba43-dac502259ad0.png

右鍵單擊 addloop 指令面板中的循環(huán),然后選擇插入指令,選擇 UNROLL。

7cafc838-2fd7-11ed-ba43-dac502259ad0.png

添加指令時(shí),可以選擇將指令放在源文件中(作為#pragma指令)或單獨(dú)的指令文件。我更喜歡使用指令文件,但總的來說沒關(guān)系。

我們可以在此處添加一個(gè)因素來限制展開,但讓其留空以表示盡可能展開。單擊subloop并重復(fù)上訴操作 ,再綜合。

現(xiàn)在我們的設(shè)計(jì)延遲降低到大約 415 個(gè)周期,這意味著我們的整體運(yùn)行速度幾乎是原始設(shè)計(jì)(沒有指令)的兩倍。然而,我們現(xiàn)在使用了大約 7200 個(gè) LUT——我們的大小超過了 3 倍!HLS 還決定使用 4 個(gè) Block RAM 作為內(nèi)存而不是 1 個(gè),以便可以并行訪問更多數(shù)據(jù)。這是一個(gè)經(jīng)典的速度/資源權(quán)衡,請(qǐng)注意,如果在綜合報(bào)告中展開“Loop”,則現(xiàn)在只有 readloop。另外兩個(gè)不見了,因?yàn)樗鼈円呀?jīng)完全展開。

7cdeb0ee-2fd7-11ed-ba43-dac502259ad0.png

單擊Analysis透視圖。我們的設(shè)計(jì)看起來完全不同!

7d0d7f82-2fd7-11ed-ba43-dac502259ad0.png

我們注意到的第一件事是函數(shù)是可見的。這是因?yàn)橐郧昂瘮?shù)非常簡(jiǎn)單,HLS已經(jīng)自動(dòng)內(nèi)聯(lián)了它們?,F(xiàn)在它們是巨大的硬件,所以它沒有。因此,硬件在啟動(dòng)subfromfirst函數(shù)之前完成addall函數(shù)。讓我們強(qiáng)制它內(nèi)聯(lián)這些函數(shù),這樣它就可以將兩個(gè)函數(shù)的操作安排在一起。將INLINE指令添加到addall和subfromfirst函數(shù)中,然后重新綜合。

現(xiàn)在我們減少到 364 個(gè)周期,并且我們節(jié)省了一些硬件,因?yàn)?HLS 已經(jīng)能夠優(yōu)化這兩個(gè)功能。盡管如此,我們?nèi)匀豢梢宰龅酶茫?/p>

為 LUT 交換 Block RAM

讓我們告訴 HLS 不要使用 Block RAM,而只使用普通寄存器。在某些設(shè)計(jì)中,Block RAM 非常 昂貴,但它將允許真正的并行訪問。 關(guān)閉 Performance 選項(xiàng)卡并返回 Synthesis 透視圖。右鍵單擊 inputdata 指令選項(xiàng)卡并選擇插入指令。插入 ARRAY_PARTITION 類型的指令 complete。它將詢問將其應(yīng)用于哪個(gè)功能。選擇 toplevel。

7d717744-2fd7-11ed-ba43-dac502259ad0.png

此外,也適用 UNROLL 于 readloop ,因此我們可以完全利用分布式 RAM。

7e7ecfa6-2fd7-11ed-ba43-dac502259ad0.png

你應(yīng)該有上面的指令,再綜合。

7eed1cd6-2fd7-11ed-ba43-dac502259ad0.png

我們現(xiàn)在只有 333 個(gè)周期的微小設(shè)計(jì)延遲。因?yàn)樵O(shè)計(jì)讀取 100 個(gè)數(shù)據(jù)項(xiàng),我們知道我們的設(shè)計(jì)永遠(yuǎn)不會(huì)快于 101 個(gè)周期,所以這非常好!另請(qǐng)注意,現(xiàn)在我們的 Block RAM 數(shù)量減少了,我們的LUT 使用量再次增加。通常ARRAY_PARTITION會(huì)顯著增加 LUT 的使用,但在這種情況下,我們之前的設(shè)計(jì)有很多中間存儲(chǔ)寄存器,我們基本上已經(jīng)在這樣做了,所以增加并不算太糟糕。請(qǐng)記住,第一次展開使我們的 LUT 使用量增加了 3 倍。這表明了試驗(yàn)指令的重要性,并使用分析視角來計(jì)算并行發(fā)生的事情。

所以我們現(xiàn)在有一個(gè)非??斓脑O(shè)計(jì),但如果我們需要通過流水線而不是展開來使其更?。ê透?,我們也知道如何使其更?。ê透?。

真正實(shí)現(xiàn)它

我們現(xiàn)在將使用測(cè)試平臺(tái)純粹在 HLS 內(nèi)部工作。以后的實(shí)踐將采用 HLS 設(shè)計(jì)并將它們連接到 ARM 處理系統(tǒng)。

總結(jié)

這是《FPGA高層次綜合HLS》系列教程第三篇,后面會(huì)按照專題繼續(xù)更新,文章有什么問題,歡迎大家批評(píng)指正~感謝大家支持。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3484

    瀏覽量

    67507
  • 電路模型
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    9751
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    835

    瀏覽量

    68785

原文標(biāo)題:使用Vitis HLS創(chuàng)建屬于自己的IP

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何使用AMD Vitis HLS創(chuàng)建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS創(chuàng)建一個(gè) HLS IP,通過 AXI4 接口從存儲(chǔ)器讀取數(shù)據(jù)、執(zhí)行簡(jiǎn)單的數(shù)學(xué)運(yùn)算,然后
    的頭像 發(fā)表于 06-13 09:50 ?668次閱讀
    如何使用AMD <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b><b class='flag-5'>創(chuàng)建</b><b class='flag-5'>HLS</b> <b class='flag-5'>IP</b>

    使用AMD Vitis Unified IDE創(chuàng)建HLS組件

    這篇文章在開發(fā)者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統(tǒng) IDE) 的基礎(chǔ)上撰寫,
    的頭像 發(fā)表于 06-20 10:06 ?999次閱讀
    使用AMD <b class='flag-5'>Vitis</b> Unified IDE<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>HLS</b>組件

    如何在Unified IDE中創(chuàng)建視覺庫(kù)HLS組件

    Vivado IP 流程(Vitis Unified),在這篇 AMD Vitis HLS 系列 3 中,我們將介紹如何使用 Unifie
    的頭像 發(fā)表于 07-02 10:55 ?492次閱讀
    如何在Unified IDE中<b class='flag-5'>創(chuàng)建</b>視覺庫(kù)<b class='flag-5'>HLS</b>組件

    怎么在vivado HLS創(chuàng)建一個(gè)IP

    你好我正在嘗試在vivado HLS創(chuàng)建一個(gè)IP,然后在vivado中使用它每次我運(yùn)行Export RTL我收到了這個(gè)警告警告:[Comm
    發(fā)表于 04-03 08:48

    使用Vitis HLS創(chuàng)建屬于自己的IP相關(guān)資料分享

    ,我們一直在使用Vivado給我們提供的IP或者使用硬件描述語(yǔ)言制作 IP 。今天我們將講解如何使用HLS-高級(jí)綜合語(yǔ)言來創(chuàng)建屬于我們自己的
    發(fā)表于 09-09 16:45

    如何創(chuàng)建Vivado HLS項(xiàng)目

    了解如何使用GUI界面創(chuàng)建Vivado HLS項(xiàng)目,編譯和執(zhí)行C,C ++或SystemC算法,將C設(shè)計(jì)合成到RTL實(shí)現(xiàn),查看報(bào)告并了解輸出文件。
    的頭像 發(fā)表于 11-20 06:09 ?4242次閱讀

    Vivado HLSVitis HLS 兩者之間有什么區(qū)別

    Vitis HLS下,一個(gè)Solution的Flow Target可以是Vivado IP Flow Target,也可以是VitisKernel Flow Target,如下圖所示。
    的頭像 發(fā)表于 11-05 17:43 ?4w次閱讀

    Vitis初探—1.將設(shè)計(jì)從SDSoC/Vivado HLS遷移到Vitis上的教程

    本文介紹如何一步一步將設(shè)計(jì)從SDSoC/Vivado HLS遷移到Vitis平臺(tái)。
    的頭像 發(fā)表于 07-25 17:45 ?4683次閱讀
    <b class='flag-5'>Vitis</b>初探—1.將設(shè)計(jì)從SDSoC/<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>遷移到<b class='flag-5'>Vitis</b>上的教程

    Vitis初探—1.將設(shè)計(jì)從SDSoC/Vivado HLS遷移到Vitis

    本文介紹如何一步一步將設(shè)計(jì)從SDSoC/Vivado HLS遷移到Vitis平臺(tái)。
    發(fā)表于 01-31 08:12 ?8次下載
    <b class='flag-5'>Vitis</b>初探—1.將設(shè)計(jì)從SDSoC/<b class='flag-5'>Vivado</b> <b class='flag-5'>HLS</b>遷移到<b class='flag-5'>Vitis</b>上

    如何導(dǎo)出IP以供在Vivado Design Suite中使用?

    使用Vivado Design Suite創(chuàng)建硬件。 3. 在Vitis 統(tǒng)一軟件平臺(tái)中編寫軟件并在板上運(yùn)行。 01 導(dǎo)出 IP 在AXI 基礎(chǔ)第 6 講 -
    的頭像 發(fā)表于 04-26 17:32 ?4800次閱讀
    如何導(dǎo)出<b class='flag-5'>IP</b>以供在<b class='flag-5'>Vivado</b> Design Suite中使用?

    Vitis HLS工具簡(jiǎn)介及設(shè)計(jì)流程

    Vitis HLS 是一種高層次綜合工具,支持將 C、C++ 和 OpenCL 函數(shù)硬連線到器件邏輯互連結(jié)構(gòu)和 RAM/DSP 塊上。Vitis HLS 可在
    的頭像 發(fā)表于 05-25 09:43 ?2834次閱讀

    使用AXI4-Lite將Vitis HLS創(chuàng)建IP連接到PS

    在 AXI 基礎(chǔ)第 6 講 - Vitis HLS 中的 AXI4-Lite 簡(jiǎn)介中,使用 C 語(yǔ)言在 HLS創(chuàng)建包含 AXI4-Lite 接口的
    發(fā)表于 08-02 09:43 ?1015次閱讀
    使用AXI4-Lite將<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b><b class='flag-5'>創(chuàng)建</b>的<b class='flag-5'>IP</b>連接到PS

    Vitis HLS知識(shí)庫(kù)總結(jié)

    對(duì)于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具叫Vivado HLS,之后為了統(tǒng)一將HLS集成到
    的頭像 發(fā)表于 09-02 09:06 ?4056次閱讀

    AMD全新Vitis HLS資源現(xiàn)已推出

    AMD Vitis HLS 工具允許用戶通過將 C/C++ 函數(shù)綜合成 RTL,輕松創(chuàng)建復(fù)雜的 FPGA 算法。Vitis HLS 工具與
    的頭像 發(fā)表于 04-23 10:41 ?1429次閱讀
    AMD全新<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>資源現(xiàn)已推出

    關(guān)于HLS IP無法編譯解決方案

    Xilinx平臺(tái)的Vivado HLSVitis HLS 使用的 export_ip 命令會(huì)無法導(dǎo)出
    的頭像 發(fā)表于 07-07 14:14 ?1249次閱讀
    關(guān)于<b class='flag-5'>HLS</b> <b class='flag-5'>IP</b>無法編譯解決方案