简介
博主参考了 Xilinx UG871 文档,记录了 Vivado HLS 学习过程中的一些知识点和技巧,本文主要简单介绍 Vivado HLS 的工作流和一些问题的解决方案,之后会在阅读推进 UG871 的文档的同时不断的更新。
开发环境
- Ubuntu 18.04 LTS.
- Xilinx Vivado HLS 2019.1.
学习笔记
- Vivado HLS 主要用于将 C/C++ 代码高层次综合成 RTL 级的硬件描述语言,并导出 IP 核,供 Vivado Design Suite 使用,HLS 的基本工作流程是
- C Simulation/Validation - 主要用来验证 C 代码的正确性。
- C Synthesis - 对 C 代码进行综合并生成报告(监测 performance and resource utilization)
- C/RTL Co-Simulation - 对 RTL 设计进行仿真和验证。
- Export RTL as IP - 将验证好的 RTL 代码导出为可用的 IP 核。
- 新建一个基本的 HLS 项目需要
- Design Source: 实现功能的 Source C files (functions written by C/C++)
- Test Bench: 用来验证功能正确性的 C file (include main function),其中也包含了一些参考的验证文件。
- Solutions,Clock period (对于一个功能有不同的解决方案,也需要确定基本的时钟周期)
- 设备型号。
其中 1 和 2 需要自己提供实现和验证的功能的 s