目录
- 创建工程
- 创建源文件并编写C代码
- C仿真
- 综合
- 仿真
- 导出RTL
- CG
- 导出RTL错误处理:
创建工程

创建源文件并编写C代码
- 创建源文件(Souces下的
hlsv.h和hlsv.cpp,Test Bench下的test_hlsv1.cpp):

- hlsv1.h
#ifndef HLSV1
#define HLSV1
#include <ap_int.h>
typedef ap_int<1> led_t;
void hlsv(ap_int<1> *led);
#endif
- hlsv1.cpp
#include "hlsv1.h"
void hlsv1(led_t *led_o){
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE ap_ovld port=led_oint i;for(i=0;i<100000000;i++){if(i<=59990000){*led_o = ~(*led_o);}else{*led_o = (*led_o);}}
}
- test_hlsv1.cpp
#include "hlsv.h"
#include <stdio.h>
int main(){led_t led;for(int i=0;i<6;i++){hlsv(&led);printf("%d",led);}
}
C仿真

- 注:可以勾选上
Clean Build
综合



仿真

- 如果选择ModelSim需要安装ModelSim软件:

- 之前错误代码的仿真结果:

- 修改正确后:

导出RTL


CG
- 调整背景颜色:
Preferences -> Appearance -> Theme -> Light - 在调试时进行C仿真、RTL仿真均成功,且在线调试也成功,后来发现时间间隔设置太小导致led灯一直处于打开状态。

导出RTL错误处理:
- 根据文章“Vivado HLS | Export RTL报错 “ERROR: [IMPL 213-28] Failed to generate IP.“”的提示:
- 下载补丁zip文件:

- 解压到XILINX安装目录,并执行
python .\y2k22_patch\patch.py