以下只是一个简单的2D卷积的示例: 头文件
#include
#include
#include
#define MAX_LEN 100
#define K 3
using namespace std;
typedef ap_int data_t;
void conv2d(data_t in[MAX_LEN*MAX_LEN],data_t weight[K][K],data_t out[MAX_LEN*MAX_LEN],int fsize,int pad);
源文件
#include"conv2d.h"
void conv2d(data_t in[MAX_LEN*MAX_LEN],data_t weight[K][K],data_t out[MAX_LEN*MAX_LEN],int fsize,int pad){
#pragma HLS array_partition variable=weight complete dim=0
hls::LineBuffer LineBuffer;
hls::Window WindowBuffer;
data_t tmp;
int n=0;
int addr=0;
int start=2*(fsize+2*pad)+2; //2=K-1,window is valid when n>=start
//
for(int r=0;r
关注
打赏