DDR PHY

PolarFire® FPGA and PolarFire SoC FPGA Memory Controller (microchip.com)

这个链接有DDR中相关的内容,但是全英文。

1.ddr phy架构

1.pub(phy unility block) 

支持特性:

(1)不支持SDRAM的DLL off mode

(2)数据位宽是以8bit逐渐递增的(这样做的目的是因为可能支持16/32/64bit的总线位宽)

(3)最多支持4个rank(channel -> rank -> bank -> raw/column)

(4)支持single data channel或者dual data channel(可配置,在dual data channel的模式下,是支持一个channel处理一半数据的特性)

(5)可以完成PHY的初始化,training(比如,automatic DQS gate training,delay line calibrations,VT compensation,write leaving, write read data bit deskew, DQ/DQS eye training),控制的逻辑

主体结构框图:

 DRAM command unit模块主要是用于:软件配置相关命令之后,命令来到此模块,随后可以发起对DDR颗粒的一些操作,比如refresh,active等,他是不走控制器的DFI接口总线的,这个模块主要还是用于调试。

初始化主要包含的步骤如下(这一步骤是pub的主要功能):

 delay calibration:延迟链的校准

impedance calibration:阻抗校准(ODT calibration)

SDARM initialization:phy初始化之后,发出命令给片外的颗粒,对颗粒进行初始化

从write leaving开始到data eye training,统称为training,前面步骤主要是对各个部分进行初始化

接下来针对各个步骤逐一看:

pll初始化:

延迟链校准(delay line calibration)

delay line在每个数据单元中,也就是在这些data phy里面,放在这个位置是为了对数据采集的时候 的相位进行补偿。

 

 延迟链实际就是一些逻辑门,在进行延迟链校准的时候,实际上做的就是得到周期和延迟单元之间的关系。假设一个周期是2ns,经过一个延迟单元需要0.5ns,那么延迟链校准就是相当于把2/0.5= 4这个值告诉pub。

master delay linle/local delay line分别指什么,两者的区别是什么?

local delay line只在初始化的时候做一次周期测量,而对于mater delay line来说,在后面的操作过程中他是会不停的做周期测量,MDL也是有寄存器配置可以将其关掉的,也就是使得其不一直做周期测量,但是我们一般都是会让他一直打开的,为什么? 参考下面drift detection and compensation

对于上面架构中的一个data phy的结构如下,其中WL LCDL表示的就是write leveling local calibration delay line。

 drift detection and compensation(漂移检测和补偿)

这一操作实际是由于一个信号经过延迟单元的延迟值受到温度和电压的影响,因此在一些需要固定相位之间的信号上,需要检测出这个偏移值,同时针对这个偏移值进行补偿。前面说的MDL会在每次操作的时候进行周期测量,在一开始初始化的时候,他会得到一个周期测量值和对应需要几个delay单元的比例,在随后进行周期测量的时候,他会把这个值进行周期性变化,传递给PUB。

同时,他MDL还会将周期性变化的值传递给LDL,由于LDL仅仅在初始化的时候做一次周期测量,后续温度/电压发生变化的时候,实际上是通过MDL给到自己的信息来改变delay。(理解不够全面,说的两个值的比例究竟是哪两个值的比例?)

需要指出的是,在MDL检测到漂移的时候,他不是立刻就告诉LDL让其进行补偿的,原因在于立刻进行补偿可能对当时的时序造成影响,具体什么时候进行补偿需要看phy是如何设计的。

impedance calibration阻抗校准(类似DDR颗粒那边的ZQ calibration)

这个操作和ODT相关,首先介绍下为什么需要ODT:

一个DDR通道,通常会挂接多个Rank,这些Rank的数据线、地址线等等都是共用;数据信号也就依次传递到每个Rank,到达线路末端的时候,波形会有反射,从而影响到原始信号;因此需要加上终端电阻,吸收余波。之前的DDR,终端电阻做在板子上,但是因为种种原因,效果不是太好,到了DDR2,把终端电阻做到了DDR颗粒内部,也就称为On Die Termination,Die上的终端电阻,Die是硅片的意思,这里也就是DDR颗粒。

这个操作实际就是上电的时候根据上电的电压,对自己内部的电阻进行校准。(不是特别理解)

SDRAM initialization

write leaving

为什么DDR布局布线的时候会采用fly by的方式?
总结就是挂在多个DDR颗粒的时候采用T型的布局布线一方面会导致占用空间较多,另一方面会导致切换噪声较大。

DDR3 T型拓扑和Fly-by拓扑和Write leveling详解_flyby拓扑结构_Tech-Wang的博客-CSDN博客

DDR3 | 神了,Fly_by 结构原来就这么回事儿! - Red_Point - 博客园 (cnblogs.com)

原始相位在经过板极延迟之后,相位差变化,因此需要进行调整以符合协议中对参数tDQSS的要求。控制器发送扫描脉冲,在每个diff_dqs上升沿的时候采集CK信号线,采集为0的化,将DQ变为0,采集为1的化将DQ变为1.当采集到CK信号线从0->1的转变的时候,表示的是大概采集到了对应的区间。

  详细步骤如下(Write Leveling的功能是调整DRAM颗粒端DQS信号和CLK信号边沿对齐):

 MR1寄存器的A7bit表示是否开启write leveling

这里主要参数是tDQSS参数,表示的是ck和DQS信号之间的相位差 

另外,需要指出的是,write leveling是每个byte都需要做的,也就是每个byte都需要做这个操作。也就是每个byte都有一个对应的DQS。

DDR3基本概念6 - Write leveling(写入均衡)_tbzj_2000的博客-CSDN博客

LPDDR4的训练(training)和校准(calibration)--Write Leveling(写入均衡)_ddr training_wonder_coole的博客-CSDN博客

