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

【原创】Xilinx:K7 DDR3 IP核配置教程

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 明德扬FPGA科教 于 2019-12-20 09:46 编辑 * ]! d7 U8 T" X  c

2 j9 g: A2 K5 m5 s; h7 }
【原创】Xilinx:K7 DDR3 IP核配置教程
5 E. c( s  C: I: A: L( h
作者:肖肖肖
" l3 ]& D/ l4 G; y- z
本文为明德扬原创文章,转载请注明出处!  S9 s, K+ v4 `# N
7 E" p0 _' C- e. |3 C( w
MIG IP控制器是Xilinx为用户提供的一个用于DDR控制的IP核,方便用户在即使不了解DDR的控制和读写时序的情况下,也能通过MIG IP控制器读写DDR存储器。
1 r) ]! a$ B1 \1 H
一、新建工程

' ~/ B; @* f/ [; i/ N9 |
在Vivado环境里新建一个项目,可取名为 ddr3_test。
9 w+ w- J  {0 y/ h; ?  @
这里的芯片型号各位可以根据需要选择,我们选择的是:xc7k325tffg900-1(如下图所示):

$ ]; P) u/ U9 d8 A  L4 F9 G# H

- u& j" `' ]1 P' N4 c2 t6 n/ f
点击“Finish”结束工程的建立:

4 @" Z8 \9 u4 d. r

# E8 f" W5 H6 \- t8 j
二、进入IP核配置界面
  r7 }% y/ `% r7 ]
在Vivado左边界面“Project Manager”选项下,点击“IP Catalog”,进入如下图所示界面。
: H$ G7 {$ B; [4 \  l: |- a9 p
可以在搜索栏输入“MIG” 快速查找, 双击“Memory InteRFace Generate (MIG 7 Series)”进入DDR IP核配置界面(如下图所示)。

! _. f6 A' b8 W( A
! l/ X  g7 w3 m4 R/ M
  e- q' e9 t! M2 I) W/ m5 t1 `
三、IP核配置

9 N. \4 S  d7 t; ^2 A& j( n2 X
点击“Next”(如果想了解更多关于MIG的信息,可以点击左下角的“User Guide”来打开Xilinx的相关文档)。

- @8 L6 A  ~$ b# _

$ C" U6 J. e" B4 m/ g- F; o0 T1 @& x
修改“Component Name”为“DDR3”,点击“Next”(如下图所示)。

/ _, Q; q; l6 {. _
这里可以选择兼容的芯片,但我们不需要,直接点击“Next”(如下图所示)。
6 \' O, j5 }& v3 m

$ W9 j7 P% H! q+ G
直接选择默认的“DDR3 SDRAM”,然后点击“Next”(如下图所示)。
0 ~: `$ x0 G2 G
在“Memory Part”选项中, 选择开发板上的型号“MT41J256m16XX-125”,数据宽度“Data Width”选择“64”位;最后“Next”(如下图所示①)。
图①:DDR3 MT41J256m16XX-125设置
# X- q; n* l( t4 d& x

( s: x# K2 b; Z: s8 C) ^
或者在“Memory Type”选项下, 选择“SODIMMs”;在“Memory Part”选项下镁光内存条型号这里可选为“MT8JTF25664HZ-1G6”;在“Clock Period”设置参数为“2500ps”、“400.00MHz”(如下图所示②);最后“Next”。
图②:型号为 MT8JTF25664HZ-1G6的镁光内存条设置
7 k. g$ [- b" s& t# s6 ]
; L2 z* t: q) g0 z+ F" T$ {
选择PLL输入时钟的频率“Input Clock Period”为“200MHz”(这个时钟需要与开发板上的时钟频率一致);“RTT(nominal)- On Die Termination(ODT)”选项下的 板载DDR3RTT选择“RZQ/6”(MT8JTF25664HZ-1G4选择默认“RZQ/4”);其他设置输出阻抗值和内部的ODT内部上拉电阻值来改善DDR3的信号完整性,一般不需要修改(如下图③/④所示);最后点击“Next”。
图③:DDR3 MT41J256m16XX-125设置
" x, }+ o& n: p6 ?+ `5 Q9 s
1 p9 }' U: I) j# [( |
图④:型号为 MT8JTF25664HZ-1G6的镁光内存条设置

6 P. L( M( h5 P1 Y' R' t
' ?% a2 T9 R: D( ~  Z2 O5 L
在“System Clock”选项下选择差分“No Buffer”;在“Reference Clock”选项中,因为开发板上没有提供单独的DDR参考时钟,所以选择“Use System Clock”;在“System Reset Polarity”选项下选择“ACTIVE LOW”,其它选项保留默认配置(如下图所示)。

. W  {: B( Q) `5 S1 d' m/ v6 J  _% H8 L2 U
在“Internal Termination ImPedance”选项中High Range Banks 的内部端接阻抗,这里选择默认的“50 ohms”;在“DCI Cascade”选项下“勾选”(如果是镁光内存条MT8JTF25664HZ-1G6则不勾选)(如下图所示)。
1 w2 d- i' m  K  \

* g, R) O3 z. R1 \/ X$ e2 [% ?
点击选择第二项,设定一下DDR的管脚,然后点击“Next”(如下图所示)。
  v* D1 F; |0 \3 r

' Y" Y0 n* m( m, X2 P' k: [
在以下界面设置DDR3的数据、地址和控制信号的FPGA管脚分配和IO电平。但这个手工分配比较费劲,此时可以点击“Read XDC/UCF”直接导入管脚分配文件(.ucf文件)。(如下图所示)

# Z$ p2 k: s$ S4 R; V: Q& V* Y& y8 p8 r+ X2 U' g" W( U
在本例程中我们已经为大家准备好了一个ddr3.ucf文件,只要直接导入这个.ucf文件就可以完成 ddr3 的管脚分配(内存条 MT8JTF25664HZ-1G4,则选择 dimm.ucf 文件)。

# W- Q5 H/ M; d. G" k
导入完成如下:
5 C6 H6 V6 j( S  x1 a0 F" i
+ g* s" n6 _7 S. ^* j. z! B8 r
接着再点击“Validate”验证一下,通过后点击“Next”(如下图所示)
( @( }0 y8 h) {
+ J( @3 I( d! E0 b7 J* c. J* V1 O
这里保留默认设置,直接点击“Next”。
- F/ c9 u4 i5 x5 z& `$ A" F" |- u3 R$ ^
: n; {4 G' J1 S/ b+ C
接下来显示的是DDR3 IP核配置的整体情况,检查看看有没有什么问题,没有问题就点击“Next”(如下图所示)。
* v0 N6 e$ @* l  X+ ]0 H

. k6 v* s) _' Y% H7 s7 r
选择“Accept”,点击“Next”,“Next”。

% B5 ?, i/ f; W$ e  e8 O5 r  l' L+ Q1 w9 p: X
点击“Generate”生成MIG控制器。
. `' g! C0 g5 P4 J: A) }4 |$ z
四、生成文档
0 ?0 _5 Q3 P5 I8 L
点击“Generate”,生成MIG控制器相关的设计文档。
+ S7 B2 Q! t/ J: t# I
以上就是基于Xilinx 的K7 DDR3 IP核的生成配置过程,有兴趣的朋友可在明德扬论坛获取更多学习资料,也可加入明德扬技术交流Q群:544453837与我们进行深入讨论,期待与大家一起学习进步!

  T8 o! [1 {( a) ~: A
- ^! P# }' L% }$ C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-22 09:47 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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