【Vitis】HLS高层次综合的优势

news2024/11/14 3:44:56

       高层次综合 (HLS) 是自动设计进程, 利用数字系统的抽的象行为规范来生成寄存器传输级结构, 以实现给定行为。

使用 HLS 的典型流程包含下列步骤:

1. 围绕给定架构在高抽象层次使用 C/C++ 编写算法

2. 在行为级别验证功能

3. 使用 HLS 工具为给定时钟速度和输入约束生成 RTL

4. 验证生成的 RTL 的功能

5. 使用相同输入源代码探索其他不同的架构HLS 能够为创建高质量 RTL 铺路, 但并不能快速手动编写没有任何错误的 RTL。

设计师需要以 C/C++ 创建高层次的算法宏架构, 这意味着必须审慎全面考量设计意图以及设计与外界世界的交互方式。 HLS 工具还需要时钟周期、性能约束等输入约束。

在高层次上并不需要制定微架构决策, 如创建状态机、数据路径、寄存器流水线等。这些细节可以留给 HLS 工具, 通过提供输入约束(如时钟速度、性能编译指示、目标器件等) 即可生成经过最优化的 RTL。

提升效率

设计师利用 HLS 开展高抽象层工作, 这表示需编写为 HLS 输入的代码行数更少。由于缩短了用于编写 C++ 代码的时间并且周转更快, 因此错误更少, 从而提升了整体设计效率。设计师们能将更多时间集中在创建更高层次的高效设计上, 而无需担忧机械性的 RTL 实现任务。

HLS 不仅能提升设计效率, 也能提升验证效率。借助 HLS 也能在高层次生成或创建测试激励文件, 这意味着原始设计意图可以快速得到验证。由于流程仍在 C/C++ 领域内, 因此设计师可以尝试快速调整已验证的算法。在 C/C++ 内完成算法验证后, HLS 工具即可将同样的测试激励文件用于生成 RTL。然而, 生成的 RTL 可与现有 RTL 验证流程加以集成, 从而实现更全面的验证覆盖范围。

使用 HLS 给设计和验证带来的好处总结如下:

• 在 C 语言层次开发和确认算法, 以便根据硬件实现详细信息在抽象层进行设计。

• 使用 C 语言仿真来确认设计并以比传统 RTL 设计更快的速度进行迭代。

• 根据 C 语言源代码和编译指示创建多个设计解决方案, 以探索设计空间并找到最优解。

支持复用

为高层次综合创建的设计属于通用设计, 无关实现。不同于给定 RTL, 这些源代码并不与任何技术节点或任何给定时钟周期绑定。只需少量更新输入约束, 无需更改任何源代码, 即可尝试多种不同的架构。对 RTL 采用类似的做法却并不实用。设计师为给定时钟周期创建 RTL, 无论对衍生产品进行任何程度的更改, 都会导致产生新的复杂工程。设计师利用 HLS 开展高层次工作时, 就无需担心微架构, 并且可以依靠 HLS 工具来自动重新生成新的 RTL。

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

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

相关文章

(十二)springboot实战——SSE服务推送事件案例实现

前言 SSE(Server-Sent Events,服务器推送事件)是一种基于HTTP协议的服务器推送技术。它允许服务器向客户端发送异步的、无限长的数据流,而无需客户端不断地轮询或发起请求。这种技术可以用来实现实时通信、在线聊天、即时更新等功…

LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】

文章目录 前言LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】题目与分类思路二维解法二维转一维 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质…

【VSTO开发-WPS】下调试

重点2步: 1、注册表添加 Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\kingsoft\Office\WPP\AddinsWL] "项目名称"""2、visual studio 运行后,要选中附加到调试,并指定启动项目。 如PPT输入WPP搜…

在 CentOS 7上使用 Apache 和 mod_wsgi 部署 Django 应用的方法

简介 Django 是一个强大的 Web 框架,可以帮助您快速启动 Python 应用程序或网站。Django 包括一个简化的开发服务器,用于在本地测试代码,但对于任何与生产相关的事情,都需要一个更安全和功能强大的 Web 服务器。 在本指南中&…

Python学习路线 - Python高阶技巧 - 拓展

Python学习路线 - Python高阶技巧 - 拓展 闭包闭包注意事项 装饰器装饰器的一般写法(闭包写法)装饰器的语法糖写法 设计模式单例模式工厂模式 多线程进程、线程并行执行多线程编程threading模块 网络编程Socket客户端和服务端Socket服务端编程实现服务端并结合客户端进行测试 S…

毅速集团2023年度总结暨表彰大会圆满举行

