7

随想录(hls加速技术)

 3 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/111308765
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

随想录(hls加速技术)

费晓行 2020-12-17 10:11:05 14
分类专栏: 随想录

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    熟悉xilinx vivado技术的同学都知道,vivado软件除了用verilog设计ip、用sdk开发软件外,还可以用hls开发ip的。目前来说,开发fpga似乎是硬件工程师的专利,但是软件工程师也可以用hls开发ip核的。ip核除了实现硬件协议外,另外一个重要的作用就是算法加速。

1、hls的开发语言

可以是c和c++语言

2、hls直接生成ip核

c/c++也是翻译成verilog/vhdl,然后生成的ip核的

3、hls的接口

目前主要是axis、m_axi、s_axilite

第一个是stream接口

第二个是maste入接口

第三个是slave接口

4、hls自带的函数

hls有很多自带的函数,比如hls::fft,hls::Dilate,hls::CvtColor等函数

5、测试方法

两种方法,一种直接用c进行testbench测试,还有一种就是用modelsim看波形

6、编写代码的注意点

两个需要注意的地方,一个是不能使用malloc和free等函数

第二个就是注意#pragma的使用,这个就是c语言生成verilog的关键,告诉hls编译器如何生成verilog

7、学习文档

网上有一本《course_s3_ALINX_ZYNQ开发平台HLS教程V1.03.pdf》就不错,大家可以搜一下

8、最简单的hls代码,top函数就是led_control

9、其他硬件加速的方法

    除了hls之外,目前还有arm+dsp(ti)、arm+cuda(nvidia)、arm+opencl(gpu)、npu(rk3399pro)、cpu(多核arm)等很多加速方法,大家可以根据自己的情况多多使用。很多安全关键系统,光靠arm这种cpu计算是远远不够的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK