0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ZU+的外挂8颗DDR4的设计案例分析

电子设计 来源:赛灵思中文社区 作者:赛灵思中文社区 2020-12-21 14:04 次阅读

本篇主要针对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接口如下:

o4YBAF9uGkGAa1gkAAz-mjznpmI860.png

PS侧DDR接口框图

o4YBAF9uGkOAVvpxAAHrhcNxERc710.png

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》给出了具体的效率,详见下表:

pIYBAF9uGkSAZHOGAAC1UE9LAdY206.png

几种常见的操作模式如下:

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 four sequential reads and four sequential writes

Full DRAM page accessed in bursts of four before changing the row address for high page hit rate

50/50 read/write mix

Random Address Read/Write Mix

Repeating pattern of two random reads and two random writes

Fully random address for a low page hit rate

50/50 read/write mix

3、原理图设计

PS侧的原理图设计基本没有任何问题,按照对应功能引脚连接即可,PL侧的接口需要特别注意。

对于单个Memory接口,尽量集中使用几个HP bank。如果使用三个bank,两个bank用作数据接口,一个bank用作地址、控制、命令信号线接口,地址、控制、命令信号尽量使用同一个bank,不要跨bank使用;如果使用两个bank,尽量保证数据相关引脚在一个bank,地址和控制信号在另一个bank。

地址、控制、命令信号不能和data共用byte group,只能使用data byte groups以外的byte groups。

CK差分时钟对必须使用差分对,必须连接在控制byte group上,尽量按照Vivado软件对时钟引脚的约束来连接。如果有多个CK对,必须来自于同一个byte lane。

除了DQS和CK之外,其他信号都可以在byte group内随意交换。

pIYBAF9uGkqAfUfuAAfB0A1-Pw4036.png

每一byte的data可以在组内随意交换

前期原理图设计阶段最好在vivado中进行PL侧管脚预分配,别等到PCB出来后才开始在vivado中验证,如果关键信号管脚定义有问题,不能交换,则无法弥补。

针对ZU+系列MPSoC,DDR4接口的原理图处理如下:

o4YBAF9uGk6AFpzaAAQCJnD0veE505.png

4、PCB Guidelines for DDR4 SDRAM (PL and PS)

DDR总线的布局布线需要遵循一些通用的规则,数据线只支持点到点连接,其他信号根据颗粒数量的不同可以有多种拓扑。

ZU+ DDR4 SDRAM支持两种拓扑类型:fly-by和clamshell。Clamshell拓扑在板子空间比较紧张时有一定的优势。在MIG中(PL侧)是一种可选的拓扑,在PS侧不支持clamshell拓扑。

如果使用5片x16的颗粒组成80位宽的接口时,5片DDR的布局采用fly-by topology,如果用9片x8的颗粒,则采用clamshell topology比较节约空间。

pIYBAF9uGlCAAzxcAAGVjEcOGdQ387.png

pIYBAF9uGlKABYlCAAGOUEHemsc147.png

pIYBAF9uGlSAVSpbAACJovQr6-4174.png

4.1.1、Fly-by结构布局

o4YBAF9uGlWAcnCSAAB4g2U685k671.png

pIYBAF9uGlaAIwEPAACWA5D_Q0o264.png

pIYBAF9uGlmAVezqAAKXA1PSnuY196.png

o4YBAF9uGluAOOA_AAEVh1ZD5rw454.png

4.1.2、Clamshell结构布局

o4YBAF9uGl2AR6RqAAIYouKvaJw631.png

pIYBAF9uGl6AdK3GAACJovQr6-4975.png

pIYBAF9uGmCACkQBAADEfQEatnM853.png

o4YBAF9uGmKAAsg-AADtaZuix1U434.png

o4YBAF9uGmSAW_6xAAIVbPWhn7o068.png

pIYBAF9uGmaASZsqAAHeszVS-b0205.png

4.1.3、Point-to-Point数据信号

pIYBAF9uGmeAUj3eAABcUiZX4fk853.png

o4YBAF9uGmuALI_2AAItwE1713Y496.png

由于官方推荐的主线路阻抗较小(单端36/39Ω,差分76Ω),线宽比较宽,但扇出部分阻抗又比较大(单端50Ω,差分86Ω),会导致阻抗突变,因此实际使用中可以通过调整叠层来优化线宽,在满足阻抗要求的同时减小阻抗突变。

4.1.4、Layout Guidelines

以下为DDR4的约束规则,表格中的参数均为最短信号线和最长信号线之间的tolerance参数,数据group一般都是以DQS为TARGET,DQ与DQS进行比较约束。地址、控制、命令group一般都是以CLK为TARGET,ACC(Address、Command、Control)与CLK进行比较约束。

o4YBAF9uGmyATMQxAADsjMFZeyA083.png

pIYBAF9uGm6AMCQyAACl7XzAYdw179.png

o4YBAF9uGnCAZmcUAADlmiYRHO8157.png

pIYBAF9uGnKAHLmHAACbgZBIixI560.png

