首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CK (tCK,nCK)单元歧义在DDR3标准/数据表中?

CK (tCK,nCK)单元歧义在DDR3标准/数据表中?
EN

Stack Overflow用户
提问于 2022-02-03 09:51:36
回答 1查看 349关注 0票数 0

我在Artix-7 FPGA上设计一个简单的内存控制器和PHY,但在读取数据表时遇到了问题。内存部分的数据表(和JEDEC JSD79-3Fdoc)中的时间用CK/tCK/nCK单元表示,我认为如果没有在标称频率上运行存储器(例如,1333 MT/s模块低于666 MHz时钟),它们是不明确的。

如果我运行一个频率为300 MHz的1333 MT/s模块--按照数据表速度箱,仍然允许使用DLL,那么CK/tCK/nCK单元是等于1.5 ns (来自模块的原生666 MHz),还是3.33 ns (从实际运行频率来看)?一方面,某些延迟是常量的,但在CK/CK#引脚上的时钟边(如CL或CWL)上,再次表示了一些延迟。

也就是说,数据表中的一些计时参数只有在改变速度箱时才会改变。例如,1333部分的tRP为13.5ns,这也与1066年部分的13.125 ns的tRP兼容--无论设备物理时钟引脚的工作频率如何。

但是,在300 MHz上运行一个MHz模块只允许使用CL = CWL = 5,这再次以"CK“单位表示。据我理解,这意味着输入时钟的5个周期,即5*3.33ns。

我想我要问的是"CK“(或nCK或tCK)单元是否与选定的速度箱(当选择DDR3-1333时tCK=1.5ns)或控制硬件提供给存储器模块的时钟信号的实际频率(例如,600 MT/s模式下的3.3ns)绑定?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-03 14:44:17

这是u/Allan-H对reddit的回应,他帮助我得出了一个结论:

当您在模式寄存器中设置CL时,即芯片在将数据放在引脚上之前等待的时钟数。该时钟是控制器提供给芯片的时钟(毕竟是_S_DRAM )。

您有责任确保当您编程的时钟数量(例如CL=5)乘以时钟周期(例如,1.875ns)时,至少与RAM的访问时间一样长。请注意,您编程了许多时钟,但重要的参数实际上是时间。RAM必须准备好数据,然后才能将其发送到输出缓冲区。

现在让我们以更低的速度运行RAM,比如312.5MHz (3.2ns周期)。我们现在可以选择编程CL为3,因为3x3.2ns>5x1.875ns。

顺便说一句,由于我们处理的是ns的分数,我们也需要考虑时钟抖动。相反,DRAM芯片不知道它有多快;它必须由DRAM控制器用这些信息编程。该信息可以硬编码到控制器中(例如,对于FPGA实现),或者由通常在DIMM上读取SPD EEPROM以计算速度等级的软件进行编码,然后将适当的值写入DRAM控制器。

这也解释了时间值定义为。“大3CK或5ns”。在这种情况下,内存芯片的响应速度不能超过5ns,但内部逻辑也需要输入CK引脚上的3个正时钟边来完成此示例参数定义的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70969071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档