找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 7808|回复: 77
打印 上一主题 下一主题

阿毛调侃(13)---【原创】史上最强悍Allegro差分线匹配工具与开发往事

  [复制链接]

139

主题

460

帖子

4605

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
4605
跳转到指定楼层
1#
发表于 2015-6-30 10:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 amao 于 2015-6-30 11:52 编辑 ) r* _7 j  `! x: k) Z+ o# N9 r5 `. d6 r
& f! a) _8 z6 B' }% f- ^9 ?
【原创】史上最强悍Allegro差分线匹配工具与开发往事
6 @, V8 h6 A& ]毛忠宇 201506, k5 i! x8 X7 E, ]- L6 K, c

; J4 I  X5 M; I; Q4 X
差分对提取工具开发往事

       上篇《我与PADS的那点事》文章发表后,收到不少网友索取所写小工具的免费授权文件,程序能被大家接受,不免有“那么一点点”的成就感。

       在Allegro Constraint Manager菜单没有出现前,那时把网络设置成差分线需要手工逐对添加Property属性来实现。那时我还在H公司,用刚学点皮毛的PERL编程写了个差分线的自动提取工具,这个程序在部门得到推广及广泛使用(现在H公司还有不少人在使用)。

我写的程序使用了很久一段时间后,Allegro在后来的版本才出现类似的功能,它提出了Constraint Manage的概念,差分线等各种网络的规则通过类EXCEL界面管理,如下图1。这样使规则管理起来更直观及更简单,其它EDA厂商的软件后来也跟着出现了类似的管理界面。

, \( H1 ^4 w0 N9 ?- T! U8 a  ]
图1  A软件的Constraint Manager界面

EDA软件A*差分对自动匹配存在的问题

当年在H公司由于原理图与PCB LAYOUT软件平台的原因,所有网表都是第三方的模式调入。因此其员工是业界上对调第三网表都很熟悉的,我那时开发的程序还需要手工对网表文件手工处理一下,但他们用起来基本没遇到什么问题,就一直没有更新了。

上段有个现同事向我讲起她所用的Allegro自动生成差分对功能时,还有些不够完美的地方:一次只能生成一种类型的差分线:要生成下面网络组成的差分线,Allegro中要在匹配字符框中分别多次输入:N0,P0  N1,P1   N2,P2   N3,P3……

'B7ABC_CLK_N0'         'B7ABC_CLK_P0'

'B7ABC_CLK_N1'         'B7ABC_CLK_P1'

'B7ABC_CLK_N2'         'B7ABC_CLK_P2'

'B7ABC_CLK_N3'         'B7ABC_CLK_P3'

……


2 Q- T2 G* O  j) g2 ~图2  A软件匹配输入界面

如这类网络不多手工处理起来问题不大,如下图中的从N0,P0到N43到P43只需要手工输入44次匹配方式。而程序又不能识别P* N*,万一要网络定义到N1000,P1000,哪怎么办呢?要手工输入1000次那就有点“扯蛋”了。

3 t% O  F6 q6 w4 x7 o
图3  差分网络定义格式

*以上测试基于16.5版的平台,更高级的版本没有测试。

EDA软件M*差分对自动匹配存在的问题

业界另一个EDA巨头M公司,他的差分对匹配算法很强悍,但是强悍得过了头,识别后会多出很多不符合要求的差分对,这些需要手工再去删除,反而有点画蛇添足了。如下面它对网络的匹配效果,多出了太多不想要的差分线。下图4中所有粉红色都是被匹配出的错误差分对:如B8_TX_P22  B8_RX_P22 ,而真正的差分对是B8_TX_P22  B8_TX_N22

8 C8 i' u( w1 Z" }) d$ u
图4  M软件匹配出的多余组合

自开发差分线匹配工具的优点

基于目前两在EDA软件巨头差分对算法方面的问题,我优化算法,克服了他们现存的缺点,并实现输入窗口可以同时加入多个匹配字符,从而一次性提取出所有差分线,对抽取的结果可以在文本文件中或调入后在Constraint Manager界面上把多余的删除(删除的操作总比增加的操作用起来更令人愉快),从而一次性匹配几百乃至上千对差分线。


8 O: u$ e! r; x6 G$ m图5  自开发的差分线自动匹配软件工具界面

下图6是用程序对网表处理后,不到1分钟就完成的179对差分线匹配图。


0 Y6 G0 p; K! X5 Y图6  自开发软件匹配效果

特点

1) 克服两大EDA公司的差分线匹配算法问题

2)适用任何Allegro版本

3)可一次性全部匹配

