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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

( b- _( \0 \( c) o/ T5 p( I
FPGA实践(八)PS与PL共享DDR(下)

9 r0 J- t2 P/ r+ E背景:很多时候需要PS与PL共享DDR作为global memory,例如卷积之中,PS将weight in与feature写入DDR,然后PL调用DDR进行运算,再将结果写入DDR进行下一次迭代。* A" y7 x& ^6 ]# W2 a1 }
3 g0 h  s6 c  R6 `# x' i: n
目的:1.  PS与PL共享DDR,读和写。并且像卷积一样需要三个指针。2.  IPcore设置变量,能通过PS能查看到IPcore运行位置。3. 运用BRAM实现一定的数据搬运。
4 {$ O0 l: D" i& j" {) V1 y& V0 p; j( c4 q* R0 K) g3 ?8 o
目录
. Z5 D# M7 {( X9 w0 o
; _) U4 H, @0 K( c. F一、IPcore编写
* @: n3 U0 D6 g& E0 W* W- H( j
' c4 d( A, z9 H7 E" B# ?$ {       1.1 一种错误的接口1 J- p9 T! E& ?: @5 ^
+ N4 r1 }/ `+ {# @$ r6 R3 r
       1.2 IPcore代码
7 Z7 H# S8 R7 P$ k0 K
" A3 _+ d& k; @6 k8 o       1.3 位置信息/ e* q: k! v" R2 a7 i# {  ^

: M7 b( T+ c; l1 V$ u" O  z* s+ R8 J       1.4 接口
5 U% `8 G2 b; M# i# y+ w7 ~% d, ^9 Z: c: y7 q# w( ^
              s_axilite# N" c0 S' R+ r2 O2 G7 D. ]- x
8 h. \" n) N6 v/ ^1 m+ s4 A
              m_axi
* J4 ^1 k- U$ J' O
  K' D$ k  e: ?9 u9 H' M二、testBench
; _( D' r8 ^. G/ r4 M$ m% x5 ]& j: g9 Z
       2.1 程序编写: G8 Q3 A  z: z- f0 e; _* b

, H+ \' E$ v8 J& r       2.2 PS与PL的交互) S. h) [; i( }

3 m9 W$ w. ^* o* C# W! a三、系统搭建与hdf生成
$ z  ]; ?  M4 [
  Y. [0 O4 F! G/ l: u/ T$ x
四、SDK
4 b& a) P! e: F2 s& P

# Q: f. S7 L: [0 f; c- w1 @       4.1 用malloc的方式开辟内存& K( E7 _$ K0 S  Z! l) q
' r( u/ w0 R. a% s
       4.2 指定指针位置
* A! D0 _6 b+ `6 U3 ^0 h
0 U& s. \$ z" u: Q( s9 y
五、SoC
: I* Z: K8 W1 m+ b' p) P0 g+ B' T
3 {- X0 Z9 z# F  J9 u) `& i+ R/ A       5.1 交叉编译
) t" u) y0 f+ C0 t5 L# m5 W; y0 o% B
' i9 k; F# I0 r  F' R       5.2 驱动& P6 C; g& k$ b

2 ]4 }( q  W  M! ~" ]/ \       5.3 运行
' X3 l3 b& r! j; ~* T
& e) I& i. L1 B+ e+ ~

! ^" V! ?* x' X9 K% T# P5 A

" ]; O) u6 r# G0 Y: q/ j* l# ]5 H! `& m/ O

# X& P. h+ }' y0 d) Z% Q0 z2 J# S' B, }1 `+ e+ Q

" {2 L+ V/ D5 W& |  I7 y! P4 j( w
, h8 }7 a. [. Z* T5 _6 t5 n
1 M' O" _) v# m( N$ ^
6 f( Q: A( n4 `$ _( n  F
& h, i$ l5 q* |7 U. ]  i
四、SDK' i+ K3 J% `2 C0 Q' P5 Y# Z" L( [

  }7 q! z# Y" W# }9 F----------------------------------------------
% O$ e/ S8 J$ [" z8 V
0 a# h2 L; c! P$ \; e- L* `' H//created by Xing Xiangrui on 2018.12.25
" p% I. e% i/ K: R
. ?7 m1 M$ Y6 G5 g2 y$ o9 h  c//This is the SDK code to test share DRAM
8 D6 z8 H8 e$ I8 f* J
4 Z$ f, t5 }2 c- {) J//Write through PS to DDR: I, X- ?( u0 w) W. R: _4 V7 y! U' R

& v- ]( B0 U$ j& ~) Y//Run PL : read from DDR to PL and write from PL to DDR
; ~. I% t4 _" \( h7 S2 |7 B5 m# \, i7 _4 d$ C* j
//Then read from DDR to PS  B+ v) s6 k$ s# k- T2 U6 S( t
7 U+ D# ~& E, o

- x! E0 }& V: H+ h* B% s# N8 E- m2 P' k2 v( n- n" S
游客,如果您要查看本帖隐藏内容请回复
. a2 z( K  ?4 @2 V+ p: o; {

; ]% q5 F& G* ~' ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 20:06 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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