为什么要使用 DDR ram 并在时钟的每个上升沿和下降沿读/写,而不是仅仅将时钟速度加倍并仅在上升沿或下降沿中的一个上读/写?
各有优缺点吗?
为什么要使用 DDR ram 并在时钟的每个上升沿和下降沿读/写,而不是仅仅将时钟速度加倍并仅在上升沿或下降沿中的一个上读/写?
各有优缺点吗?
使用 SDR,每位有两个时钟边沿,但数据线上最多只有一个边沿。
对于高频通信,模拟带宽限制了您可以在任何给定线路上将边缘放在多近的距离。如果你的时钟信号达到这个限制,你就浪费了一半的数据线带宽。
因此,发明了 DDR,以便所有线路以相同的比特率达到其带宽限制。
真正的问题是带宽。数据线可以产生的最高频率(嗯,不计算压摆率)是在它发送 101010 数据模式时,它以数据速率的一半发生。使用单数据速率 (SDR) 传输时,时钟会为每个数据位产生一个完整的周期,因此在最坏的情况下,它的运行频率是您在数据线上可能看到的频率的两倍。双倍数据速率以一半数据速率运行时钟,每个数据位一个边沿,因此最坏情况下的数据模式产生与时钟相同的频率。
通常,接口的速度会受到芯片封装、引脚、电路板、连接器等可用带宽的限制。如果时钟需要两倍于数据的带宽,那么时钟信号的高频将限制整体带宽的链接。使用 DDR,时钟和数据所需的带宽相同,使链路能够更有效地利用可用带宽。
使用 DDR 的缺点是设计更加困难。用于在接收端捕获数据位的触发器在一个时钟沿运行,即下降沿的上升沿。数据在输入端必须在边沿之前的建立时间和边沿之后的保持时间内保持稳定,以便可靠地锁存。使用 SDR,时钟可以简单地在某个地方反转以满足时序要求。然而,对于 DDR,需要 90 度相移,这更难以生成,需要 PLL 或延迟线。
所以,总结一下:
特别提款权
DDR