引言:本文我们介绍FPGA外设DDR2/DDR3硬件设计相关内容,包括PCB板层数估计,信号端接、信号完整性及时序考虑等问题。
Artix-7和Spartan-7器件有各种各样的软件包,它们的设计都是为了获得最大的性能和最大的灵活性。Spartan-7 FPGA封装体积小,封装尺寸从8mm到27mm不等,而Artix-7 FPGA封装尺寸从10mm到35mm不等。包装的间距分别为1.0mm、0.8mm和0.5mm。包间距定义为BGA包上连续球之间的距离,从中心到中心测量,如图1所示。
图1、管脚间距
一般来说,随着间距的减小,PCB布线的挑战增加,因为在封装球之间布线和通孔的空间变小了。
图2中公式给出了扇出全部FPGA管脚所需的FPGA层叠数。
图2、FPGA扇出层数计算
对于Xilinx® 成本优化的FPGA,信号引脚的数量约为BGA球总数的60%。另外40%包括电源和接地信号,这些信号通常通过过孔直接连接到参考层。这是假定I/O利用率已满。如果使用较少的I/O,则布线的信号层数相应减少。
Routing Channels:是出BGA的可用布线路径的总数,例如,(一侧的BGA球数–1)× 四面。图3显示了5×5 BGA封装,总计16个布线路径,即:
一侧BGA球数 = 5,布线路径 =(5-1)× 4 = 16。
图3、布线路径定义
每个布线路径的布线通常是一个或两个,这取决于可以在顶层/底层的BGA焊盘之间走线的数量。从信号完整性的角度来看,遵守面向制造的设计(DFM)指南对于确保满足走线阻抗要求至关重要。图4显示了每个通道布线的示意图。内层上每个通道的布线取决于通孔之间的间距,并考虑到钻至覆铜的规格要求。
图4、定义TOP/Bottom层每个布线路径布线数
对于间距为0.5mm的封装,焊盘尺寸和封装间距尺寸将PCB设计者限制为BGA焊盘之间的单个迹线。然而,当选择0.8mm或1mm间距的封装时,PCB设计师可以灵活地选择单跟走线或两根走线。
Artix-7和Spartan-7 FPGA布线所需的大致层数分别如表1和表2所示。
表1、Artix-7 FPGA布线所需的大致层数
表2、Spartan-7 FPGA布线所需的大致层数
在高密度BGA下扇出信号时要考虑的关键因素包括:
PCB设计师在布局期间可用的参数主要由封装间距决定。为降低PCB制造成本,PCB设计人员除了使用更细的宽度外,还可以使用诸如微通孔、盲孔和埋入通孔等先进制造技术。然而,这些先进的制造技术并不是确保DDR3设计成功的必要条件。下图4是各种行业术语的简要说明,以及适用于标准PCB制造成本的近似值。图5显示了各种通孔类型。
图5、显示了各种通孔类型
通孔纵横比:PCB厚度与最小通孔钻孔直径之比。这是用来作为指导,以确保PCB制造商不超过机械能力的钻孔设备。通孔纵横比为10:1在标准PCB制造中相当常见。通过使用先进的PCB制造技术,在保持面向制造的设计(DFM)规则的同时,通孔纵横比可以增加到20:1。
背钻孔过孔:背面钻孔过孔是一种通孔,其部分长度“钻出”使其不再导电。这提高了信号完整性,因为它从路由中删除了不需要的stub。典型的背钻孔成本增加为PCB总制造成本的5-10%。
焊盘中的通孔:焊盘中的通孔是直接钻在焊盘下方的通孔。这样就不需要使用单独的金属迹线(桁条)来放下通孔。这有助于突破布线和改善信号完整性,PCB制造成本会增加+10–15%,取决于通孔纵横比。
埋孔和盲孔:埋孔完全位于印刷电路板内部,不接触顶层或底层;盲孔从顶层或底层传输到内部信号层。两种类型的过孔都为其他布线在上方或下方腾出空间。这与通孔不同,通孔从顶层一直通到底层。埋孔或盲孔的成本增加取决于PCB上不同类型的埋孔或盲孔的数量。每种类型的埋入/盲孔都需要单独的层压循环,从而产生额外的成本。例如,在16层PCB上具有三种不同类型的埋置/盲孔(L1–L4、L16–L12、L4–L8)会导致每种类型的埋置/盲孔增加30%的成本。
微通孔:微通孔是盲孔的一种形式。微通孔的尺寸非常小。它们是用激光形成的,通常一次不能穿透超过一到两层。对于每种类型的通孔,成本增加约为15%。
额外层:添加额外信号层的成本可能低于上述一些高级via技术的成本。因此,增加PCB层数不应总是被视为消极的选择。两个附加层的成本通常使PCB制造成本增加15–20%。
通过先进的制造工艺,PCB设计师可以指定窄至2.5mil、间距为2.5mil的走线,以实现最佳SI性能的目标阻抗规格。
根据系统要求,DDR2/3内存作为一组离散SDRAM或DIMM模块连接到Artix-7和Spartan-7 FPGA。并非这些产品系列中的所有器件都支持所有可能的内存配置。支持的确切内存配置取决于特定的芯片/封装组合。
无论拓扑结构如何,DDR2/3接口能否以尽可能高的数据速率成功运行取决于驱动器和接收器缓冲器、终端、互连阻抗、延迟匹配、串扰和电源完整性。两种内存类型的一般比较如表3所示,而DDR2和DDR3共用的信号如图6所示。
表3、DDR2和DDR3内存要求比较
图6、DDR2和DDR3内存通用的体系结构和接口技术
本节提供了实现低成本PCB设计的高级布局指南。成功的内存布局面临的关键挑战是:
DQ、DM、DQS网络通常是点对点连接。这些网络是双向的,数据锁存在其相关数据选通信号的上升沿和下降沿上。Xilinx建议如下:
为了尽量减少串扰,建议在换层期间将信号间距尽量加大并尽量减少通孔stub长度。然而,FPGA和DRAM器件下的面积受到空间的限制,很难将信号间距加大。为了简化PCB布局,Xilinx允许最小间距,即在扇出区域中为1X间距。1X间距是指走线之间的距离,等于走线宽度。当扇出FPGA/DRAM器件时,只要走线长度小于1in,就可以保持这种间距。为进一步确保可靠的信号完整性,还必须遵循以下准则:
时钟、地址、命令和控制信号
时钟、ADDR(地址)、CMD(命令)和控制信号通常是点对多点连接,需要一种称为Fly-by的独特拓扑结构。这些信号是单向的,从FPGA驱动到存储器设备。差分时钟时序信号分析的参考信号。
外部端接
ODT不适用于这些网络,需要外部离散终端。推荐的形式通常是在远端放置一个电阻器,经过最后一个存储设备,然后拉到VTT(VVDDQ/2)。上拉电阻器的值和互连线路的阻抗取决于网络上的设备数量。这些值通常通过模拟进行优化。
对于低成本设计,Xilinx建议遵循以下准则。
图7、Fly-By端接
图8显示了VTT电容器的布置。为确保可靠的电源完整性,Xilinx建议每四个终端电阻至少放置一个0.1μF电容与VTT相连。
图8、VTT电容放置
此外,Xilinx建议将DRAM之间的互连长度和从最后一个DRAM到端接电阻的stub长度保持在0.75in以内。
5.信号网的延迟匹配
虽然走线长度、阻抗和终端可以确保信号完整性,确保同步网络之间的延迟匹配同样重要。字节通道中的所有DQ和DM网络必须与其关联的DQS网络相匹配。Xilinx建议如下:
Xilinx Artix-7和Spartan-7器件可以分别以1066Mb/s和800Mb/s的速度与DDR2/3进行互操作。本文的目的是为使用先进制造技术的层数估计和成本影响提供指导。此外,本文还提出了低成本PCB设计的高层次布局准则,有助于优化I/O性能,降低性能问题的风险。
欢迎关注FPGA技术实战公众号,持续更新原创!