FPGA通常有专用的接口支持诸如DDR2、DDR3等高速的存储器,因此在对其引脚进行连接时,需要使用FPGA定义好的专用存储器接口总线,不能随心所意的随意连接。Altera公司的FPGA器件,在它们的官方网站上都可以下载到与器件对应的引脚定义文档(通常有excel格式、txt格式或pdf格式),在这些文档中,详细的罗列了哪些引脚可以用于存储器数据总线、地址总线、时钟或控制信号的连接。因此,在着手设计前,一定要先参考并定义好FPGA于存储器间的接口连接。
DDR2芯片的连接电路如图2.27所示。
DDR2芯片接口以及PCBlayout,通常需要遵循以下的原则。
● 单端信号的电路板阻抗一般控制在50 ohm ± 10%;差分信号的电路板阻抗一般控制在100 ohm ± 10%。
● DQ, DQS, CK/CK#选择VSS作为参考平面;地址、命令、控制信号线选择VDD作为参考平面。
● 双向I/O,如DQ,串行端接电阻放置在走线的中间,用于抑制振铃、过冲和下冲。
● 单向信号,如地址、控制和命令线,串行端接电阻放置在走线的中间或信号的发送端,推荐放在信号的发送端。
● DQS一般布线在DQ信号组的中间。
● DQS与时钟信号线不相邻。
● 为了避免串扰,数据信号组和地址、控制、命令信号组之间的走线间距至少+-20mils,建议它们在不同的信号层走线。
● 时钟信号组尽量走在内层,CK和CK#的走线长度偏差在+-20mils以内,最好是+-10mils以内。
● 数据信号组的走线长度和时钟信号组的走线长度偏差在+-500mils以内。
● 同一组信号线的走线长度偏差在+-50mils(+-25mils)以内。
● 地址、命令、控制信号线的走线长度与时钟信号组的走线长度偏差在+-400mils以内。
● 同一地址、命令、控制信号组内的走线长度偏差在+-50mils。
● 所有信号走线长度控制在2000mils(50mm)内。
● VREF布局布线:
n VREF和其他信号之间保持20mm间距。
n VDD到VREF的走线尽可能短。
n 去耦电容尽可能靠近VREF。
n VREF走线至少20~25mils。
n VREF和相邻走线之间至少保持15~25mils间距。
● 布线顺序:
n 数据信号DQ,DQS,DM
n 地址信号,命令信号CAS#,RAS#,WE#
n 控制信号CS#,CKE
n 时钟信号
n 反馈信号
● 蛇形走线相邻走线间距是线宽的5倍。
图2.28 蛇形走线线宽与间距的关系