使用HLS 设计ip核
首先打开Vivado HLS
创建一个工程,设置工程名字和路径
设置顶层函数名
然后添加c测试文件(点灯不需要,直接next)
修改芯片型号
然后点击Finish完成工程设置。
在弹出的页面中创建新的源文件
在弹出的框中创建一个src文件夹用来保存源文件
在新创建的.c文件中输入如下代码
#include <ap_cint.h> //任意精度整数类型
void led_hls(uint2 *led){
int i = 0;
while(1) {
*led = 3;//3的二进制为11,表示点亮两个灯
}
}
按快捷键 Ctrl+S 保存。然后点击工具栏中向右的绿色三角形对 C 代码进行综合
综合成功之后会自动弹出如下信息
这个信息文档是本次性能评估、资源评估以及接口等信息
在弹出框中选择
添加成功
然后重复添加一次
指令添加完成后,按快捷键 Ctrl+S 保存源文件。然后重新点击工具栏中的绿色三角形,运行 C 综合过程。综合完成后,会重新打开综合报告,其中接口部分如下图所示:
可以看出,在插入了两条综合指令后, HLS 重新综合之后得到的设计的端口简单了很多
我们需要通过查看综合报告,对高层次综合得到的结果进行评估。如果不满足要求(比如速度或资源的要求),那么需要返回修改设计,然后再次进行综合。经过反复迭代得到我们满意的实现结果之后,就来到了高层次综合流程的最后一步,将设计打包成 IP 模块,以供 Vivado 开发套件中的其他工具(如 IP 集成器)使用。然后导出RTL文件:
于是就生成了以ZIP 压缩文件形式存在的 IP 核
ip核验证
我们创建一个vivado工程
我们把hls生成的ip核解压到vivado工程
添加ip核
绑定io,然后生成bit文件下载进开发板