Advertisement
Guest User

Untitled

a guest
Jul 24th, 2020
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 2.07 KB | None | 0 0
  1. #include "hls_stream.h"
  2. #include <ap_fixed.h>
  3. #include <cmath>
  4. #include <cstddef>
  5. #include <fstream>
  6. #include <iostream>
  7. #include <math.h>
  8. #include <stdio.h>
  9.  
  10. #define DATA_WIDTH  8
  11. #define WEIGHT_WIDTH 8
  12. #define ACC_WIDTH 32
  13.  
  14. typedef ap_uint<DATA_WIDTH> F_DATA;
  15. typedef ap_uint<WEIGHT_WIDTH> F_WEIGHT;
  16. typedef ap_uint<ACC_WIDTH> F_ACC;
  17. typedef F_ACC F_BIAS;
  18.  
  19. typedef ap_uint<8> u8;
  20. typedef ap_uint<16> u16;
  21. typedef ap_uint<32> u32;
  22. typedef ap_uint<256> u256;
  23. typedef ap_uint<512> u512;
  24.  
  25.  
  26. void conv(u8 data[3][20][30], u8 weight[3][3][3], u32 bias[18][28], u32 ans[18][28]);
  27.  
  28. void data_to_buf(u8 data[3][20][30], F_DATA data_buf[3][20][30]);
  29.  
  30. void weight_to_buf(u8 weight[3][3][3], F_WEIGHT weight_buf[3][3][3]);
  31.  
  32. void bias_to_buf(u32 bias[18][28], F_ACC bias_buf[18][28]);
  33.  
  34. void set_bias(F_ACC bias_buf[18][28], F_ACC ans_buf[18][28]);
  35.  
  36. F_ACC compute_element(
  37.     F_DATA data0, F_WEIGHT weight0,
  38.     F_DATA data1, F_WEIGHT weight1,
  39.     F_DATA data2, F_WEIGHT weight2,
  40.     F_DATA data3, F_WEIGHT weight3,
  41.     F_DATA data4, F_WEIGHT weight4,
  42.     F_DATA data5, F_WEIGHT weight5,
  43.     F_DATA data6, F_WEIGHT weight6,
  44.     F_DATA data7, F_WEIGHT weight7,
  45.     F_DATA data8, F_WEIGHT weight8,
  46.     F_DATA data9, F_WEIGHT weight9,
  47.     F_DATA data10, F_WEIGHT weight10,
  48.     F_DATA data11, F_WEIGHT weight11,
  49.     F_DATA data12, F_WEIGHT weight12,
  50.     F_DATA data13, F_WEIGHT weight13,
  51.     F_DATA data14, F_WEIGHT weight14,
  52.     F_DATA data15, F_WEIGHT weight15,
  53.     F_DATA data16, F_WEIGHT weight16,
  54.     F_DATA data17, F_WEIGHT weight17,
  55.     F_DATA data18, F_WEIGHT weight18,
  56.     F_DATA data19, F_WEIGHT weight19,
  57.     F_DATA data20, F_WEIGHT weight20,
  58.     F_DATA data21, F_WEIGHT weight21,
  59.     F_DATA data22, F_WEIGHT weight22,
  60.     F_DATA data23, F_WEIGHT weight23,
  61.     F_DATA data24, F_WEIGHT weight24,
  62.     F_DATA data25, F_WEIGHT weight25,
  63.     F_DATA data26, F_WEIGHT weight26
  64. );
  65.  
  66. void compute(F_DATA data_buf[3][20][30], F_WEIGHT weight_buf[3][3][3], F_ACC ans_buf[18][28]);
  67.  
  68. void ans_to_ddr(F_ACC ans_buf[18][28], u32 ans[18][28]);
  69.  
  70.  
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement