fpga系列 HDL:XILINX Vivado Vitis 高层次综合(HLS) 实现 EBAZ板LED控制(上)

目录

创建工程

创建源文件并编写C代码

  • 创建源文件(Souces下的hlsv.hhlsv.cpp,Test Bench下的test_hlsv1.cpp):
  • hlsv1.h
c 复制代码
#ifndef HLSV1
#define HLSV1
#include <ap_int.h>
typedef 	ap_int<1> led_t;
void hlsv(ap_int<1> *led);
#endif
  • hlsv1.cpp
c 复制代码
#include "hlsv1.h"
void hlsv1(led_t *led_o){
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE ap_ovld port=led_o
	int i;
	for(i=0;i<100000000;i++){
		if(i<=59990000){
			*led_o = ~(*led_o);
		}else{
			*led_o = (*led_o);
		}
	}
}
  • test_hlsv1.cpp
c 复制代码
#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错误处理:

相关推荐
FPGA之旅1 天前
FPGA从零到一实现FOC(一)之PWM模块设计
fpga开发·dubbo
XMAIPC_Robot1 天前
基于ARM+FPGA的光栅尺精密位移加速度测试解决方案
arm开发·人工智能·fpga开发·自动化·边缘计算
cycf1 天前
状态机的设计
fpga开发
szxinmai主板定制专家1 天前
【精密测量】基于ARM+FPGA的多路光栅信号采集方案
服务器·arm开发·人工智能·嵌入式硬件·fpga开发
千宇宙航1 天前
闲庭信步使用SV搭建图像测试平台:第三十二课——系列结篇语
fpga开发
千宇宙航2 天前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
小眼睛FPGA2 天前
【RK3568+PG2L50H开发板实验例程】FPGA部分/紫光同创 IP core 的使用及添加
科技·嵌入式硬件·ai·fpga开发·gpu算力
forgeda2 天前
如何将FPGA设计验证效率提升1000倍以上(2)
fpga开发·前沿技术·在线调试·硬件断点·时钟断点·事件断点
9527华安3 天前
FPGA实现40G网卡NIC,基于PCIE4C+40G/50G Ethernet subsystem架构,提供工程源码和技术支持
fpga开发·架构·网卡·ethernet·nic·40g·pcie4c
search73 天前
写Verilog 的环境:逻辑综合、逻辑仿真
fpga开发