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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 157|回复: 1

[求助] 给自己写的pcell加cdf参数

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式

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

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

×

最近在摸索着写pcell,写了一个金属开关的pcell,想把电路和版图的参数同步。然后导出cdl和验证lvs的时候一直报错,不懂那个变量类型没设置对,有没有大佬帮忙看一下。


报错内容如下:

*Error* hnlMapInstName: argument #2 should be a string (type template = "tt") - nil
ERROR (OSSHNL-411): Stopping netlisting due to SKILL error while formatting devices. To bypass this check, set the environment variable oss.core stopNetlistingOnFormatterError
End netlisting
ERROR (OSSHNL-514): Netlist generation failed because of the errors reported above. The netlist might not have been generated at all, or the generated netlist could be corrupt. Fix the reported errors and regenerate the netlist.


代码片段如下:


let((libCell cdfId cellId)
  cellId = ddGetObj("test" "metaloption")
  
  cdfId = cdfGetBaseCellCDF(cellId)
  when(cdfId cdfDeleteCDF(cdfId))
  
  cdfId = cdfCreateBaseCellCDF(cellId)
  
  cdfCreateParam( cdfId
    ?name           "switch"
    ?prompt         "switch"
    ?defValue       t
    ?type           "boolean"
    ?display        "t"
  )
  
  cdfCreateParam( cdfId
    ?name           "width"
    ?prompt         "width"
    ?defValue       2
    ?type           "float"
    ?display        "t"
  )
  
cdfCreateParam( cdfId
    ?name           "metal"
    ?prompt         "metal layer"
    ?defValue       "MET1"
    ?type           "string"
    ?display        "t"
  )
  
cdfCreateParam( cdfId
    ?name           "space"
    ?prompt         "space"
    ?defValue       1
    ?type           "float"
    ?display        "t"
  )

  cdfId->simInfo = list( nil )
  cdfId->simInfo->auCdl = '( nil
  netlistProcedure  ansCdlCompPrim
  instParameters (switch)
  componentName "metaloption"
  termOrder  (PLUS MINUS)
  propMapping ("switch" "switch")
  modelName "metaloption"
)
  cdfId->simInfo->auLvs = '( nil
  propMapping              nil
  netlistProcedure         ansLvsCompPrim
  instParameters           (switch)
  componentName            "metaloption"
  termOrder                (PLUS MINUS)
  deviceTerminals          "PLUS MINUS"
  ;permuteRule              "(PLUS MINUS)"
  namePrefix               "S"
)
  cdfId->switch = t
  cdfId->width = 2
  cdfId->metal = "MET1"
  cdfId->space = 1
  cdfSaveCDF(cdfId)

);let



发表于 昨天 11:19 | 显示全部楼层
也许跟这个问题无关,但是propMapping写法不对吧,你可以找个PDK的CDF看看
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

X 关闭广告

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

GMT+8, 2025-10-19 09:09 , Processed in 0.012263 second(s), 3 queries , Gzip On, Redis On.

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