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

卷积函数的FPGA实现-------编写卷积IPcore的BRAM实现

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
背景:我们将MTCNN的卷积改为了zynqNet需要的嵌套的for循环形式,并且相对看懂了相应的zyqnNet的c代码,现在我们可以直接将卷积模块单独拆分出来构建一个IPcore。
% m9 P/ n- D, D& M, h
- t  j3 v) e7 g# B& V, s0 z$ M目的:构建卷积的IPcore. U. |6 J% }  E

2 {7 G4 D6 w( a! r目录
" ~+ Y9 }& l6 n+ V. @9 F/ o: f( H$ N6 o8 `

. H# a6 F8 `( J# Y& t一、更改的顺序, |& L$ B7 O* w' g, C

7 S+ M# t3 h8 O* e9 }8 Y
/ Z& d: z& m0 z: i
二、卷积的3*3 MACC
5 d# M8 k) a* O  }3 f
! w  ?9 G$ H% ^

$ T$ K4 f, {6 O* v  J三、OCache累加
0 ?5 X+ G0 V6 `1 R. ^# c* D9 }. W8 q! f) z# x$ Q& Z
& ?* @/ L$ L, t3 a8 q% A2 D( i
       3.1 增加全局变量: x8 g2 r6 {8 l  l. z

0 ^5 P6 C# o  n4 D) q9 `
6 o/ T: T# P1 t4 \# g
3.2 数据于OBRAM上累加
; U6 ^( j8 \+ d
  Q! z; y- I( m
0 ?. `, ^, n# v/ j9 j- l( @
3.3 写出OBRAM到DRAM上
# s* Z7 g' y" R1 o5 }% K' J/ e
5 E% W6 g; R; ]9 A) r

+ j+ D4 ]% r+ G& d; {( M# y四、ImageCache
8 {2 ^4 N/ i3 `# c& p4 B5 O3 }' G2 e/ O7 X

& ^2 f( E0 k, {9 K7 B+ d5 Y3 ?       4.1 ImageCache的大小
* C  F. D% Z& U& J, O4 W: Y3 d# `, t+ Y0 j! f  K! Y; V
9 v5 F7 t: b7 G0 y& h' f
4.2 写入IBRAM顺序
- J0 x  [0 C: a# j, [: \
1 O8 f" z0 Z! m' ~) a

- Q8 n5 L# L; M4 ]: g0 k1 a4.3 从DRAM读出的顺序
& U. r' l0 P6 X
/ P# `2 y  C, x
8 G7 X, l8 M- z& M/ V$ a/ \! v$ U6 y
4.4 加载的顺序
( w( H/ S* N: `3 n8 j1 `& b; W% c! V  A& f* J6 A

/ J' g2 h% u3 v6 r  k4 m4.5 IBRAM上的值的验证0 ?% x$ s" y. ^& Q, O

6 y; j% q! q7 B
# G# E+ M6 S6 n- c$ w( }
4.6 从IBRAM读出# w& y3 i' p: y; B3 u; N' K) G; Q. w

) f3 j, j4 L  ^7 K

( N0 h5 Y- M- B3 U. f4.7 读入ProcessingElement的buffer7 W0 {' g% X: p+ d' U7 a; O

+ R5 [/ A7 ]2 Q: Z2 c. {

1 R1 Q# k3 ^( b2 i, K# c, _五、weightCache
) e0 s7 U! Q3 d5 h1 M( o9 A) f+ f4 z. i9 c0 Q; u
       5.1 WBRAM的大小. Y$ O: I7 Z: I' ?. H8 i, v8 |
' h" D3 B1 `  f1 I3 {2 K
. o! z6 F& g+ s
       5.2 在WBRAM的地址. c. A; X0 O8 C3 @" ~8 w
. J. P8 {% ]9 \( [: o

# ]/ v& T. y. H7 C3 e' v) Y! W       5.3 从DRAM加载入WBRAM0 G- B8 p* F. Q) d; z$ ~
9 ^) f% L$ R+ O& k
9 [/ Z( f" r+ b0 X3 ~
       5.4 WBRAM的验证
, X2 u( {6 J7 X$ T- E9 n) X7 x; J2 W) ?$ P9 O/ b

* z. ^7 O4 o" {8 E4 ~. Z% ?       5.5 从WBRAM中读入到buffer$ ]" @' t; D" h1 V) D

" K. f" h) P+ x4 d4 w# V7 g

  q$ v8 |9 I$ M7 |8 y7 w% r       5.6 验证buffer正确
# b$ Y: _; h$ t1 U0 g# P
) A9 e! y; o" B$ S! A

3 U) q/ o5 X( S- \/ I" K7 M  q
1 D7 T' K" S! b  w: M- b% b% S7 c# j/ r9 q% G* r" Y+ V
游客,如果您要查看本帖隐藏内容请回复
! h, B* _* \5 R. d

: f/ }: q" D' J; O$ S& J

该用户从未签到

2#
发表于 2019-5-15 17:58 | 只看该作者
看看楼主如何实现的

该用户从未签到

3#
发表于 2022-10-27 17:47 | 只看该作者
卷积函数的FPGA实现-------编写卷积IPcore的BRAM实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 20:33 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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