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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12671|回复: 42

[求助] SKILL create Pcell,自学求助贴,一起学习。

[复制链接]
发表于 2019-9-19 10:55:43 | 显示全部楼层 |阅读模式

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

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

x
谢谢熟悉SKILL create pcell的朋友可以指点一二,此帖立誓与skill小白共同成长,并且感谢无私的大神们。

1.利用pcDefinePCell 创建Pcell,如下
pcDefinePCell(

list( ddGetObj( "XXXX" ) "cv" "layout" ) ; end of list for first argument

(
    XXX
) ; end of pcell parameters

let(
        () ; no local variables in this example
     XXX
    ) ; end of body_of_code let
) ; end of pcDefinePCell


2.利用rodcreatepolygn实现多边形的创建,如下
pcDefinePCell(

list( ddGetObj( "XXXX" ) "cv" "layout" ) ; end of list for first argument

(
    ( layer         string  "TE")

) ; end of pcell parameters
  let(
        () ; no local variables in this example
       rodCreatePolygon(
                      ?name "resTop"
                      ?cvId pcCellView
                      ?layer layer
                      ?pts  list(0.0 0.0) (100.0 200.0) (200.0 80.0)
                     )

    ) ; end of body_of_code let
) ; end of pcDefinePCell

*注:此步骤实现了三个顶点为(0.0 0.0) (100.0 200.0) (200.0 80.0)的三角形,并且初始layer为TE,例子调用后可用户自定义。

3.下一步想让图形的定点可用户自定义,问题来了,脚本如下
pcDefinePCell(

list( ddGetObj( "Pcell_test_DYK" ) "cv" "layout" ) ; end of list for first argument

(
    ( layer         string  "Top_Moly")

   ( ptList        string  "((0.0 0.0) (100.0 200.0) (200.0 80.0))")

) ; end of pcell parameters
  let(
        () ; no local variables in this example
       rodCreatePolygon(
                      ?name "resTop"
                      ?cvId pcCellView
                      ?layer layer
                      ?pts  ptList
                     )


    ) ; end of body_of_code let
) ; end of pcDefinePCell

CIW warning:*WARNING* rodCreatePolygon: ?pts argument is not a list of points - "((0.0 0.0) (100.0 200.0) (200.0 80.0))"
                      *WARNING* rodCreatePolygon: command failed
因为我记得pcDefinePCell中第一个模块定义的就是用户输入(定义name、type与初始value),随之rodcreatepolygon中我引用ptList,为何会提示?pts argument is not a list of points,是格式不对么?应该怎么解决。
 楼主| 发表于 2019-9-19 10:58:39 | 显示全部楼层
顶起顶起,欢迎大家来探讨。
?pts 后不是必须直接列point list的,也可以引用。
 楼主| 发表于 2019-9-19 16:09:11 | 显示全部楼层
如引用ptlist,则需要在rod外定义。
但是目前还没有找到如何让用户定义顶点的方法。
 楼主| 发表于 2019-9-19 16:10:00 | 显示全部楼层
let(
        () ; no local variables in this example
       ptList=list(0:0 100:200 200:80)
       rodCreatePolygon(
                      ?name "resTop"
                      ?cvId pcCellView
                      ?layer layer
                      ?pts  ptList
                     )


    ) ; end of body_of_code let
发表于 2019-9-21 22:21:07 | 显示全部楼层
( ptList        string  "((0.0 0.0) (100.0 200.0) (200.0 80.0))")
这句定义有问题,这句话将pList定义为string类型,而?pts需要的是list,要么在定义pList为list类型,或者按现在的定义为string但是在调用pList前,先进行string to list的转换。
 楼主| 发表于 2019-9-23 11:32:26 | 显示全部楼层


195293204 发表于 2019-9-21 22:21
( ptList        string  "((0.0 0.0) (100.0 200.0) (200.0 80.0))")
这句定义有问题,这句话将pList定 ...


我想请教您一下,再用户定义这部分,可以直接定义ptList为 list类型么?因为我看只有float、int、string、boolean。
发表于 2019-9-23 14:04:58 | 显示全部楼层
大家都是skill 写的吗?可以直接图形操作吧。有没有懂的,烦请指教12,我现在遇到的问题是无法实现多finger
 楼主| 发表于 2019-9-23 14:16:08 | 显示全部楼层


Phoebe.p 发表于 2019-9-23 14:04
大家都是skill 写的吗?可以直接图形操作吧。有没有懂的,烦请指教12,我现在遇到的问题是无法实现多finger ...


我这个Pcell图形化实现不了,比较繁琐,SKILL写会比较方便,中规中矩的CMOS图形操作网上教程很多的,
 楼主| 发表于 2019-9-23 14:19:51 | 显示全部楼层
本人也是新手一枚,想更新出从基础开始每一步制作PCell的过成与大家一起分享,当然期间会遇到很多问题,也希望得到大神的指点,并且将问题记录在本帖中与SKILL小白一起成长。感谢无私大神们的奉献精神,也鼓励自己坚持不要放弃,这样才会成长。
 楼主| 发表于 2019-9-23 14:23:00 | 显示全部楼层
问题1:现在着手解决如何将用户定义区的ptlist转换为 rodcreatepolygon函数中 ?pt的list格式。
主要想实现:调用Pcell后,用户可改变ptlist坐标,从而多边形会根据坐标改变形状等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-27 05:32 , Processed in 0.028073 second(s), 6 queries , Gzip On, Redis On.

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