在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16570|回复: 32

[求助] 如何用skill获得schematic中的器件信息

[复制链接]
发表于 2014-7-29 16:13:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
如题,我想用skill写个程序,获得schematic中的所有器件的信息,如管子的W,L,m的值,管子类型;电阻,电容的W,L,AREA等。本人刚接触skill,请教大神给指点下怎么达到这个目的?不胜感激~
发表于 2014-7-30 09:08:38 | 显示全部楼层
本帖最后由 nidon2003 于 2014-7-30 09:27 编辑

Hi, hybeam,
我不太清楚你具体想要干嘛,所以我粗略写了个程序能够希望可以帮到你:

procedure(LeeGetInfor(cv)
      let((cdfgDate cdfInfor instName name type value cdfL)
           foreach(inst cv~>instances
                cdfgDate=cdfGetInstCDF(inst)
             cdfInfor=cdfgDate~>parameters
             instName=inst~>cellName
             printf("Instance %L :\n" instName)
                foreach(cdf cdfInfor
                 name=cdf~>name
                 type=cdf~>paramType
                 value=cdf~>value
                 cdfL=list(name type value)
                 printf("     %L\n" cdfL)
             )  ; foreach cdf
        ) ; foreach inst
     ) ; let
  ) ; LeeGetInfor

cv=geGetEditCellView()
LeeGetInfor(cv)

以上,你可以尝试一下

Lee
 楼主| 发表于 2014-7-30 13:46:38 | 显示全部楼层
回复 2# nidon2003


     Hi,nidon2003,非常感谢你的回答,我没看懂你的程序,所以就直接调用了,可是没什么反应,也弄不清什么原因。
    我还是直接告诉你我的想法吧,我是想达到一个估计schematic的layout面积的目的,所以要先获得schematic的器件参数,然后通过一定的加法将这些相加获得大概的面积数据,同时也可以知道schematic中用到了器件类型,生成一个device list。
    我找了一些资料,但还是没读懂你的程序的意思,惭愧~~  首先这个符号 ~> 是什么意思都没太明白 ,所以想再麻烦你,你看我上面所说的想法可行吗?具体需要怎么做?感激不尽!
发表于 2014-7-30 15:57:46 | 显示全部楼层
回复 3# hybeam

Hi hybeam,

上面那个程序使用方法是,
1.将上面的代码写入一个文件中,如test.il
2.你先打开个一个layout/schematic窗口,然后在CIW里面输入load "test.il"
之后程序会将layout/schematic中pcell的信息列出来。


[size=13.333333969116211px]~>是命令getq
cv=geGetEditCellView()是获取当前窗口信息的命令,如果你想指定某个cell,可以用cv=dbOpenCellViewByType("libName" "cellName" "viewName")

得到pcell的器件参数,按照我给你的程序应该可以提取出来,至少我尝试了下是可以的。
当然,你也可以根据你需要提取参数修改文件(上面的程序是提取所有的pcell CDF参数的type和value)


不过,如果是想估算版图面积。你可以直接用layout XL,根据schematic产生layout,然后再去估算面积可能更简单一些。


Lee
 楼主| 发表于 2014-7-30 17:04:11 | 显示全部楼层
回复 4# nidon2003


   Hi,nidon2003   非常感谢你的耐心解答。我之前是将test.il文件load进cdsinit文件中,后来按照你说的打开schematic后在CIW中输入load "test.il" 但是出现了一个error:can't access file - "test.il".请问这是什么原因?
另外Layout XL生成的版图是模拟schematic的器件位置摆放的,想要评估面积还是要手动摆放规整才行,如果工艺不提供PDK的话貌似连Layout XL都用不了,所以我才想到要用这种方式来评估。
发表于 2014-7-30 20:00:15 | 显示全部楼层
回复 5# hybeam


CIW窗口中输入:load "路径/test.il"
你这个错误就是因为load "test.il"默认的是CIW启动路径,这个路径下是不是没有这份文件?
 楼主| 发表于 2014-7-30 21:46:28 | 显示全部楼层
回复 6# nidon2003


   这个路径下有这个文件,我特意copy了一份,就是启动icfb的那个路径下
发表于 2014-8-14 11:12:10 | 显示全部楼层
回复 2# nidon2003


    电路中如果有很多层,该怎么写啊
发表于 2014-8-14 12:18:36 | 显示全部楼层
回复 8# qerqing


你指的是hierarchy的情况吧有一个思路,你可以去试试看
1.获取当前level所有信息,然后在其中判断是否含有hierarchy cell, 同时提取其他器件的信息
2.对hierarchy cell重复1过程


这几天我没多少时间,后面有空了,可以具体帮你看看
发表于 2014-8-15 10:35:23 | 显示全部楼层
回复 9# nidon2003


    对的,需要递归一下,可以留个QQ吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 21:36 , Processed in 0.034672 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表