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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 明德扬FPGA科教 于 2019-12-20 09:46 编辑
" E: G  O! _  C9 a6 S4 R7 W3 q& ~! g6 l3 ]
【原创】Xilinx:K7 DDR3 IP核配置教程
1 F- r1 w5 H- P! A7 t
作者:肖肖肖

; A6 c8 b9 R0 e' K% j" Q
本文为明德扬原创文章,转载请注明出处!, w2 M' X( ~: r# a* r4 g0 X1 Z. E( y
9 Y* a2 u- w5 _4 q& ?) T# t2 _
MIG IP控制器是Xilinx为用户提供的一个用于DDR控制的IP核,方便用户在即使不了解DDR的控制和读写时序的情况下,也能通过MIG IP控制器读写DDR存储器。

: i; e- i# {  p- }% q/ `% K! P0 c
一、新建工程
3 z" P* y2 [3 b7 C; \( J1 T7 f, ?8 E1 S
在Vivado环境里新建一个项目,可取名为 ddr3_test。
; O- f* `$ s) L+ `
这里的芯片型号各位可以根据需要选择,我们选择的是:xc7k325tffg900-1(如下图所示):

  p7 A0 W) e, {5 r; W
# {: o7 Z" q- [# G
点击“Finish”结束工程的建立:
+ P8 ^6 [9 T6 ^) n9 T

* |  A( U1 @0 j- d
二、进入IP核配置界面
8 H& N+ B% g4 `% Q  w- [
在Vivado左边界面“Project Manager”选项下,点击“IP Catalog”,进入如下图所示界面。

% j* ^6 i4 e" S& k' g
可以在搜索栏输入“MIG” 快速查找, 双击“Memory InteRFace Generate (MIG 7 Series)”进入DDR IP核配置界面(如下图所示)。
2 v' y) f) o# l6 V
2 m2 |8 F  o, ~2 t3 ~
" Z2 c$ d+ l0 z; T' G2 H' P
三、IP核配置

3 h) V, v! g, S) t" _' y
点击“Next”(如果想了解更多关于MIG的信息,可以点击左下角的“User Guide”来打开Xilinx的相关文档)。
4 ?) H( X0 ^% M1 z
0 z- z$ B+ L8 o5 j* `5 W

1 p, t; t+ @6 O% [
修改“Component Name”为“DDR3”,点击“Next”(如下图所示)。
+ T. c" G* T' g0 A  b
这里可以选择兼容的芯片,但我们不需要,直接点击“Next”(如下图所示)。

: }8 d) R. h& @' h2 r# U7 ?5 e; g8 O' n& G1 N8 k9 R
直接选择默认的“DDR3 SDRAM”,然后点击“Next”(如下图所示)。
" s$ ^$ U; J/ |( ^0 B0 f5 ^- h
在“Memory Part”选项中, 选择开发板上的型号“MT41J256m16XX-125”,数据宽度“Data Width”选择“64”位;最后“Next”(如下图所示①)。
图①:DDR3 MT41J256m16XX-125设置

" p6 T  C$ N4 k) ]
, |) Q0 _" {8 k7 Z! I
或者在“Memory Type”选项下, 选择“SODIMMs”;在“Memory Part”选项下镁光内存条型号这里可选为“MT8JTF25664HZ-1G6”;在“Clock Period”设置参数为“2500ps”、“400.00MHz”(如下图所示②);最后“Next”。
图②:型号为 MT8JTF25664HZ-1G6的镁光内存条设置

