Dynamic ODT

本文介绍了DDR3 SDRAM中的动态ODT功能,该功能允许在不使用MRS命令的情况下改变数据总线的终端阻抗,以提升信号完整性。启用动态ODT需设置MR2寄存器的特定位,提供了RTT_Nom和RTT_WR两种阻值,并详细阐述了在不同操作中的阻抗控制规则和相关延迟参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘自《JEDEC78-3F》
在某种应用情况下,为了更好的提高数据总线的信号完整性,我们需要DDR3 SDRAM的终端阻抗可以不需要通过MRS命令来改变。这种需求由“动态ODT”特性来支持。

1.功能描述

动态ODT功能是由,MR2寄存器的A9与A10位设置成1来使能的。

  • 两种RTT值可用:RTT_Nom与RTT_WR
    • RTT_Nom的值是由MR1中的A[9,6,2]控制的
    • RTT_WR的值是由MR2中的A[10,9]控制的
  • 在非写操作的命令中,终端电阻是按照如下规则控制的
    • 选择普通终端阻抗RTT_Nom
    • 终端阻抗打开/关闭时序是由ODT引脚与延迟参数ODTLon和ODTLoff控制的
  • 若一个写命令被锁存,且此时的动态ODT也是使能状态下的,按照如下规则控制
    • 写操作后延迟ODTLcnw,终端阻值选择ODT_WR值
    • 写操作后根据写操作类型(BL8、BC4、OTF)选择是ODTLcwn8或者ODTLcwn4,终端阻值选择RTT_Nom
  • 终端阻抗打开/关闭时序是由ODT引脚与延迟参数ODTLon和ODTLoff控制的
    下面列表中显示了动态ODT模式中与odt控制有关的的延迟与时序参数。

在DLL-off模式下,不支持动态ODT特性。用户通过MRS命令来设置RTT_WR,MR2{A10,A9}={0,0}即可禁止动态ODT。

当ODT被置位时,必须保持时间ODTH4为高电平。当一个写命令被SDRAM锁存且ODT是高电平时,ODT必须在写操作后保持高电平至少ODTH4(BL=4)或者ODTH8(BL=8)。ODTH4与ODTH8的测量起点是写命令或ODT锁存到高电平,结束点是ODT锁存到低电平。

Name and DescriptionAbbr.Defined fromDefined toDefinition for all DDR3 speed binsUnit
ODT turn-on LatencyODTLonregistering external ODT signal highturning termination onODTLon = WL – 2tCK
ODT turn-off LatencyODTLoffregistering external ODT signal lowturning termination offODTLoff = WL – 2tCK
ODT Latency for changing from RTT_Nom to RTT_WRODTLcnwregistering external write commandchange RTT strength from RTT_Nom to RTT_WRODTLcnw = WL – 2tCK
ODT Latency for change from RTT_WR to RTT_Nom (BL = 4)ODTLcwn4registering external write commandchange RTT strength from RTT_WR to RTT_NomODTLcwn4 = 4 + ODTLofftCK
ODT Latency for change from RTT_WR to RTT_Nom (BL = 8)ODTLcwn8registering external write commandchange RTT strength from RTT_WR to RTT_NomODTLcwn8 = 6 + ODTLofftCK
minimum ODT high time after ODT assertionODTH4registering ODT highODT registered lowODTH4 = 4tCK
minimum ODT high time after Write(BL=4)ODTH4registering Write with ODT highODT registered lowODTH4 = 4tCK
minimum ODT high time after Write(BL=8)ODTH8registering Write with ODT highODT registered lowODTH8 = 6tCK
RTT change skewtADCODTLcnw ODTLcwnRTT ValidtADC(min)=0.3*tCK tADC(amx)=0.7*tCK(avg)tCK
### 关于DDR3 IP核的参数设置方法或配置指南 在FPGA开发中,DDR3 IP核的配置是一个复杂的过程,通常涉及多个方面的调整和优化。以下是关于DDR3 IP核参数设置的具体说明: #### 1. **IP核的选择与初始化** Xilinx 提供了专门用于DDR3内存接口的Memory Interface Generator (MIG) 工具[^1]。通过该工具可以选择适合目标设备的DDR3 IP核,并对其进行初步配置。 - 使用 Vivado 或 ISE 软件中的 MIG 插件启动 DDR3 配置向导。 - 在向导的第一步中指定目标 FPGA 器件型号以及连接到 DDR3 的物理引脚位置。 #### 2. **基本参数设定** 以下是一些常见的基础参数及其作用: - **Clock Frequency**: 定义系统时钟频率,这直接影响数据传输速率。例如,在 Spartan-6 中常用的是 200 MHz 系统时钟[^2]。 - **Data Width**: 数据总线宽度决定了每次访问能够处理的数据量大小,常见选项有 8-bit, 16-bit 和 32-bit 等模式[^3]。 - **Bank Address Bits & Row/Column Addresses**: 这些数值由所选用 SDRAM 颗粒规格决定,需参照具体存储芯片手册来填写相应位宽。 #### 3. **高级功能启用** 除了以上提到的基础属性外,还可以开启一些增强性能的功能模块: - ECC(Error Correction Code): 如果应用场合要求高可靠性可打开此特性以检测并纠正单比特错误。 - Dynamic ODT(On-Die Termination): 动态终端电阻控制有助于减少信号反射从而提高稳定性[^3]. #### 4. **验证与测试** 完成所有必要参数输入之后生成 Example Design 文件夹结构。其中包括完整的参考设计方案可以帮助开发者快速搭建原型环境并对硬件资源进行全面评估;另外还提供了 Simulation Models 方便工程师们利用 ModelSim 或其他EDA软件开展行为级仿真实验活动。 ```python def configure_ddr3_ip(): """ A function to demonstrate how parameters might be set programmatically. Note that actual implementation will depend heavily on the specific tools and APIs provided by your vendor. """ ip_core = { 'clock_frequency': 200e6, 'data_width': 16, 'enable_ecc': True, 'dynamic_odt': False } return ip_core ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值