天天看點

使用Vivado HLS點燈

使用HLS 設計ip核

首先打開Vivado HLS

使用Vivado HLS點燈

建立一個工程,設定工程名字和路徑

使用Vivado HLS點燈

設定頂層函數名

使用Vivado HLS點燈

然後添加c測試檔案(點燈不需要,直接next)

使用Vivado HLS點燈

修改晶片型号

使用Vivado HLS點燈
使用Vivado HLS點燈

然後點選Finish完成工程設定。

在彈出的頁面中建立新的源檔案

使用Vivado HLS點燈

在彈出的框中建立一個src檔案夾用來儲存源檔案

使用Vivado HLS點燈

在新建立的.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 代碼進行綜合

使用Vivado HLS點燈

綜合成功之後會自動彈出如下資訊

使用Vivado HLS點燈

這個資訊文檔是本次性能評估、資源評估以及接口等資訊

使用Vivado HLS點燈
使用Vivado HLS點燈

在彈出框中選擇

使用Vivado HLS點燈

添加成功

使用Vivado HLS點燈

然後重複添加一次

使用Vivado HLS點燈
使用Vivado HLS點燈
使用Vivado HLS點燈

指令添加完成後,按快捷鍵 Ctrl+S 儲存源檔案。然後重新點選工具欄中的綠色三角形,運作 C 綜合過程。綜合完成後,會重新打開綜合報告,其中接口部分如下圖所示:

使用Vivado HLS點燈

可以看出,在插入了兩條綜合指令後, HLS 重新綜合之後得到的設計的端口簡單了很多

我們需要通過檢視綜合報告,對高層次綜合得到的結果進行評估。如果不滿足要求(比如速度或資源的要求),那麼需要傳回修改設計,然後再次進行綜合。經過反複疊代得到我們滿意的實作結果之後,就來到了高層次綜合流程的最後一步,将設計打包成 IP 子產品,以供 Vivado 開發套件中的其他工具(如 IP 內建器)使用。然後導出RTL檔案:

使用Vivado HLS點燈
使用Vivado HLS點燈

于是就生成了以ZIP 壓縮檔案形式存在的 IP 核

使用Vivado HLS點燈

ip核驗證

我們建立一個vivado工程

使用Vivado HLS點燈

我們把hls生成的ip核解壓到vivado工程

使用Vivado HLS點燈

添加ip核

使用Vivado HLS點燈
使用Vivado HLS點燈
使用Vivado HLS點燈
使用Vivado HLS點燈
使用Vivado HLS點燈
使用Vivado HLS點燈
使用Vivado HLS點燈

綁定io,然後生成bit檔案下載下傳進開發闆

使用Vivado HLS點燈
使用Vivado HLS點燈