高层次综合基础 - 2021.2 Chinese

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2021-12-15
Version
2021.2 Chinese

赛灵思 Vitis HLS 工具可将 C 语言或 C++ 语言函数综合到 RTL 代码中,用于在可编程逻辑内进行加速。Vitis HLSVitis 核开发套件和应用加速设计流程紧密集成。

使用高层次综合 (HLS) 设计方法论的优势包括但不限于:

  • 在 C 语言层次开发和确认算法,以便根据硬件实现详细信息在抽象层进行设计。
  • 使用 C 语言仿真来确认设计并以比传统 RTL 设计更快的速度进行迭代。
  • 使用最优化编译指示来创建高性能实现,从而控制 C 语言综合进程。
  • 根据 C 语言源代码和编译指示创建多个设计解决方案,以探索设计空间并找到最优解。
  • 以不同平台和硬件器件为目标,快速重新编译 C 语言源代码。

HLS 包含以下阶段:

  1. 调度可根据下列条件判定每个时钟周期内发生的运算:
    • 运算的依赖关系何时已得到满足或者变为可用。
    • 时钟周期长度或时钟频率。
    • 运算完成所需时间(由目标器件来定义)。
    • 可用资源分配。
    • 整合任意用户指定的最优化指令。
    提示: 时钟周期越长,或者如果目标器件越快,单个时钟周期内可完成的运算数量就越多,并且所有运算可能能够在一个时钟周期内完成。但如果时钟周期较短,或者目标器件较慢,那么 HLS 会将运算自动调度到多个时钟周期内。部分运算可能需要作为多周期资源来实现。
  2. 绑定会分配硬件资源用于实现调度的每项运算,并将运算符(例如,加法、乘法和移位)映射到特定 RTL 实现。例如,mult 运算可在 RTL 内作为组合乘法器或流水打拍乘法器来实现。
  3. 控制逻辑抽取可创建有限状态机 (FSM),根据定义的调度按顺序执行 RTL 设计中的运算。