该MIG核的example可以通过Vivado debug logic core virtual I/O(VIO) 2.0进行实时控制。
4. Getting Started with EDK
通过EDK生成的MIG核比较适合嵌入式控制器的应用,因为该核仅提供AXI4从接口。
5. Simulation Considerations
给出仿真方法,同时给出仿真的限制和注意事项。只能进行行为级和功能级仿真。
6. Core Architecture
本章节介绍7系列FPGA存储器接口的MIG核的整体架构。整体架构如下。
本章节中,对我的应用最有帮助的有如下内容: ? User Interface:介绍用户接口信号。 ? Native Interface:仅作了解。
? Clocking Architecture:详细介绍了时钟的应用,对于深入了解xilinx时钟系统和应
用,更好的使用DDR3 MIG核有帮助。
? Memory Controller:比User Interface底层的,与物理层连接的存储器控制器,仅作
了解。
7. Interfacing to the Core
本章介绍了不同接口的具体使用和时序图,包括AXI4接口和User Interface。对于我的应用,阅读“User Interface”章节即可。
8. Design Guidelines
对于设计而言,本章节非常重要。
本章节详细介绍了设计规则、bank和pin的选择、时钟管理、PCB布线、电源电压、布线长度、端接匹配、配置等等,设计前需详细阅读。
8.1 DDR3 SDRAM
8.1.1 Bank and Pin Selection Guides for DDR3 Designs
7系列FPGA的每个DQS byte group都有专用的逻辑资源,每个50pin bank都有4组DQS
byte。每个组包括一个用于DQS的clock-capable I/O对和10个相关I/O。典型的DDR3数据总线配置中,8个I/O用于DQ,一个用于DM,另一个用于其他存储器接口信号。
可以通过MIG生成管脚分配,并遵循以下规则。
1) 系统时钟输入与存储器接口在同一column,推荐放置在address/control bank。 2) CK必须分配在p-n对上,SRCC、MRCC和DQSCC均可。
3) 如果CK输出有多路,如双rank,所有的CK输出必须来自同一byte lane。 4) DQ和DM必须连接到与DQS相关的byte group管脚。 5) VRN和VRP管脚用于DCI参考(仅限于支持DCI的bank)。
6) 当以下条件满足时,non-byte groups管脚(如HP bank中的VRN/VRP和HR bank
中的多数管脚)可以用于address/control管脚。
? 在HP bank中使用了DCI cascade,或者该bank不需要VRN/VRP管脚,如只用
于输出。
? 相邻的byte group(T0/T3)用于address/control byte group。
? 相邻byte group(T0/T3)存在未使用管脚或者存在CK输出。 7) 一个接口使用bank不能超过3个。
8) address/control管脚必须位于接口3个bank的中间bank。所有address/control必
须在同一bank内。
9) RESET_N可以分配在器件上的任意管脚,包括VRN/VRP管脚(如果使用DCI cascade)。
8.1.2 Pin Swapping
1) 同一byte group内部的管脚可任何互换(data和address/control)。 2) byte group(data和address/control)之间可以互换。
8.1.2 Bank Sharing Among Controllers
存储器接口中,某bank内未使用的管脚不能和另一个存储器接口共用。在存储器接口
中,专用FIFO的专用控制逻辑和phaser仅用于一个存储器接口。如果使用MIG生成共享address和control的IP时则例外。
8.1.3 System Clock, PLL and MMCM Locations, and Constraints
当需要在单个bank中实现16bit存储器接口时,该bank可能没有足够的时钟输入引脚。
此时可以通过相邻bank接入。
系统时钟仅能用于同一column的存储器接口。
未使用的PLL输出可以用于时钟输出(该时钟可用于用户逻辑)。但是只能对该输出时
钟的相关参数进行设置,与整个PLL行为相关的其他参数不能改变。
8.1.4 DDR3 Component PCB Routing
时钟、地址和控制线在布线时需要采用Fly-by拓扑,即通过菊花链拓扑的形式布线。到
同一个component的一组线需要等长,而且最好在同一层。
8.1.5 VREF
如果使用内部VREF,则data rate必须小于或等于800Mb/s。
对于更高速的应用,则必须使用外部VREF。该VREF的电压必须是VDD到GND的一半。
该电压可以通过电阻分压或电源获得。VREF的走线远离其他变化剧烈的信号。
特定速度等级的FPGA,其存储器接口要工作在该等级支持的最高速度时,VREF必须通
过VDD产生,即与VDD相关,否则不能达到最高速度。
对于1.5V的DDR3应用,VREF为0.75V。 具体参考UG483。
8.1.6 VCCAUX_IO
该电源不同电压对应DDR3的不同工作频率。对于-2速度的FFG器件,VCCAUX_IO等于
2V,内核为1V时,最高DDR3工作频率为1866;VCCAUX_IO等于1.8V,内核为0.9V时,-2L器件的最高频率为1333。
具体请参考DS182,7 Series FPGAs Data Sheet。
8.1.7 Termination
需遵守以下规则。关于VTT的电压及何时需要VTT匹配,请参考UG471(搜索VTT即
可)。
? 工作频率大于等于1333的应用中,单端阻抗40欧姆。小于1333的应用,单端阻
抗50欧姆。如下图。
? 1333及以上应用,差分阻抗80欧姆。1333以下,差分阻抗100欧姆。如下图。
? 当使用VTT时,必须处理好匹配端的高频电流。每4路端接需要一个1uF电容,
每25路端接需要100uF电容,以上均匀分布在端接信号上。电源铺设平面。 ? 地址和控制信号使用DIMM的onboard匹配。对于无匹配电阻的DIMM或
component,需要在线的远端通过40欧姆上拉至VTT进行匹配。
? 也可以使用80欧姆匹配(上拉至VCCO,下拉至GND),但是消耗更多功率。对于
双向信号,发送和接收端均需匹配。ODT在存储器端进行匹配。如果希望在HP bank获得更好的性能,应该使用DCI。要在HR bank获得更好性能,应该使用IN_TERM。 ? 匹配最好靠近负载,可以放置在负载前或负载后。 ? RESET_N信号未匹配,布线时应通过4.7K电阻对地匹配。
? ODT在存储器侧进行匹配。使用MIG tool设置存储器的mode register。对于1333
以上应用,应设置为RZQ/6,即40欧姆。
? 如果不使用FPGA控制DM,则DM应通过电阻下拉至地。该电阻不应大于4倍的
ODT值,具体参考存储器制造商。