快速创建存储器接口的设计
时间:10-22
来源:EDN
点击:
Xilinx FPGA 提供可简化接口设计的 I/O 模块和逻辑资源。尽管如此,这些 I/O 模块以及额外的逻辑仍需设计人员在源 RTL 代码中配置、验证、执行,并正确连接到系统的其余部分,然后仔细仿真并在硬件中进行验证。
本文介绍了存储器接口设计的性能要求、设计难题以及 Xilinx 的解决方案,从使用 Spartan-3 系列 FPGA 的低成本实现到使用 Virtex-5 FPGA 的最高带宽接口,无所不包。
性能要求和 Xilinx 解决方案
20 世纪 90 年代后期,存储器接口从单倍数据速率 SDRAM 发展为双倍数据速率 (DDR) SDRAM,而如今的 DDR2 SDRAM 运行速率已达每引脚 667 Mbps 或更高。
应用通常可分为两类:
● 低成本应用,器件成本最重要
● 高性能应用,获得最高带宽最重要
运行速率低于每引脚 400 Mbps 的 DDR SDRAM 和低端 DDR2 SDRAM 已能满足大多数低成本系统存储器的带宽需求。对于这类应用,Xilinx 提供了 Spartan-3 系列 FPGA:Spartan-3、3E、3A 和
3AN 器件。
对于将存储器接口带宽推至极限的应用,如每引脚 667 Mbps 的 DDR2 SDRAM,Xilinx 提供了 Virtex-5 FPGA。
带宽是与每引脚数据速率和数据总线宽度相关的一个因素。Spartan-3 系列和 Virtex-5 FPGA 均提供了不同选项,从数据总线宽度小于 72 位的较小的低成本系统,到宽度达 576 位的较大的 Virtex-5 封装(图 1)。
这些速度下的较宽总线使芯片对芯片接口的实现更为困难,因为要求的封装更大,电源到信号和地面到信号比更佳。Virtex-5 FPGA 的开发使用了先进的稀疏锯齿形 (SparseChevron) 封装技术,能提供优良的信号到电源和地面到引脚比。每个 I/O 引脚周围都有足够的电源和接地引脚和板,以确保良好的屏蔽,使由同步交换输出 (SSO) 所造成的串扰噪音降到最低。
使用 Spartan-3 FPGA 的存储器接口
对于每引脚 400Mbps低成本应用,Spartan-3 系列FPGA与 Xilinx 软件工具结合即可提供易于实现且经济的解决方案。
在一个基于FPGA的设计中,三个基本构建模块组成一个存储器接口和控制器:读写数据接口、存储器控制器状态机,以及将存储器接口设计桥接到 FPGA 设计其余部分的用户接口。这些模块在架构中实现由数字控制管理器 (DCM) 的输出信号对其进行时钟驱动,在 Spartan-3 系列实现中,数字控制管理器还对查找表 (LUT) 延迟校准监视器(可确保正确设置读数据采集时序的逻辑块)进行驱动。
在Spartan-3系列实现中,使用可配置逻辑块 (CLB) 中的LUT实现读数据采集。在读事务过程中,DDR2 SDRAM器件将读数据选通脉冲 (DQS) 及相关数据按照与读数据 (DQ) 边沿对齐的方式发送给FPGA。在源同步接口中采集DQ是一项颇具挑战性的任务,因为数据在非自由运行DQS选通脉冲的每个边沿上都会改变。读数据采集的实现使用了一种基于 LUT 的 tap 延迟机制。
写数据命令和时序由写数据接口生成并控制。写数据接口使用输入/输出模块(IOB)触发器和DCM的90度、180度和270度输出端以与命令和数据位刚好对齐的方式发送DQS选通脉冲。
DDR2 SDRAM 存储器接口的实现已在硬件中全面经过验证。设计是在使用了 16 位宽 DDR2 SDRAM 存储器器件和 XC3S700A-FG484 器件的 Spartan-3A 入门套件板中实现的。此参考设计仅利用了 Spartan-3A FPGA 可用资源的一小部分:13% 的 IOB、9% 的逻辑 Slice、16% 的全局缓冲器 (BUFG) 多路复用器 (MUX) 和八个 DCM 中的一个。
可以使用存储器接口生成器 (MIG)软件工具轻松定制Spartan-3系列存储器接口设计,使其符合应用。
使用 Virtex-5 FPGA 的存储器接口
随着数据速率的提高,满足接口时序方面的要求变得愈加困难了。追求更高数据速率的趋势使得设计人员面临巨大挑战,因为数据有效窗口(此为数据周期内的一段时间,其间可获得可靠的 DQ)比数据周期本身缩小得快。这是由于与系统和器件性能参数关联的多种不确定因素会影响数据有效窗口的大小,而这些因素的缩减速率与数据周期不同。
若对比以 400 Mbps 运行的 DDR SDRAM 和运行速率为 667 Mbps 的 DDR2存储器技术的数据有效窗口,这种趋势尤其明显。数据周期为2.5ns的DDR器件的数据有效窗口为0.7ns,而周期为1.5ns的DDR2器件仅为 0.14 ns。
Virtex-5 FPGA采用I/O模块中的专用延迟和时钟资源(称为ChipSync技术)解决了这一难题。内置到每个I/O中的ChipSync模块均包含一串延迟单元(也称作tap延迟),称为 IODELAY,其分辨率为75ps。
此实现的架构基于若干构建模块。用户接口负责把存储器控制器和物理层接口桥接到FPGA设计的其余部分,它使用的是FIFO架构。FIFO保存着命令、地址、写数据和读数据。主要控制器模块控制读、写和刷新操作。其他两个逻辑模块(初始化控制器和校准逻辑)围绕读操作执行时钟到数据的操作(图 2)。
本文介绍了存储器接口设计的性能要求、设计难题以及 Xilinx 的解决方案,从使用 Spartan-3 系列 FPGA 的低成本实现到使用 Virtex-5 FPGA 的最高带宽接口,无所不包。
性能要求和 Xilinx 解决方案
20 世纪 90 年代后期,存储器接口从单倍数据速率 SDRAM 发展为双倍数据速率 (DDR) SDRAM,而如今的 DDR2 SDRAM 运行速率已达每引脚 667 Mbps 或更高。
应用通常可分为两类:
● 低成本应用,器件成本最重要
● 高性能应用,获得最高带宽最重要
运行速率低于每引脚 400 Mbps 的 DDR SDRAM 和低端 DDR2 SDRAM 已能满足大多数低成本系统存储器的带宽需求。对于这类应用,Xilinx 提供了 Spartan-3 系列 FPGA:Spartan-3、3E、3A 和
3AN 器件。
对于将存储器接口带宽推至极限的应用,如每引脚 667 Mbps 的 DDR2 SDRAM,Xilinx 提供了 Virtex-5 FPGA。
带宽是与每引脚数据速率和数据总线宽度相关的一个因素。Spartan-3 系列和 Virtex-5 FPGA 均提供了不同选项,从数据总线宽度小于 72 位的较小的低成本系统,到宽度达 576 位的较大的 Virtex-5 封装(图 1)。
这些速度下的较宽总线使芯片对芯片接口的实现更为困难,因为要求的封装更大,电源到信号和地面到信号比更佳。Virtex-5 FPGA 的开发使用了先进的稀疏锯齿形 (SparseChevron) 封装技术,能提供优良的信号到电源和地面到引脚比。每个 I/O 引脚周围都有足够的电源和接地引脚和板,以确保良好的屏蔽,使由同步交换输出 (SSO) 所造成的串扰噪音降到最低。
使用 Spartan-3 FPGA 的存储器接口
对于每引脚 400Mbps低成本应用,Spartan-3 系列FPGA与 Xilinx 软件工具结合即可提供易于实现且经济的解决方案。
在一个基于FPGA的设计中,三个基本构建模块组成一个存储器接口和控制器:读写数据接口、存储器控制器状态机,以及将存储器接口设计桥接到 FPGA 设计其余部分的用户接口。这些模块在架构中实现由数字控制管理器 (DCM) 的输出信号对其进行时钟驱动,在 Spartan-3 系列实现中,数字控制管理器还对查找表 (LUT) 延迟校准监视器(可确保正确设置读数据采集时序的逻辑块)进行驱动。
在Spartan-3系列实现中,使用可配置逻辑块 (CLB) 中的LUT实现读数据采集。在读事务过程中,DDR2 SDRAM器件将读数据选通脉冲 (DQS) 及相关数据按照与读数据 (DQ) 边沿对齐的方式发送给FPGA。在源同步接口中采集DQ是一项颇具挑战性的任务,因为数据在非自由运行DQS选通脉冲的每个边沿上都会改变。读数据采集的实现使用了一种基于 LUT 的 tap 延迟机制。
写数据命令和时序由写数据接口生成并控制。写数据接口使用输入/输出模块(IOB)触发器和DCM的90度、180度和270度输出端以与命令和数据位刚好对齐的方式发送DQS选通脉冲。
DDR2 SDRAM 存储器接口的实现已在硬件中全面经过验证。设计是在使用了 16 位宽 DDR2 SDRAM 存储器器件和 XC3S700A-FG484 器件的 Spartan-3A 入门套件板中实现的。此参考设计仅利用了 Spartan-3A FPGA 可用资源的一小部分:13% 的 IOB、9% 的逻辑 Slice、16% 的全局缓冲器 (BUFG) 多路复用器 (MUX) 和八个 DCM 中的一个。
可以使用存储器接口生成器 (MIG)软件工具轻松定制Spartan-3系列存储器接口设计,使其符合应用。
使用 Virtex-5 FPGA 的存储器接口
随着数据速率的提高,满足接口时序方面的要求变得愈加困难了。追求更高数据速率的趋势使得设计人员面临巨大挑战,因为数据有效窗口(此为数据周期内的一段时间,其间可获得可靠的 DQ)比数据周期本身缩小得快。这是由于与系统和器件性能参数关联的多种不确定因素会影响数据有效窗口的大小,而这些因素的缩减速率与数据周期不同。
若对比以 400 Mbps 运行的 DDR SDRAM 和运行速率为 667 Mbps 的 DDR2存储器技术的数据有效窗口,这种趋势尤其明显。数据周期为2.5ns的DDR器件的数据有效窗口为0.7ns,而周期为1.5ns的DDR2器件仅为 0.14 ns。
Virtex-5 FPGA采用I/O模块中的专用延迟和时钟资源(称为ChipSync技术)解决了这一难题。内置到每个I/O中的ChipSync模块均包含一串延迟单元(也称作tap延迟),称为 IODELAY,其分辨率为75ps。
此实现的架构基于若干构建模块。用户接口负责把存储器控制器和物理层接口桥接到FPGA设计的其余部分,它使用的是FIFO架构。FIFO保存着命令、地址、写数据和读数据。主要控制器模块控制读、写和刷新操作。其他两个逻辑模块(初始化控制器和校准逻辑)围绕读操作执行时钟到数据的操作(图 2)。
- 什么是FSL总线(01-03)
- Xilinx All Programmable RFSoC 背景资料(02-22)
- 基于FPGA的∑-△D/A转换器的设计与实现(04-23)
- 发射应用中多个高速复用DAC的同步(06-23)
- 一种锁定相位编程可调全数字锁相环设计(06-24)
- AD6620工作原理/在中频数字化直扩接收机应用(06-25)