当前位置: 首页 > article >正文

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

       高层次综合 (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.kler.cn/a/230060.html

相关文章:

  • TCP/IP协议攻击与防范
  • 【前端】JavaScript中的字面量概念与应用详解
  • shell(5)字符串运算符和逻辑运算符
  • mybatis-plus 实现分页查询步骤
  • HTTP 管道传输与多路复用
  • Scrapy图解工作流程-cnblog
  • 【Linux系统化学习】进程替换
  • 阿里云OSS对象存储
  • 大型装备制造企业案例分享——通过CRM系统管理全球业务
  • Ubuntu下anaconda的常用操作
  • JAVA中的抽象类
  • Oracle systemstate、gdb、dbx介绍
  • docker 部署springboot项目详细步骤
  • jquery写表格,通过后端传值,并合并单元格
  • deepin20.9安装及配置
  • 代驾应用系统(ssm)
  • P9240 [蓝桥杯 2023 省 B] 冶炼金属--2024蓝桥杯冲刺省一
  • 【Kubernetes】在k8s1.24及以上版本基于containerd容器运行时测试pod从harbor拉取镜像
  • MySQL数据引擎、建库及账号管理
  • P4408 [NOI2003] 逃学的小孩
  • 【自然语言处理】P1 对文本编码(One-Hot 与 TF-IDF)
  • Linux命令-arpwatch命令(监听网络上ARP的记录)
  • 《极致产品力》日本深度研学 | 火热报名中!
  • 【python】学习笔记02-判断语句
  • ubuntu 上安装和配置Apache2+Subversion
  • 【HTML】MDN