|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
背景:我们将MTCNN的卷积改为了zynqNet需要的嵌套的for循环形式,并且相对看懂了相应的zyqnNet的c代码,现在我们可以直接将卷积模块单独拆分出来构建一个IPcore。6 p N$ ]$ ?3 _0 N
) _" i0 ~) D; H
目的:构建卷积的IPcore
, ?( S9 P7 g: L; r: i* t! g0 |
# L& E- D" ~' v8 d- h- Z目录
2 ]* ~! [1 x) G' N, s' U+ b, n* z; l H S) y" \- C0 \
, M1 N, c* v( J2 O/ S' {5 I一、更改的顺序
- a, T& u M1 z M. K$ B6 |6 ?, u; i: m: a
" b5 `& i& k) e8 G- `6 j6 c9 `+ d二、卷积的3*3 MACC) b5 f. B! |0 M
! P9 K, P8 r5 Y5 _+ B2 j; a
/ q- w# F$ T5 p% X) u三、OCache累加+ E) y. R% d* E
( k3 h9 _" ]6 `* |. f! Q
" k, F9 `7 |) W" i$ v2 F* n+ e
3.1 增加全局变量8 o8 Z& V9 U" K4 @1 i. G/ M0 z
) x' L' M; G/ q8 o2 Z
; ?; M) x) z+ a# M" r a
3.2 数据于OBRAM上累加% {8 r/ }+ \1 Z$ n# U
' H- I/ ]. c! V V! ]6 i5 @4 r
6 B# p, g/ u$ b
3.3 写出OBRAM到DRAM上
2 W% P0 L! h& y; Z' v/ z
: K8 W- Q: p! i2 M
% ?0 e8 h. z( ?+ u' p* p: w四、ImageCache/ Q7 c/ A5 f+ q d% o
o$ `, t0 G7 i6 z* C, G3 y4 m
7 v7 y( t. S3 \2 b/ I2 z a2 x 4.1 ImageCache的大小
. D7 [/ o9 a+ X& D) v3 ~, d) ~3 o
/ E; \9 F5 u! D( `% {. D( R& B
+ C# o' c. E. q8 j$ l" X( j4.2 写入IBRAM顺序
8 H$ N& D& T2 ^( D- V
4 x6 F& G4 E0 C5 m1 ]
9 z* J& c8 j+ y8 D$ Z4.3 从DRAM读出的顺序
$ H" o! k# H' g, g m* }, T; L" D' [7 i1 r
3 C8 N6 {/ |! u4 `4.4 加载的顺序
1 s/ Y; L( x R; m9 L/ ?
1 F" K; K+ B; S# R h- L
J- T, k5 |9 c5 ~4.5 IBRAM上的值的验证
( ?1 @6 f1 W/ m% F' ?4 q' M) K! p' x" _& [- F- R
7 X* h6 F, ~$ U' L5 Y" d
4.6 从IBRAM读出9 I' T+ ?& [! z+ |; ]
+ }- f* r4 ]1 E$ W5 [+ ]
& `2 a* {4 ^# ]2 @: |0 ^4.7 读入ProcessingElement的buffer A) ~- f1 c. S
7 }# m$ [/ g9 @# {
$ H4 G) x$ U' l: N( b五、weightCache
% \1 y& s& f5 X) w3 {; c( R+ M/ s9 p
+ f n1 a2 b$ m! H/ k! B( { 5.1 WBRAM的大小3 L/ `) ]7 y. d# v0 \5 z2 j4 u3 D
/ ~ m+ \$ D" X4 \& A
1 u) |4 H- V4 U2 q7 J/ i) x Q
5.2 在WBRAM的地址
( X/ Z) Y4 v1 @! u
' A \% m; x: S( {$ n* L+ n7 C1 j
( [: G4 m3 c% L9 o* } 5.3 从DRAM加载入WBRAM: H! X2 p% C+ B' p6 |* P( X6 G( l
/ I- {! k5 t* D, {& F: k4 W8 P2 F# G: S3 E) I( G
5.4 WBRAM的验证
& v& x2 F: k6 ~ G0 }% p& _( X; g, ]( s# b( j; o6 U7 P
. W5 @7 P$ D* `6 L( t2 {; l3 _ 5.5 从WBRAM中读入到buffer
1 ~0 g5 ]7 W( m& d2 K; d$ G1 k9 m4 t* V
6 S# u; L2 |' o" f 5.6 验证buffer正确
3 V8 |4 K) O& { A/ K8 [
* H8 E' h/ V- ?: `( x/ h: m3 R* m/ M" W" |( p( F
G9 ~0 n+ F3 I7 Q5 y" Q4 W; E
9 {+ z0 b" M2 N( c
0 W) ~5 x( t! {7 k" G$ I* B
: N4 c7 I- y/ K+ `7 v/ w& |$ K1 Z
|
|