作者:FPGA技术实战
引言:基于K7+C665x为核心的电路板中用到了DDR3存储芯片,现将FPGA外接DDR3时硬件设计中的一些心得做一个简单的分享。
在数据速率带宽约束方面,DDR3运行速度受限于其与K7-410T FPGA互联的I/O Bank 管脚以及FPGA器件的速度等级。如下表所示,当FPGA选定时,如需DDR3运行最大工作频率时,需要将DDR3互联至FPGA的HP I/O Bank上,同时也要将Vccaux_io的供电电压调整为2.0V。
表1、FPGA I/O支持DDR3外设最大接口数据速率
DDR3本身可以互联至普通的HR I/O Bank上,但是速度性能是下降的,通常在互联时会将DDR3互联至HP I/O Bank上,以保证器件性能发挥至最佳。
在确定好将DDR3连接至HP Bank上后,在具体原理图设计时,可以在Xilinx官网下载一份Pinout资料,如下图所示(其他器件下载链接点击:https://www.xilinx.com/support/package-pinout-files.html)。
在下载的pinout.csv文件中,可以方便的查看IO所在的存储器Byte组,Bank以及I/O类型等,如下图所示。图中存储器Byte一个Bank内按照T0、T1、T2、T3划分,除了DQS,同一一个Tx组内的DQ IO是可以互换的。
图2:FPGA Pintout文件内容
在绘制原理图时,可以先按照Byte组来进行IO放置,最终IO的放置,还要根据PCB工程师布线的便利性,在同一个Tx组内进行调整。有两点需要注意的:1)DDR3管脚IO的分配强烈建议通过Vivado软件例化DDR3 IP核验证FPGA IO分配的正确性!2)如果DDR3所在的BANK上有其他外设IO,也要一起验证IO,确保满足IO bank电平兼容性。
DDR3的 CLK_P/CLK_N时钟建议放置在FPGA芯片_SRCC或者_MRCC专用时钟管脚上,以保证时钟最佳性能。DDR3地址信号及控制信号放在DQ临近的HP Bank上即可。本设计中,DDR3 DQ数据组放置在HP Bank32上,时钟、地址及控制信号放置在HP Bank33上。如下图所示。
图3:FPGA DDR3 DQ数据组
图4:FPGA DDR3 时钟、地址及控制组
图5:DDR3 原理图设计
3. DDR3与K7-410T 互联PCB版图设计
图6:整体布线
图7:数据组1
图8:数据组2
图9:地址/控制组1
图10:地址/控制组2
DDR3布线相对不复杂,有几点要注意:
1)PCB布局要合理,滤波电容放置要合理,便于PCB走线;