1. 读响应机制概述
PUB控制器提供三种读响应机制:
- 异步读响应(PGCR3.RDMODE = 2’b00)
- 静态读响应(PGCR3.RDMODE = 2’b01)
- 读FIFO旁路(可选)
2. 异步读响应模式(Asynchronous Read Response Mode)
工作原理:
- 使用读DQS#(差分时钟)作为DATX8读FIFO的写时钟
- 读FIFO工作类似传统的异步FIFO
数据传输流程:
- 读DQS#上升沿将DRAM的DQ数据写入读FIFO
- 同时更新FIFO的写指针
- 写指针被同步到读时钟域(ctl_clk)
- 比较写指针和读指针
- 当指针不同时,从FIFO中弹出数据并更新指针
特点:
- 读响应延迟直接与读DQS#时序和同步器延迟相关
- 延迟不可预测,取决于实际信号传输情况
3. 静态读响应模式(Static Read Response Mode)
工作原理:
- 数据写入FIFO的方式与异步模式相同
- 但读取FIFO的方式不同
数据读取特点:
- PUB从dfi_rddata_en计数周期
- 经过固定周期后,从DATX8读FIFO提供读数据到DFI总线
延迟设置:
- 每个字节通道的延迟由DXnGCR0.RDDLY寄存器单独设置
- 可以为每个字节通道优化读延迟
- 最大延迟的字节通道决定整体读延迟
训练特点:
- 可以使用PUB的自动静态读训练算法
- 有1个ctl_clk的裕量
- DQS漂移总量必须小于2个时钟周期
- 超出会导致读取失败
4. 读FIFO旁路(Read FIFO Bypass)
背景:
- PUB在读响应路径包含FIFO
- 用于对齐各字节通道的读响应
旁路条件:
- 所有字节通道的往返读延迟良好匹配
- DXnGCR0.RDDLY值基本相同
启用方法:
- 设置PGCR3.PRFBYP = 1
- 目的是减少延迟
实际应用建议
- 选择模式时考虑:
- 系统延迟要求
- 信号完整性
- 字节通道匹配程度
- 异步模式适合:
- 延迟要求不严格
- 信号变化较大的场景
- 静态模式适合:
- 延迟可预测
- 信号相对稳定
- 需要精确控制读取时序
- 旁路模式适合:
- 所有通道延迟高度一致
- 追求最低延迟
本文作者:
ICXNM-ZLin
本文链接: https://talent-tudou.github.io/2024/12/18/DDR/PUB Architecture-Read Responses/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
本文链接: https://talent-tudou.github.io/2024/12/18/DDR/PUB Architecture-Read Responses/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!