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

相关推荐
国科安芯6 分钟前
抗辐照MCU芯片在激光雷达领域的适配性分析
网络·人工智能·单片机·嵌入式硬件·fpga开发
数字IC吗喽2 小时前
三、ILA逻辑分析仪抓取及查看波形
fpga开发
bnsarocket4 小时前
Verilog和FPGA的自学笔记8——按键消抖与模块化设计
笔记·fpga开发·verilog·自学·硬件编程
奋斗的牛马7 小时前
FPGA—ZYNQ学习GPIO-EMIO,MIO,AXIGPIO(五)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
FPGA_ADDA9 小时前
基于VU13P的6U VPX 载板
fpga开发·信号处理·xcvu13p
KOAN凯擎小妹1 天前
晶振信号质量:上升下降时间与占空比
单片机·嵌入式硬件·fpga开发·信息与通信
cmc10281 天前
148.PCIE参考时钟无法绑定
fpga开发
我爱C编程1 天前
【硬件片内测试】基于FPGA的完整BPSK链路测试,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·定时·bpsk·帧同步·卷积编码·维特比译码·频偏估计
FPGA_小田老师1 天前
FPGA基础知识(十一):时序约束参数确定--从迷茫到精通
fpga开发·时序约束·建立时间·保持时间·约束参数计算
FPGA_小田老师1 天前
FPGA基础知识(十二):详解跨时钟域约束
fpga开发·时序约束·跨时钟域·约束完整性