vivado HLS学习一之vivado HLS的使用

HLS是什么

Vivado HLS——个是采用高级语言去描述系统行为即用 C/C++来实现系统建模,软件工程师可以借此提高系统性能:也就是说之前可能需要 CPU/DSP/GPU 实现的一些算法,我们都可以借助 Vivado HLS 直接通过 C/C++编程来用 FPGA 实现,一方面提高了并行性,也就是提高了系统的吞吐率,另一方面还可以降低系统的功耗。

在用 C/C++描述完算法之后,还需要相应的测试程序来测试算法的正确性。同时生成的 HDL 代码在验证时也会用的 C/C++编写的测试激励。从这个角度而言,Vivado HLS 生成的 HDL 代码并不是要求我们看懂的,因为生成的 HDL 代码命名本身并没有什么可读性,所以我们需要做的就是在 C/C++层面把算法做更多的优化,以及对综合工具采用相应的指导(directives)。

Vividao HLS 在将 C/C++代码转换成 HDL 代码时所经历的阶段如图所示:

vivado HLS学习一之vivado HLS的使用_第1张图片

 

调度(Scheduling):实现控制逻辑的提取,确定每个时钟周期应该执行的操作,计算操作所需要的时钟周期和可以并行执行的操作,会生成相应的状态机,

绑定(Binding):实现资源的映射即将每个操作映射到所需要的资源上去。

你可能感兴趣的:(hls,物联网,fpga开发)