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

相关推荐
通信小小昕3 小时前
FPGA|Verilog-SPI驱动
fpga开发·蓝桥杯·优化·verilog·spi·竞赛
TJ_Dream5 小时前
clk_prepare函数详细解析
驱动开发·fpga开发
起床学FPGA10 小时前
IBUF和BUFG
fpga开发
_Hello_Panda_15 小时前
基于AMD AU15P FPGA的SLVS-EC桥PCIe设计方案分享
fpga开发
数字芯片实验室16 小时前
3-2 深入解析数字电路设计中的竞争条件及解决策略
fpga开发
c-u-r-ry301 天前
009---基于Verilog HDL的单比特信号边沿检测
嵌入式硬件·fpga开发
数字芯片实验室1 天前
【AI速读】突破形式验证的极限:数据包协议验证实战指南
fpga开发
博览鸿蒙1 天前
Verilog学习方法—基础入门篇(二)
fpga开发
博览鸿蒙1 天前
Verilog学习方法—基础入门篇(一)
fpga开发
qq_416560201 天前
fmql之Linux WDT
linux·fpga开发