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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1513|回复: 0

[求助] 请生成SKILL pcell 文件时,要使W和L等变量带有单位u,这个文件怎么改?

[复制链接]
发表于 2021-7-5 11:13:59 | 显示全部楼层 |阅读模式

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

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

x
pcDefinePCell(list(ddGetObj("smic18ee_pcell") "nlv50e2r_SKILL" "layout")
    ((L float 0.6)
        (W float 0.7)
    )
    let((L L0 L0offset W W1
            W1offset pcMember pcStretchGroup stretchOffsetX stretchOffsetY
            pcLib pcMaster pcInst pcTerm pcPin
            pcPinName pcNet pcTermNet pcNetName pcTermNetName
            pcMosaicInst pcParameters pcParamProp pcStep pcStepX
            pcStepY pcRepeat pcRepeatX pcRepeatY pcIndexX
            pcIndexY pcLayer pcPurpose pcLabelText pcLabelHeight
            pcPropText pcParamText pcCoords pcPathWidth pcPolygonMargin
        )
        (pcLib = (pcCellView~>lib))
        (pcParameters = ((pcCellView~>parameters)~>value))
        (pcParamProp = car(exists(prop pcParameters
                    ((prop~>name) == "L")
                )
            ))
        (L = (pcParamProp~>value))
        if(((pcParamProp~>valueType) == "boolean")
            (L = (L == "TRUE"))
        )
        (pcParamProp = car(exists(prop pcParameters
                    ((prop~>name) == "W")
                )
            ))
        (W = (pcParamProp~>value))
        if(((pcParamProp~>valueType) == "boolean")
            (W = (W == "TRUE"))
        )
        (L0 = L)
        (W1 = W)
        (L0offset = (L0 - 0.6))
        (W1offset = (W1 - 0.7))
        dbReplaceProp(pcCellView "function" "string" "transistor")
        dbReplaceProp(pcCellView "_pcCompiledCounter" "int" 452)
        dbReplaceProp(pcCellView "viewSubType" "string" "maskLayoutParamCell")
        (pcLayer = 84)
        (pcPurpose = "drawing")
        (pcInst = dbCreateRect(pcCellView
                list(pcLayer pcPurpose)
                list((-0.32:-0.15)
                    ((2.34 + L0offset)1.55 + W1offset))
                )
            ))
        (pcLayer = 40)
        (pcPurpose = "drawing")
        (pcInst = dbCreateRect(pcCellView
                list(pcLayer pcPurpose)
                list((0.0:0.0)
                    ((2.02 + L0offset)1.4 + W1offset))
                )
            ))
        (pcLayer = 30)
        (pcPurpose = "drawing")
        (pcInst = dbCreateRect(pcCellView
                list(pcLayer pcPurpose)
                list((0.71:0.0)
                    ((1.31 + L0offset)1.4 + W1offset))
                )
            ))
        (pcLayer = 10)
        (pcPurpose = "drawing")
        (pcInst = dbCreateRect(pcCellView
                list(pcLayer pcPurpose)
                list((0.18:0.35)
                    ((1.84 + L0offset):(1.05 + W1offset))
                )
            )) t
    )
)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-30 07:57 , Processed in 0.021267 second(s), 7 queries , Gzip On, Redis On.

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