Catapult design question #223
Replies: 5 comments 1 reply
-
同學你好, 這問題在於memory architecture,假設這design是fully pipeline的架構,也就是各個PE是並行的,各PE間大量的資料傳送應使用ping-pong memory architecture,Catapult支持二種ping-pong memory寫法,我把slide和lab附上,若有需要,我們可以開個線上會議討論下。 |
Beta Was this translation helpful? Give feedback.
-
老師好,不知道到您何時有空,希望可以跟您約個半小時的時間討論一下。因為上面的方法好像是要建立兩個PE之間的interconnect,我們目前是只希望有一個PE而他可以重複設定參數在跑第二次。同時PE要去externel SRAM取資料跟寫資料(並不會照順序),所以我們並不太確定要如何讓他用同一個PE連續跑兩次以上。 |
Beta Was this translation helpful? Give feedback.
-
同學你好, 我們約下周一上午10點 (5/27)討論,是否ok ? |
Beta Was this translation helpful? Give feedback.
-
可以的!到時連結您在公布於討論區或是可以寄件於我信箱 : |
Beta Was this translation helpful? Give feedback.
-
From my understanding of your design intention is to use one PE with separate input RAM and output RAM. The RAM are alternatively used as input and output for successive PE stage. A possible code structure is
This coding style can be applied to both Vitis and Catapult, though Catapult may use class method. |
Beta Was this translation helpful? Give feedback.
-
老師,助教們好,我目前有個design schedule如下圖:
目前我們已經實現在vitis_hls,對應code如下圖:
(https://github.com/vic9112/PQC_Falcon/blob/main/optimized/combined/fiFFNTT_ver9/hls_code/fiFFNTT.cpp)
我們可以利用#pragma限制指合成一塊PE,但我今天要把code轉成Catapult hls_code時類似coding方法(如下圖):
就會出現以下這個error(但如果用inline就會不會有error,但這並是我想要的),不知如何解決。
我後面把PE寫成Class 把他寫到top design利用一個參數當作ac_channel 連起來一樣會跑出相同的error。
目前design 放置在 https://github.com/vic9112/PQC_Falcon/tree/main/Catapult ,不知道熟悉Catapult的老師或助教們有沒有更好的coding方式可以提供參考。
Beta Was this translation helpful? Give feedback.
All reactions