使用HLS 設計ip核
首先打開Vivado HLS
建立一個工程,設定工程名字和路徑
設定頂層函數名
然後添加c測試檔案(點燈不需要,直接next)
修改晶片型号
然後點選Finish完成工程設定。
在彈出的頁面中建立新的源檔案
在彈出的框中建立一個src檔案夾用來儲存源檔案
在新建立的.c檔案中輸入如下代碼
#include <ap_cint.h> //任意精度整數類型
#define DELAY 50000000
void led_hls(uint2 *led){
int i = 0;
for(i = 0; i < DELAY; i++){
if(i < DELAY/2)
*led = 1;
else
*led = 2;
}
}
按快捷鍵 Ctrl+S 儲存。然後點選工具欄中向右的綠色三角形對 C 代碼進行綜合
綜合成功之後會自動彈出如下資訊
這個資訊文檔是本次性能評估、資源評估以及接口等資訊
在彈出框中選擇
添加成功
然後重複添加一次
指令添加完成後,按快捷鍵 Ctrl+S 儲存源檔案。然後重新點選工具欄中的綠色三角形,運作 C 綜合過程。綜合完成後,會重新打開綜合報告,其中接口部分如下圖所示:
可以看出,在插入了兩條綜合指令後, HLS 重新綜合之後得到的設計的端口簡單了很多
我們需要通過檢視綜合報告,對高層次綜合得到的結果進行評估。如果不滿足要求(比如速度或資源的要求),那麼需要傳回修改設計,然後再次進行綜合。經過反複疊代得到我們滿意的實作結果之後,就來到了高層次綜合流程的最後一步,将設計打包成 IP 子產品,以供 Vivado 開發套件中的其他工具(如 IP 內建器)使用。然後導出RTL檔案:
于是就生成了以ZIP 壓縮檔案形式存在的 IP 核
ip核驗證
我們建立一個vivado工程
我們把hls生成的ip核解壓到vivado工程
添加ip核
綁定io,然後生成bit檔案下載下傳進開發闆