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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
背景:我们将MTCNN的卷积改为了zynqNet需要的嵌套的for循环形式,并且相对看懂了相应的zyqnNet的c代码,现在我们可以直接将卷积模块单独拆分出来构建一个IPcore。! H% y7 |9 s; e; A, Y# t

( j' L! V9 E8 P4 L' U3 O& [* t目的:构建卷积的IPcore
5 B( D- {# r6 g& H) D* e( x2 F6 g  z* N% G5 `- y" s* I9 U2 @
目录
  V7 d9 k/ \9 i: k, a
$ ]1 s$ X7 v! `
) i9 E; Y4 A4 d: O1 S/ W4 y
一、更改的顺序
. Q9 ]8 k0 s/ y- t1 C9 R9 S- o+ O$ v0 _* h- V+ S
- Y) U; A$ j# j6 a, x
二、卷积的3*3 MACC% F( N% V, i1 e3 B, @$ H! a8 Q

; P$ N! {3 g+ y$ V  j# i4 E, Z2 [, l

& N( }2 c9 r# \* A( h9 o# B$ U' N三、OCache累加( Q+ A- H3 w5 W5 r  f! }/ N
# E0 X1 l) C; }  n6 q

- i6 s/ N7 X1 l7 I: i9 X       3.1 增加全局变量; {! O; g0 x" Q

; Z2 M* X9 x9 G: I/ ~3 q* u- z8 _2 B
9 f2 e+ @7 {% d3 L
3.2 数据于OBRAM上累加; t) j" q& T: |/ a! c

' {& g# M! P' _  F! N0 G7 e

- s) D7 h+ P4 a3 }3 S0 F" z8 C3.3 写出OBRAM到DRAM上
7 {: h  j: O3 L
4 f* B* D" @8 x/ X

( }4 y" \* [3 V8 v4 N# i/ r四、ImageCache
8 a; ]  v! R" ~7 s' f1 G9 t
2 W' ^0 k( q8 Z# t9 @

# [* s: ~6 v* w3 a       4.1 ImageCache的大小- A9 L" }2 O3 f- R2 [. m# L8 F
* Z" k) u: k7 g! w0 o
: l5 Q' m# a7 m) ~1 w) W7 W
4.2 写入IBRAM顺序+ a7 S) |" ^" [$ F4 Q. k6 l
3 t, C; y2 V$ ^! K* c5 e6 _& E

# b* \# I+ K3 q0 D2 k+ a4.3 从DRAM读出的顺序
( H' T: g& ~! j# L5 A9 S& n% d3 n; a2 y% {
. u( K$ W% {" r( T: Z2 K
4.4 加载的顺序! C5 \3 B+ ~6 n" v
$ E. {2 Q6 H; d6 b8 D  K) C

4 \  a$ _3 U1 O4.5 IBRAM上的值的验证9 o- y% p# Z7 q. @. d7 @4 {% n! v

- ~) S7 j( J! B7 p) m5 \3 K
  {' b6 n6 ^& P9 D9 O
4.6 从IBRAM读出5 Z+ Y3 e0 p: K3 E  V, E* L- g3 c/ G9 ?

9 n& l1 U6 w9 `& ^7 M1 X5 Z3 R. a
/ l. \+ O3 S. d+ i+ Y+ }
4.7 读入ProcessingElement的buffer3 T' c- n$ D5 _8 Y) N

* L( |; f9 I" r" A5 w& J1 j9 [
* Z8 x% g' d' Q$ U: Z& E) o& E
五、weightCache
+ p8 H4 w0 N4 X( W( P0 k: z5 C
% v  [. Y& I5 T       5.1 WBRAM的大小. I, v8 H& {2 q
- P( N" z& Z6 I6 S- U

; P% U1 C/ C( a, f* ~       5.2 在WBRAM的地址
6 L' j  I/ F4 F$ X" ]) b
( I+ x# f+ O' x9 h

: L+ Q& I+ g3 i0 W' T. _! H       5.3 从DRAM加载入WBRAM
7 K7 v" f- _1 I6 `! B  J! o# s7 y. x1 o8 k# ?5 M4 s  z

1 z! n; z2 V' ~; H- g       5.4 WBRAM的验证4 [! M1 ]* g4 \3 N

. m+ H; Q/ `. w$ V" ?. I
: }$ N% W  ^% s8 L2 L
       5.5 从WBRAM中读入到buffer
' X2 p; G1 f% g
' \+ ~( C  \2 ^. I4 o$ r
  W% E, `" z0 c5 e8 R
       5.6 验证buffer正确& _3 r' C1 Y' `

$ p) N/ ?+ _( D) T* F& E, ~3 l
% |2 A3 b9 n2 p3 Z& g* V' M
* Q' _# G5 B  h9 J

: o8 ~3 f8 r3 |: W: G( W
游客,如果您要查看本帖隐藏内容请回复

0 Z7 w  i( L/ i
6 a2 B' h) z7 c4 b, Z

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-31 21:37 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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