找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

Skill中的继承结构,向高手请教

[复制链接]

93

主题

439

帖子

1765

积分

四级会员(40)

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

积分
1765
跳转到指定楼层
1#
发表于 2008-10-14 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
Skill中的继承结构是什么 它的功能是什么 ?在什么情况下用它?


                                                
积分不够 ,高手 见亮! 回答好,我恳求版主给你加分 狠D!~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

16

主题

407

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
15394
2#
发表于 2008-10-15 04:42 | 只看该作者
如果你2个月前问我,因为那个时候我刚看了2周的skill语言的help,也许我能回答的好些.我也不知道什么叫继承结构.但我会尝试回答下,真正的高手继续啊

1:首先下面语句让你选中的目标信息保存在cpaths这个变量里面,目标信息可能是text ,器件, line,cline,via,shape等等.所有的目标信息都有一个编号,然后这个编号下面就有不同分类.
假设你选中的是shape,那会有layer,net name,是否填充等.如果选中的是text,那么就会有text size,text height ,width,坐标等信息.
cpaths=axlGetSeleSet()


2: foreach 语句会遍历cpaths的中所有的信息.并这些信息暂时放在path变量里面.
path->net的意思就是 ,想看一下path 下面net 分类这个变量具体是什么值,顾名思义,通过这个语句获得你选中的cline线的net name,如果是null的话,就可能没net name的线,自然那个if语句就不执行了.

3:当选中的线有netname的时候,这个时候就得到这个线layout的具体信息,比如这根线的起点在哪里,终点在哪里,线宽多少等等. segment->startEnd估计就是这个线头的具体XY坐标

4:所以最后一个语句的意思应该是列表出这段线的分段线长.

这段程序的大致思路就是, 在用户界面操作选中带net name的属性的cline,然后找到每个节点作为start end,计算这一段长度,然后把cline的分段线长列表出来.

楼主可以把这段程序运行下,估计就知道了.不过我从来没跑过,不知道会碰到什么问题.

评分

参与人数 1贡献 +2 收起 理由
y175813652 + 2

查看全部评分

93

主题

439

帖子

1765

积分

四级会员(40)

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

积分
1765
3#
 楼主| 发表于 2008-10-15 12:03 | 只看该作者

回版主

首先谢谢版主
版主分析的很对,这段程序的大致思路就是, 在用户界面操作选中带net name的属性的cline,然后找到每个节点作为start end,计算这一段长度,然后把cline的分段线长列表出来.
我根据版主的分析,把程序重新调试了一遍得到结果如下:

                                                   
segments:  dbid:72873064 dbid:72873104 dbid:72873144 dbid:72872976            
                  dbid:72872936

cpaths:    dbid:72873016
box:         ((566.25 1350.25) (595.0 1350.25))
lx:            566.25
ly:           1350.25
rx:           595.0
ry:          1350.25
上面的数据是分析板中的一个"Cline"所得到的,首先在选择这个"Cline"时"cpaths"为   dbid:72873016,然后经过程序中的
                                         if( path->net then   
                                         segments = path->segments(这个就是传说中的继承结构 )
得到"segments"的数据为dbid:72873064     dbid:72873104     dbid:72873144     dbid:72872976     dbid:72872936
接着再由一个继承结构:
                                         foreach(segment segments
                                                box = segment->startEnd

就得到了"box"的数据:((566.25 1350.25) (595.0 1350.25))为"Cline"的一段线的端点坐标,问题就在这儿了:

这个数据是怎么转化到这儿的?调试也调不出来了 ,请教高手和版主 !~
                                 


cjf 该用户已被删除
4#
发表于 2008-10-15 13:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

93

主题

439

帖子

1765

积分

四级会员(40)

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

积分
1765
5#
 楼主| 发表于 2008-10-15 14:50 | 只看该作者

终于理解了,不知对否

看了两位的解说,终于有点小明白了,以下是个人愚见:
      我现在对继承结构的理解是:打个比喻,相当于一个容器里的东西放到另一个容器里,但是在转移的时候,加了过滤器,只把你想要的东西放进去,比如上面的box = segment->startEnd是只把segment里每一个线段的端点坐标放进去,然后赋予box,其中startEnd相当于一个过滤器.不知我说的对否,请高手指点
      然后我又按照版主cif的把上面的
        lx = caar(box)                                                           lxy = car(box);lx = caar(box)
              ly = cadar(box)                             改成了           rxy = nth(1 box);rx = caadr(box)
              rx = caadr(box)                                                         
              ry = cadadr(box)
              pathlen = pathlen + sqrt( (lx-rx)**2+(ly-ry)**2 )             pathlen = pathlen + axlDistance(lxy rxy)
效果是好了 很多,精度也高了 ,真是受教了,谢谢了 cif

95

主题

1309

帖子

4219

积分

EDA365版主(50)

Rank: 5

积分
4219
6#
发表于 2009-1-9 21:55 | 只看该作者
好贴,顶。谢谢!还不熟悉SKILL,学习中。。。

0

主题

53

帖子

-8942

积分

未知游客(0)

积分
-8942
7#
发表于 2010-10-2 16:54 | 只看该作者
不错哟,支持一下,嘿嘿。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-2-11 21:47 , Processed in 0.070643 second(s), 46 queries , Gzip On.

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

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

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