2024年2月2日,毅速集团2023年度总结暨表彰大会在上海总部举行,本次年会以“加速世界向增材制造的转变”为主题,全面总结了毅速集团2023年取得的成绩,明确了2024年的发展战略,并对过去一年中表现突出的个人进行了隆重表…

Redis学习及总结

Redis 快速入门 Redis属于非关系型数据库 SQL应用场景 数据结构固定相关业务对数据安全性一致性要求高 NoSQL应用场景 数据结构不固定对一致性,安全性要求不高性能要求高 🎯需要使用Xftp 传输压缩包到虚拟机上 安装好Redis后, 执行命令…

第七届西湖论剑·中国杭州网络安全技能大赛 AI 回声海螺 WP

第七届西湖论剑中国杭州网络安全技能大赛-AI-回声海螺 开题,提示输入密码给FLAG。 这个回声海螺应该是个AI,就是复读机,应该是想办法从中骗出密码。 感觉这题不像是AI,也没用啥模型,应该是WEB。或者是说类似于AI的提示…

GLSL ES 1.0

GLSL ES 概述 写在前面 程序是大小写敏感的每一个语句都应该以英文分号结束一个shader必须包含一个main函数,该函数不接受任何参数,并且返回voidvoid main() { }数据值类型 GLSL支持三种数据类型: 整型浮点型:必须包含小数点&…

posix_memalign 与 malloc 对比

1. 原因原理 编程中的类型对齐问题主要是处于性能考虑,如果不做对齐,那么单个数据元素的访问很容易跨在多个时钟周期上,从而导致性能下降。 内建数据类型的对齐,是由编译器和C语言库的API实现中自动完成的,这对于用户是…

LeetCode-第876题-链表的中间结点

1.题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 2.样例描述 3.思路描述 创建两个快慢指针 slow , fast ,起始共同指向头节点,slow 每次走一步,fas…

LabVIEW双光子荧光显微成像系统开发

双光子显微成像是一种高级荧光显微技术,广泛用于生物学和医学研究,尤其是用于活体组织的深层成像。在双光子成像过程中,振镜(Galvo镜)扮演了非常关键的角色,它负责精确控制激光束在样本上的扫描路径。以下是…

leetcode9. 回文数|详细深入讲解算法

前往题目有 反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较&…

总结:图像生成网络

1、最新的几款图像生成网络 eCNN 文献:Bahrami A, Karimian A, Fatemizadeh E, et al. A new deep convolutional neural network design with efficient learning capability: Application to CT image synthesis from MRI[J]. Medical physics, 2020, 47(10): 515…

EasyX图形库学习(一、窗口创建函数initgraph、背景颜色设置setbkcolor、图形绘制函数)

目录 一、easyX图形库基本介绍 1、easyX的原理 2、easyX的安装 3、easyX的颜色(RGB颜色模型) 颜色模型相关函数: 4、easyX的坐标 二、相关函数介绍: 绘图设备相关函数: 图形颜色及样式设置相关函数: 图形绘制相关函数: 文字输出相关…

ManageEngine推出云原生身份平台以解决劳动力IAM挑战

ManageEngine推出云原生身份平台以解决企业员工身份与访问管理(IAM)面临的挑战。该公司还为其本地身份治理和管理(IGA)解决方案添加了先进的安全功能。 IAM 内置通用目录可在企业应用程序之间集中管理用户身份,使用身…

如何使用Docker部署Nginx容器实现无公网ip远程访问本地服务

文章目录 1. 安装Docker2. 使用Docker拉取Nginx镜像3. 创建并启动Nginx容器4. 本地连接测试5. 公网远程访问本地Nginx5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 在开发人员的工作中,公网远程访问内网是其必备的技术需求之一。对于…

CSS:三列布局

三列布局是指左右两列定宽&#xff0c;中间自适应。最终效果如下&#xff1a; HTML&#xff1a; <div class"container"><div class"left"></div><div class"center"></div><div class"right">…

jquery生成多个滑块,并对每个滑块做处理

基础滑块可以参考上一篇 eval(newThree).map((item, index) > { <div id"${uniqueId}" data-value"${item.text}" class"slider2"></div>$(document).ready(function () {for (let i 0; i < sliders.length; i)…

HTTP1.1、HTTP2、HTTP3

HTTP1.1 HTTP/1.1 相比 HTTP/1.0 性能上的改进&#xff1a; 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。支持管道&#xff08;pipeline&#xff09;网络传输&#xff0c;只要第一个请求发出去了&#xff0c;不必等其回来&#xff0c;就可以发第二个请求出去&…