FPGA硬件设计-DDR4引脚分配设计规则

在了解DDR4引脚分配设计规则之前先了解一下BANK中的一些规则,图片摘自UG571 P149:

1.每个BANK中的每个BYTE被分为N0到N12

2.每个BYTE中没分为T0、T1、T2、T3,而每个字通道内又在后面添加U和L来进行区分,T0L, T0U, T1L, T1U, T2L, T2U, T3L, T3U

在了解每个BANK的引脚分配规则后再来了解DDR4的引脚设计规则,DDR4 Pin Rules在文档PG150 P102中,大概规则如下:

1.DQS、DQ、DM/DBI设计规则

a.使用X8或X16器件(X16指数据位的位宽,如MT40A256M16GE_083E-IT中M16表示X16),DQS必须接到一个Byte中专用的时钟管脚上,TxU中N6和N7。DQ必须接到同一Byte中除了N1和N12的其他引脚中

b.使用X4器件,DQS必须连接到低字节中的N0、N1或高字节中的N6、N7。DQ必须接到同一Byte中除了N1和N12的其他引脚中,DM/DBI在X4器件中不被支持

c.DM/DBI必须连接到与DQS同一Byte中的N0引脚

d.X16器件中两个DQ组必须与两个相邻的Byte连接

2.X4器件必须成对使用,不允许有奇数个X4器件。一个Byte中两个子字节必须都由X4的DQ/DQS组来使用。每个Byte中两个X4的子字节必须使用两个从最小的数开始数的一对。例如一个Byte中只能是连接0和1或者2和3,但不能连接1和2

3.带有DQS的Byte被视为数据通道。如果数据引脚与其他的控制/地址引脚属于同一个BANK,引脚N1和N12可以被用于连接控制/地址引脚

4.地址/控制脚可以在同一个BANK内的任意的13个引脚上

5.VRP引脚在数据速率低于2133Mb/s时可以当作普通IO口来使用,否则需要串联240欧姆下拉电阻使用DCI阻抗控制

6.CK脚必须连接到与地址/控制引脚相同的BANK内的任意一个PN差分对上

7.Reset_N可以连接到任意一个引脚上,只要满足时序要求和IO标准为LVCMOS12。该引脚应该被下拉以便于DRAM在上电时引脚是低电平的状态,建议使用4.7K电阻进行下拉

8.BANKs可以被两个控制器共同使用

a.每个Byte通道都专用与特定的控制器(Reset_N引脚除外)

b.一个控制器中的Byte通道不能被放到另一个控制器中,例如有控制器A和B,AABB可以被允许,但是不允许有ABAB

如果两个控制器共用一个Bank,那么他们就不能分别进行复位操作,必须使用一个复位输入

9.所有的IO BANK在存储接口中必须使用同一列

10.对于采用 SSI 技术的设备而言,内存接口所使用的所有 I/O 通道都必须位于同一列的相同 SLR(存储器层)中

11.接口最大高度支持5个连续的BANK,最大支持80bit的接口

12.禁止跳过BANK使用

13.存储接口中输入时钟MMCM必须接入GCIO pair

14.Vref引脚在使用DDR4的时候必须通过一个500R或1K的电阻下拉到地

15.接口必须包含在HP BANK,除Reset_n引脚以外其他引脚不允许使用其他类型的BANK

16.如果这个Byte被用于内存接口,那么sys_rst_n不能被分配到N0和N6

引脚交换规则

1.每个Byte中除了DQS和DQM以外都可以随意交换

2.Byte组(数据、地址/控制)可以随意交换

3.地址/控制脚可以在同一Byte组内或Byte组之间随意交换

相关推荐
希言自然也8 小时前
赛灵思KU系列FPGA的EFUSE/BBRAM加密操作
fpga开发
Terasic友晶科技10 小时前
答疑解惑 | DE25-Nano开发板Uboot阶段与FPGA外设交互失败
fpga开发·led·uboot·de25-nano·terasic
雨霁初曦11 小时前
VHDL设计-基于四状态Moore型状态机
fpga开发
liuluyang53012 小时前
clk_mux_seq sv改进
fpga开发·uvm
cmc102814 小时前
222.ila窗口不出来----如果ad9361相连的rx_data_clk_in_p没有接匹配电阻,出来的时钟会不会很差,导致ila不正常工作呀
fpga开发
ALINX技术博客14 小时前
【黑金云课堂】FPGA技术教程Vitis开发:RTC中断讲解
单片机·嵌入式硬件·fpga开发
unicrom_深圳市由你创科技15 小时前
FPGA开发中的“时序约束“是什么?怎么写约束文件?
fpga开发
发发就是发18 小时前
资源管理:I/O端口与内存映射
linux·服务器·驱动开发·单片机·嵌入式硬件·fpga开发
Soari1 天前
Ziggo-CaaS-Switch软件配置: undefined reference to pthread_create
java·开发语言·fpga开发·tsn·zynq·交换机配置
碎碎思1 天前
开源雷达做到20km?一个PLFM雷达项目的FPGA实现拆解
fpga开发