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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7263|回复: 12

[求助] SKILL创建Pcell,有关cell面积显示提问。

[复制链接]
发表于 2019-9-3 14:21:08 | 显示全部楼层 |阅读模式

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

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

x
以下是初次编辑Pcell,简易功能尝试。
1.利用rod函数创建Pcell可改变W与L。
2.使用layer为Top
求助:我想实现面积显示到属性里,应该把这句表达式加在哪块儿呢?
pcDefinePCell(
list( ddGetObj("Pcell_test_DYK") "cv" "layout") ; end of list for first argument


  ((layer string "Top")
    (width float 5.0)
    (length float 5.0)
    (area float 25.0)) ; end of pcell parameters


  let(
        ()
        rodCreateRect(   
                        ?name       "Tp"
                        ?width      width
                        ?layer      layer
                        ?length     length
                      ); end rodCreateRect


      ); end let


    area = lambda( (width length) width * length )

)

发表于 2019-9-3 14:23:45 | 显示全部楼层
如果会创建CDF,在CDF里面加上这个显示面积的参数就可以了
 楼主| 发表于 2019-9-3 16:55:50 | 显示全部楼层


寻雨 发表于 2019-9-3 14:23
如果会创建CDF,在CDF里面加上这个显示面积的参数就可以了


可以问您一下,CDF设置地方我找到了,area参数已经建立了,但是这个表达式“w * l”  应该写在哪一栏里呢。
发表于 2019-9-4 11:12:47 | 显示全部楼层


LLECP 发表于 2019-9-3 16:55
可以问您一下,CDF设置地方我找到了,area参数已经建立了,但是这个表达式“w * l”  应该写在哪一栏里呢 ...


创建CDF我是使用相关的CDF创建函数,使用skill的代码创建的,virtuoso的CDF设置没试过,具体的skill代码网上应该可以搜索到。创建W&L的CDF参数时使用callback函数,一旦W或者L有改动就会触发callback函数,callback函数里面把你的公式写上就好。
 楼主| 发表于 2019-9-5 11:10:35 | 显示全部楼层


寻雨 发表于 2019-9-4 11:12
创建CDF我是使用相关的CDF创建函数,使用skill的代码创建的,virtuoso的CDF设置没试过,具体的skill代码 ...


明白啦,谢谢好心的您给我指点。
发表于 2019-9-5 16:17:31 | 显示全部楼层
学习了
发表于 2020-7-24 14:00:53 | 显示全部楼层


LLECP 发表于 2019-9-3 16:55
可以问您一下,CDF设置地方我找到了,area参数已经建立了,但是这个表达式“w * l”  应该写在哪一栏里呢 ...


请教一下CDF里面怎么设置area参数?
发表于 2022-12-21 14:31:47 | 显示全部楼层


阳平 发表于 2020-7-24 14:00
请教一下CDF里面怎么设置area参数?


cellId = ddGetObj("P3_Pcell" "TFR3")
cdfId = cdfCreateBaseCellCDF(cellId)
cdfCreateParam(cdfId
?name  "width"
?type   "float"
?prompt  "width of TFR"
?defValue  50
?callback   "TFRAreaCB('w)"
);end cdf

cdfCreateParam(cdfId
?name  "length"
?type   "float"
?prompt  "length of TFR"
?defValue  50
?callback   "TFRAreaCB('l)"
);end cdf

cdfCreateParam(cdfId
?name  "Area"
?type   "float"
?prompt  "Area of TFR"
?defValue   2500
?editable   "nil"
);end cdf

procedure(TFRAreaCB(param)
let((cdfId w l area)
cdfId = cdfgData
when(param=='w || param=='l
w=cdfId~>width~>value
l=cdfId~>length~>value
area=w*l
cdfId~>Area~>value=area
);when
);end let
);end proc


上述脚本设置了width、length以及Area(width*length), 况且area的值只显示,不能修改,单元格是灰色的。

发表于 2023-3-30 13:39:53 | 显示全部楼层
学习了
发表于 2023-5-23 13:40:36 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-18 17:03 , Processed in 0.022311 second(s), 6 queries , Gzip On, Redis On.

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