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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 明德扬FPGA科教 于 2019-12-20 09:46 编辑
, W+ R3 G6 T& w( h% D2 T% M) `: C7 t$ W( R" ^- m  A# |( G0 o
【原创】Xilinx:K7 DDR3 IP核配置教程
$ m+ n/ u6 D/ B9 O
作者:肖肖肖
1 p) g( S7 a0 v1 Y% s, Q
本文为明德扬原创文章,转载请注明出处!
  z0 X' a. H, v6 U, m' z( T: _! s* D
& E! }- B  ]; ~$ Y7 E5 o5 u
MIG IP控制器是Xilinx为用户提供的一个用于DDR控制的IP核,方便用户在即使不了解DDR的控制和读写时序的情况下,也能通过MIG IP控制器读写DDR存储器。
/ R5 E6 V2 u6 L8 O$ w8 N
一、新建工程

' G  G& s+ ~  R
在Vivado环境里新建一个项目,可取名为 ddr3_test。
7 B0 j7 o% C# p3 t* q
这里的芯片型号各位可以根据需要选择,我们选择的是:xc7k325tffg900-1(如下图所示):
4 b, U. w/ P/ _

( F" h2 R$ y. x2 S9 c3 d# _6 `
点击“Finish”结束工程的建立:
, y. C. }9 d4 [
1 {) n. C% A4 \. s' L( o9 h
二、进入IP核配置界面

) A" h/ {+ O( i$ X7 E
在Vivado左边界面“Project Manager”选项下,点击“IP Catalog”,进入如下图所示界面。

# Z9 J# |/ |' o1 o: T, ?
可以在搜索栏输入“MIG” 快速查找, 双击“Memory InteRFace Generate (MIG 7 Series)”进入DDR IP核配置界面(如下图所示)。

/ _- R5 i3 J- D5 P& @8 ~! r
# W. n' C" }- J$ p5 S- J, G
7 v: ?+ y, A' M- U0 |8 r  p  P
三、IP核配置

5 s( x# m- z( b* P1 @( b& [
点击“Next”(如果想了解更多关于MIG的信息,可以点击左下角的“User Guide”来打开Xilinx的相关文档)。
0 n6 A4 ^& r, x$ x& u) e) S5 ]1 b6 j

$ ~+ [- I) ?) \4 B" p( G6 X8 Q) {- \
$ C3 X; d1 ]/ H; F
修改“Component Name”为“DDR3”,点击“Next”(如下图所示)。
; W4 Y: X( P1 Z, }3 E( i
这里可以选择兼容的芯片,但我们不需要,直接点击“Next”(如下图所示)。
/ _& j/ [# [. i# a& T
; v/ @* X4 Y- L* L3 m/ b
直接选择默认的“DDR3 SDRAM”,然后点击“Next”(如下图所示)。
9 i" i( O6 c, K5 }- F9 X
在“Memory Part”选项中, 选择开发板上的型号“MT41J256m16XX-125”,数据宽度“Data Width”选择“64”位;最后“Next”(如下图所示①)。
图①:DDR3 MT41J256m16XX-125设置

2 K6 {6 u8 m) x* K
% K& u/ q# Y0 J9 M. C
或者在“Memory Type”选项下, 选择“SODIMMs”;在“Memory Part”选项下镁光内存条型号这里可选为“MT8JTF25664HZ-1G6”;在“Clock Period”设置参数为“2500ps”、“400.00MHz”(如下图所示②);最后“Next”。
图②:型号为 MT8JTF25664HZ-1G6的镁光内存条设置

6 B) g. a4 Q3 R+ E6 J- c7 I% L& {* w2 }8 U, m- Y
选择PLL输入时钟的频率“Input Clock Period”为“200MHz”(这个时钟需要与开发板上的时钟频率一致);“RTT(nominal)- On Die Termination(ODT)”选项下的 板载DDR3RTT选择“RZQ/6”(MT8JTF25664HZ-1G4选择默认“RZQ/4”);其他设置输出阻抗值和内部的ODT内部上拉电阻值来改善DDR3的信号完整性,一般不需要修改(如下图③/④所示);最后点击“Next”。
图③:DDR3 MT41J256m16XX-125设置

; o. q0 O* P: @/ F# w
/ c  K$ Y( n# b3 [
图④:型号为 MT8JTF25664HZ-1G6的镁光内存条设置

- w- E- N3 y: c2 u! |
, [4 F* _# ?$ \5 D2 K
在“System Clock”选项下选择差分“No Buffer”;在“Reference Clock”选项中,因为开发板上没有提供单独的DDR参考时钟,所以选择“Use System Clock”;在“System Reset Polarity”选项下选择“ACTIVE LOW”,其它选项保留默认配置(如下图所示)。

) G; {: C8 U% B7 Y" f
& \  l( k, U. p& T/ H5 b4 Y! E
在“Internal Termination ImPedance”选项中High Range Banks 的内部端接阻抗,这里选择默认的“50 ohms”;在“DCI Cascade”选项下“勾选”(如果是镁光内存条MT8JTF25664HZ-1G6则不勾选)(如下图所示)。
! m0 w1 g4 L4 m# t' d
9 \3 y8 i7 x+ ]. z9 R) h
点击选择第二项,设定一下DDR的管脚,然后点击“Next”(如下图所示)。
" o3 i0 |6 z) _
5 g4 H! ~" ?3 W# h* U# O8 h
在以下界面设置DDR3的数据、地址和控制信号的FPGA管脚分配和IO电平。但这个手工分配比较费劲,此时可以点击“Read XDC/UCF”直接导入管脚分配文件(.ucf文件)。(如下图所示)

) Z  e" t% s8 z/ t! m
5 a0 k) V1 [4 v# z
在本例程中我们已经为大家准备好了一个ddr3.ucf文件,只要直接导入这个.ucf文件就可以完成 ddr3 的管脚分配(内存条 MT8JTF25664HZ-1G4,则选择 dimm.ucf 文件)。

# W" P. d- C) ~8 ?0 H$ W" Y6 u% f. e
导入完成如下:
- P7 @" n0 K  t$ [
: ]' t+ i& r' w7 M3 S
接着再点击“Validate”验证一下,通过后点击“Next”(如下图所示)
) V- W  }( t  D- I5 T

, R2 Z% w: z* J6 U5 \
这里保留默认设置,直接点击“Next”。

2 i! ^% d0 H4 F4 k+ u( e3 ^1 ~8 H$ w! `6 P3 a$ W" ~) j  }
接下来显示的是DDR3 IP核配置的整体情况,检查看看有没有什么问题,没有问题就点击“Next”(如下图所示)。

7 O2 \0 L( U0 A7 ?2 t" n
8 D+ W% I; j  k
选择“Accept”,点击“Next”,“Next”。

* i3 J0 a: g/ S2 c7 G9 M
3 ?& F# [) c8 I6 T8 P
点击“Generate”生成MIG控制器。
* j' b6 t2 _; E
四、生成文档
! U, O! A5 u6 B
点击“Generate”,生成MIG控制器相关的设计文档。

& o1 W4 x' H, f' _* F* p. N5 l( \
以上就是基于Xilinx 的K7 DDR3 IP核的生成配置过程,有兴趣的朋友可在明德扬论坛获取更多学习资料,也可加入明德扬技术交流Q群:544453837与我们进行深入讨论,期待与大家一起学习进步!
# @# R. R" h9 n  a# Z% \* e
# S( r# `0 {- x& o/ m# C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-12 15:28 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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