Vivado HLS学习笔记

news2024/11/24 12:55:16

任意精度的数据类型

在这里插入图片描述
u 代表 unsigned,fixed代表定点数据,即常数
采用任意精度的数据类型可以使用更少的资源,硬件友好性
数据类型定义在 header file 中

表示任意进制

ap_int<6> a("101010",2);  //二进制数据101010
ap_int<6> b("52",8);  	  //八进制数据52
ap_int<6> c("2A",16);  	  //十六进制数据2A
ap_int<6> d(-22);  		  //十进制数据-22

可使用 typeid 来获取变量的数据类型

#include <typeinfo>
ap_int<4> v1 = 3;
cout << typeid(v1).name() << endl;

复合数据类型

1. 结构体类型 Struct

在这里插入图片描述
Scalar (标量) 被实现成 scalar 端口
Array 被实现成 memory 端口
结构体中的数据可以被打包成一个 vector ,通过 data packing 优化

以下是两种打包方式 Byte_pad

field_level:先将独立得每个元素都扩展为标准8bits,然后打包这个结构体
在这里插入图片描述

struct_level:先打包这个结构体,再将打包后得结构体扩展为标准8bits

在这里插入图片描述
Data Pack 可以减少 latencyinitial interval

2. 结构体类型 enum
在这里插入图片描述
本质就是将一个数值定义为一个符号常量,每个枚举类型都会被自动地分配为一个int类型
这个例子中 M_INIT 对应到 0

基本运算

同C语言

Test Bench

在这里插入图片描述

Test Bench 既可以用来验证 C算法正确性,又可以用来验证RTL设计是否正确。

写 Test Bench 的规范要给出 Reference Result, 用来和 C算法得到的结果进行对比,以验证算法的正确性

在这里插入图片描述

接口综合

在这里插入图片描述

Block-level interface protocol
1.仅用于函数或者函数的返回值
2. 三种基本协议类型,ap_ctrl_hs、ap_ctrl_none、ap_ctrl_chain

标量接口映射

在这里插入图片描述

ap_ctrl_hs hs表示handshake,即握手协议
ap_none 即没有 I/O 协议
ap_ovld is for use with in-out arguments,即又是输入又是输出的情况
此时, 对于输入是 ap_none,输出是 ap_vld ,即输出有效标志位

数组接口映射
默认映射成 RAM 端口,可以自定义是单端口、双端口RAM还是FIFO接口
默认采用 ap_memory 协议,当数据是 stream 格式的,将被映射为 ap_fifo 协议

Port-level interface protocol

学习资源

B站视频
跟Xilinx SAE 学HLS系列视频讲座-高亚军

Xilinx官方文档
UG871 & UG902

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

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

相关文章

DR模式下部署LVS负载均衡集群的详细原理

目录 一、LVS-DR模式 1、基本原理 2、数据包流向分析 二、LVS-DR中的ARP问题 三、LVS-DR 特点 3.1 DR模式的特点 3.2 LVS-DR的优缺点 四、RS设置lo:0而不设置ens33:0的原因 一、LVS-DR模式 1、基本原理 Director Server作为群集的访问入口&#xff0c;但不作为网关使…

【C++实战项目】Date日期类 --- 运算符重载的深入探索

&#x1f4f7; 江池俊&#xff1a;个人主页 &#x1f525; 个人专栏&#xff1a;✅C那些事儿 ✅Linux技术宝典 &#x1f305; 此去关山万里&#xff0c;定不负云起之望 文章目录 引言一、为什么需要运算符重载&#xff1f;二、日期类的实现1. 基本框架2. 预备工作3. Date 类…

【MySQL】数据库的操作(1)

【MySQL】数据库的操作&#xff08;1&#xff09; 目录 【MySQL】数据库的操作&#xff08;1&#xff09;创建数据库数据库的编码集和校验集查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响数据库的删除 数据库的备…

预算有限,3D渲染更该升级显卡还是CPU?升级电脑配置推荐!

在当今数字化时代&#xff0c;影视、游戏和效果图设计等领域都需要强大的计算机来支持3D渲染工作。受当前国际和市场环境影响&#xff0c;硬件价格持续上涨&#xff0c;有专家预测这种局面将至少持续半年以上。因此&#xff0c;在预算有限的情况下&#xff0c;很多设计师在电脑…

Spring Cloud Gateway核心之Predicate

路由 Predicate 工厂 Spring Cloud Gateway 将路由作为 Spring WebFluxHandlerMapping基础设施的一部分进行匹配。Spring Cloud Gateway 包含许多内置的路由Predicate 工厂。所有这些谓词都匹配 HTTP 请求的不同属性。多个 Route Predicate Factory 可以组合&#xff0c;并通过…

【VTKExamples::PolyData】第四十八期 ShrinkPolyData

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例ShrinkPolyData,并解析接口vtkShrinkPolyData,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. ShrinkPol…

基于RFID技术+WMS仓储管理应用设计

一、项目背景 1.1 背景 仓储管理是企业对仓库及其内部物资进行计划、组织、控制和协调的管理过程。它在整个物流和经济活动中扮演着重要的角色&#xff0c;连接着生产者和消费者。 不同规模和产品种类的企业有不同的仓储管理流程和需求&#xff0c;但核心部分都包括仓库作业…

