很久以来就想写些高速方面的东西,但想了想,自己一家之言,难免观点片面,以偏概全,所以写成讨论贴的形式,让对高速设计都有经验的朋友都来参与讨论,把自己的见解都说出来,如此百花争鸣,就不会有失偏颇,而且无论是对我还是对各位网友都是一个难得的学习机会。# ]' X' f8 q. D* ~( X
以前我一直都认为不要太注重工具,应该把焦点放在所需要解决的问题上,再借助工具来找到解决问题的方法,但有不少网友却说得某些工具有多神奇,拥有后就万事无忧了,这对初学高速的朋友实在是误导,在必威APP精装版下载里我也见过自称用了某高档工具x年的网友最后发贴询问传输线阻抗的定义,也有自称精通某高档工具拿7xxx元高薪的网友答不出信号质量的基本要求,我只想说,如果是为了用某强大功能来达到省事,轻松的目的,那你不过在偷懒,当然这无可厚非,但我认为无论用什么工具都应该以更好的设计质量作为目标。; D1 \0 L4 M& }9 t( {
因为太多人都听过别人讲过cadence的allegro和specctraquest有多好,那么今天就以它作为剖析对象展开讨论,但不是讨论软件的使用方法,而是分析工具在设计过程中的方法和特点,来了解它在设计过程中控制了什么对设计质量有影响因素,这样我们就能对高速电路的设计要求有一个完整的了解,但参与讨论的网友需要了解一些信号完整性的基本定义,例如信号反射,过冲,非单调性,串扰,最好能了解它们在实际要求中的容限和标准. 在国外高速电路设计是需要保证整个方案的物理实现,所以高速方面的可行性分析是贯穿整个设计过程的,其中包括芯片的选用,前端原理图设计和验证,后端板级设计和验证;国内高速设计的概念刚起步,要求比国外低,重视的程度也低,大多数从事这一工作的朋友做的应该都是后端板级设计,好一点的就连前端原理图一起做;所以讨论从板级设计开始。现在不少工具用的设计流程都是: ok?
1 H8 i2 g2 d: l+ D" \placement--->pre layout simulation---->route all net--->post layout simulation! k4 f" I- h$ [/ f f0 J
布局 预布线仿真 | 完成走线 后布线仿真
3 p8 w6 K0 t' c: W7 C) \9 h. L | |no, u6 @* m4 V$ s, U7 |3 e
|<-____________________________| 在specctraquest中也是:布局,仿真,改变布局,再仿真,一直到仿真结果符合要求才开始布线。很明显,布局很重要,相对预前布线仿真来说,后布线仿真如果是在布线后发现问题的话,已经是迟了,那么最重要的是预布线仿真,预布线仿真决定了布局,布局里有什么样的因素,能影响整块板的性能?我们可以再回到刚才在specctraquest环境下的反复布局和仿真结果,不难发现,芯片离得越近,分析报告里违反过冲规则设置的就越少,芯片的距离决定了线长,这说明了过冲和长度有关。多层pcb上有完全平面层相邻的走线都可以看作是阻抗恒定并受控的传输线,微观上是由无数个微分电感串联和无数个微分电容对地并联,信号的上升沿可以分解为一个基波和一列频率各不相同的谐波,在流经这些电感和电容时由于频率不同,每个谐波的相位移动都不一样,振幅上有的地方加强有的地方减弱,结果就形成了信号上升到电平稳定之间这一段震荡,这就是过冲和振铃,线长度加长意味着串联电感和并联电容增加,过冲也会随之增强。
0 I/ W6 o. R+ }# x) B 过冲仅仅跟长度有关么?当我们有部分网络连接了多个芯片,而且这几个芯片由于某些限制只能在一个较小的区域里放置,这样我们可以发现改变芯片位置时,由于芯片基本上都很近了,网络连接长度基本上变化都不大,但仿真结果相差却很大,出现过完全合格,也出现过大部分负载在过冲上违反规则设置,这很能说明影响过冲噪声的不仅仅是长度,经过多次尝试,可以发现产生主要影响的是各个芯片的连接顺序,不同的连接顺序时负载产生的噪声和对相邻负载的影响都不尽相同,在我所举的这个例子里,最理想的是单线远端分叉的星形连接顺序,图形如下: /负载 (注:这只是我的例子里
6 y& ~0 o$ ?& S, Z / 的情况,如果是特殊
, T' X3 D* T& j) Z' P驱动引脚--------|----负载 的驱动器类型,例如
* r6 |" c0 Q/ ]7 [4 N1 P \ ECL的,就必须用菊花. {6 [ \4 Q) H( D$ ^, `
\负载 链式连接,不同情况* v$ ?2 o2 P* d8 w% M
要区别对待)' }5 Y; h5 e1 H1 I( O/ k7 ?
5 d& }6 `, u! q* _, a2 o2 T再有的一个因素就是电源,对于电源平面的分割我无法用工具来举出例子,但电源的影响要大于上述两点,甚至会决定整块板的成功与否。我所理解的影响电源的因素有两个,一个是电源内阻,一个是电源信号回流路径。电源内阻并非普通意义上所指的电阻,我们平时所见到的导体由于多用在低频的场合,所以一般只注意到其电阻效应,电感跟电阻差不多,在导体里有无数个微分电感串联和并联,导体面积增大时等于并联的微分电感增多,总电感量减少,当导体的长度增大时等于串联的微分电感增多,总电感量增加;在低频率时电感的效应不明显,频率逐渐增加时,电感对随频率变化的电流的阻碍作用也跟着增加,这样我们可以想象一下,在芯片急剧动作时,电源瞬间变化的电流差很大,那么在供电路径上的电感会呈现一个较大的阻抗,势必会耗费部分电压在这上面,这将意味着芯片将得不到足够的供电电压,信号的摆幅也会跟着跌低,这样信号摆幅就会受到电源的调制而有可能无法保证一个有效的脉冲方波,对电路的危害是自不必言的,其实这也就是高速电路里所说的地弹,为了尽量避免地弹,保证每个芯片的耗电引脚都有滤波电容,并尽量降低电源内阻,具体做法是电源平面尽量保持完整,达到电感最小,电源层和地层相邻放置,得到更大的对地电容,如此可以进一步降低电源内阻,抑制和屏蔽电源路径上的噪声。
& d2 f$ P4 J' e6 }) f7 C 对于信号回流路径,我想引用网友阿Ming在他的原创《高速PCB设计的叠层问题》里的叙述更为清楚:“如果我们将PCB的微带线作为一个传输线模型来看,那么地平面也可看作是传输线的一部分,这里可用‘回路’的概念来代替‘地’的概念,地铺铜层其实是信号线的回流通路。电源层和地层通过大量的去耦电容相连,在交流情况下,电源层和地层可以看成是等价的。在低频和在高频下的电流回路有什么不同呢?在低频下,电流是沿着电阻最小的路径流回,而在高频情况下,电流是沿着电感最小的路径流回的,也是阻抗最小的路径,表现为回路电流集中分布在信号走线的正下方。: H, Z& I3 Z& B. M4 E" `
高频下,当一条导线直接在接地层上布置时,即使存在更短的回路,回路电流也要直接从始发信号路径下的布线层流回信号源,这条路经具有最小阻抗,即电感最小和电容最大。这种靠大电容来耦合电场,靠小电感耦合抑制磁场来维持低电抗的方法称为自屏蔽。” 到此,我们总结出3个与布局相关的因素以及它们的相关影响,图示如下: |———布线长度——过冲
+ ]9 y. b9 d }( S/ }, m7 E8 f |
- h8 V6 z9 k3 A: H | |——过冲
% M$ m! T) d+ D& ]/ ~5 T布局----|———布线拓扑连接顺序---|
1 r% m V9 f/ `/ P | |——非单调性
- u0 H6 @& J6 _- g4 H |
- p, r! X: E! y. m+ J- ~: ` | |——地弹
$ `4 Y' g# X6 H$ i: T( Z' l( j2 B' N |———电源分割——|
0 [5 e7 N1 A) h. p9 r' a |——信号回流路径 高速板级设计中布局的一个基本框架就比较清晰了,但相关说明和叙述都不太具体,例如过冲不仅仅和线长有关,和芯片的长线驱动能力和噪声容限都密切相关,以及不同的拓扑连接的影响,这些更进一步的细化的讨论将留给网友们来完善和补充,欢迎大家都来参与。
4 j/ p% J" S2 _: }* Z. ^2 c |