03-27
<think>嗯,用户问的是DDR PHY,我需要先理解这个术语。DDR PHY,全称应该是Double Data Rate Physical Layer,对吧?不过具体是做什么的呢?我记得PHY通常指的是物理层接口,负责处理底层的信号传输。DDR应该和内存有关,比如DDR SDRAM,也就是双倍数据率同步动态随机存取存储器。所以DDR PHY可能是内存控制器和内存颗粒之间的物理接口部分。 接下来,我需要确认DDR PHY的基本功能。根据以前学的知识,物理层通常处理电气信号、时钟同步、数据转换等。DDR因为是双倍数据率,意味着在时钟的上升沿和下降沿都传输数据,所以PHY需要支持这样的高速操作。可能还涉及信号完整性、时序校准这些方面。 然后,DDR PHY的结构应该包括哪些部分呢?可能有时钟电路,用于生成和同步时钟信号;数据通道,负责数据的发送和接收;地址/命令通道,传输地址和控制信号;还有校准电路,比如ZQ校准,用来调整驱动强度和终端电阻,确保信号质量。 另外,不同代的DDR标准(如DDR4、DDR5)PHY设计会有差异,比如速度提升、电压降低、新功能的加入。可能需要提到这些发展带来的变化,比如DDR5更高的带宽和更低的功耗,PHY如何适应这些变化。 还要考虑DDR PHY在系统中的作用,连接内存控制器和DRAM芯片,确保高速数据传输的可靠性。可能涉及训练机制,在启动时进行时序校准,比如读写均衡等。 不过,有些细节可能记不太清楚,比如具体的校准技术名称,比如ZQ校准、写入均衡(Write Leveling)这些,需要确认是否正确。还有,DDR PHY可能包含在处理器或独立的芯片中,比如在SoC里集成,或者作为独立的PHY芯片存在。 用户可能需要了解DDR PHY的基本概念、功能、结构以及应用场景。需要组织这些信息,结构清晰,逐步解释。同时要注意使用正确的中文术语,避免技术性错误。 可能还需要提到DDR PHY面临的挑战,比如随着速率提高,信号完整性管理变得更加复杂,功耗和散热问题,以及设计时需要考虑的电磁兼容性等问题。此外,现代DDR PHY可能采用一些高级技术,比如差分信号、预加重、均衡等,以应对高频传输带来的衰减和干扰。 最后,总结一下DDR PHY的重要性,它在确保内存系统高效稳定运行中的作用,以及随着技术进步其设计的演进。确保回答准确,结构合理,易于理解。</think>DDR PHY(Double Data Rate Physical Layer Interface)是计算机系统中连接内存控制器(Memory Controller)与DRAM颗粒的核心物理层接口电路,负责实现高速、可靠的数据传输。以下从结构、功能和应用角度逐步解析: --- ### **1. 基本功能** - **电气信号转换** 将内存控制器的数字逻辑信号转换为符合DRAM电气规范的物理信号(如差分信号、单端信号)。 - **时序控制** 管理时钟同步(如DQS与CLK的相位对齐)、数据采样窗口校准(通过写入均衡、读取训练等技术)。 - **数据速率倍增** 在时钟上升沿和下降沿均传输数据(DDR核心特性),实现双倍于时钟频率的有效速率。 --- ### **2. 核心结构** DDR PHY通常包含以下模块: - **数据通道(DQ通道)** $$ \text{数据线} = DQ[0:N] + DQS(数据选通信号) $$ 每个DQ通道包含: - **发送端(TX)**:驱动数据到DRAM,支持预加重(Pre-emphasis)补偿高频损耗。 - **接收端(RX)**:采样DRAM返回数据,集成均衡器(Equalizer)消除码间干扰。 - **地址/命令通道(CA通道)** 传输行地址(Row)、列地址(Column)及读写命令(如RAS、CAS)。 - **时钟电路** 生成同步时钟(CLK)和补偿时钟偏移(Skew)的PLL/DLL电路。 - **校准单元** - **ZQ校准**:调整输出驱动阻抗,匹配PCB传输线特性。 - **VREF校准**:动态优化参考电压,适应温度/电压变化。 --- ### **3. 关键技术** - **写入均衡(Write Leveling)** 补偿CLK与DQS在PCB上的走线延迟差异,确保DRAM准确锁存命令。 - **读取训练(Read Training)** 动态调整采样时钟相位,找到最佳数据眼图中心位置。 - **ODT(On-Die Termination)** 在DRAM端启用片内终端电阻,抑制信号反射。 --- ### **4. 代际演进** | 标准 | 速率(MT/s) | 核心改进 | PHY设计挑战 | |------|-------------|----------|-------------| | DDR4 | 1600-3200 | Bank Group分组提升并发性 | 时序收敛难度增加 | | DDR5 | 4800-6400 | 分离CA通道与双32-bit子通道 | 信号完整性管理更复杂 | --- ### **5. 应用场景** - **SoC集成**:CPU/GPU芯片内嵌DDR PHY,直接连接内存颗粒。 - **独立PHY芯片**:用于FPGA或定制ASIC,提供灵活的内存接口支持。 - **高密度服务器**:多通道PHY设计(如LPDDR5X的16通道)满足带宽需求。 --- ### **6. 设计挑战** - **信号完整性**:10Gbps+速率下需应对衰减、串扰、抖动。 - **功耗优化**:通过自适应电压调节(AVS)降低动态功耗。 - **工艺兼容性**:支持FinFET等先进制程,确保晶体管级时序匹配。 --- ### **总结** DDR PHY作为内存系统的“桥梁”,其性能直接影响整机带宽与稳定性。随着DDR5/LPDDR5的普及,PHY设计需融合更多自适应算法与混合信号电路技术,以应对未来万兆级数据传输需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值