Windows下 HLS入门
一.HLS简介
1.什么是HSL
HLS,即高层次综合(High-Level Synthesis),是一种将高级语言描述的功能转换为硬件描述语言(HDL)的技术。它使得设计者可以使用C、C++或System C等高级语言来编程FPGA,从而提升抽象层级,并显著减少使用传统的RTL(寄存器传输级)描述进行FPGA开发所需的时间.
2.HLS与VHDL/Verilog编程技术有什么关系?
HLS与VHDL/Verilog编程技术有很大的关系,因为它们都是用于编写硬件描述语言的工具。然而,HLS与传统的VHDL/Verilog编程技术不同之处在于,HLS更加高级,可以让开发人员使用更加直观和易于理解的语言来描述硬件功能,从而提高开发效率和代码质量。HLS的流程与传统的VHDL/Verilog编程技术也不同,它更加依赖于自动化工具来完成硬件代码的生成和优化。
3.HLS关键技术
- 语言映射:如何将高级语言转换为硬件描述语言,生成硬件电路。
- 时序约束:如何对生成的硬件电路进行时序优化,以达到最佳的性能。
- 存储器优化:如何最大限度地利用FPGA中的存储器资源,提高性能和资源利用率。
- 并行化:如何将硬件电路并行化,以提高性能。
4.技术局限性
- 没有早期的性能估计以及任何违反设计和平台限制的行为
- 没有利用所有可能的数据通信方式
- 没有功能概述,也没有对用户代码进行优化转换
- 支持代码报告得太晚了
- 在某些情况下,工具的高效实施是不可能的,例如当必须将太多的加速器
- 映射到硬件部分时。 HLS工具无法预先检测到这种情况,也无法在用户坚持的情况下尽量减轻其影响。
二.环境配置
1.安装Vivado2018.3
三.HLS - LED闪烁仿真
1.项目的创建
- Create New Project
- 设置工程名及路径
2.c仿真
- 添加源文件
右键 Source,点击 New file,在弹出的窗口中,选中我们存放源码的目录后。新建一个 led.cpp 文件和led.h头文件。
- 头文件代码:
#ifndef