DDR3存储器时钟资源和接口模块
LatticeECP3 FPGA的I/O有专门的电路支持高速存储器接口,包括DDR、DDR2和DDR3 SDRAM存储器接口。如图3所示,ECP3系列还有专用的时钟资源,以支持下一代DDR3高速存储器控制器。边缘时钟(ECLK1,ECLK2)是高速,低相偏的时钟,用于时钟控制数据高速地进出器件。在DQS的通道提供时钟输入(DQS)和与该时钟相关的多达10个输入数据位。DQSBUF服务于每个DQS通道,以控制时钟访问和延迟。DQSDLL支持DQS通道(每个器件的左侧和右侧都有一个)。DQSDLL是专门用于构建90度时钟延迟的DLL。
图3 LatticeECP3 DDR存储器时钟资源
莱迪思的DQS电路包括一个自动时钟转换电路,简化了存储器接口设计,并确保了可靠的操作。此外,DQS的延迟块提供了针对DDR存储器接口所需的时钟对齐。通过DQS的延迟单元至专用的DQS布线资源,向PAD提供DQS信号。温度,电压和工艺变化对专用DQS延迟块产生的差异由设置的校准信号来补偿(7位延迟控制),校准信号源于器件对边的两个DQSDLL。在器件的一半,每个DQSDLL弥补各自边的DQS延迟。通过系统时钟和专用反馈环路,对DLL环进行了补偿。
LatticeECP3 FPGA的锁相环用于生成针对DDR3存储器接口时钟。例如,对于一个400 MHz的DDR3接口,通用锁相环用于生成三个时钟:400 MHz的时钟,有90 °相移的400 MHz时钟和200 MHz时钟。有90 °相移的400 MHz时钟用于生成DQ和DQS输出。没有相移的400 MHz时钟用于产生时钟(CLKP和CLKN)到DDR3存储器。200 MHz时钟用于生成地址和命令(ADDR/CMD)信号。该时钟的实现对客户是透明的,可用莱迪思的设计工具自动地实现。
DDR3所需的写调整是通过使用动态延迟输入至专门的DDR3存储器接口的模块,这称为DQSBUFD模块。这个DQSBUFD模块包含了DQS延迟块,时钟极性控制逻辑和数据有效模块。DDR3所需的写调整是通过使用动态延迟(DYNDELAY)输入DQSBUFD模块。根据写调整的要求,可以延迟每个DQS组的输出。