AIE Kernel有時需要由外部提供參數(shù)更新kernel行為,此時就要用到RTP(Run-Time Parameter)。AIE支持兩種類型的RTP,一種是異步(Asynchronous),通常由PS或其他AIE Kernel控制?!爱惒健币馕吨鳵TP可以隨時被更改。在每次Kernel被調(diào)用時,RTP都會被讀取,而不會進(jìn)行任何同步處理。這種機制適合于參數(shù)不經(jīng)常更新的場合,例如濾波器系數(shù)。另一種為同步RTP(Synchronous)?!巴健币馕吨挥挟?dāng)處理器將RTP傳遞給AIE Kernel后,該Kernel才能被觸發(fā)執(zhí)行。無論是哪種類型,RTL都可以是標(biāo)量(Scalar)或數(shù)組(Array)。我們先看一個同步RTP。系統(tǒng)框圖如下圖所示。圖中sine為AIE Kernel,其中trigger為RTP,此處為標(biāo)量。s2mm為HLS Kernel,最終通過HLS在PL側(cè)實現(xiàn)。
在描述AIE Kernel sine時,phase_increment為輸入?yún)?shù),這里的名字是形參名,本質(zhì)上就是RTP,只是RTP在graph.h中會另起名字。
在描述graph時,將RTP定義為input_port,并起名字為trigger,如下圖第26行所示。同時確定RTP與AIE Kernel的連接關(guān)系,如下圖第33行所示。
在graph.cpp中,使用update更新RTP。如下圖所示,可以看到update的次數(shù)與run的次數(shù)是一致的。代碼第28行至第31行,依次將trigger值寫入ping/pong/ping/pong buffer。
對于異步RTP,需要在graph.h中指定其與AIE Kernel之間的關(guān)系為異步關(guān)系,如下圖代碼第33行所示,使用了async。
在graph.cpp中要使用wait()。這是和同步RTP的最大區(qū)別。在同步模式下,graph的run是受RTP的update控制的。在異步模式下,需要通過wait等待graph的run完成。異步模式下,當(dāng)graph在執(zhí)行時是無法保證RTP生效的。
原文標(biāo)題:AIE(17)—更新RTP(1)
文章出處:【微信公眾號:TeacherGaoFPGAHub】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
處理器
+關(guān)注
關(guān)注
68文章
19882瀏覽量
234929 -
濾波器
+關(guān)注
關(guān)注
162文章
8133瀏覽量
181914 -
RTP
+關(guān)注
關(guān)注
0文章
28瀏覽量
12088
原文標(biāo)題:AIE(17)—更新RTP(1)
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
示波器的兩種類型介紹
兩種類型的激活有什么不同嗎?
SMPS中有兩種類型的損耗
EMI可以大致分為“傳導(dǎo)發(fā)射”和“輻射發(fā)射”兩種類型的分類

Verilog HDL提供了哪兩種類型的顯式時序控制
傳感器裝置結(jié)構(gòu)的兩種類型
基于使用兩種類型的微控制器創(chuàng)建數(shù)字鬧鐘

熱敏電阻有哪兩種類型
cpu控制器的兩種類型和特點
邊沿觸發(fā)器主要有哪兩種類型
如何在兩種類型的SOT663封裝之間進(jìn)行協(xié)同布局

評論