欢迎FPGA工程师加入官方微信技术群
点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群
本篇主要针对Zynq UltraScale + MPSoC的DDR接口,从硬件设计的角度进行详细介绍,最后展示一下小编之前自己设计的基于ZU+的外挂8颗DDR4的设计。
目前比较常用的DDR是DDR4和DDR3,其他系列相对使用较少一些,本文主要以DDR4进行介绍。
1、选型
根据ZU+系列芯片的数据手册、TRM、pg150等文档,DDR可以挂载在PS侧,也可以挂载在PL侧,也可同时挂载在PS侧和PL侧。
PL和PS均支持64位的DDR4(不带ECC功能),PL部分如果要支持64位的DDR4,则至少需要提供三个bank的HP接口,只能选择SFVC784或者更高的封装。需要特别说明的是,使用内存颗粒和使用内存条的容量差异较大,需要根据实际需求进行选择。
ZU+的DDR4接口如下:
PS侧DDR接口框图
PL侧DDR接口框图
针对DDR3,其特性如下:
支持DDR3 (1.5V) and DDR3L (1.35V)
容量限制:Support densities up to 8 Gb for components, 32 GB for RDIMMs, 16 GB for SODIMMs, and 16 GB for UDIMMs. Other densities for memory device support is available through custom part selection.
针对DDR4,其特性如下:
容量限制:Support densities up to 32 Gb for components, 64 GB for LRDIMMs, 128 GB for RDIMMs, 16 GB for SODIMMs, and 16 GB for UDIMMs. Other densities for memory device support is available through custom part selection.
DDR接口粗略的介绍可以参见之前的文章《Zynq UltraScale+系列之“外围接口概述”》,PS侧的DDR控制器的详细特性可参看《UG1085》的第17章,PL侧的的相关特性可参考《PG150》、《WP454》等资料,此处不再赘述。
2、Performance
DDR总线的效率在不同的使用模式下差异很大,在实际评估速率时一定要搞清楚使用情况。
针对几种常用的操作模式,《PG150》给出了具体的效率,详见下表:
几种常见的操作模式如下:
Sequential Read
Simple address increment pattern
100% reads
Sequential Write
Simple address increment pattern
100% writes (except for periodic reads generated by the controller for VT tracking)
Burst Read/Write Mix
Repeating pattern of 64 sequential reads and 64 sequential writes
50/50 read/write mix
Short Burst Read/Write Mix
Repeating pattern of fou