芯耀辉软硬结合的智能DDRPHY训练技术

DDR接口速率越来越高 , 每一代产品都在挑战工艺的极限 , 对DDRPHY的训练要求也越来越严格 。 本文从新锐IP企业芯耀辉的角度 , 谈谈DDRPHY训练所面临的挑战 , 介绍芯耀辉DDRPHY训练的主要过程和优势 , 解释了芯耀辉如何解决DDRPHY训练中的问题 。
DDRPHY训练简介
高可靠性是系统级芯片SoC重要的质量和性能要求之一 。 SoC的复杂在于各个IP模块都对其产生至关重要的影响 。 从芯耀辉长期服务客户的经验来看 , 在客户的SoC设计中 , 访问DDRSDRAM是常见的需求 , 所以DDRPHY则成为了一个非常关键的IP , 其能否稳定可靠的工作决定了整个SoC芯片的质量和可靠性 。
制定DDR协议的固态技术协会(JEDEC)标准组织并没有在规范中要求动态随机存取存储器(DRAM)需要具备调整输入输出信号延时的能力 , 于是通常DDRPHY就承担起了输入和输出两个方向的延时调整工作 , 这个调整的过程称为训练(training) 。 训练是为了使DDRPHY输出信号能符合固态技术协会标准的要求 , DDRPHY通过调节发送端的延迟线(delayline) , 让DRAM颗粒能在接收端顺利地采样到控制信号和数据信号;相对应的 , 在DDRPHY端 , 通过调整内部接收端的延迟线 , 让DDRPHY能顺利地采样到DRAM颗粒的输出信号 。 从而在读写两个方向 , DDR接口都能稳定可靠地工作 。
芯耀辉软硬结合的智能DDRPHY训练技术
文章图片
图1DDRPHY承担了输入和输出两个方向的延时调整工作
然而 , 随着DDR工作频率提高 , DDRPHY训练的准确性和精度要求也随之提高 。 训练的准确性和精度决定了DDR系统能否稳定可靠地工作在较高的频率 。
DDRPHY训练所面临的挑战
DDR训练的种类繁多 , 每个训练的结果都不能出错 。 同时固态技术协会定义的训练序列都比较单一 , 如果只使用这些默认序列的话 , 训练结果在实际工作中并不是一个最优值 。
目前绝大多数DDRPHY都采用硬件训练的方式 , 如果硬件算法有问题 , 会导致训练出错 , DDR无法正常稳定地工作 , 导致整个SoC的失败 。 同时 , 硬件训练模式很难支持复杂的训练序列和训练算法 , 从而无法得到训练结果的最优解 。
芯耀辉的DDRPHY采用软硬件结合的固件(firmware)训练方式跳出了上述DDRPHY训练模式的固定思维 。
芯耀辉DDRPHY在训练上的优势
解决写入均衡(writeleveling)的难题
写入均衡是为了计算出flyby结构下命令通路和数据通路的走线延迟的差值 , 在DDRPHY中把这个差值补偿到数据通路上 , 从而最终让数据通路和命令通路的延迟达到一致 。
芯耀辉软硬结合的智能DDRPHY训练技术
文章图片
图2DDRflyby拓扑结构示意图
在实际的应用中 , 命令(command)路径上的延时会超过数据(DQ)路径的延时 。 假设路径差值=命令路径延时–数据路径延时 , 一般路径差值在0~5个时钟周期之间 。 可以把路径差值分为整数部分和小数部分(单位是0.5个时钟周期) 。
芯耀辉软硬结合的智能DDRPHY训练技术
文章图片
图3命令路径延时、数据路径延时和路径差值
根据固态技术协会标准(如JESD79-4C)的写入均衡的要求 , DRAM在写入均衡模式下会用DDRPHY发送过来的DQS沿去采样CK , 并把采样的值通过DQ返回给DDRPHY 。
芯耀辉软硬结合的智能DDRPHY训练技术
文章图片
图4写入均衡模式下调整DQS时延的示意图
通过该训练 , DDRPHY可以计算出命令与数据路径延时差值的小数部分 , 却没有办法训练出命令与数据路径延时差值的整数部分(把DQS多延迟一个时钟周期或者少延迟一个时钟周期 , 用DQS采样CK的采样值是相同的) 。