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

卷积函数的FPGA实现-------加入HLS预编译指令

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 uperrua 于 2019-5-16 13:50 编辑
0 _- k2 @% r! V+ b* y  Q: N, _- N: B5 f$ q, q! O& Z! Y- c
背景:我们编写了卷积操作的IPcore,并且在c代码端模拟通过,现在我们需要实现加入HLS的预编译指令,然后将其实现为硬件结构。
; |. B2 b* N8 d% g/ W# j2 W' s8 t2 C
! U. r+ L- G% O
; i, E  M3 p! F
目的:加入HLS预编译指令。
" Z1 Y& Q6 t6 X. Z
& I) R" l3 p/ u$ d0 I$ M) c2 j9 c2 c" M4 H& E2 o; \
# i2 k9 j: w: U# S
目录
/ v& ]7 J, `7 `0 f: E5 d' R- ~# m8 [! S- e) H7 F4 W  r, }1 U

3 G3 U5 c% }3 A# J一、数组的BRAM的实现1 }9 N4 i& W1 [
* W- K; e9 q7 w9 r: w7 Q$ ~, l

, H* {4 t8 ]: T1 _6 ]+ e7 ^# |       1.1  IBRAM
* D. {2 K& N, X( R
& M: R) c4 D& B3 C, c9 D( M- \$ p
) z5 ~5 @9 Q" c$ [& N" N- {) W
              IBRAM:zynqNet实现方法7 u) X$ k" X! r4 R4 g0 D
& _# s6 c  G! R& Z- O
8 ?: Y+ ?. o: H' u; n
              IBRAM:MTCNN代码加入
6 e& c6 X! x) ]
% B2 z; J& d$ H% H9 ?: A" y
' Y/ }. S2 g& l6 Y8 Y
       1.2  OBRAM
6 j/ X2 n; s7 n* m
# E+ M2 \+ L; [. b7 z% h' i

9 z) e! |6 a- o; g: N9 R! S              OBRAM:zynqNet实现方法
/ K8 c' S, R0 E5 Y6 H6 Z4 P# M
8 l" c3 O( w" p

/ `3 F' n6 i- W, ]              OBRAM:MTCNN代码加入4 m4 E- N  M( M. s% [

8 q# C; D- P0 d1 ~2 C0 g/ X+ r7 e

! A$ ~. l; m; h( b       1.3  WBRAM, Z( l8 R2 d, [* ~2 j: s, {8 u5 Q

' z6 |! p7 ?# W

) T/ w& Q1 q& {( ?: _2 k1 H              WBRAM的zynqNet实现/ t. {) [- s( z
) S9 V& l# T3 a+ T2 l& h1 p

5 a1 P9 S# Q0 k/ }              WBRAM:MTCNN代码加入
, I' Z1 X  S$ [8 v+ j1 Q  {; N: O  q2 U

3 Q+ }  i2 e" X) S( J! l& U" { 二、并行化与相关并行数组的实现  x6 H/ h5 t+ H2 P- m
1 i# q  p7 t% e7 S

3 K! S4 q& g5 J0 d$ }4 K! L       2.1 MACC中的UNROLL+ b9 t: A7 L: ~

/ v( y* x: n# M
4 l" c- Q% z: p/ b) w7 h
              UNROLL:zynqNet的格式
  F3 r5 A& {9 Q- z4 n* }
1 v7 X  v% o. f, `9 Q5 T1 t& p
1 O+ D; g& S6 b! B: e$ x, m
              UNROLL:MTCNN加入
/ P3 j- W2 q9 R( U2 @* Y* u& B+ P  r, W2 u/ F4 D- I% _8 u
0 }, v, \$ b; V3 z, t% \4 d
       2.2 与UNROLL相关的ARRAY_PARTITION
9 d9 R% v: w: L3 g3 r2 J: q3 R2 _4 F4 p
! X0 J/ \5 i" S1 V5 v
              zynqNet的ARRAY_PARTITION0 Z8 N0 j, ]9 y4 A
* o! Y$ s8 D8 y! A$ E; f% w5 y6 j

4 H9 u. j2 J* a              MTCNN的ARRYA_PARTITION
* Y5 R+ E: L. E$ l( j
7 g" Y: D% w2 F7 U* O2 M" m5 W
' s) L8 E+ l: r' [5 @( ?* F
       2.3 并行化MACC
7 ]9 c' _- X1 ?- i) C
! e' X& q2 Z$ n. B  S

# f/ U+ M" }9 b% a+ X              zynqNet并行化MACC的方法
% N$ E# Y2 C, q8 |* A( h5 B% F. l) o& v  I4 w

; r$ q! }1 O, d4 z              MTCNN并行化MACC的指令
& x. q# V2 L" r7 b3 e; B1 K/ B0 J8 ?' W1 b* T6 {

( r) N+ F, v6 ?$ q* s1 e# M三、INLINE与实体化& M4 \) F! G" P$ N

" @. J2 _0 w+ ~* v1 F1 Q
: s' E  X0 t  G
       3.1 OBRAM 相关的实体化0 S. z6 g3 b1 m8 u

$ m, n( a3 U) n7 e, E
" y2 ?8 I: ?- L- M# @& _4 w
       3.2 OBRAM向DRAM相关的实体化7 _) V- x/ u& `! D2 M

# p8 {# E' x4 c- u5 W
, R( A) ^3 b- ?8 U3 z" K8 f9 X1 z
       3.3 权重DRAM加载入WBRAM
) F$ O1 L) }* z" v9 I( |/ v# N/ j9 U( U9 j

# \  [7 M6 i$ w. c- E8 _       3.4 权重从WBRAM取出到PE
' U# Z7 |3 G+ ~- }# K; Q* }
, O& i, q% e  g- Q: e
/ I( `+ m! u: x. }2 w" l
       3.5 图像从DRAM到IBRAM
