找回密码
 注册
关于网站域名变更的通知
查看: 284|回复: 2
打印 上一主题 下一主题

卷积函数的FPGA实现-------对IPcore进行HLS及bug查找(下)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-20 14:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本篇只有目录的第四部分,其他部分请查看:卷积函数的FPGA实现-------对IPcore进行HLS及bug查找(上)、(中)篇
) o* h) _6 H: V& ^& n
1 r1 I  n0 f" p( A- y背景:我们编辑了3x3卷积的IPcore,并完成了预编译。程序通过调用3*3卷积的IPcore实现运行。并通过HLS预编译指令实现为硬件结构,现在我们需要对IPcore程序进行HLS。  _( s" @+ W, u' v
6 H. C5 E' J. i/ p+ U$ y4 Z$ A6 O
目的:对卷积IPcore进行HLS
- O3 a; h1 x1 {0 h  W
% F9 B% k4 T  A/ }/ N# ^目录
5 z/ F; @# z: I& E# l$ v
! Z- y' r: z: |/ h- ]8 Q  x: L
8 G( g* j3 s5 n! O2 D一、testconvBench编写5 x" Q& u: E, }, x

3 ~0 ^1 y, ?( i' C. H5 W: F1 d: J% u/ x3 S+ ^4 E+ q5 s
       1.1  linux下用cmake编译运行程序2 v" s0 m3 [/ D1 M, Z/ Z- a

+ F. N2 Z( B" Q/ {& W
) {. y/ m# y/ S, [; L! k       1.2 隐患与BUG
2 V, Q8 ~$ r% [/ i2 \  P
9 D3 s* I4 g) U8 H6 k7 U7 M7 ^. i$ M; ~- r& }* T6 I/ x
       1.3 testBench编写
1 t! y" d# Q1 {; q& R" L7 {+ l& U
) B- M0 f$ h3 _+ p0 [3 u7 t" S1 ~
9 U* [) Y1 O; J) b% ]9 s8 L  S- y
              卷积尺寸
0 f1 @1 g! [, P2 c4 Q& R$ w* |
( n/ e) q- v% M  E1 |. D& a9 l8 T/ G2 g, T) Y
              卷积与结果对比

0 L0 }9 `; K; i5 S/ F+ l5 V" L8 @( J% L3 w% n* \- o4 E* _
2 J' R9 P5 M  i# }6 x
二、c-simulation7 [4 a( H% y0 C. N
$ q* h9 [( c; X' [( n
1 L6 s! ^, B( Y! T, u: J; w
       出现bug更改流程' `% `0 S6 i) ~. g+ Q# f5 {

& F1 J" j' f9 Z2 e/ Q
! `7 n$ g6 X6 }, m. M三、几个bug与解决
4 {1 x, b- \* Q# y5 {
  E! [; l6 f0 T$ t
, o/ Q& t, B* b* ]+ T7 \5 `/ e       3.1 reg格式问题+ ?4 t) g* ?* N
& U2 R6 H4 l* A1 ~
  E2 `5 v$ W4 X, U; {% {; e- W
       3.2 关于DRAM接口的问题8 w9 ]# ]% Q, G2 x$ q/ B: D2 B
7 |; f. B# s; a) D* ?+ {" O9 ]8 G

% w9 E1 ?4 }2 F       3.3 DATAFLOW的错误
) t8 ^* T' Y5 p( I! I: S5 i3 _0 b: }) o' V7 S, H2 r3 Y, ]$ j

  D2 L! r: \8 [9 }/ Y" s       3.4 调试N_PE的问题4 x* ?: i0 N, O3 u" U* E3 J: E
; @0 r, E# Y/ n) V7 u
& a. V+ m" ^) K# G! g2 m' H
四、Bug位置查找  S* l- D5 A( u% O
. W' B& M3 u0 e  a0 P  }9 d

/ ~! s, H9 L" _+ K       4.1 processInputChannel
. L- \; i5 U; }6 T0 O5 w9 R
0 c- v8 q8 A8 j' k9 C
5 n' Y+ W; y: \               function instantiate  |" j& Y2 e+ O$ A9 x. p

% R2 c2 J& g- N6 i! T# [
* c  \2 s- _4 _- b  [               WBRAM& I! \; \  t% }3 t5 s7 |
& a: I* p) h& q+ r

$ _  _1 H: S. S, e7 d' |- T               Loop 'L_CH_OUT'  in 'processAll_channelOut') U6 K3 Q) H8 z! `6 \

# u0 h+ {; b. {( c2 D& |$ {) |6 u7 k* ^( c+ {# W
               OBRAM没有生成RTL端口
, U" o2 b' a% @

( Y' ?1 a8 x' ^, ?6 x" ~* [, V3 L0 S# k$ {. ?/ y3 m/ K
       4.2 整个IPcore的HLS console
9 I2 @6 v( z. e7 {& Y
) A# ^1 ]! l, T( t

7 S# W2 ?4 M: ]) q2 t6 k( y2 ]% y
6 W0 ~* h5 y0 r3 b$ W. J, e

+ j/ J% a& p4 [2 |$ q5 j0 G0 e3 d6 t( ~7 U5 R' Z* c& y  j' _

% V. }# l) G* j6 P
7 `1 X; Q8 Y4 B  r4 d% V* O( {四、Bug位置查找
$ e5 a: m, r4 K0 [( K
9 i& y4 v4 b! A( }7 H嵌套IPcore过大,需要将其改小,单独的单元来进行测试。我们将processInputChannel设为top function,然后获得实验结果:% D, v; z1 Q0 v

$ `7 Z; X0 p! t; {% k4 |% y4.1 processInputChannel
, J! V3 A* o, h: U3 Z0 e! M- b" ]$ e; x5 a) Y. |4 q$ _
----------------------------------------: B2 H# b  k$ F
6 g* i4 r5 _: C# n  L
Starting C synthesis ...8 B9 H5 g8 |, F
- O8 ~3 p! c: }+ _! I
/mnt/workspace/Xilinx/Vivado/2017.4/bin/vivado_hls /home/osrc/Desktop/document/conv_Core/HLS_Conv/conv3x3_IPcore/solution1/csynth.tcl" C, `" A1 ?% M& c7 k5 @9 Y- a& ], o

' ^2 c. k: [2 k+ ?INFO: [HLS 200-10] Running '/mnt/workspace/Xilinx/Vivado/2017.4/bin/unwrapped/lnx64.o/vivado_hls'
. B* P. Q% u# V2 B* T9 F
+ H! Y0 B3 m1 JINFO: [HLS 200-10] For user 'osrc' on host 'osrc-virtual-machine' (Linux_x86_64 version 4.13.0-32-generic) on Wed Dec 12 10:37:09 CST 2018, v- _" l$ a, Z; @; c  _7 d
8 }6 t5 Y& t" K6 n3 d; P
INFO: [HLS 200-10] On os Ubuntu 16.04.3 LTS
+ }7 C% p! @( O8 g+ O1 u! w
游客,如果您要查看本帖隐藏内容请回复
3 z4 j- q! T8 M& l) p/ Z* _" V- z
, H: p5 X0 g3 ]8 ]. x. Q9 N7 a

& Q8 o4 c: i3 m3 a  U  R$ U6 x: z
! A. v9 p/ l2 y* R3 X) n8 Y9 C+ I9 q1 }6 ~. v8 e
1 h8 i2 X2 d& D8 j
& F: L4 ^8 Q7 ~6 |7 {1 {/ _* m
+ E9 n1 D, W3 Q# z6 K

1 i4 m, X% x8 Y" E  Z

+ j0 s6 Z" A" C  O# u7 b  R2 P

该用户从未签到

2#
发表于 2019-5-20 15:16 | 只看该作者
好多戏,学习了

该用户从未签到

3#
发表于 2019-5-20 15:46 | 只看该作者
2 B& ]8 b  J4 e' Q& \8 ^+ |" o* A
好多戏,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 13:28 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表