DDR PHY

这篇具有很好参考价值的文章主要介绍了DDR PHY。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

1.ddr phy架构

DDR PHY,DDR,开发语言

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),控制的逻辑

主体结构框图:

DDR PHY,DDR,开发语言

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

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

DDR PHY,DDR,开发语言

 delay calibration:延迟链的校准

impedance calibration:阻抗校准(ODT calibration)

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

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

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

pll初始化:

DDR PHY,DDR,开发语言

延迟链校准(delay line calibration)

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

 DDR PHY,DDR,开发语言

 延迟链实际就是一些逻辑门,在进行延迟链校准的时候,实际上做的就是得到周期和延迟单元之间的关系。假设一个周期是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。

DDR PHY,DDR,开发语言

 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

DDR PHY,DDR,开发语言

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的转变的时候,表示的是大概采集到了对应的区间。

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

DDR PHY,DDR,开发语言

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

DDR PHY,DDR,开发语言

DDR PHY,DDR,开发语言

这里主要参数是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博客文章来源地址https://www.toymoban.com/news/detail-677253.html

到了这里,关于DDR PHY的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 紫光同创 FPGA 开发跳坑指南(四)—— DDR3 控制器 IP 的使用

    DDR3 是一种大容量的存储器件,采用了预取技术和双边沿采样技术,以实现高速数据存储与读取,在视频处理中可以用来缓存 1 帧或多帧图像。 目录 一、紫光 DDR3 IP 的安装 二、紫光 DDR3 IP 的配置 三、DDR3 IP 的使用 3.1 DDR3 写操作 3.2 DDR3 读操作         在 Pango Design Suit 中,选

    2024年01月25日
    浏览(52)
  • 全志F1C200S嵌入式驱动开发(从DDR中截取内存)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         linux内核起来的时候,不一定所有的内存都是分配给linux使用的。有的时候,我们是希望能够截留一部分内存的。为什么保留这部分内存呢?这里面可以有很多的用途。 比如说,第一,

    2024年02月14日
    浏览(42)
  • 基于HDMI接口和DDR存储器的VmodCAM双目摄像头驱动verilog程序开发

    目录 一、理论基础 二、核心程序 三、仿真结论         VmodCAM板提供数字成像适用于任何Digilent FPGA系统的功能带有VHDCI连接器的板。它有两个特点Aptina MT9D112 200万像素CMOS数字图像传感器。传感器可以提供框架速率从15 FPS以上,具体取决于决议。其片上系统设计集成了图像流

    2024年02月11日
    浏览(45)
  • 低代码信创开发核心技术(一):基于Vue.js的描述依赖渲染DDR实现模型驱动的组件

    随着数字化转型的不断发展,低代码开发平台已成为企业快速建立自己的应用程序的首选方案。然而,实现这样一个平台需要具备高效、灵活和可定制化的能力。这正是基于 描述依赖渲染(Description dependency rendering) 所实现的。通过使用该技术,我们可以实现动态渲染组件,

    2024年02月05日
    浏览(84)
  • 【两周学会FPGA】从0到1学习紫光同创FPGA开发|盘古PGL22G开发板学习之DDR3 IP简单读写测试(六)

    本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光同创PGL22G开发平台)简介 盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全

    2024年01月23日
    浏览(66)
  • 【正点原子FPGA连载】第三十一章DDR4读写测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html DDR4 SDRAM(Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory,简称为DDR4 SDRAM),是一种高速动态随机

    2024年01月16日
    浏览(66)
  • 【正点原子FPGA连载】第二十章AXI4接口之DDR读写实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html Xilinx从Spartan-6和Virtex-6系列开始使用AXI协议来连接IP核。在ZYNQ MPSOC器件中,Xilinx在IP核中继续使用AXI协议。本章

    2024年02月02日
    浏览(53)
  • PHY芯片的使用(三)在linux下网络PHY的移植

    1 前言 配置设备树请参考上一章。此次说明还是以裕太的YT8511芯片为例。 2 需要配置的文件及路径 a. 在 .. /drivers/net/phy 目录下添加 yt_phy.c 文件(一般来说该驱动文件由厂家提供); b. 修改.. /drivers/net/phy 目录下的 Kconfig 文件,如下图所示。 c. 修改.. /drivers/net/phy 目录下的

    2024年02月16日
    浏览(41)
  • MIPI C-PHY 与 D-PHY

    MIPI:即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟;是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。 CSI:MIPI-CSI-2协议是MIPI联盟协议的子协议,专门针对摄像头芯片的接口而设计,目前CSI协议有两个版本协议,分别为CSI-2和CSI-3;CSI-2物理

    2024年02月07日
    浏览(36)
  • DDR3和DDR4内存有什么区别?DDR3和DDR4的区别

    开机之后,系统会存入内存,打开软件,也会在内存存储,可以说内存就是临时数据仓库,内存的性能对计算机的影响非常大。而内存的发展比较缓慢,现如今用的还是DDR3和DDR4居多。 DDR3内存诞生于2007年 ,DDR4在2014年底纷纷上架,当前,DDR4是主流。有何区别?   一、在外形

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包