一、引言
之前HLS工具帮忙生成的m_axi和s_axi接口,可以很简单的挂接到PS端,进行通信。这次学习的是其他接口的lab,这些接口虽然不能直接与PS端进行通信,但与dma等模块进行组合后,也可以完成与PS端的通信。
之所以要学其他接口,是因为m_axi和s_axi接口功能特定,无法自己更改成自己想要的读写方式。
HLS生成电路:接口功能+模块功能,都可以按照自己的想要的生成。
涉及的接口:ap_hs、ap_fifo、ap_ack、ap_vld、ap_ovld、ap_stable、ap_memory、ap_none和ap_bus。
二、案例
以一个FIR(有限冲击响应滤波器)的例子,来实验这些接口。

1、fir.h文件。
#ifndef __FIR_H__
#define __FIR_H__
typedef int dtype;
// volatile表示不要对变量进行优化。 为了防止同个变量名读出的结果一直一样,避免被优化掉。
void fir(volatile dtype *in,volatile dtype *out,unsigned int length);
#endif
2、fir.cpp文件。
#include "fir.h"
void fir(volatile dtype *in,volatile dtype *out,

本文详细讲述了在HLS设计中,ap_hs和ap_fifo接口的案例实验,通过FIR滤波器演示如何利用ap_hs实现握手通信,以及ap_fifo如何形成FIFO通道。重点讲解了ap_hs的握手机制和ap_fifo的读写操作,为理解高级接口提供深入解析。
最低0.47元/天 解锁文章
8094

被折叠的 条评论
为什么被折叠?



