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

相关推荐
szxinmai主板定制专家1 小时前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
ALINX技术博客5 小时前
【黑金云课堂】FPGA技术教程Vitis开发:PS端DP接口解析
fpga开发·fpga
FakeOccupational6 小时前
fpga系列 HDL:跨时钟域同步 shift register同步(CDC)毛刺滤除&解码前去抖动滤波模块
fpga开发
小眼睛FPGA8 小时前
【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程6-基于UDP 的以太网传输实验例程
fpga开发
高速上的乌龟9 小时前
Lattice LFCPNX-100 HSB+Fpga开发详解: MAC+PCS以太网SFP光口传输
单片机·嵌入式硬件·fpga开发
ALINX技术博客11 小时前
【黑金云课堂】FPGA技术教程Linux开发:电压温度检测/USB/eMMC
linux·fpga开发
小眼睛FPGA11 小时前
【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程3-基于紫光FPGA 的UART 串口通信
fpga开发
liuluyang53012 小时前
SV 时钟移位示例代码解析
fpga开发·sv
dadaobusi12 小时前
100MHz/125MHz
fpga开发
unicrom_深圳市由你创科技12 小时前
如何做FPGA的模块划分?
fpga开发