Linux环境下Vivado和HLS功能测试

news2024/7/6 20:32:11

一. 简介

针对已经完成的Vivado在Linux下的安装与运行,本文主要通过一个LED灯闪烁的案例对Vivado和HLS在Linux操作系统下的运行流程进行介绍,并对已安装软件功能进行一个简单的测试。
HLS将C代码的编译综合为Verilog或VHDL代码,本文对HLS生成的代码进行简单的分析,同时也对编译过程中可能出现的报错 “Failed to generate IP”进行解决。

二. Vivado_HLS生成IP核

  1. 运行Vivado_HLS:
    Vivado_HLS的运行过程在Vivado在Linux下的安装与运行中已做介绍,运行以下命令shell脚本即可打开HLS:
	source /opt/Xilinx/Vivado/2017.4/settings64.sh  ##Vivado在Linux下的安装路径
	vivado_hls

请添加图片描述

打开界面如下图所示:

请添加图片描述

  1. 创建新工程 Create New Project,将工程建立在Documents下的workplace工作文件夹内以便查找:

请添加图片描述

  1. 顶层模块命名 Top Function:

请添加图片描述

  1. 选择FPGA型号 Part Selection,与选用的型号保持一致即可:

请添加图片描述

  1. 新建.cpp文件,代码内容很简单,即每隔50M个时钟周期LED灯闪烁一次,编译生成IP核:

请添加图片描述

IP核如图所示:

在这里插入图片描述

三. Vivado工程调用IP核

  1. 运行Vivado:
    Vivado的运行过程在Vivado在Linux下的安装与运行中已做介绍,运行以下命令shell脚本即可打开Vivado:
	source /opt/Xilinx/Vivado/2017.4/settings64.sh  ##Vivado在Linux下的安装路径
	vivado
  1. 新建工程后,在IP Catalog中增加HLS工程所在路径,可以看到HLS生成的IP核成功导入:

请添加图片描述

  1. 新建bd(Block Design)工程,导入IP核,ap_rst始终拉低,ap_clk和led_V接口外接:

请添加图片描述

  1. ap_clk和led_V分别约束到晶振时钟输出和LED接口:

请添加图片描述

  1. 综合成功后生成bit流文件:

请添加图片描述

  1. 由于采用时钟为50MHz,因此program device后可以看到LED每秒闪烁一次:

在这里插入图片描述

请添加图片描述

四. HLS生成Verilog代码分析

将HLS生成的IP核打开可以看到编译后的Verilog代码如下图:

请添加图片描述
其中命名较为复杂混乱,但由LED灯的工作原理,可以从输入输出接口入手简单分析:

计数器i_reg_39与i_1_fu_56_p2基本等价,相互赋值完成依赖于输入时钟的计数器功能,通过与25M比较完成led_V输出接口的翻转,实现每50M个时钟周期完成一次闪烁的功能;

五. HLS运行过程出现的问题与解决

出现问题:

HLS在编译综合工程生成IP核的过程中可能会出现“Failed to generate IP”的报错,如下图所示:

在这里插入图片描述

解决方法:

这一问题通常是由于HLS版本较早导致,例如本工程使用的是2017.4版本的HLS,因此需要将系统时间改到2018年之前即可成功生成IP核:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计JAVA医院门诊信息管理系统

[附源码]计算机毕业设计JAVA医院门诊信息管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM my…

MySQL视图

MySQL视图 VIEW(视图) 概念 可以被当作是虚拟表或存储查询 视图跟表格的不同是,表格中有实际储存资料,而视图是建立在表格之上的一个架构,它本身并不实际储存资料。 临时表在用户退出或同数据库的连接断开后就自动…

[LeetCode解题报告] 1610. 可见点的最大数目

[LeetCode解题报告] 1610. 可见点的最大数目一、 题目1. 题目描述2. 原题链接二、 解题报告1. 思路分析2. 复杂度分析3. 代码实现三、 本题小结四、 参考链接一、 题目 1. 题目描述 可见点的最大数目 难度:2147 给你一个点数组 points 和一个表示角度的整数 ang…

01-25-javajvm-JVM和Java体系架构

01-java-JVM和Java体系架构: 1、jvm底层,对性能调优,java是动态内存分配 2、java的跨平台性: Java虚拟机关心“字节码”文件,Java虚拟机和语言关性,只要其他编程语言的编译结果满足并包含Java虚拟机的内部指令集、符…

ch55xduino

1.把wch的ch55x系列单片机,移植到Arduino,制成所谓的“ch55xduino”:GitHub - DeqingSun/ch55xduino: An Arduino-like programming API for the CH55X 2.ch55x系列单片机比较(立创/云汉2022年12月报价) (1)CH552T:2…

ECMAScript新特性

