|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uperrua 于 2019-5-17 16:16 编辑 ! C/ F+ @* z) K; \; {
c0 E" D5 z5 R. s5 W9 ?' G此篇只有目录的第一部分,其他部分请查看中、下篇
% F* p5 u6 L' T2 D背景:编写好IPcore并且验证通过,但是接口需要进行HLS。5 \- t$ Z" M$ {/ Q
! p% d5 \# V T6 w) H z目的:将卷积IPcore接口进行HLS,将权重输入输出同步为DRAM的地址,axi-stream协议进行传输数据。将神经网络参数通过axi-lite协议进行传输。, P, V) G2 [; w6 [/ V. o) r
1 ]: P1 m: G7 g
目录
9 E; `6 G3 S9 v+ V" k" [: I; }- _
! b6 ^' I. P' Z& S一、参考部分的接口
) F9 T" P# p0 j% {, B- M- F& X: c( n; J4 Z6 r N0 x7 F
) z: Q# M/ k, p F( \ 1.1 axi-lite
- m ^$ L9 V; N& U- {& E# D! b
& k& ?# f3 P1 c0 q# ^2 u) w$ d) f+ s- a/ u8 \/ h
1.2 m_axi
% [! j! N, R1 U$ c# O; r2 h' `- g7 |& y/ p2 t* c' o& u
二、添加指令
- p5 e+ m8 V3 c, m% D9 v& j( D& m
/ g8 A9 J# S- ]( ^- x% ~ 2.1 需要传递的参数(参考)
$ ^) ~# [) W% o; B2 R8 l; @5 q0 O( \6 F1 D+ i& L. n
2.2 IPcore的参数传入(参考)
o& L3 v: ^# C: C1 w1 K# h. m X- l" ?3 ?4 \ w
2.3 加入volatile指令) i! J) d' ]( ^$ ^5 d
7 Q8 q7 F" d0 I9 M. l: ]. p- \
2.4 传入参数更改
6 T R0 h8 g( u2 J4 K" A7 k I1 q* q3 d4 P) s, G2 s7 W
2.5 最终执行的接口HLS: h% r1 E+ x9 ?: V
5 M& k4 a$ f9 @* H
三、进行HLS
; ?% W. `" E: Z* a4 F2 U3 P: g, [# H8 Q* e9 c; J
四、 必须有return值
8 e1 N& B) s9 b# ~! E0 [2 s8 b
! m7 Q& B- t( b4 K1 p$ B. `3 P9 E( r" \) `
7 o' a+ f$ f/ c9 b- K, n4 c一、参考部分的接口
5 r" c; o4 P: c+ m! L% B a8 E# m! v0 W4 c3 p9 |; D7 _9 b
原接口输入格式为结构体的格式,其参数包含了网络参数也包含DRAM上的指针,所以难以进行接口HLS,我们需要将DRAM指针与网络参数分开传入卷积。& }- a0 b' i( L% x: @$ o6 K
+ a; o2 N9 b& K5 M, g
1.1 axi-lite) B) Y7 W7 V6 Y- B" @
# L: J5 [, g. @0 y- d& E; u
, v6 x/ b4 y( H# q
- [ s) W1 R8 \& n% }) q3 k q' s) Z- a
* X% z7 z" J1 ~- b
|
|