Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "hls_stream.h"
- #include <ap_fixed.h>
- #include <cmath>
- #include <cstddef>
- #include <fstream>
- #include <iostream>
- #include <math.h>
- #include <stdio.h>
- #define DATA_WIDTH 8
- #define WEIGHT_WIDTH 8
- #define ACC_WIDTH 32
- typedef ap_uint<DATA_WIDTH> F_DATA;
- typedef ap_uint<WEIGHT_WIDTH> F_WEIGHT;
- typedef ap_uint<ACC_WIDTH> F_ACC;
- typedef F_ACC F_BIAS;
- typedef ap_uint<8> u8;
- typedef ap_uint<16> u16;
- typedef ap_uint<32> u32;
- typedef ap_uint<256> u256;
- typedef ap_uint<512> u512;
- void conv(u8 data[3][20][30], u8 weight[3][3][3], u32 bias[18][28], u32 ans[18][28]);
- void data_to_buf(u8 data[3][20][30], F_DATA data_buf[3][20][30]);
- void weight_to_buf(u8 weight[3][3][3], F_WEIGHT weight_buf[3][3][3]);
- void bias_to_buf(u32 bias[18][28], F_ACC bias_buf[18][28]);
- void set_bias(F_ACC bias_buf[18][28], F_ACC ans_buf[18][28]);
- F_ACC compute_element(
- F_DATA data0, F_WEIGHT weight0,
- F_DATA data1, F_WEIGHT weight1,
- F_DATA data2, F_WEIGHT weight2,
- F_DATA data3, F_WEIGHT weight3,
- F_DATA data4, F_WEIGHT weight4,
- F_DATA data5, F_WEIGHT weight5,
- F_DATA data6, F_WEIGHT weight6,
- F_DATA data7, F_WEIGHT weight7,
- F_DATA data8, F_WEIGHT weight8,
- F_DATA data9, F_WEIGHT weight9,
- F_DATA data10, F_WEIGHT weight10,
- F_DATA data11, F_WEIGHT weight11,
- F_DATA data12, F_WEIGHT weight12,
- F_DATA data13, F_WEIGHT weight13,
- F_DATA data14, F_WEIGHT weight14,
- F_DATA data15, F_WEIGHT weight15,
- F_DATA data16, F_WEIGHT weight16,
- F_DATA data17, F_WEIGHT weight17,
- F_DATA data18, F_WEIGHT weight18,
- F_DATA data19, F_WEIGHT weight19,
- F_DATA data20, F_WEIGHT weight20,
- F_DATA data21, F_WEIGHT weight21,
- F_DATA data22, F_WEIGHT weight22,
- F_DATA data23, F_WEIGHT weight23,
- F_DATA data24, F_WEIGHT weight24,
- F_DATA data25, F_WEIGHT weight25,
- F_DATA data26, F_WEIGHT weight26
- );
- void compute(F_DATA data_buf[3][20][30], F_WEIGHT weight_buf[3][3][3], F_ACC ans_buf[18][28]);
- void ans_to_ddr(F_ACC ans_buf[18][28], u32 ans[18][28]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement