|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本篇只有目录的第三部分,其他部分请查看:卷积函数的FPGA实现-------对IPcore进行HLS及bug查找(上)、(下)篇* E5 N% I! O3 n* n( K
5 Q* `' V# t) g8 U) i' n a" U
背景:我们编辑了3x3卷积的IPcore,并完成了预编译。程序通过调用3*3卷积的IPcore实现运行。并通过HLS预编译指令实现为硬件结构,现在我们需要对IPcore程序进行HLS。* h% ^7 U, i0 @5 y
" s5 Q9 |# _# J. ?& e% b
目的:对卷积IPcore进行HLS7 K2 E! V5 T' T$ C; O5 P5 h
: H+ X# n" @7 t' Z7 ^2 n+ @目录
) H* A9 Q9 T* W1 q1 i( ^2 S& s+ x& \! ]* r
1 W2 i: L- {) |. n/ n* l5 a0 c5 d一、testconvBench编写! v4 W# T( T5 u4 Q9 `% b+ X% ~
6 r: l; f6 y0 r, K' Y5 y: Y
- H/ I* R7 T$ X0 B! t+ u3 b* t9 Q
1.1 linux下用cmake编译运行程序* t. Z! o& t/ ^+ a
1 y4 C% X! `# c! g1 f7 K
! H Z% X. ?7 E5 Z! ~ 1.2 隐患与BUG
3 E: H/ e- Z7 U
' `- o, F: m- _, e! U# Z% C3 `$ q& T9 X) Q
1.3 testBench编写* L( C R. t a" g! X
" [9 Q' j! U- H4 E4 ~: D! A, d- H4 `; }! O N
卷积尺寸( X0 u4 o. w: i9 \. m! ?
5 m; Z/ F' s; p
( q# W$ h! }- p1 q
卷积与结果对比8 L2 t" b2 L& d, q. F/ n0 t
! P* d5 p& w' S9 ]* g! {" w Z
L7 W: F! K4 ]) P8 G$ D% a8 ?: R二、c-simulation) w! ]6 \. I% P) l
4 q) }9 A3 x! C$ [% n. i- G
7 Z6 B0 n' E6 }: o' m- w! a3 m 出现bug更改流程5 k9 ^# l! O- {! G
2 U' c8 h! f* I
' A8 o. u% k+ J/ T8 p三、几个bug与解决( M5 g& t9 `0 E G' U+ d
' i5 |1 w& O" P1 Y5 m* S7 v- S( |
; Y" z" d& N* F. X
3.1 reg格式问题
; G) Q; v1 ?% f: c5 ]3 r5 P# C. g' l+ D% S8 X- Q" N! K
" z: ~4 B c, K: {
3.2 关于DRAM接口的问题% M1 O) Z- P6 `0 D; g5 T; V: V
% p+ q1 ?! L1 {' k9 k3 j$ {* b, [2 t' j
3.3 DATAFLOW的错误
4 Q9 s. m) [6 n* X ~3 A
% S* I( e: m2 D! N; e* t2 L) K& `& N: j
3.4 调试N_PE的问题
! o: ?$ Y: A" u# M3 s5 U7 c
& H& Y; H: F4 W1 i
8 {! t ]: ]5 a2 S2 }四、Bug位置查找( ? a6 t( c7 i. N, u
* i5 e9 g8 R0 v$ R# r" }) N8 D ]- c2 Z9 X( k2 T, F
4.1 processInputChannel% ~2 p& V8 R. `! Q: J# Q/ q/ d
& S6 ]9 W6 V [3 p
( x& l6 I* ^- p7 B" \ function instantiate
1 K% Y6 ?7 ]% j* u
0 k% }( {0 L# J$ D7 A! n( W( {4 m- v3 X+ L
WBRAM
2 z: [2 v# j5 }; r H& X+ i, i- i9 e3 k, A
$ j( X2 v W9 h' i3 X2 z8 n
Loop 'L_CH_OUT' in 'processAll_channelOut'( o3 X2 {; H" a; F
! E+ l: J! A! G- ^* x7 O
! D* o& [: g- w; M+ i% b5 S9 d OBRAM没有生成RTL端口" O. Z! Q" Y( @& L H
+ H7 u* \. g% E' P) j! a9 G" j/ w! h: v' J. e6 t
4.2 整个IPcore的HLS console9 F' T" }9 t- I4 J) w3 [, {+ b
. G6 _$ J. P) E/ {2 P3 z& [
, Q+ L& n* d: i& p a# U- ~, z) F1 d2 h9 |# s
; [2 I5 w g8 E* r2 g5 c+ y4 I5 k2 Z3 \/ a
* r* g5 ~4 ^. R2 S6 s( n) @) s1 W5 K" I
$ ^* N/ C6 S+ H6 }$ D' Z0 i. ]/ a
三、几个bug与解决
+ v& L4 a+ g/ @6 t3 H* Z0 w5 }% T6 {" t
3.1 reg格式问题) \/ E6 L/ i- \4 X& Q
+ R& r8 U/ B+ Y9 _0 `-------------------------------------------
+ i" ?5 U/ k: i9 C6 c2 K' P* B
' q* z1 Q( w% P& C( D3 errors generated.# h# \2 F- o. t6 y' F$ L
6 p2 k) z! v+ Y! {5 {ERROR: [HLS 200-70] Compilation errors found:
2 t: `( j0 m. M3 g! i
2 W3 f# v5 U& J0 E+ @4 O6 X, L$ k( I% J' k6 k& I' G7 y
0 `- w0 Z) ^3 U' U: ]! w$ c8 E( @0 W" S& h# z1 G
5 U/ o& m1 k: p4 \) z6 ^' Q
/ O4 L: z$ E, T6 l) Y2 l7 e R( i) X* C2 h( _ n
|
|