! f0 n. M: }: e: E  u; K2 }  _! v; q
*《IC封装基础与工程设计实例》书籍答疑QQ群号:433148683
* 如对相关内容感兴趣,请关注微信公共帐号:amao_eda365附
2 F) \( n" \# e+ A" _
程序使用方法:
( C6 y5 U; I7 ?3 V5 |0 U9 i 4 f7 i. n! s' ]4 `- c1 n0 B! C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏8 支持!支持!1 反对!反对!

139

主题

460

帖子

4605

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
4605
来自 47#
 楼主| 发表于 2015-7-24 10:12 | 只看该作者
有同学问到下面的这类差分信号如何匹配. P! {2 e! o0 ~, `; O5 I! y
DP_PEXPERI_N<1>
. Z- g+ d9 T. P* p* H* \9 lDP_PEXPERI_P<1> . ~6 V2 L, }" }4 [. N/ T& \
DP_PEXPERI_N<2>4 }, K& b( n4 Z
DP_PEXPERI_P<2>% F1 P" ?: s7 g+ n# }
DP_PEXPERI_N<3>; E% J+ O3 |6 P/ B
DP_PEXPERI_P<3>0 v+ |! Y8 W) k
.....! Z( }3 ^& U3 x" \* P* [  |7 \
对于这类只要使用下面的匹配方式即可:3 W1 x5 }1 [& r' v, V/ q
P<\d+>=N<\d+>  
% Q8 x+ w1 M7 N5 D
+ p3 ~, x9 f, R# S0 s# V) G* q/ N3 c
如果要匹配$ V7 }. q2 M# K" V" U5 w" w
DP_PEXPERI_Nabc1abc5 M" v2 l' g; r: U( c) q; z
DP_PEXPERI_Pabc1abc) r2 S" C' Q6 L+ g
DP_PEXPERI_Nabc2abc
  W. `, a2 U' B2 [( a9 VDP_PEXPERI_Pabc2abc. B( J% K% Z9 E* m$ r" G" t! V
你应该会怎样输入了吧
# [1 v4 n0 T! b/ _3 [7 U
: a, F3 F# u: l/ s欢迎挑战其它匹配模式
0 s6 W2 |# o+ t' Y1 g& O- K" M& M# e  k. F

) _0 G! U# a# S2 A9 i: `# \, w; U5 f
7 M9 U5 U2 l0 f, T

139

主题

460

帖子

4605

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
4605
推荐
 楼主| 发表于 2015-6-30 10:23 | 只看该作者
软件与使用说明书

allegro_dif_net_V1.rar

4.04 MB, 下载次数: 549, 下载积分: 威望 -5

评分

参与人数 1威望 +2 收起 理由
wanily + 2 很给力!

查看全部评分

29

主题

2646

帖子

2805

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2805
推荐
发表于 2015-8-12 12:00 | 只看该作者
bingshuihuo 发表于 2015-8-12 10:51( m* c# t: B0 a0 R
感谢毛老师无私奉献  5 R; }9 `4 m: A( s. |9 t
为PCB 操作提高了效率花费的心血

6 m1 B+ H3 b3 \7 i/ l昨天发了邮件  
3 F  z" F0 v! h# y  _收到后 使用了一下! ^2 A. D+ b" D) `
真的感觉很顺
, i. K3 q2 }. g% Q" v
& J  Q0 E4 N9 b6 O- t' G1 g最少效率提高了很多
; S( V+ d: @- d! }6 z, t6 g
3 W) A5 b- ]2 ]+ `) v  @6 ]1 g1 k很多做SKILL的  + s# L1 t& M5 l8 d& u- u( j* y
在这块没有花时间去考虑
- s" v* F( `7 w& f4 G$ k  P& H5 g4 ^" ~1 H
思维  是排出万难的发动机
  V- y" O% {& m1 z4 z2 {能力  是脱颖而出的基石
* |( \+ v4 C6 R" c- R共享  是虚怀若谷的体现
* a" y$ d9 [% \6 [. l* v# ?贡献  是推动行业发展的情怀$ z+ h) V( J, L8 e

* y* b+ t6 x( N7 Y# V- c( q3 F四美具  人生必有腾飞
8 _; r5 S( z/ ?3 ?! T3 C& p0 D( q5 W+ D2 c- W7 q3 w9 v

+ X# a/ B# E& Y+ ?6 [  ]# W% y6 y- i
# w2 U: @% ?% q7 H, k
% m. {0 L& k8 d$ Z* ?- N# p

15

主题

301

帖子

1673

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1673
3#
发表于 2015-6-30 10:42 | 只看该作者
谢谢分享  楼主好人 大牛

68

主题

613

帖子

4089

积分

五级会员(50)

Rank: 5

积分
4089
4#
发表于 2015-6-30 10:56 | 只看该作者
绝对好东西,32个赞!!!
無極生太極 太極生兩儀 兩儀生四象 四象生八卦 八卦生六十四卦 六十四卦生宇宙萬物

11

主题

189

帖子

2375

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2375
5#
发表于 2015-6-30 11:10 | 只看该作者
我来顶顶顶顶顶

5

主题

63

帖子

517

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
517
6#
发表于 2015-6-30 11:40 | 只看该作者
好强大

116

主题

563

帖子

7196

积分

EDA365版主(50)

Rank: 5

积分
7196
7#
发表于 2015-6-30 11:49 来自手机 | 只看该作者
牛xxx啊,果断下载!

14

主题

290

帖子

1622

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1622
8#
发表于 2015-6-30 12:51 | 只看该作者
阿毛版主太厉害了,佩服大神开发了这些实用工具

1

主题

149

帖子

952

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
952
9#
发表于 2015-6-30 14:21 | 只看该作者
前人种树,后人乘凉

29

主题

2646

帖子

2805

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2805
10#
发表于 2015-6-30 15:23 | 只看该作者
谢谢分享  楼主好人 大牛

5

主题

32

帖子

779

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
779
11#
发表于 2015-6-30 15:34 | 只看该作者
很好很强大啊!

14

主题

219

帖子

533

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
533
12#
发表于 2015-6-30 16:00 | 只看该作者
顶起来

1

主题

62

帖子

195

积分

二级会员(20)

Rank: 2Rank: 2

积分
195
13#
发表于 2015-6-30 16:57 | 只看该作者
必须给力赞啊,楼主好强大

10

主题

543

帖子

6373

积分

五级会员(50)

Rank: 5

积分
6373
14#
发表于 2015-6-30 17:31 | 只看该作者
毛哥的干货真多,速速收藏

7

主题

69

帖子

350

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
350
15#
发表于 2015-6-30 18:55 | 只看该作者
感谢大神无私奉献。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-26 22:08 , Processed in 0.077253 second(s), 42 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表