0 T/ x- q- d$ H7 X
( M( e  a- D5 u% g2 o6 ]2 Z

5 P/ u' t4 N2 e' U- }( e       3.6 IBRAM读出到PE
/ f) n' i, R/ N4 w4 f  x
, _2 e1 k# R5 m, G8 h0 g% b% A- J+ i1 ^3 a- Y
* S* ^7 ^2 m' \# n7 d& l
) g' t0 x% _( S! ]9 ~* r8 h
一、数组的BRAM的实现
8 u/ ]$ [. N- ?3 t* n% Y2 P! H/ d+ Y/ O  O1 ~) C8 h  |& K
只有三种BRAM,参考zynqNet的模式,将相应BRAM加入具体优化指令。
# ?; U/ @) E; x: r! x) O( [2 ^
' r1 J3 o9 F  \. i7 X" Y$ S  V运用resource指令与array partation指令,将权重,图像,累加的输出实现为具体的BRAM上。/ ^* E7 \8 f3 Q1 \9 i

9 z8 R" b8 E4 `% C( n0 `6 f* t+ l( i! \6 H/ f% @) B: O8 q4 W

. H/ A. U# s' Z; _! C" z6 O) d3 H$ @1.1  IBRAM7 R, l2 `# ]5 i6 C* F3 W5 [
5 G# F, H& q' l5 E3 ~
IBRAM:zynqNet实现方法" Y$ V' L6 V+ [+ {+ ?) A) L+ P& N- D& y
游客,如果您要查看本帖隐藏内容请回复

" z5 x5 F+ @8 _* }& i7 {! j8 R- L' C& ?# S1 I

% W8 G$ o' L/ Z0 i
/ U! t6 N; W9 r
3 @  Q4 g4 H7 Z  w8 F
5 @0 G2 L" J2 _6 {: l+ o4 C2 ?% e3 n! J

5 D9 v4 I! v7 z  h4 E3 a; j) B! {* H$ \9 g
# \' c$ S* _3 W! A  @1 m3 f  v
6 n. l, E7 \5 w

2 P4 a7 y7 I( {  u9 S5 r, P; u5 l* Y+ H! x; N) i
$ Y- s. f- s- R4 b, O) `$ W

6 _, }( _0 Y( Y, w3 _! }
% @; a2 I* ~. W6 g  L
8 F& P; U& d" n) e, j$ f; q! i: q9 h; P3 u/ {8 K$ F' L) z2 a# A
& R+ E* {& N) b+ w5 L6 U, e
* f8 ?9 }7 R7 [% j( N

( h1 W  c1 N5 [! L7 ?: V4 h  N: n% U% g* r9 M% e
7 T+ y8 ~* K/ X* g/ d; H7 _( P

) L5 N6 v% I# g0 M. }1 {. C6 z0 O
2 u4 z- g+ B" A' t8 ?% p! t' X7 ~( L. T! m1 m

. i! S( F, l* T1 @. U
1 M% P6 {$ b' p0 H2 F4 l* H/ ]$ T$ {7 m/ W' `: s8 I6 Z7 E
$ [# X4 t7 j  J- Z7 ]
$ \9 \9 z  Y1 a

4 f: H. y  O' j1 V0 _. H( l4 k- k/ H* e- E

5 M- V- ^8 ^1 B8 X3 G4 t3 l+ N
0 x8 Y% n+ [/ V6 j) y' m
/ M) ~/ c8 ?4 v8 d0 R4 @" \! a
2 p" ?& C6 o$ C6 q+ I  x
2 e9 F4 A  p6 R2 w
! v0 ]7 J( H9 w; ?0 d% I. ?0 v, O
, Q; a3 y  L) O2 E) |8 E1 D& Q9 I' `  c+ ~3 b: X# r
" Z" n# u- ^8 ?, K0 i$ |  W
) T& i& Y. H% u% Q! X8 N# @$ X% k% u

$ D- z& O# H# _% u" g. E  Q# @. U; {: }4 |3 l9 j% u& N

% f' E7 \9 L5 V$ Y
0 N1 Q: q. Y% e  W6 }: d2 P( t4 d+ C/ X6 z- ?
) S/ o- b; I4 T) N$ q' L7 d$ G. \6 e

  u: z" d8 S. B+ l& Y- H/ K1 _9 R. l

5 e* [0 J4 r9 ~- o, J0 L# ]& i2 x- z/ Q1 V) g& h
  @; k, n. Q  x" A( ]

$ x/ j3 C4 B' F$ y% D& j( X! w0 f4 n1 p
& }; \5 L, V. h) l% F' H
/ ]' F# u7 t+ A) ?
: Q4 ?6 d& n# V" T
0 v6 A! a1 d5 b$ h

- U7 w0 P1 z# K( M( M' e$ Q9 u2 k' U

1 r$ P5 |* E! C% o. ?) s6 L8 Z6 F- F9 {4 D

4 H/ q: ?5 A2 C6 Z( _9 x2 @: p- `1 Y) s/ T3 _
$ p' Y' E- n5 h- b) Q  l

4 d% U( ]' O# ~  K: E6 Z
- j, U" p: y: z5 b0 ~: l+ n( r# m/ I# F
1 t& k1 q. r/ B

* U  L3 ^* W  l0 d1 I8 G4 H* o; ]& Y1 {) r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 01:55 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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