Allegro学习笔记-差分线与等长线

 本文介绍Allegro中差分线与等长线的设置方法。

Xnet的设置

 实际的电路设计中,差分线与等长线之间往往串接一个电阻用于匹配,或者说用于调节信号强度而减弱振铃效应。而差分线或者等长线设置中,均只能针对同一网络进行设置。由于串联电阻之后,电阻两端的网络已经不再是同一个网络,而无法按照单一网络进行差分或者等长控制。
 Allegro中通过Xnet解决这一问题。Xnet即为拓展网络(Extended net):连续的由被动元件连接的net组与被动元件共同构成Xnet,其中被动原件通常为电阻。这里给出Allegro官方的定义:

An Xnet is a connection between drivers and receivers. An Xnet includes all the drivers and receivers connected to each other plus any discrete components that are connected to the Xnet. Xnets pass through devices such as resistors and capacitors as shown in the following figure.




 接上一篇文章中基本的原理图与PCB规则设置所述,这里举例将DAC串接电阻的输出网络设置为Xnet。具体步骤如下。



 打开Allegro,明确需要设置的Xnet,这里将R1以及两端网络设置为Xnet。


 选择菜单栏Analyze-Model Assignment,打开SI Design Audit,选择OK忽略现有的Audit Errors。




 选择R1,点击Create Model。



 选择Create ESpiceDevice model,点击OK。



 在Create ESpiceDevice Model设置中,Single Pins中每两个pin连接的网络与元件本身构成一个Xnet。如果器件为排阻等按照两两对应设置Xnet。确认无误后点击OK。



 之后弹出Signal Model Assigment Changes提示框。



 至此,R1连接的Xnet设置完毕。同理设置R2相关网络。可以打开Constraint Manager查看已经设置好的Xnet。


差分线的设置

差分线的定义

 维基百科中关于差分线的定义如下:

差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在这两根线上的传输的信号就是差分信号。信号接收端比较这两个电压的差值来判断发送端发送的是逻辑0还是逻辑1。在电路板上,差分走线必须是等长、等宽、紧密靠近、且在同一层面的两根线。

差分线对的设置

 打开Constraint Manager,选择Physical-Net-All Layers;选中需要设置为差分线对的2个网络,这里选择VOUTA与VOUTB网络。




 右键,选择Create-Differential Pair,此时可以编辑差分线对名字,之后点击Create即可。至此,差分线对设置完毕。


差分线的规则设置

 打开Constraint Manager,选择Electrical Constraint Set-Routing-Differential Pair;选择Objects-Create-Electrical CSet,输入规则约束名字DIFF,点击OK确认。可以看到所有的规则设置项如下所示。



Coupling Parameters

 在Allegro中,最基本的差分线设置为Coupling Parameters设置,示意图如下。



 其中Primary设置为典型情况下差分线的线宽与线距设置,Neck设置为布局受限情况下差分线的线宽与线距设置。具体设置参数需要按照阻抗规则、PCB加工能力等具体分析。

Uncoupled Length

 Uncoupled Length用于约束差分线的不匹配长度,例如差分线引线处可能存在不耦合的情况。可以通过使能Gather Control,设置Max值设置不耦合长度的最大允许值。



Static Phase

 Cadence官方论坛中对Static Phase Tolerance做出的解释如下:

a one time check from Driver to Receiver comparing lengths or delay of each member. If a Driver cannot be determined, the check is performed across the longest path of the pair.

 即Static Phase为静态相位检查,一次性检测整个差分线对的长度或者延时误差,是对差分线对的整体误差控制。

Dynamic Phase

 Cadence官方论坛中对Dynamic Phase Tolerance做出的解释如下:

Etch length of each member is compared at each bend point interval across the Driver-Receiver path of the Diff Pair. Etch length is always measured back to the Driver pins.

 即Dynamic Phase为动态相位检查,将对差分线对的每一个转角处进行误差检查,控制每一个转角处相对于驱动端的长度或者延时误差。

 Cadence官方论坛中对Dynamic Phase Max Length做出的解释如下:

When specified, the Diff Pair is permitted to exceed the phase tolerance constraint for a contiguous etch length of less than or equal to the value of Max Length specified. If no compensation is made within this specified distance, a DRC will be reported at the point where the Diff Pair first goes out of phase.

 Dynamic Phase Max Length的具体意义为:在Dynamic Phase Max Length范围以内,差分线的误差可以超过Tolerance。但如果在Dynamic Phase Max Length规定的长度内仍然未能将误差补偿,则给出一个DRC错误。
 Dynamic Phase的应用举例来说。



 设定Tolerance为x mil,Dynamic Phase Max Length为y mil。则Dynamic Phase的功能在于保证整个差分对网络的误差不会超过x mil。如果在网络的某个点差分对的误差超过了x mil,则超过的部分必须在y mil以内补偿回来。
 补偿的形式可以通过蛇形线或者拐角进行实现。

等长线的设置

等长线的定义

 等长线的意义在于保证等长线组的长度或者延时误差在允许范围以内。例如在DDR布线过程中,需要保证数据线的等长以确保数据传输的准确性。

等长线的设置

 打开Constraint Manager,选择Electrical-Net-Routing;选择需要设置等长的网路,这里举例选择SPI的SCLK、DIN、SYNC网络(事实上SPI信号通常在50MHz以内,对等长的要求并不严格)。选中网络后,与设置差分线一样,右键选择Create-Match Group,命名为SPI即可。

Allegro的设置

 在进行等长线设置之前,需要打开Allegro的相关设置。按照图打开如下2处设置,使得Allegro动态显示走线的长度以及差分线的误差。





等长规则的设置

 设置Pin Pairs为Longest Pin Pairs,表示以最长的一条线为标准进行比对;设置Relative Delay为-40mil;40mil,代表误差在±40mil之间。此时,等长线组的走线长度木匾设置为Longest Pin Pair - 40mil,在此基础上误差为±40即为满足要求。
 按以上要求设置完毕后,选择等长线组,右键选择Analyse即可对等长线组进行分析,例如此时的分析结果如下:



 此时DIN为最长线,长度为755mil,可知此时的目标线长为755-40=715mil。目标线长减去40mil则为允许的最短线长,为675mil。对于SCLK,Margin为675-621=54mil,已经不满足要求;而SYNC的Margin为686-675=11,满足要求。因此SCLK需要调整。

等长线的调整

 等长线的调整可以通过Delay Tune实现,注意options选项中要设置Gap为3倍线宽,同时使用弧形线。经过绕线可以调整等长线到相近长度,此时Margin充足,满足要求。😄





文章目录
  1. 1. Xnet的设置
  2. 2. 差分线的设置
    1. 2.1. 差分线的定义
    2. 2.2. 差分线对的设置
    3. 2.3. 差分线的规则设置
      1. 2.3.1. Coupling Parameters
      2. 2.3.2. Uncoupled Length
      3. 2.3.3. Static Phase
      4. 2.3.4. Dynamic Phase
  3. 3. 等长线的设置
    1. 3.1. 等长线的定义
    2. 3.2. 等长线的设置
    3. 3.3. Allegro的设置
    4. 3.4. 等长规则的设置
    5. 3.5. 等长线的调整
|