针对上图解释为:例如,最快的ACC信号线传输时间是800ps,最慢的ACC信号线传输时间是840ps,时钟信号线的传输时间应该为862ps±8ps,比ACC总线的中间传输时间(820ps)慢42ps.

o4YBAF9uGnOAPsUBAAB9rng-fWM264.png

o4YBAF9uGnWAQVTUAACfYrkxt24634.png

CLK和DQS之间的约束比较宽松,最小的差异可以为-879,最大差异可以为+10600,主要是为了保证读写平衡功能从整个菊花链的第一片到最后一片颗粒都正常。

DDR控制器可以调整DQS信号线的内部延迟,由于CK信号线链路连接每一片DDR颗粒,导致CK容性负载更重,所以需要能够调整DQS信号线的内部延迟,以满足和CK之间的约束。

规范规定CK信号线和DQS信号线从FPGA到链路中的第一片DDR颗粒的偏差不小于-149ps,到链路中最远端的DDR颗粒的偏差不大于1796ps。只要链链路中第一片DDR颗粒和最后一片DDR颗粒都满足此条件,整个链路上所有的DDR颗粒的读写平衡功能都将正常。

例如,如果从FPGA到第一片DDR颗粒的DQS延迟为200ps,则从FPGA到第一片DDR颗粒的CK延迟应至少为51ps(200ps-149ps)。如果从FPGA到最后一片DDR颗粒的DQS延迟为700ps,则从FPGA到最后一片DDR颗粒的CK延迟应该小于2496ps(700ps+1796ps)。

下面是一些基本的规则,可以参考遵守:

使用内存条时,CK信号和DQS信号之间的余量会更小一些,因为约束的是FPGA到DIMM插槽处,而颗粒的走线是由DIMM决定的,因此余量预留小一些。

同组的DQ、DQS、DM走线必须在同一层。

DIMM数据线走线最好选择靠近接插件的层,尤其是靠DIMM中间位置的数据组。

采用菊花链结构布线时,ACC信号线可以布在不同的层,但层数越少越好。不要将一个信号切换好几层,主要走线尽量一层走完,这样可以减小串扰,信号换层时,切换过孔附近50mil范围内需要放置一个接地过孔。

FPGA和DDR器件驱动端的阻抗为40Ω,DCI和ODT也是40Ω。因此VTT端接电阻都选为39.2Ω。

当使用内部VREF时,PL侧HP bank上的VREF引脚可以悬空,但不能用于普通IO。

如果系统时钟连接到了DDR的HP bank,则LVDS时钟信号需要外部端接至合适的电压,因为该bank上有不同的逻辑电平 (HSTL, SSTL, or POD)。

对于菊花链布局,人字形扇出(chevron-style routing)可以形成stitching vias;对于比较紧凑的布局,可以通过环抱式扇出形成ground stitch vias。

在器件内部或者周围尽量多放置接地过孔,这样可以更好的为信号提供返回路径,尤其是在边角的位置。

对于ACC信号线的端接电阻布局,应该每四个端接电阻中间穿插布局一个0.1uF的VTT去耦电容,这样可以减小端接VTT的噪声。为了便于布局,最好在原理图中就按每四个电阻放置一个去耦电容。

对于DIMM,去耦电容放置得离DIMM越近越好,这样除了能提供接地过孔外,也能给电源提供低阻抗回路。

pIYBAF9uGnaAE6YiAACc6ZKmvF8118.png

o4YBAF9uGn2AFGL2AAYFlJhNnyw456.png

pIYBAF9uGoKAKSoCAASbRoDHZ5Y169.png

o4YBAF9uGoeAAZC0AASbDyCAA2I020.png

pIYBAF9uGoqANqqPAALt2wgh2Bw692.png

以上就是针对ZU+系列MPSoC的DDR接口的详细介绍,PCB设计相关可参考《UG583:UltraScale Architecture PCB Design User Guide》、官方开发板ZCU104、ZCU102、ZCU106等。

下面介绍一下小编自己设计的基于ZU+(XCZU3CG-SFVC784)的外挂8颗DDR4的设计,采用十层板,板厚1.6mm,最小线宽4mil。板子尺寸120*150mm,单12V电源输入,支持串口、I2CUSB、GbE、TF卡、CAN、PCIe等常用接口,预留PS侧和PL侧IO接口。

硬件框图如下图所示:

o4YBAF9uGo2ALNYHAAH3bOpq27U755.png

叠层设计如下图所示:

pIYBAF9uGpWAU06dAAXMsWaedgs753.png

整板DDR4部分布局如下图所示:

Allegro中的约束规则如下图所示:

pIYBAF9uGqmAM3DOAArps7ji6H8942.png

ACC信号线的约束规则如下图所示:

o4YBAF9uGrGAPSRiAAc0MtiFmCo015.png

DATA信号线的约束规则如下图所示:

o4YBAF9uGrWATsqaAAMNngffiko954.png

