Xilinx Vitis HLS教程1--Vitis HLS概述[02/12]

本文介绍了Xilinx Vitis HLS工具,用于将C/C++代码综合为硬件内核,实现高性能和低延迟。Vitis HLS支持高层次综合,包括调度、绑定和控制逻辑提取等阶段,允许在C语言层面开发和验证算法,通过编译指示进行优化。文中通过实例展示了调度和绑定、控制逻辑提取和性能评估,提供了Vitis HLS设计流程的基本概念。
摘要由CSDN通过智能技术生成


2. Vitis HLS简介

kernel 内核
pragmas 编译指示
FSM,有限状态机 , Finate state machine
synthesize,综合
schedule,调度


Vitis™ HLS是一款高级综合工具,允许 C、C++ 和OpenCL™函数硬连线(hardwired)到器件逻辑结构和 RAM/DSP 块上。Vitis HLS在Vitis应用加速开发流程中实现硬件内核(hardware kernel),并使用 C/C++ 代码为Vivado® Design Suite中的Xilinx®器件设计开发 RTL(寄存器传输设计级别)IP(功能块) 。

在Vitis应用程序加速流程中,Vitis HLS工具可自动执行大部分代码修改,以实现和优化可编程逻辑中的 C/C++ 代码并实现低延迟和高吞吐量。推导出需要的编译指示(pragmas),以为函数参数生成正确接口以及在代码中用pipeline优化循环和函数,这是Vitis HLS在应用程序加速流程中的基础。Vitis HLS还支持自定义您的代码以实现不同的接口标准或特定优化,从而实现您的设计目标。

Vitis HLS设计流程一般如下:
1.编译、仿真、调试C/C++代码;
2.观察report,以分析和优化设计;
3.将C代码综合(synthesize)成RTL设计;
4.用RTL协同仿真器验证RTL实现;
5.将RTL实现打包成编译后的目标文件(.xo),或者导出到RTL IP.

2.1 HLS基础

Xilinx Vitis HLS工具将C/C++方法综合(synthesize)成RTL代码,以加速可编程逻辑。Vitis HLS与Vitis核心开发套件和应用程序加速设计流程紧密集成。

使用高层次综合HLS的好处包括:

  • 在C语言级开发、验证算法,脱离硬件实现细节进行抽象设计;
  • 用C仿真器验证设计,迭代速度远远快于传统RTL设计;
  • 用优化pragma控制C综合过程,以创建更高性能的实现;
  • 从C源码和编译指示中创建多个解决方案,以探索设计空间,找到最佳实践;
  • 快速重新编译C源码,以针对不同平台和硬件;

HLS包括以下阶段:

  1. 根据以下因素做调度(schedule),以决定每个时钟周期内采取什么操作:
    – 某个操作的依赖已经满足或者可用;
    – 时钟周期的长度或者时钟频率;
    – 目标device中,该操作完成所需要的时间;
    – 可用的资源分配;
    – 任何其他的用户自定义优化指示;
    注:有些目标device很快&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值