|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uperrua 于 2019-5-19 11:32 编辑
; P0 E' W5 Q" G3 T2 v' \: F+ D1 W' [! _7 ^) D
此篇只有目录的第三、四部分,其他部分请查看上、中篇
6 [2 i9 g1 W4 g: U# F; Z
( }* L: W! D8 m5 b V背景:编写好IPcore并且验证通过,但是接口需要进行HLS。
# Z- r8 [6 e* F$ r; `1 a& U
% X9 x+ \: {5 X# X目的:将卷积IPcore接口进行HLS,将权重输入输出同步为DRAM的地址,axi-stream协议进行传输数据。将神经网络参数通过axi-lite协议进行传输。
0 W* O3 R$ m* d
. C; S, a0 c1 |+ z2 {4 W目录+ M; f! ~) C3 J1 q R3 C
) m# h( ~) i$ H# }; C
一、参考部分的接口, a# V( l4 ?' O* U, u g5 f
7 I0 H9 P0 b9 Z: k' ^% i
1.1 axi-lite
5 S* n* W6 X4 B
6 ]$ M' Z) _ V& K7 d8 t; o 1.2 m_axi
- H" f0 x5 L; U0 @7 n
( x& {7 M9 @' K. H; V二、添加指令 & \5 B, P' e4 ]6 |
2.1 需要传递的参数(参考) / e( z) u$ r6 Z& D) r
2.2 IPcore的参数传入(参考)
: e2 j& Q% c+ H6 O, x6 w/ I 2.3 加入volatile指令 1 B# X4 j8 g9 x4 U) ~# q! ]* z
2.4 传入参数更改 ' d, X( Z- w5 W! H8 s8 c- V) E
2.5 最终执行的接口HLS ' H A' ^1 B2 g0 }. M- r8 w! g
3 ^! P4 a: H# ?5 z: D6 d* B5 D三、进行HLS
- {- k/ g3 z1 F+ w$ l9 Y$ K; i* _' i7 w1 A0 w0 E
- G, d9 _! _0 |" |8 ^& B四、 必须有return值
% q5 r3 w5 P7 R( v& }
& `, b9 M1 s: W: D' @2 l, D! o) _4 ?4 w: |+ V1 t$ ^
2 W" H0 J5 k% T8 w9 ~
' p$ k2 w: C1 i8 V% U
三、进行HLS0 M. e3 H$ r/ _/ U
" S. w+ b! A( E. P) X# C程序在mtcnn主程序之中测试通过7 \7 T7 L& _8 L4 x
' t; G3 W5 V6 l0 B9 A3 z: |( S: N1 k( T5 ~
然后再HLS-testBench之中测试通过! i) J* c) ]! `4 t- r T
5 I) G& A: w# y9 W
在接口之中测试通过
* X3 Z. m- P$ |) I# B* F
9 v6 f. R% U& L3 ?) K9 O1 ^0 f- Q
8 U% M/ B0 H: h) z所以我们将卷积加一个return值。2 g" f. h q7 E
) y1 G {# R$ `6 Y) y. |
8 U) h; Q: {8 g; I |
|