1、HLS是什么?与VHDL/Verilog编程技术有什么关系?
HLS就是从高层次描述,之后综合成可用的网表文件的技术。这里的“高”指采用C、C++等编写程序,而不是传统的HDL语言。然而,实际上Vivado套件中是预先采用Vivado HLS这个软件将C程序转换成为Verilog HDL或者VHDL代码,之后进行下一步操作的,并不是直接综合C代码。即用C等高级语言编写代码,通过软件转换成Verilog、VHDL硬件描述语言。
hls与VHDL/Verilog编程技术有什么关系 :理想的方法是将 HLS 代码用于计算密集型部分与手工制作的用于逻辑控制和存储器管理的 HDL 实现相结合。但是,当内存管理和控制逻辑是应用程序实现过程中最复杂,最耗时的部分时(如本文所说),与纯 HDL 设计相比,混合方法可能不会增加太多价值。此外,在这种方法中,HDL 模块将被视为 HLS 设计中的黑匣子,从而阻碍了该工具重新使用 HDL 模块消耗的资源的努力。
2、HLS有哪些关键技术问题?目前存在什么技术局限性?
HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费。如果要实现数天的时移,索引量将会是个巨额数字,并明显影响请求速度。因此,HLS协议对存储I/O要求相当苛刻。HLS技术无法直接用于布局布线之后的综合,高级语言仍然需要转换成硬件描述语言。并且一般的C语言学习不会涉及到地址映射、Avalon总线等,开发起来具有一定难度。
参考链接:https://blog.csdn.net/weixin_47936384/article/details/117401228
HLS入门实践
一、hls在windows平台仿真
1、初始化环境
Win + R打开cmd
切换到Quartus安装地址的hls文件,运行init_hls.bat