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

FPGA实践(八)PS与PL共享DDR(下)

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本篇只有目录的第四、五部分,其余部分请查看(上)、(中)篇

8 Y0 e: T& ^+ `
FPGA实践(八)PS与PL共享DDR(下)

5 H% X$ \1 ]3 Y1 x6 @; o4 o6 D背景:很多时候需要PS与PL共享DDR作为global memory,例如卷积之中,PS将weight in与feature写入DDR,然后PL调用DDR进行运算,再将结果写入DDR进行下一次迭代。$ k5 T' ^$ O, E0 p4 k, \' u3 Q
; Y: s9 @/ n1 K1 f2 H, X
目的:1.  PS与PL共享DDR,读和写。并且像卷积一样需要三个指针。2.  IPcore设置变量,能通过PS能查看到IPcore运行位置。3. 运用BRAM实现一定的数据搬运。
6 Q: x# r, Y' t6 n' t: z. ]; y6 k0 K8 E5 F6 X/ x$ ]6 n" l
目录
% _' x/ {# s2 _% b' O, Q# X# a) z/ j+ j7 u5 g) E2 e( o/ U6 c: [/ b
一、IPcore编写  U! I6 Y0 G9 s# _
: W7 p4 X# P# ~. }
       1.1 一种错误的接口
' R+ E* S' Z7 U$ @4 L
6 O+ T9 m3 n) Z- P5 q3 e- y0 v
       1.2 IPcore代码8 K7 ~0 k$ x: H

+ t1 N2 J% X0 N7 b0 h7 ?0 y       1.3 位置信息3 l& m, n, s! N: S9 K

: ?3 N; l' c% |8 a( U1 I       1.4 接口
0 y' F' k1 R7 `$ g2 F. R" g" d; }% f2 Q7 G* P
              s_axilite5 e0 a# j* K. S; ~, v4 ~) s% Q" q

8 @+ h/ t7 q6 `              m_axi
$ I) C, K' `' I- v5 {: P: [1 j6 ?% _" h
二、testBench3 f; n; y9 w+ C9 O. a# I" w* |4 \) z
( }) J( j& w. }# e
       2.1 程序编写
+ b' o1 }. I, U7 T: A) [
1 O$ ^& {; p) D2 P9 B$ \       2.2 PS与PL的交互( B2 U+ o* o; @: S( c* {/ N" w
. K8 K! @6 [( O9 |1 `' R% \  G% n
三、系统搭建与hdf生成
1 N( a# z( t6 \, e7 u

6 ?8 _2 i  P6 s1 k+ ?8 l9 P" G四、SDK
  M7 V- w( B! l1 w% J$ A' ?, J

6 Z, U9 R# X% u- K       4.1 用malloc的方式开辟内存
0 T0 m+ G: s8 h

. L" N7 D7 p9 x' _: |; u( k. \       4.2 指定指针位置3 U( e! L0 i0 v" s

  O4 o+ L3 k) a6 x. I7 A; z, |) C" R五、SoC5 K( M" R& t2 P8 |5 r

5 m  u2 b/ c4 h& P# m- |/ f       5.1 交叉编译
! ~2 _2 W& t0 T( C
" V; Q. I& u, |) v: p! ]       5.2 驱动
% ~: u; P* _- @1 N5 X( j  N0 s

7 o3 c6 k3 f( `7 S7 F       5.3 运行
4 b4 d3 l3 V6 H/ ~1 r- j! M7 D: U

7 v; \; K0 |: ^$ S4 H8 b% q) U0 @" L) _: R, a8 `9 r! w  }& r

) L1 A4 z; _* P' }( z& T4 N. G% N2 I7 q  y  h' ?

3 V2 `, I4 l$ H
# ~- Q. B8 Z  }% {+ c# _! b0 K
, F" w6 I4 B& \7 H0 x
, q% i0 J: n9 y. o* z3 j

! ~6 A% e' k- K) J9 F7 F6 l  P: s9 @- Q/ W

! ?6 a* E2 a4 O9 K+ u! ^四、SDK! o7 S! A- b0 A# _) [

0 U) D5 g# B& _8 R  t  u1 b----------------------------------------------
7 r0 |# L5 l& M- {6 p! S% ]* D  ^0 f! D1 \' _
//created by Xing Xiangrui on 2018.12.25! Z, \  l5 ]! h9 a& {

: j; w5 b6 A6 }2 T, Y//This is the SDK code to test share DRAM
+ K/ A. z6 m6 s' b1 z. T: v  B. V+ z( f
//Write through PS to DDR3 z8 y2 I6 |5 A/ V. f5 [  W5 r7 F! Y
& y8 E1 ^% C4 _9 q. c; Q5 f
//Run PL : read from DDR to PL and write from PL to DDR; G! }3 r3 U9 s, Q* g* M
, \; F4 U  N; ]
//Then read from DDR to PS, M# K! Q+ S0 s& h, d% A

, J: F. U" v) \* t7 u* o( _
, K( V/ d$ G5 S  A8 L& g9 C; J
2 `% r7 q: j( g. @' \- X0 q5 r
游客,如果您要查看本帖隐藏内容请回复
3 L! ?# i. [. @9 {* _% O  X* u
! G) Z4 d4 B3 t+ I1 z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 12:11 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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