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

相关推荐
XINVRY-FPGA2 小时前
XCZU7EG‑L1FFVC1156I 赛灵思XilinxFPGA ZynqUltraScale+ MPSoC EG
c++·嵌入式硬件·阿里云·fpga开发·云计算·fpga·pcb工艺
易知嵌入式小菜鸡6 小时前
STM32CubeMX-H7-15-SPI通信协议读写W25Q64
stm32·嵌入式硬件·fpga开发
北京青翼科技8 小时前
【PCIE730】基于PCIe总线架构的4路10G光纤通道适配器
图像处理·人工智能·fpga开发·信号处理
贝塔实验室12 小时前
基于XC7V690T的在轨抗单粒子翻转系统设计
设计模式·fpga开发·系统架构·流程图·软件构建·个人开发·fpga
深圳信迈科技DSP+ARM+FPGA12 小时前
基于RK3588+FPGA+AI YOLO全国产化的无人船目标检测系统(二)平台设计
人工智能·yolo·目标检测·计算机视觉·fpga开发·信号处理
XINVRY-FPGA12 小时前
XC7K410T‑2FFG900I 赛灵思XilinxFPGA Kintex‑7
嵌入式硬件·安全·阿里云·ai·fpga开发·云计算·fpga
leixj02521 小时前
Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(五)调试注意的问题
fpga开发
爱吃羊的老虎1 天前
【verilog】多个 if 控制同一个变量(后面会覆盖前面)非阻塞赋值真的并行吗?
fpga开发
暴富奥利奥1 天前
FPGA学习(五)——DDS信号发生器设计
学习·fpga开发
&Cheems1 天前
ZYNQ笔记(九):定时器中断
单片机·嵌入式硬件·fpga开发