/ B9 t! F6 c3 Y) K5 ]  {
8 g9 v' m7 L5 R& K6 [) ~! X
选择PLL输入时钟的频率“Input Clock Period”为“200MHz”(这个时钟需要与开发板上的时钟频率一致);“RTT(nominal)- On Die Termination(ODT)”选项下的 板载DDR3RTT选择“RZQ/6”(MT8JTF25664HZ-1G4选择默认“RZQ/4”);其他设置输出阻抗值和内部的ODT内部上拉电阻值来改善DDR3的信号完整性,一般不需要修改(如下图③/④所示);最后点击“Next”。
图③:DDR3 MT41J256m16XX-125设置

6 A4 i$ M, Z" ~" |- R- Q
. I/ o% }2 u, Q) t' ~$ L4 ?' {4 l
图④:型号为 MT8JTF25664HZ-1G6的镁光内存条设置
9 R  A$ e& a1 r3 n& S. O

0 L3 Y; z& k* v6 ]5 R. h
在“System Clock”选项下选择差分“No Buffer”;在“Reference Clock”选项中,因为开发板上没有提供单独的DDR参考时钟,所以选择“Use System Clock”;在“System Reset Polarity”选项下选择“ACTIVE LOW”,其它选项保留默认配置(如下图所示)。

* U0 D0 _* h* r  N" K
$ b, ^( e$ V5 v" f7 b, s
在“Internal Termination ImPedance”选项中High Range Banks 的内部端接阻抗,这里选择默认的“50 ohms”;在“DCI Cascade”选项下“勾选”(如果是镁光内存条MT8JTF25664HZ-1G6则不勾选)(如下图所示)。

: ]% G8 Q& l( }- p  E  n% a3 D+ M: P6 m
点击选择第二项,设定一下DDR的管脚,然后点击“Next”(如下图所示)。

8 G/ @- p( w) u7 l- d2 Z
: R; W, S# M- I
在以下界面设置DDR3的数据、地址和控制信号的FPGA管脚分配和IO电平。但这个手工分配比较费劲,此时可以点击“Read XDC/UCF”直接导入管脚分配文件(.ucf文件)。(如下图所示)
0 K8 U6 O' @' P6 D4 r7 }

7 s4 [' _; ~; h( P7 G' B! G
在本例程中我们已经为大家准备好了一个ddr3.ucf文件,只要直接导入这个.ucf文件就可以完成 ddr3 的管脚分配(内存条 MT8JTF25664HZ-1G4,则选择 dimm.ucf 文件)。
' G( j7 d7 T* A  c1 _5 p1 m
导入完成如下:
7 z3 S' u, W% M, W$ k3 f  `* l  N
. s' o0 f4 w  E
接着再点击“Validate”验证一下,通过后点击“Next”(如下图所示)

% L  h7 O2 X0 [! z3 s
1 c8 ?7 e3 t6 v' w+ h, C8 l
这里保留默认设置,直接点击“Next”。
. H9 r- N! V) i% E/ S9 R4 q0 w

7 y2 v% m8 G0 \  M) t9 w
接下来显示的是DDR3 IP核配置的整体情况,检查看看有没有什么问题,没有问题就点击“Next”(如下图所示)。

% R, c1 g6 @6 G( U- N( f1 ^  a
6 R( h" Q; M; [. H1 e0 W8 z
选择“Accept”,点击“Next”,“Next”。

3 Z4 N6 L3 _9 Q  `* o' B6 E  M) t& _7 r) ^3 I$ }6 j
点击“Generate”生成MIG控制器。

/ k6 P4 }$ i8 n% `4 n- Y% K% l* ?
四、生成文档

4 y/ V8 D5 G; Z( x2 D# N( A
点击“Generate”,生成MIG控制器相关的设计文档。
4 D, }, M( T4 c8 x& X$ U2 Q
以上就是基于Xilinx 的K7 DDR3 IP核的生成配置过程,有兴趣的朋友可在明德扬论坛获取更多学习资料,也可加入明德扬技术交流Q群:544453837与我们进行深入讨论,期待与大家一起学习进步!

2 G* l: Z7 E# m( Q( N% Z- N1 p' `
+ W3 _, W4 T* n. W# P
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 07:38 , Processed in 0.140625 second(s), 27 queries , Gzip On.

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

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

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