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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 明德扬FPGA科教 于 2019-12-20 09:46 编辑
+ v  A3 l' A, u7 T
- i& Y# K# n  G- ~4 s
【原创】Xilinx:K7 DDR3 IP核配置教程

& {: V2 l- f5 v
作者:肖肖肖
& y# |6 D% L" q; t# \
本文为明德扬原创文章,转载请注明出处!  a9 |3 Y2 ^9 h( N1 \" E
- a. G( b0 A5 u, V. s8 Y% p* \
MIG IP控制器是Xilinx为用户提供的一个用于DDR控制的IP核,方便用户在即使不了解DDR的控制和读写时序的情况下,也能通过MIG IP控制器读写DDR存储器。

/ i2 K' j1 v* _) j0 U
一、新建工程

6 c! E2 u+ Z5 y
在Vivado环境里新建一个项目,可取名为 ddr3_test。
) N: m" M/ i2 a2 L
这里的芯片型号各位可以根据需要选择,我们选择的是:xc7k325tffg900-1(如下图所示):

# Q5 R6 d4 W$ f: u! ~
8 n. C  e# h) S0 A5 L
点击“Finish”结束工程的建立:
, C; y; P1 Q. J$ o* ?' v: I% ~
4 d8 i  K, P7 z/ N* z% M8 J
二、进入IP核配置界面

4 L( @# g3 L8 C# P8 A+ f7 ~
在Vivado左边界面“Project Manager”选项下,点击“IP Catalog”,进入如下图所示界面。
4 V5 N7 {. Z$ R2 [! L" K+ P' ^
可以在搜索栏输入“MIG” 快速查找, 双击“Memory InteRFace Generate (MIG 7 Series)”进入DDR IP核配置界面(如下图所示)。
3 z9 q& A1 v" {* |7 w! H
; L) B8 ~7 D# f: `8 z
! K- L) ?! q7 Z* C
三、IP核配置

" {. p7 p; z; e' L. j
点击“Next”(如果想了解更多关于MIG的信息,可以点击左下角的“User Guide”来打开Xilinx的相关文档)。

2 b4 r3 r- x' D! _! Q

, U  O" Y) q/ x1 \" o- I+ s+ Q: E( z% R4 w( V: y  k( M% k8 \
修改“Component Name”为“DDR3”,点击“Next”(如下图所示)。

  ~' _- ?1 C# E* l
这里可以选择兼容的芯片,但我们不需要,直接点击“Next”(如下图所示)。

0 K9 Q$ H  C* P) _& r! ~+ }8 R  I4 |9 j' U3 Z+ F1 u9 A7 ^
直接选择默认的“DDR3 SDRAM”,然后点击“Next”(如下图所示)。
* \- g5 [; B  ^1 L5 ]
在“Memory Part”选项中, 选择开发板上的型号“MT41J256m16XX-125”,数据宽度“Data Width”选择“64”位;最后“Next”(如下图所示①)。
图①:DDR3 MT41J256m16XX-125设置
  [! A% D) K2 w% D
+ W/ n  L6 r( [& k6 B
或者在“Memory Type”选项下, 选择“SODIMMs”;在“Memory Part”选项下镁光内存条型号这里可选为“MT8JTF25664HZ-1G6”;在“Clock Period”设置参数为“2500ps”、“400.00MHz”(如下图所示②);最后“Next”。
图②:型号为 MT8JTF25664HZ-1G6的镁光内存条设置
8 O" t+ f, O) q5 r! U# x; a9 i2 w
+ g& V7 S! h+ _) x( ]% D6 }
选择PLL输入时钟的频率“Input Clock Period”为“200MHz”(这个时钟需要与开发板上的时钟频率一致);“RTT(nominal)- On Die Termination(ODT)”选项下的 板载DDR3RTT选择“RZQ/6”(MT8JTF25664HZ-1G4选择默认“RZQ/4”);其他设置输出阻抗值和内部的ODT内部上拉电阻值来改善DDR3的信号完整性,一般不需要修改(如下图③/④所示);最后点击“Next”。
图③:DDR3 MT41J256m16XX-125设置
$ [. m) s9 K: N+ g: ~

5 a7 {7 L4 f& \9 _1 _* A
图④:型号为 MT8JTF25664HZ-1G6的镁光内存条设置
, l, c% e+ }6 g0 t
; H/ |; h! p4 t! Q; v
在“System Clock”选项下选择差分“No Buffer”;在“Reference Clock”选项中,因为开发板上没有提供单独的DDR参考时钟,所以选择“Use System Clock”;在“System Reset Polarity”选项下选择“ACTIVE LOW”,其它选项保留默认配置(如下图所示)。

1 r, G3 r# W9 b5 @* y) g- U% i$ y8 k% [  X2 v
在“Internal Termination ImPedance”选项中High Range Banks 的内部端接阻抗,这里选择默认的“50 ohms”;在“DCI Cascade”选项下“勾选”(如果是镁光内存条MT8JTF25664HZ-1G6则不勾选)(如下图所示)。

# L  `. h4 o$ u, U  d+ ]- C) S
- |4 v" q/ B7 G8 R
点击选择第二项,设定一下DDR的管脚,然后点击“Next”(如下图所示)。

' A( D$ ~2 F5 v* D$ |
' s$ [5 q7 U! b2 W0 |$ E$ Y
在以下界面设置DDR3的数据、地址和控制信号的FPGA管脚分配和IO电平。但这个手工分配比较费劲,此时可以点击“Read XDC/UCF”直接导入管脚分配文件(.ucf文件)。(如下图所示)
1 U0 {; {5 F% [, V& W

; E* g$ m7 o/ M% d
在本例程中我们已经为大家准备好了一个ddr3.ucf文件,只要直接导入这个.ucf文件就可以完成 ddr3 的管脚分配(内存条 MT8JTF25664HZ-1G4,则选择 dimm.ucf 文件)。
+ Q: h1 a% p" a" H3 I' C
导入完成如下:

9 o4 f( O; y; B2 C' X& ~* j+ e$ A9 I' j. T% x2 G$ D
接着再点击“Validate”验证一下,通过后点击“Next”(如下图所示)
0 @" I- N4 i8 ~! N* F; X9 P
/ v5 _! j& f2 E2 l( \: P
这里保留默认设置,直接点击“Next”。

7 ^1 R, S6 A0 {, v
6 p/ _, o# H5 n! f3 w5 [) \8 L; S
接下来显示的是DDR3 IP核配置的整体情况,检查看看有没有什么问题,没有问题就点击“Next”(如下图所示)。
/ P- Q  ~$ u) i$ d
$ `. B) k& {( I% d# P" z: d4 I
选择“Accept”,点击“Next”,“Next”。

! B' w( {! q, w' w' E6 c* W2 ^6 m# L* c! _9 F4 c" |* F6 B; ~
点击“Generate”生成MIG控制器。

& y7 x7 N5 l. j  K5 ~3 }
四、生成文档

" _% S, E9 i+ g0 z
点击“Generate”,生成MIG控制器相关的设计文档。

7 f" P' N, n* G
以上就是基于Xilinx 的K7 DDR3 IP核的生成配置过程,有兴趣的朋友可在明德扬论坛获取更多学习资料,也可加入明德扬技术交流Q群:544453837与我们进行深入讨论,期待与大家一起学习进步!

* c! W$ p& z  n8 O$ Q  D
$ l# v/ q8 O0 e/ M+ q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-8 13:31 , Processed in 0.187500 second(s), 28 queries , Gzip On.

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

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

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