手把手课堂:尝试通过算法重构和Vivado HLS生成高效的处理流水线

作者:Shaoyi Cheng
博士候选人
加州大学伯克利分校
sh_cheng@berkeley.edu

通过用于重构高级算法描述的简单流程,就可以利用高层次综合功能生成更高效的处理流水线。

如果您正在努力开发计算内核,而且采用常规内存访问模式,并且循环迭代间的并行性比较容易提取,这时,Vivado® 设计套件高层次综合(HLS) 工具是创建高性能加速器的极好资源。通过向C 语言高级算法描述中添加一些编译指示,就可以在赛灵思FPGA 上快速实现高吞吐量的处理引擎。结合使用软件管理的DMA 机制,就可以比通用处理器提速数十倍。

然而,实际应用中经常会遇到难以处理的复杂内存访问问题,尤其是当突破科学计算和信号处理算法领域时更是如此。我们设计出了一种简单方法,可供您在此类情况下生成高效的处理流水线。在详细介绍之前,我们首先了解一下Vivado HLS 的工作原理,更重要的是了解它何时不起作用。更多内容请点击