快点PCB客户端
Iphone下载
Android下载
主题 : 高速PCB设计的时序应对问题
级别: 秀才
UID: 558 打招呼
积分:50 加为好友
威望: 10 精华: 0
主题:10 回复:0
注册时间:2016-10-26
在线时长:0
1#   发表于:2017-01-19 16:35:03  IP:59.180.*.*
对于广大PCB设计工程师而言,提到时序问题就感觉比较茫然。看到时序图,更是一头雾水,感觉时序问题特别深奥。其实在平常的设计中最常见的是各种等长关系,网上流传的Layout Guide也介绍了哪些线需要等长。那么是不是做到等长,就满足时序关系了呢?其实不一定,认真思考一下,在有些情况下,费尽心思做的等长反而可能是系统不工作、时序问题出错的罪魁祸首。
  在具体介绍之前,大家可以思考一个问题:请列举平常设计中的常见等长要求?
  1. 一般具有共性的回答是:PCI总线、CPCI总线和PCIX数据地址总线做到1000mil等长;有些回答甚至是500mil或是更小。
  2. 对于SDRAM数据地址总线,这时有两种回答:
  全部总线等长,等长要求在200mil以内(数值的回答并不关键。随着频率等因素数值也经常变化,以下的讨论相同。我们不关心具体要求是在多长以内,而是等长的类型)。
  分组等长,D0~D7……,如果再问分组和什么选通(Strobe)做等长,答案更是千奇百怪(这个答案是被DDR影响了新的工程师已经很少有机会接触SDRAM了)。
  3. DDR1、2、3:
  数据线分组等长,DQ0~7+DQS数据组内20mil等长。
  地址、控制、命令和CLK等长,范围稍微宽一些(±500mil左右)。
  所有DQS和CLK等长,甚至使DDR3。做了Fly-by设计之后,继续要求等长关系。
  4. PCIE差分组内等长在5mil以内;
  5. PCIE差分组间等长在100mil(或者500mil)以内。
  上面这些等长关系在工作中应该都有可能碰到,你是不是也是这么做的?有没有更深入思考过,哪些等长关系是不合理的?可以这么说,绝大部分等长设计都有相对应的时序关系;如果能够看懂相关的时序图,对等长设计将会更加清晰。上面列举等长要求的时候,其实做了分类。相对于高速总线的发展历史,其实就是三个大类:共同时钟的并行总线、源同步时钟的并行总线以及高速串行总线(如图1所示)。

接下来讨论绿色部分,也就是共同时钟的并行总线时序设计。或许有人会说,这都是过时的设计,并且200M以内的信号没有必要讨论,随便设计就好。其实,现在很多系统还会采用CPCI的构架,PCIX总线还在通信、工控等行业中大量采用。并且,共同时钟系统达到133M以上,时序设计非常困难。可以说如果没有真正理解时序设计的原理,你可能设计一个5G的PCIE2.0系统没有什么问题,而设计一个166M的PCIX系统,则会出现做一个失败一个的情况。系统完全无法运行在预期的频率上,而不得不降频使用。当然,这里面有两个原因:其一是每一代总线发展到瓶颈之后才会进入下一代总线。在各自的瓶颈上,时序裕量非常小,设计极为困难。其二,由于技术的发展,大家更多的关注DDR3,关注高速串行总线,共同时钟系统的研究越来越少,相应的总结文章也不常见。这就带来很多设计问题,也就是上面的回答里面SDRAM分组等长设计错误的原因。
  首先,我们如何判断一个系统是共同时钟?方法很简单,找时钟树。确定时钟的关系是判断各种时序系统的关键。共同时钟系统一般有一个外部的晶振或者晶体,然后通过时钟分配器分别连接到系统的驱动端和接收端,由这个外部时钟线来控制系统的时序工作方式(如图2所示)。

      第一个时钟边沿在驱动端发送数据,第二个时钟边沿在接收端接收数据,为了保证数据的稳定可靠传输,需要满足一定的建立保持时间裕量。共同时钟的时序关系公式为:

     从公式可以直接得出结论,共同时钟的时序等长关系是一个范围,而不是等长。又因为飞行时间的最小时序要求一般都可以满足,也就是第二个公式在很多场合可以忽略不计,这样,PCB设计就只是需要符合第一个公式,结论就是走线越短越好。任何因为并不存在时序要求而做的整个总线绕等长而导致总线布线度增加和串扰增加的设计是错误的,失败的例子也非常多。
1 共1页
top