對於只有少量邏輯功能的函數會被inline的調用函數中,在log輸出中可以看到inlining的信息。可以通過Directives將HLS INLINE功能關閉,該函數就不會被inline掉。
案例
分別是頭文件、源文件和TestBench。
創建工程
添加頂層函數:
加入testbench
創建Solution,用於迭代開發
執行C的仿真
執行綜合
C和RTL聯合仿真
查看波形
迭代優化
創建新的solution
在代碼中放置標籤,可以方便在Dircetive找到相應的結構進行優化。
兩個Solution進行對比分析
兩種Dircetive使用方法
Xilinx官方文檔
ug871(v2018.1) High-level Synthesis Tutorial Ch3: C Validation Lab 1, Lab 2, Lab 3
學習筆記相關鏈接:
Design Flow of Vivado HLS
Coding Style of C Synthesis
Optimization Methods of for-loop
Optimization Methods of Array
I/O Port Implementation