Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1028628
  • 博文数量: 159
  • 博客积分: 4079
  • 博客等级: 上校
  • 技术积分: 2373
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-24 13:35
个人简介

诚实守信!

文章分类

全部博文(159)

文章存档

2015年(2)

2014年(18)

2013年(9)

2012年(57)

2011年(31)

2009年(42)

分类: IT业界

2011-12-03 14:56:50

 

对于简单等长在以前文档中都有涉及这里不再复述了,下面内容将给大家介绍一下有关Xnet等长的设置问题, 如现在主板DDR, IDE 等部分设等长问题.
注意: 以下设置方法不是公板方式,是我自己摸索的设置方法,所以大家不必效仿,仅供参考!如果大家有任何其它或简单方法也请分享一下经验!

在这之前首先介绍一下一个新个概念Xnet,见下图:

我们把连续的几段由无源元件(如电阻,电容或电感)连接的net合称为一段Xnet.
大家知道Allegro中有两个常用的走线长度设置,PROPAGATION_DELAY, RELATIVE_ PROPAGATION_DELAY 都只能针对同一Net设置,
下面是一个具体案例:

现在要求U1 到U2 的走线Net*A + Net*B等长, 误差为+/-20Mil,最简单的方式就是分别设置Net*A等长和Net*B等长,误差各为+/-10Mil, 这样是可以达到要求,不过会加大Layout工程师绕线的难度,因为可能Net*A部分空间比较大有足够的绕线空间,而Net*B部分没有空间绕线,所以就比较难达到要求.
如果一种设置能把Net*A与Net*B相加,然后再做等长比对,这样就可以解决问题了, 好的就是Allegro都早为这些问题考虑过了,只要把Net*A 与Net*B设置为一个Xnet问题就解决一半了.
下面内容将详细介绍怎样设置Xnet与Xnet等长.

第一部分: Xnet设置
(下面步骤可能有些简单,不过能达到效果)
0, 需要Allegro Export版本或SPECCTRAQuest中设置, 还好大家有Cracked License天下无敌,什么版本都有J
1, 开启Allegro Export或SPECCTRAQuest(以下省略,用Allegro简称这两个), Open需要设置Xnet的板子.
2, 点击菜单 Analyze>SI/EMI Sim>Model…(比正常方式设置Model简单了些)出来的建议定义DC net直接Yes 即可,然后出现下面的Model设置窗体:

3, 直接在DevType Value/Refdes 中选择要设定Model 的器件或直接在板子上点选要设置Model的器件;
4, 点选Create Model,建立该零件的Model,(如果已经有该零件的Model,并在前面定义,然后Find Model即可,这里主要介绍没有的情况)

在出现对话框中选择Create ESpiceDevice model,点击OK
5, 出现下面窗体:

ModelName: 输入产生Model的名字
Circuit type: 选择Type, 电阻,电感或电容
Value: 值
Single Pin: 各Pin的连接顺序, 中间为空格,
这里要注意要看零件的pin的排列,1 2 3 4 5 6 7 8,就是: 1 和2 是一个电阻,其它同理所以如果就是普通电阻电容那就更简单了.

Common Pin: 这里不用管它,空着就可以.
上面都输入好了就点击OK,完成Model的建立.
点击OK退出就可以发现连接该排阻的两边的Net 都有了个Xnet属性,如下图:

这样就可以搞定Xnet,很简单吧!
下面就开始等长设置吧!

第二部分 针对Xnet部分的等长设置
设置好了Xnet后就可以在Allegro中设置该Xnet的等长了,有两种方法可以设置Xnet的等长.
第一种, 使用Edit>Properties定义
注意必须使用Pin Pair 才能定义Xnet等长
RELATIVE_ PROPAGATION_DELAY= GroupX : G : U1.5 : U2.4 : 0 : 20
在没有定义Xnet之前这样定义时会提示错误的
其它的和前面的等长设置方法都一样.

如果大家觉得这样设置有些麻烦的话,还有一招可以使用,见下面:
第二种, Constraint Manager 设置
1, 开启Constraint Manager, 点选菜单Setup>Electrical Constraint Spreadsheet或直接点击工具栏
出现Constraint Manager 窗体:

对于Constraint Manager 的一般使用方法这里不再做详细介绍, 如果用户对这部分不熟悉
可以参考其它有关Constraint Manager 使用进行学习.
2, 因为我们目的是要设置等长, 所以我们用Relative Propagation Delay这属性, 从左边控制栏中选择Net>Routing>Relative Propagation Delay,
3, 在右边就会显示整块板子所有的Net或Xnet,

4, 建立需要等长的Pin Pair, 右键点击需要建立Pin Pair 的Xnet

选择起始Pin和结束Pin,

注意:
1, 这里没有先后顺序.
2, 如果Pin Pair 的两个Pin Type全是Passive的话不能Creat, 所以这里还需要定义一下Pin的形态, 如:Out put, In put, Bidirectional等

下面是介绍如何在Allegro中定义Pin type。
如何在Allegro中定义Pin Type?
1, 点击菜单Edit>Properties…
2, 在Find栏位中仅勾选Pin
3, 直接在PCB中选中需要修改Pin Type的Pin
4, 出现下面窗体:

选择Pinuse,在右边定义为BI即可
5, Ok完成Pin Type定义
这样就可以Create Xnet的Pin Pair 了。

点击Apply或OK 就完成Pin Pair 设置.

5, 设置等长Group
当Xnet Pin Pair 建立完成后其它设置就和普通Pin Pair 设置等长是一样的.

使用Ctrl键复选所有需要设置等长的Pin Pair, 右键Create>Match Group

输入Group名字;

注意: Scope选择Global

阅读(3050) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~