提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Xilinx Vitis HLS教程1--Vitis HLS概述[03/12]
solution: 解决方案
synthesis: 综合
simulation: 模拟
3. Vitis HLS流程概述
Vitis HLS是基于项目的,可以包含多种称为"解决方案"的变体,以推动综合和模拟。每个解决方案都可以针对Vivado IP 流或Vitis内核流。基于目标流,每个解决方案将指定不同的约束和优化指令,如下文使能Vivado IP 流和使能 Vitis 内核流中所述。请参阅下文Vivado/Vitis 流的默认设置,了解两个流之间的明确差异列表。
典型设计流中综合、分析、优化步骤如下:
1.创建一个新的Vitis HLS项目;
2. 用C模拟器验证源码;
3. 运行HLS生成RTL文件;
4. 分析结果,考虑的维度有:延迟、初始间隔、吞吐量、资源利用等;
5. 优化并重复上述步骤;
6. 用C/RTL协同模拟器验证结果。
Vitis HLS基于目标流、缺省工具配置、设计约束、优化pragma指示、用户自定义指令等实现解决方案。可以使用优化指令修改和控制内部逻辑和I/O端口的实现,override工具的缺省行为。
C/C++代码综合如下:
- 顶层函数的参数综合成RTL I/O端口
正如接口定义小节所述,HLS创建什么样的接口取决于目标流、数据类型、数据方向、接口模式、用户指定的INTERFACE
pragma,已经用户自定义的其他指令。 - 子函数综合成层次化RTL设计的block
–最终的 RTL 设计包括与原始顶层 C 函数等级结构相对应的模块(module)或实体(entity)的层次化结构;