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

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

[复制链接]

该用户从未签到

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

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: k
4 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: m
3 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

该用户从未签到

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-5 17:57 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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