整板布线完成后的情况如下图所示:

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • pcb
    pcb
    +关注

    关注

    4220

    文章

    22469

    浏览量

    385740
  • DDR
    DDR
    +关注

    关注

    9

    文章

    677

    浏览量

    64238
  • DDR4
    +关注

    关注

    12

    文章

    292

    浏览量

    40291
  • ACC
    ACC
    +关注

    关注

    1

    文章

    54

    浏览量

    22584
  • Zynq
    +关注

    关注

    9

    文章

    600

    浏览量

    46619
收藏 人收藏

    评论

    相关推荐

    DDR4信号完整性测试要求

    DDR5已经开始商用,但是有的产品还才开始使用DDR4。本文分享一些DDR4的测试内容。DDR4 和前代的 DDR3 相比, 它的速度大幅提
    的头像 发表于 01-08 09:18 656次阅读
    <b class='flag-5'>DDR4</b>信号完整性测试要求

    DDR4DDR3内存都有哪些区别?

    DDR4DDR3内存都有哪些区别? 随着计算机的日益发展,内存也越来越重要。DDR3和DDR4是两种用于计算机内存的标准。随着DDR4内存
    的头像 发表于 10-30 09:22 5253次阅读

    DDR3和DDR4的技术特性对比

    摘要:本文将对DDR3和DDR4两种内存技术进行详细的比较,分析它们的技术特性、性能差异以及适用场景。通过对比这两种内存技术,为读者在购买和使用内存产品时提供参考依据。
    发表于 09-27 17:42 1300次阅读

    ddr4 3200和3600差别大吗

     DDR4 3200和3600是内存模块的频率标准,表示其频率值,具有以下差异
    发表于 09-26 15:24 1.1w次阅读

    DDR4DDR3的不同之处 DDR4设计与仿真案例

    相对于DDR3, DDR4首先在外表上就有一些变化,比如DDR4将内存下部设计为中间稍微突出,边缘变矮的形状,在中央的高点和两端的低点以平滑曲线过渡,这样的设计可以保证金手指和内存插槽有足够的接触面
    发表于 09-19 14:49 1802次阅读
    <b class='flag-5'>DDR4</b>与<b class='flag-5'>DDR</b>3的不同之处 <b class='flag-5'>DDR4</b>设计与仿真案例

    三星再次减产,刺激DDR4价格上涨

    三星公司计划在下半年再次削减DRAM制程的产能,而今年以来这一减产主要针对DDR4。业界普遍预期,三星的目标是在今年年底之前将库存水平降至合理水平。这一减产举措可能会导致DDR4市场价格上涨,而目前
    的头像 发表于 09-15 17:42 1026次阅读

    Teledyne e2v的宇航级DDR4的硬件设计指南

    电子发烧友网站提供《Teledyne e2v的宇航级DDR4的硬件设计指南.pdf》资料免费下载
    发表于 09-13 17:14 2次下载
    Teledyne e2v的宇航级<b class='flag-5'>DDR4</b>的硬件设计指南

    ddr4 3200和3600差别大吗 ddr4 3200和3600可以混用吗

    DDR4 3200和DDR4 3600是两种常见的内存频率规格,它们在性能上会有一定的差别,但差别大小取决于具体的应用场景和系统配置。
    发表于 08-22 14:45 3.2w次阅读

    请问PH1A100是否支持DDR3,DDR4

    PH1A100是否支持DDR3,DDR4
    发表于 08-11 06:47

    蜂鸟e203使用DDR4扩展报store访问异常是什么原因?

    使用DDR4作为外接存储单元时,蜂鸟e203的访问地址为0x40000000,但是经过vivado的Block design后使用DDR4,在板子上跑测试DDR4读写程序,报store访问异常
    发表于 08-11 06:17

    ddr5的主板可以用ddr4内存吗 几代CPU才能上DDR5

    DDR5的主板不支持使用DDR4内存。DDR5(第五代双倍数据率)和DDR4(第四代双倍数据率)是两种不同规格的内存技术,它们在电气特性和引脚布局上存在明显差异。因此,
    发表于 08-09 15:36 1.4w次阅读

    PI2DDR3212和PI3DDR4212在DDR3/DDR4中应用

    电子发烧友网站提供《PI2DDR3212和PI3DDR4212在DDR3/DDR4中应用.pdf》资料免费下载
    发表于 07-24 09:50 3次下载
    PI2<b class='flag-5'>DDR</b>3212和PI3<b class='flag-5'>DDR</b>4212在<b class='flag-5'>DDR</b>3/<b class='flag-5'>DDR4</b>中应用

    高速设计:用于DDR3/DDR4的xSignal

    DDR4
    Altium
    发布于 :2023年06月25日 17:49:32

    imx8mp_Plus_DDR4_RPA_v9.xlsx无法完成配置是怎么回事?

    我有一块自制的imx8mp主板,使用DDR4的型号是:K4ABG165WA-MCWE,单片容量32Gb,主频3200Mhz,我的主板使用了两芯片,但是使用MX
    发表于 05-17 06:12

    DDR4DDR5规格之间的差异

    DDR4内存模块支持单个64位通道(如果考虑ECC,则为72位通道)。相比之下,DDR5内存模块配备了两个独立的32位通道(40位ECC)。
    发表于 05-08 10:27 1517次阅读