fpga系列 HDL:XILINX Vivado Vitis 高层次综合(HLS) 实现 EBAZ板LED控制(上)

news/2025/2/6 2:32:14/

目录

      • 创建工程
      • 创建源文件并编写C代码
      • C仿真
      • 综合
      • 仿真
      • 导出RTL
  • CG
      • 导出RTL错误处理:

创建工程

在这里插入图片描述

创建源文件并编写C代码

  • 创建源文件(Souces下的hlsv.hhlsv.cpp,Test Bench下的test_hlsv1.cpp):
    在这里插入图片描述
  • hlsv1.h
#ifndef HLSV1
#define HLSV1
#include <ap_int.h>
typedef 	ap_int<1> led_t;
void hlsv(ap_int<1> *led);
#endif
  • hlsv1.cpp
#include "hlsv1.h"
void hlsv1(led_t *led_o){
#pragma HLS INTERFACE ap_ctrl_none port=return
#pragma HLS INTERFACE ap_ovld port=led_oint i;for(i=0;i<100000000;i++){if(i<=59990000){*led_o = ~(*led_o);}else{*led_o = (*led_o);}}
}
  • test_hlsv1.cpp
#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错误处理:

  • 根据文章“Vivado HLS | Export RTL报错 “ERROR: [IMPL 213-28] Failed to generate IP.“”的提示:
  • 下载补丁zip文件:在这里插入图片描述
  • 解压到XILINX安装目录,并执行python .\y2k22_patch\patch.py在这里插入图片描述

http://www.ppmy.cn/news/1569683.html

相关文章

golang开发技能

本文主要介绍go相关 开发技巧、调试技巧、工具使用、单元测试、基准测试、性能测试相关。 1、Go命令&#xff1a;go test工具详解 这里先大致介绍测试工具“go test”&#xff0c;go test 本身可以携带很多参数&#xff0c;熟悉这些参数可以让我们的测试过程更加方面。具体使…

Kafka分区策略实现

引言 Kafka 的分区策略决定了生产者发送的消息会被分配到哪个分区中&#xff0c;合理的分区策略有助于实现负载均衡、提高消息处理效率以及满足特定的业务需求。 轮询策略&#xff08;默认&#xff09; 轮询策略是 Kafka 默认的分区策略&#xff08;当消息没有指定键时&…

Maven 概述与安装配置

1. Maven 概述 1.1 什么是 Maven&#xff1f; Maven 是一个开源的项目管理工具&#xff0c;主要用于 Java 项目的构建、依赖管理和项目发布。Maven 通过自动化构建、依赖管理、项目生命周期管理等方式&#xff0c;帮助开发者更高效地进行项目的管理和构建。 Maven 的核心功能…

Spring Boot项目如何使用MyBatis实现分页查询

写在前面&#xff1a;大家好&#xff01;我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正&#xff0c;感谢大家的不吝赐教。我的唯一博客更新地址是&#xff1a;https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油&#xff0c;冲鸭&#x…

kubernetes学习-配置管理(九)

一、ConfigMap &#xff08;1&#xff09;通过指定目录&#xff0c;创建configmap # 创建一个config目录 [rootk8s-master k8s]# mkdir config[rootk8s-master k8s]# cd config/ [rootk8s-master config]# mkdir test [rootk8s-master config]# cd test [rootk8s-master test…

【大数据技术】用户行为日志分析(python+hadoop+mapreduce+yarn+hive)

用户行为日志分析(python+hadoop+mapreduce+yarn+hive) 搭建完全分布式高可用大数据集群(VMware+CentOS+FinalShell) 搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn) 本机PyCharm远程连接虚拟机Python 搭建完全分布式高可用大数据集群(MySQL+Hive)

Vue.js组件开发-实现图片浮动效果

使用Vue实现图片浮动效果 实现思路 将使用Vue的单文件组件&#xff08;.vue&#xff09;来实现图片浮动效果。主要思路是通过CSS的transform属性结合JavaScript的定时器来改变图片的位置&#xff0c;从而实现浮动效果。 代码实现 <template><!-- 定义一个包含图片…

将D盘空间划分给C盘

前段时间换了刚刚换了新的机械革命的笔记本&#xff0c;发现拿到手时磁盘已经预先分好了区&#xff0c;但是 C 盘&#xff08;系统盘&#xff09;只分了 200 GB。在装了 WSL 等一些必备的环境后&#xff0c;就只剩下不到 100 GB&#xff0c;感觉很没有安全感&#xff08;&#…