TA的每日心情 | 开心 2020-8-28 15:14 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
信号完整性(Signal Integrity, SI)是指信号在信号线上的质量,即信号在电路中以正确的时序和电压作出响应的能力。如果电路中信号能够以要求的时序、持续时间和电压幅度到达接收器,则可确定该电路具有较好的信号完整性。反之,当信号不能正常响应时,就出现了信号完整性问题。2 t3 r) W7 K+ |9 x
# p' t: C( d. O
随着高速器件的使用和高速数字系统设计越来越多,系统数据率、时钟速率和电路密集度都在不断地增加。在这种设计中,系统快斜率瞬变和工作频率很高,电缆、互连、印制板(PCB)和硅片将表现出与低速设计截然不同的行为,即出现信号完整性问题。信号完整性问题能导致或者直接带来诸如信号失真,定时错误,不正确的数据,地址、控制线和系统误差等,甚至使系统崩溃,这已成为高速产品设计中非常值得注意的问题。本文首先介绍了PCB信号完整性的问题,其次阐述了PCB信号完整性的步骤,最后介绍了如何确保PCB设计信号完整性的方法。
* Q$ ^9 I7 @4 i3 @+ ~ Q% ~, z
PCB信号完整性的问题包括
4 V6 _& y( B* w- h- F- B/ N PCB的信号完整性问题主要包括信号反射、串扰、信号延迟和时序错误。
1 N8 K c( N8 C; j( } k8 _; B4 k0 G+ T8 A9 n7 P
1、反射:信号在传输线上传输时,当高速PCB上传输线的特征阻抗与信号的源端阻抗 或负载阻抗不匹配时,信号会发生反射,使信号波形出现过冲、下冲和由此导致的振铃现象。过冲(Overshoot)是指信号跳变的第一个峰值(或谷值),它是在电源电平之上或参考地电平之下的额外电压效应;下冲(Undershoot)是指信号跳变的下一 个谷值(或峰值)。过大的过冲电压经常长期性地冲击会造成器件的损坏,下冲会降低噪声容限,振铃增加了信号稳定所需要的时间,从而影响到系统时序。
! t: q! Y; d: P, L1 c x8 s8 u. @$ \. p2 g& B0 C0 q8 q: T( E
2、 串扰:在PCB中,串扰是指当信号在传输线上传播时,因电磁能量通过互容和互感耦合对相邻的传输线产生的不期望的噪声干扰,它是由不同结构引起的电磁场在同一区域里的相互作用而产生的。互容引发耦合电流,称为容性串扰;而互感引发耦合电压,称为感性串扰。在PCB上,串扰与走线长度、信号线间距,以及参考地平面的状况等有关。
: d* [& L0 R( g! _0 O3 b& A$ M9 e" W& r) p
3、信号延迟和时序错误:信号在PCB的导线上以有限的速度传输,信号从驱动端发出到达接收端,其间存在一个传输延迟。过多的信号延迟或者信号延迟不匹配可能导致时序错误和逻辑器件功能混乱。7 u$ d* f& ~1 d! `0 ^0 Q- x
1 {0 `" n; t M/ g2 I) S 基于信号完整性分析的高速数字系统设计分析不仅能够有效地提高产品的性能,而且可以缩短产品开发周期,降低开发成本。在数字系统向高速、高密度方向发展的情况下,掌握这一设计利器己十分迫切和必要。在信号完整性分析的模型及计算分析算法的不断完善和提高上,利用信号完整性进行计算机设计与分析的数字系统设计方法将会得到很广泛、很全面的应用。
$ N1 Q" h* I" U# R' f8 l
+ t l& C9 T. v6 F7 ~+ ? PCB信号完整性有哪几步_如何确保PCB设计信号完整性( p( K, k; ]% l
, s; w: X. e, H$ n6 _
PCB信号完整性的步骤! t0 ] D, K) g7 k9 Q) o( Q9 w
1、设计前的准备工作/ U. [/ R a7 P R; y
# c7 f! @3 G: f n4 c: Q
在设计开始之前,必须先行思考并确定设计策略,这样才能指导诸如元器件的选择、工艺选择和电路板生产成本控制等工作。就SI而言,要预先进行调研以形成规划或者设计准则,从而确保设计结果不出现明显的SI问题、串扰或者时序问题。(微信:EDA设计智汇馆)0 ^$ i& P- k2 C
" s9 N, v$ \6 u. n/ z. X: W7 I
2、电路板的层叠
" t! C& N% f4 o) Z3 J% Q) q
( M3 a8 Q$ r/ S n 某些项目组对PCB层数的确定有很大的自主权,而另外一些项目组却没有这种自主权,因此,了解你所处的位置很重要。
4 T- I5 K. \& q$ l& ]$ {+ [6 ^( { P; \1 g( m3 ~% U+ M# j. Y
其它的重要问题包括:预期的制造公差是多少?在电路板上预期的绝缘常数是多少?线宽和间距的允许误差是多少?接地层和信号层的厚度和间距的允许误差是多少?所有这些信息可以在预布线阶段使用。0 O# ]7 x. y% r4 b0 m! M: a
3 g' R% F4 d/ V+ H& @6 h 根据上述数据,你就可以选择层叠了。注意,几乎每一个插入其它电路板或者背板的PCB都有厚度要求,而且多数电路板制造商对其可制造的不同类型的层有固定的厚度要求,这将会极大地约束最终层叠的数目。你可能很想与制造商紧密合作来定义层叠的数目。应该采用阻抗控制工具为不同层生成目标阻抗范围,务必要考虑到制造商提供的制造允许误差和邻近布线的影响。; |$ e4 l# B6 N, R% T* C; V
. ?9 w, J- o3 E* I/ j
在信号完整的理想情况下,所有高速节点应该布线在阻抗控制内层(例如带状线)。要使SI最佳并保持电路板去耦,就应该尽可能将接地层/电源层成对布放。如果只能有一对接地层/电源层,你就只有将就了。如果根本就没有电源层,根据定义你可能会遇到SI问题。你还可能遇到这样的情况,即在未定义信号的返回通路之前很难仿真或者仿真电路板的性能。
' s* d3 t/ [ D" ~* ^3 g. M( G! Y! S7 P* C5 Z2 q( J$ A
3、串扰和阻抗控制, S' X7 ]7 r, b; @' P$ i
: @% \- W) i3 h2 g7 b" J 来自邻近信号线的耦合将导致串扰并改变信号线的阻抗。相邻平行信号线的耦合分析可能决定信号线之间或者各类信号线之间的“安全”或预期间距(或者平行布线长度)。比如,欲将时钟到数据信号节点的串扰限制在100mV以内,却要信号走线保持平行,你就可以通过计算或仿真,找到在任何给定布线层上信号之间的最小允许间距。同时,如果设计中包含阻抗重要的节点(或者是时钟或者专用高速内存架构),你就必须将布线放置在一层(或若干层)上以得到想要的阻抗。(微信:EDA设计智汇馆)
4 R0 F* _0 C9 `: u/ @6 N. g* ~6 R
+ W6 V7 s. l- R9 d6 W% w+ V 4、重要的高速节点
, _6 l5 x) i5 |: k; k8 _
|8 p$ q9 V% h5 J% R4 ~ 延迟和时滞是时钟布线必须考虑的关键因素。因为时序要求严格,这种节点通常必须采用端接器件才能达到最佳SI质量。要预先确定这些节点,同时将调节元器件放置和布线所需要的时间加以计划,以便调整信号完整性设计的指针。; L/ V" z" ?( _. l6 k
; B, M; b- z, G# J
% W- N! o$ f3 F: `8 y 5、技术选择- J1 i! g2 B ^ v- c( M; }
5 @# _6 b8 a: N) v; W5 a( z 不同的驱动技术适于不同的任务。信号是点对点的还是一点对多抽头的?信号是从电路板输出还是留在相同的电路板上?允许的时滞和噪声裕量是多少?作为信号完整性设计的通用准则,转换速度越慢,信号完整性越好。50MHZ时钟采用500PS上升时间是没有理由的。一个2-3NS的摆率控制器件速度要足够快,才能保证SI的品质,并有助于解决象输出同步交换(SSO)和电磁兼容(EMC)等问题。(微信:EDA设计智汇馆)5 g+ g8 F4 ^2 H u& O
4 Q& J3 t; h' _/ k. D$ h 在新型FPGA可编程技术或者用户定义ASIC中,可以找到驱动技术的优越性。采用这些定制(或者半定制)器件,你就有很大的余地选定驱动幅度和速度。设计初期,要满足FPGA(或ASIC)设计时间的要求并确定恰当的输出选择,如果可能的话,还要包括引脚选择。- S# a8 l2 V$ `% c2 n2 Q6 |& {
! e) K8 v0 g" ] 在这个设计阶段,要从IC供货商那里获得合适的仿真模型。为了有效的覆盖SI仿真,你将需要一个SI仿真程序和相应的仿真模型(可能是IBIS模型)。
( }; d% i1 B7 p! e2 z: A }, u# Q! e3 i( T3 x8 s
最后,在预布线和布线阶段你应该建立一系列设计指南,它们包括:目标层阻抗、布线间距、倾向采用的器件工艺、重要节点拓扑和端接规划。- Q' i3 |' e$ W8 F
+ G$ l7 p9 p3 w; m$ m" W( r 6、预布线阶段4 n* e) `) p+ S) L
# r5 Y' t9 e& _4 K+ J F7 Q8 j 预布线SI规划的基本过程是首先定义输入参数范围(驱动幅度、阻抗、跟踪速度)和可能的拓扑范围(最小/最大长度、短线长度等),然后运行每一个可能的仿真组合,分析时序和SI仿真结果,最后找到可以接受的数值范围。
8 }; I: h4 ]$ A" v2 |7 J) s5 q* |$ V9 V. _6 G; }
接着,将工作范围解释为PCB布线的布线约束条件。可以采用不同软件工具执行这种类型的“清扫”准备工作,布线程序能够自动处理这类布线约束条件。对多数用户而言,时序信息实际上比SI结果更为重要,互连仿真的结果可以改变布线,从而调整信号通路的时序。
$ l+ M" k$ }+ [: }2 p# H+ o) k
; \- S$ | e; Q5 `" r 在其它应用中,这个过程可以用来确定与系统时序指针不兼容的引脚或者器件的布局。此时,有可能完全确定需要手工布线的节点或者不需要端接的节点。对于可编程器件和ASIC来说,此时还可以调整输出驱动的选择,以便改进SI设计或避免采用离散端接器件。
, U, i* n5 p+ d+ }0 C4 Y
/ z1 _1 M' c2 l3 b2 B! {, ?. [9 j0 E 7、布线后SI仿真
4 ?# ]0 w0 c; \% C/ s' d3 p' N+ u. E3 E# ]# k
一般来说,SI设计指导规则很难保证实际布线完成之后不出现SI或时序问题。即使设计是在指南的引导下进行,除非你能够持续自动检查设计,否则,根本无法保证设计完全遵守准则,因而难免出现问题。布线后SI仿真检查将允许有计划地打破(或者改变)设计规则,但是这只是出于成本考虑或者严格的布线要求下所做的必要工作。(微信:EDA设计智汇馆)# [9 m' w2 H4 D
8 B2 p# D* E; `$ m, n0 ` 8、后制造阶段2 c5 s. |3 y& ]! h6 f' G
' a' Q$ \* L2 I' s+ G
采取上述措施可以确保电路板的SI设计品质,在电路板装配完成之后,仍然有必要将电路板放在测试平台上,利用示波器或者TDR(时域反射计)测量,将真实电路板和仿真预期结果进行比较。这些测量数据可以帮助你改进模型和制造参数,以便你在下一次预设计调研工作中做出更佳的(更少的约束条件)决策。
* U Y4 y. F6 p! E- G
- O8 ^- H5 f9 k6 q1 |: l5 k 9、模型的选择
: t! _2 ]8 k+ z) S9 [
" h" Y) `) M9 M5 V+ S 关于模型选择的文章很多,进行静态时序验证的工程师们可能已经注意到,尽管从器件数据表可以获得所有的数据,要建立一个模型仍然很困难。SI仿真模型正好相反,模型的建立容易,但是模型数据却很难获得。本质上,SI模型数据唯一的可靠来源是IC供货商,他们必须与设计工程师保持默契的配合。IBIS模型标准提供了一致的数据载体,但是IBIS模型的建立及其品质的保证却成本高昂,IC供货商对此投资仍然需要市场需求的推动作用,而电路板制造商可能是唯一的需方市场。, O! t5 h* d: G: F* f" f$ s S
: }% |" K8 \! y$ `# y6 f7 j3 |
9 Y m4 s* o4 T 确保信号完整性的PCB设计方法
' M9 T0 g( L# Y2 T; b$ s 通过总结影响信号完整性的因素,在PCB设计过程较好地确保信号完整性,可以从以下几个方面来考虑。3 ~* N+ Z+ t) F; b
$ V1 ~; x5 p9 i (1)电路设计上的考虑。包括控制同步切换输出数量,控制各单元的最大边沿速率(dI/dt和dV/dt),从而得到最低且可接受的边沿速率;为高输出功能块(如时钟驱动器)选择差分信号;在传输线上端接无源元件(如电阻、电容等),以实现传输线与负载间的阻抗匹配。 d, O0 {$ O& J
$ H9 j2 A: f! Z' {- j1 _& X5 V
(2)最小化平行布线的走线长度。
; b) B1 Q+ T2 A0 k( N& V) B" \! t+ E) @/ e
(3)元件摆放要远离I/O互连接口和其他易受干扰及耦合影响的区域,尽量减小元件间的摆放间隔。
2 V+ d+ {7 f; H* s
1 O7 w4 n: E7 ?/ S! V& T- L (4)缩短信号走线到参考平面的距离间隔。
" t) C9 f* E% y0 M: h6 B
7 ?4 V! C) D3 d( _6 N (5)降低走线阻抗和信号驱动电平。( J4 t& [% j: B( o, X- P/ F3 w1 Q3 s* s
: Z3 {" s/ ~% o3 E; _; ?
(6)终端匹配。可增加终端匹配电路或者匹配元件。/ c6 e* W- X& D( A z! E
4 j3 c0 K: M( R& K" V1 t (7)避免相互平行的走线布线,为走线间提供足够的走线间隔,减小电感耦合。2 d3 K$ @1 g9 {: | e6 R) e, B& P
2 d' @4 ~/ x" ^# T6 O/ Q! G! M8 m
|
|