使用QDR-IV设计高性能网络系统之二
在本系列第一部分,我们探讨了两种类型的QDR-IV存储器、时钟、读/写操作和分组操作。在第二部分,我们将探讨总线转换、总线翻转、地址奇偶校验等重要的总线问题。
总线转换的注意事项
总线转换时间非常重要,其决定了读和写指令间是否需要额外的间隔来避免在同一个I/O 端口上发生总线冲突。
想象下QDR-IV HP SRAM 中端口A 先后收到写指令和读指令。从CK 信号的上升沿(与初始化写指令周期相对应)算起,在整整三个时钟周期后向DQA 引脚提供写数据。读数据则将在下一个周期发送,因为 DQ从CK 信号的上升沿(与初始化读指令的周期相应)算起五个时钟周期后才能获得数据。此外,为符合总线转换时间和传输时延(从ASIC/FPGA 到QDR IV 存储器),还有两个额外周期。因此,启动写指令后,可以立即启动读指令。
在其他情况下,如果先启动读指令后启动写指令,那么发送读指令经过三个时钟周期后,才能发送写指令。这是因为,从在时钟信号CK 的上升沿上对读指令进行采样算起,经过五个周期后可获得DQA 引脚上的读数据,并且从在时钟信号CK 的上 升沿上对写指令进行采样算起,在整三个时钟周期内向DQA 引脚提供写数据。否则,将会发生总线冲突。因此,发送写指令后的最小时钟周期应该为RL – WL + 1(RL:读时延;WL:写时延;这两个时延的单位为时钟周期数)。另外一个时钟周期用于正确捕获数据并补偿总线转换时延(通常为一个时钟周期)。
如果传输时延大于总线转换时延,那么‘读到写’指令间的间隔为:
“读到写”指令间的时间周期 = 读时延 – 写时延 + 1 + 传输时延
请参考图7。发送读指令经过四个时钟周期后,将发送端口A 的写指令。这样是为了避免因读/写时延、总线转换时间和传输时延间的差别而导致的总线冲突。
图7. QDR-IV HP SRAM时序分析图
总线翻转
QDR-IV 器件支持总线翻转以降低切换噪声和I/O功耗。在存储事务处理中,存储器控制器和QDR-IV都可以选择应用总线翻转。
由于QDR-IV 器件的POD 信令模式为I/O 信号提供了到VDDQ 的高压终端选项,所以信号转为高电平逻辑状态不会耗电。因此,总线翻转对于POD I/O 信号是一个很重要的性能。QDR-IV 会保证翻转地址和数据总线的数据完整性。
使用芯片配置寄存器来启用或禁用地址和数据总线翻转功能。
地址总线翻转
AINV 是双倍数据速率信号,每次将地址发送给存储器器件时都会更新该信号。AINV 引脚指示是否对地址总线(An –A0)和AP 进行了翻转。AINV 是高电平有效信号。当AINV = 1 时,将翻转地址总线;当AINV = 0 时,不翻转地址总线。AINV 引脚的功能由存储器控制器控制。
地址总线和地址奇偶位都被视为地址组(AG)。
表5显示的是AG 定义以及x18 和x36 QDR-IV 选项的AINV 设置条件。
表5. 地址总线翻转条件
x18 | x36 | ||
地址群 | AG[22:0] = A[21:0],AP | AG[21:0] = A[20:0],AP | |
翻转逻辑 |
| 如果AG[21:0]中逻辑“0”的数量≥11,将AINV置为1,这时会对AG[21:0]进行翻转 | |
如果AG[22:0]中逻辑“0”的数量12,将AINV置为0,这时不会翻转AG[22:0] | 如果AG[21:0]中逻辑“0”的数量11,将AINV 置为0,这时不会翻转AG[21:0] |
x36器件示例
不进行地址总线翻转:
假设要访问的地址分别为22’h 000199和22’h 3FFCFF。17个地址引脚需要在第一个和第二个地址的逻辑状态间进行切换,如下表所示(红色单元格显示)。这样会增大地址引脚上的切换噪声、I/O电流以及串扰。
表6. 地址总线序列(未进行总线翻转)
AG[21:0] | 22位(二进制) | |||||||||||||||||||||
第一个地址组- 22h 000199 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
第2个地址组 - 22h 3FFCFF | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
进行地址总线翻转:
根据表5显示,第一个地址组(22h 000199)满足翻转逻辑条件。因此,存储器控制器发送第一个地址组前,它会将地址组从22’h 000199翻转为22’h 3FFE66,并将AINV引脚置为1。由于不需要翻转第二个地址组,所以存储器控制器可以将其直接发送,并将AINV设置为0。
下表显示的是地址总线翻转的结果。在这种情况下,只有5个地址引脚需要切换逻辑(红色单元格显示)。切换位的总数降低为5,所以降低了由于同时切换输出(SSO)而引起的噪声、I/O电流以及串扰。
表7. 地址总线序列(进行总线翻转)
AG[21:0] | 22位(二进制) | AINV | |||||||||||||||||||||
第一个地址组 - 22h 3FFE66(翻转后) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
第二个地址组 - 22h 3FFCFF(保持不变) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
数据总线翻转
数据总线翻转在
赛普拉斯 总线转换 总线翻转 地址奇偶校验 存储器 相关文章:
- 非常实用: 2.4G天线设计指南(赛普拉斯工程师力作) 上篇(11-10)
- 非常实用: 2.4G天线设计指南(赛普拉斯工程师力作) 下篇(11-10)
- 冗余时钟源的平滑时钟切换(04-03)
- 在系统设计中的如何选择半导体器件:ASIC,还是FPGA?(05-29)
- 如何降低MIPS CPU 50%的动态功耗(05-31)
- 相变存储器(PCM)技术基础(06-12)