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错误处理:

相关推荐
博览鸿蒙36 分钟前
FPGA 工程中常见的基础硬件问题
fpga开发
GateWorld5 小时前
FPGA 实现无毛刺时钟切换
fpga开发·实战·无毛刺时钟
Seraphina_Lily6 小时前
从接口选型到体系结构认知——谈 CPU–FPGA–DSP 异构处理系统与同构冗余设计
fpga开发
Seraphina_Lily8 小时前
CPU–FPGA–DSP 异构系统中的总线接口选型——为什么 CPU 用 eLBC,而 DSP 用 XINTF?
fpga开发
GateWorld8 小时前
FPGA开发十年心路
fpga开发
ALINX技术博客1 天前
【ALINX 教程】FPGA Multiboot 功能实现——基于 ALINX Artix US+ AXAU25 开发板
fpga开发·fpga
Genevieve_xiao1 天前
【verilog】如何一小时成为verilog高手(并非
fpga开发
从此不归路1 天前
FPGA 结构与 CAD 设计(第3章)上
ide·fpga开发
Aaron15881 天前
基于VU13P在人工智能高速接口传输上的应用浅析
人工智能·算法·fpga开发·硬件架构·信息与通信·信号处理·基带工程
碎碎思1 天前
在 FPGA 上实现并行脉冲神经网络(Spiking Neural Net)
人工智能·深度学习·神经网络·机器学习·fpga开发