EDA/IC设计
说到DDR,相信很多小伙伴在上学的时候都没有接触过。作者也一样,大学的时候学习过单片机,学习过DSP,但是没有接触过DDR。刚开始接触信号完整性仿真时,是从DDR仿真开始的,可是对DDR完全不了解,怎么办,很多基础知识只能求助于书本和网络了。本文适合刚接触DDR仿真的网友学习,资深高手就请绕道了,当然,也欢迎资深大神前来指导,或许您漫不经心的一句评论,就能一语点醒梦中人,让菜鸟们少走很多弯路。
最近做的几个DDR的仿真专案,都是板载颗粒。大多数都是一个主控芯片拖动一个,两个,四个DDR颗粒。有单通道的,也有双通道的。仿真时,考虑到仿真的准确性,必须把DDR总线上的每一类总线都仿真到。可是,当看到主控芯片到DDR有这么多连线,顿时感觉到工作量太大,找不到头绪,不知道网友们有没有这个感觉。
首先,让我们对DDR有一个初步的了解。DDR全称是Double Date Rate SDRAM,对,就是双倍数据率存储器。顾名思义,它的数据处理速率是普通动态存储器的两倍。与之对应的也有单倍数据率的了,这里就不去详细介绍。DDR到底长什么样?先从封装上来了解它,找来一个主流DDR3颗粒厂商的Datesheet,发现常用的封装有78球的,也有96球的。作者认为,了解DDR的封装是很有必要的,你必须清楚的知道一个DDR颗粒上有多少根线,才能在布线或仿真中做到心中有数,不至于遗漏重要信息。
如下图1,图2,是某DDR封装示意图
这些信号中,我们仿真需要特别关注的信号有四类,分别是:时钟,地址/命令,控制,数据。因为这四类信号的传输速率比较高,其他的大都是电源接口了。来捋一下,对于78球或者96球的封装,信号对应关系如下表:
上表中列举的信号仅仅是一个DDR颗粒上的信号,在实际应用中,往往是一个主控拖动2,4,8甚至16个颗粒。所以,这四组信号每一组究竟有多少根,这个需要具体项目具体分析。
对于Layout人员来说,对于DDR这一块,可能主要关注的是信号线之间的等长。下面我们也来复习一下,DDR各组信号需要满足的时序关系:地址/命令,控制和时钟之间等长;DQ与之对应的DQS组内等长;DQS与CLK之间有一个相对宽松的等长关系。
那么,为什么等长要这么来做?很多人都知道是为了保证各组信号之间有正常的时序,这种说法是安全的,当然也是很模糊的,关注高速先生的小伙伴可能知道的更详细一些,这些知识在时序分析系列文章中有讲解,这里作者见到的一个比较通俗的说法就是:地址/命令,控制信号是由时钟信号来锁存的,所以它们之间应该保持等长关系;数据信号是由DQS来锁存的,所以DQ与DQS信号之间应该保持等长关系。
说到这里,初次学习DDR网友们可能对DDR有了一个简单的认识。我们知道,主控芯片到颗粒,以及颗粒到颗粒之间的连接方式是可以选择的,有星形拓扑,T型拓扑,菊花链,Fly-b等结构。难道说遵照设计手册绕完等长,或者说按照以前成功的案例布线完毕,我们的设计就没有问题了吗?我们仿真DDR究竟是仿真什么?这几种拓扑结构布线的关键点是什么?下期我们将用几个案例说明一下,同样的拓扑结构使用不同的厂家的芯片,或者说同一个芯片使用不同的驱动模式将会对信号质量产生什么影响,我们还将分析同一种布局,采用不同的拓扑结构对信号带来的影响。持续关注这一系列文章,这些疑问,你会豁然开朗的。
全部0条评论
快来发表一下你的评论吧 !