代码 ECMAScript概述 ECMAScript 是脚本语言的标准化规范,也就是语言的语法。比如:怎样定义变量、怎样定义函数和逻辑运算等等。 那么ECMAScript 和 JavaScript 是何关系? JavaScript 是ECMAScript 的扩展语言,JavaScript实现了…

项目管理逻辑:日志\周报\月报, 一直要求写, 有用吗?

目录 1.公司管控项目: 2.什么是项目的生命周期? 3.项目管控举例 3.1装修项目阶段划分 3.2研发项目 4.控制项目的核心 1.公司管控项目: 写周报,日报,项目问题照样失控, 其实本质上的问题就是 我们没有如何设置好项目的阶段和项目的里程碑. 项目管理的五个阶段 2.什么是…

Golang基本命令操作

在前两期【初探Golang语言之环境搭建】 和 【Golang语法总结与学习】,对环境搭建和基本语法有介绍,本篇对常用的命令进行学习和梳理,记录下来,方便备查。 一、Go 语言基本命令 // 编译,生成exe文件 go build // 移除…

家庭用户无线上网案例(AC通过三层口对AP进行管理)

组网需求 为一个家庭用户使用的网络架构。该家庭消费用户的上网流量大多是低速流量,例如浏览网页、玩游戏、看视频等。家庭成员使用的无线终端主要为手机、PC、电视机等。终端接入的数量正常情况下在10个以内,偶尔有家庭聚会等特殊情况,终端接…

微服务框架 SpringCloud微服务架构 11 自定义镜像 11.1 镜像结构

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构11 自定义镜像11.1 镜像结构11.1.1 镜像结构11.1.2 总结11 自定义镜像 11…

【人工智能与机器学习】——线性回归、逻辑回归与分类评价指标(学习笔记)

📖 前言:线性回归(Lincar Regression)模型是最简单的线性模型之一,简而言之就像一元一次函数,是所有机器学习初学者的起点。而逻辑回归(Logistic Regression)则稍显复杂,…

微服务架构

单体架构 优点: 1:部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。 2:技术单一: 项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。 3:用人成本低: 单个程序员可以完成业务接口…

k8s之Pod控制器详解

文章目录一、Pod控制器介绍1、什么是Pod控制器1.2、ReplicaSet(RS)1.3、Deployment(Deploy)1.3.1、重建更新1.3.2、滚动更新1.3.2、版本回退1.3.3、金丝雀发布1.4、Horizontal Pod Autoscaler(HPA)1.5、DaemonSet(DS)1.6、Job1.7、CronJob(CJ)一、Pod控制器介绍 Pod是kubernet…

c语言结构体看这篇文章就够啦(详细介绍结构体)

前言: c语言两大重要点,一个是指针,另一个就是结构体啦,这篇文章我将全面的介绍一下结构体,和他的使用,相信大家看完这篇以后定能对结构体有个深入的理解,并且会正确的使用它。 💞 &…

智工教育:注册计量师一级和二级的科目一样吗?

注册计量师有二级、一级之分,其中二级考试所涉及的科目为《计量法律法规及综合知识》《计量专业实务与案例分析》,必须要在连续2年内考过,否则就要重新报考。 而一级的考试科目,则分别是《计量法律法规及综合知识》、《测量数据处…

H2/H∞半车悬架控制仿真分析

目录 前言 1.悬架模型 2.LMI求解 3.simulink仿真分析 3.1结论 前言 对于H2/H∞控制的鲁棒项相比不用多说,之前也写过两篇关于1/4车的H2/H∞控制文章,链接如下: 基于LMI的车辆主动悬架控制_Mr. 邹的博客-CSDN博客 基于MATLAB/Simulink的…

01-redis篇 两种数据储存持久化方式

目录 1. 背景: 2. 两种数据持久化方式 2.1 RDB存储机制 -> (1) 配置docker版redis -> (2) rdb默认开启, 配置如下 redis.conf 打开 ->(3)安全退出的模式 ->(4) save与bgsave 2.2 AOF持久化机制 ->(1) 修改redis.conf 开启aof储存机制 ->(2) 为什么要…

ahooks解决React闭包问题方法示例

这篇文章主要为大家介绍了ahooks解决React闭包问题方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 引言 本文是深入浅出 ahooks 源码系列文章的第三篇,这个系列的目标主要有…

ShardingSphere介绍

ShardingSphere产品介绍 Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。 设计哲学为 Database Plus,旨在构建异构数据库上层的标准…

项目管理逻辑:为什么职能部门官僚主义气息浓重?

目录 1.管理孤岛 2.业务部门和职能部门之间的关系 3.企业如何转型升级 3.1垂直管理模式 3.2精细管理模式 4.成熟企业的职能部门和组织部门 1.管理孤岛 职能部门办事状态 每个公司通常从管理的角度会划分很多个层级 . 不同层级之间通常会存在管理隔阂,也就是说不同的领…