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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 58|回复: 5

[求助] 怎么写SKILL脚本修改一个指定lib/cell/inst的W和m,并且可以在终端运行,不在CIW中输入

[复制链接]
发表于 6 小时前 | 显示全部楼层 |阅读模式
悬赏1000资产未解决
怎么写SKILL脚本修改一个指定lib/cell/instance name(比如PM0)的W和m,并且可以在终端运行,不在virtuoso的CIW中输入

谢谢!!!

 楼主| 发表于 6 小时前 | 显示全部楼层
想写一个脚本能根据cdl网表批量修改原理图参数,但是不会SKILL,求助大佬们
回复

使用道具 举报

发表于 5 小时前 | 显示全部楼层
一个思路直接把cdl 导回原理图
回复

使用道具 举报

 楼主| 发表于 5 小时前 | 显示全部楼层


   
ljh065216 发表于 2025-12-23 17:00
一个思路直接把cdl 导回原理图


感谢回复,但是这样原理图是乱的,我已经有整理好的原理图了,想根据cdl网表修改他的参数
回复

使用道具 举报

发表于 4 小时前 | 显示全部楼层
我写个简单的模板,稍微改改就可以用。注意:①这里用vfoSetParam来改参数值,有些工艺的PDK这么做有问题,如果不行,就用自己调用callback的方法;②这里假定参数值都是string类型,大部分PDK都是这样的,但也有少数PDK把m定义成int类型,这样的话,需要做些修改。



   

        

                
  1. #!/bin/bash
  2. if [[ $# -lt 5 ]]; then
  3.     echo "Insufficient arguments." 1>&2
  4.     exit 1
  5. fi

  6. LIBNAME=$1
  7. CELLNAME=$2
  8. INSTNAME=$3
  9. PARAMNAME=$4
  10. PARAMVALUE=$5
  11. virtuoso -nograph -log /dev/null << !
  12. unless(cvId = dbOpenCellViewByType("$LIBNAME" "$CELLNAME" "schematic" "" "a")
  13.     fprintf(stderr "Cannot open cell view %s/%s/schematic\n" $LIBNAME $CELLNAME)
  14.     exit(1)
  15. )
  16. instId = car(exists(id cvId->instances id->name=="$INSTNAME"))
  17. unless(instId
  18.     fprintf(stderr "No instance named with %L found in cell view\n" $INSTNAME)
  19.     exit(1)
  20. )
  21. vfoSetParam(instId "$PARAMNAME" "$PARAMVALUE")
  22. schCheck(cvId)
  23. dbSave(cvId)
  24. dbClose(cvId)
  25. exit(0)
  26. !
            

   

    复制代码
回复

使用道具 举报

发表于 4 小时前 | 显示全部楼层
再补充一下,我上面的脚本吧virtuoso的log文件丢弃了,如果需要log,修改一下-log后的文件名,或者干脆不带-log
回复

使用道具 举报

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

本版积分规则

关闭

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

手机版| 小黑屋| 关于我们| 联系我们| 用户协议&隐私声明| 版权投诉通道| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-12-23 22:11 , Processed in 0.014571 second(s), 3 queries , Gzip On, Redis On.

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