vue+uniapp实现图形验证码功能-插件(附源码)

一、需求背景 vueuniapp实现图形验证码功能-插件&#xff08;附源码&#xff09; 在登录系统时&#xff0c;除了密码登录&#xff0c;还需要提供验证码登录。 涉及验证码&#xff0c;为了安全&#xff0c;一般会加入图形验证码&#xff0c;然后再发短信验证码。 如图&#xff1…

springboot236基于springboot在线课程管理系统的设计与实现

基于SpringBoot在线课程管理系统的设计与实现 摘要 本文首先介绍了在线课程管理系统的现状及开发背景&#xff0c;然后论述了系统的设计目标、系统需求、总体设计方案以及系统的详细设计和实现&#xff0c;最后对在线课程管理系统进行了系统检测并提出了还需要改进的问题。本系…

【QQ案例-QQ框架-静态单元格的使用注意 Objective-C语言】

一、来说一下啊,静态单元格的使用注意 1.静态单元格的使用啊,有一个小的地方,在我们最后一份代码啊,“14-QQ”里面,command + C、command + V、复制一份, 文件名,从“14-QQ副本”,改成“15-静态单元格的注意事项“, 好,然后呢,在这个里边儿,我们点开这个小的项目,…

RWEQ模型高手进阶:土壤风蚀模数估算、制图、归因分析全攻略

土壤侵蚀模型的构建能够更好地探寻侵蚀的原因&#xff0c;以便对土壤侵蚀进行一系列预测工作&#xff0c;减轻其对生态环境的影响。由于侵蚀过程较为复杂&#xff0c;因此建模需要充分考虑各项因素&#xff0c;例如气象、水文、地质环境、土壤条件等。修正的土壤风蚀方程&#…

爬取全国大学排名--数据保存在js文件中的处理办法

网页链接&#xff1a;【软科排名】2023年最新软科中国大学排名|中国最好大学排名 点击xhr后发现数据不存在&#xff0c;在搜索框&#xff08;尽量搜索数字和字母&#xff09;搜索&#xff0c;发现数据在js文件中,这是一个JSONP的格式&#xff0c;相对于json的格式 对js文件进行…

ButterKnife实现之Android注解处理器使用教程

ButterKnife实现之Android注解处理器使用教程 1、新建一个注解 1.1、编译时注解 创建注解所需的元注解Retention包含3个不同的值&#xff0c;RetentionPolicy.SOURCE、RetentionPolicy.CLASS、RetentionPolicy.RUNTIME。这3个值代表注解不同的保留策略。 使用RetentionPolic…

3月6日

英语 微机原理 硬件中断由 硬件产生 软件中断由软件提供 硬件是随机的 软件是已知的 硬件通常使用类型码 软件是不需要的 硬件的NMI 和 INTR 引脚 无条件 简单外设 查询 CPU效率不高 需要外设提供状态口 中断 需要外设向CPU发送中断请求具有发送中断请求的能力 同时要发送类型…

PandasPython 笔记1 3.5

一般这两个东西相互配合使用 pd.Series 若没有给定行和列的话&#xff0c;就会自动给0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4 describe 只能描述数字&#xff0c;不可以描述字符串 ascendingfalse&#xff1a;倒序 一般的截取方式 特定的选取方式 有这三…

Vue-04

Vue 指令 指令补充 指令修饰符&#xff1a;通过"."指明一些指令后缀&#xff0c;不同后缀封装了不同的处理操作 → 简化代码 按键修饰符 keyup.enter → 键盘回车监听 在input中使用keyup.enter&#xff0c;这个时候按enter键也能实现添加&#xff0c;和点击按钮实…

(二) 数据库系统的结构抽象与演变

2.1三层模式与两层映像&#xff0c;物理独立性和逻辑独立性 从数据角度可以分为三层视图模式默认指的是全局模式&#xff0c;视图默认指的是外部视图 一个数据库只有一个内模式 DBMS要让用户定义三层模式&#xff0c;程序自动地实现两层映像 。 从外部视图到外模式的数据结构的…

chrome 浏览器只有开启clash 才能上网请求

最近重装了chrome 浏览器&#xff0c;发现只有开着clash才能正常访问网络&#xff0c;关了就无法访问网站。 原因在于浏览器的DNS配置出了问题 现象如下&#xff1a; 出问题的设置&#xff1a; 解决&#xff1a; 把DNS提供商改成系统默认&#xff0c;或者直接把对您访问的网…

网络原理初识(1)

目录 一、网络发展史 1、独立模式 2、网络互联 3、局域网LAN 局域网组建的方式 1、基于网线直连 2、基于集线器组建 3、基于交换机组建 4、基于交换机和路由器组建 4、广域网WAN 二、网络通信基础 1、IP地址 2、端口号 3、认识协议 4、五元组 一、网络发展史 1、独立模式 …

MySQL·SQL优化

目录 一 . 前言 二 . 优化方法 1 . 索引 &#xff08;1&#xff09;数据构造 &#xff08;2&#xff09;单索引 &#xff08;3&#xff09;explain &#xff08;4&#xff09;组合索引 &#xff08;5&#xff09;索引总结 2 . 避免使用select * 3 . 用union all代替u…