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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: Mingese

[求助] PCell参数更新相关问题-SKILL

[复制链接]
发表于 2024-6-5 17:47:30 | 显示全部楼层
本帖最后由 qw357 于 2024-6-5 17:49 编辑

试一下4楼的方法。

instId = dbCreateParamInstByName( ... )
cdfgData = cdfGetInstCDF( instId )
wParam = cdfFindParamByName( cdfgData "w" )
when( wParam~>callback evalstring(wParam~>callback) )

如果自己做pdk的话,一般用PAS。
 楼主| 发表于 2024-6-5 19:25:01 来自手机 | 显示全部楼层


qw357 发表于 2024-6-5 17:47
试一下4楼的方法。

instId = dbCreateParamInstByName( ... )


4楼的方法似乎不适用我这个案例,我也没理解这个逻辑。当然也可能是我的打开方式出了问题,我再研究一下,多谢各位大佬的分享。
 楼主| 发表于 2024-6-6 14:36:30 | 显示全部楼层
终于搞懂了,4楼的方法是可行的,但是evalstring之前需要先定义 cdfgData 这个变量:

cdfgData = cdfGetInstCDF( instId )
这样才能定位到目标instance。
11楼给出的答案比较完整,这是通过重新执行 callback 实现的参数更新:
instId = dbCreateParamInstByName( ... )
cdfgData = cdfGetInstCDF( instId )
wParam = cdfFindParamByName( cdfgData "w" )
when( wParam~>callback evalstring(wParam~>callback) )

也可以通过重新执行 formInitProc 实现的参数更新:
instId = dbCreateParamInstByName( ... )
cdfgData = cdfGetInstCDF( instId )
initProc = strcat( cdfgData~>formInitProc "(cdfgData)")
when( cdfgData~>formInitProc
  evalstring(initProc)
)
发表于 2024-6-6 16:27:45 | 显示全部楼层
请问下你的pcell是去调用PDK的pcell吗?还是自己做的
 楼主| 发表于 2024-6-6 17:01:48 | 显示全部楼层


Chenhw 发表于 2024-6-6 16:27
请问下你的pcell是去调用PDK的pcell吗?还是自己做的


是在自己做的PCell里面,调用了PDK的mos管
发表于 2024-6-6 17:36:55 | 显示全部楼层


Mingese 发表于 2024-6-6 17:01
是在自己做的PCell里面,调用了PDK的mos管


请教下,如何在自己写的pcell去callback,想做个logic门,不知道怎么同时去callback
 楼主| 发表于 2024-6-6 18:29:32 | 显示全部楼层


Chenhw 发表于 2024-6-6 17:36
请教下,如何在自己写的pcell去callback,想做个logic门,不知道怎么同时去callback
...


cdfCreateParam(cdfID
  ?name "pw"

  ...
  ?callback  "logicCB('pw)"
  ...
)


创建参数的时候添加一个?callback的参数就可以了,在help里搜cdfCreateParam就可以查到参数的具体要求。
上面的 logicCB() 是自己按照需求定义的callback函数。
 楼主| 发表于 2024-6-6 18:37:26 | 显示全部楼层


Chenhw 发表于 2024-6-6 17:36
请教下,如何在自己写的pcell去callback,想做个logic门,不知道怎么同时去callback
...



刚才的回复好像被吞掉了,再发一次:
cdfCreateParam(cdfID
  ?name "pw"
  ...
  ?callback "logicCB('pw)"
)

在创建参数的时候添加一个?callback的参数就可以了。在help里搜cdfCreateParam就能查到参数的相关说明。上面提到的logicCB()是需要自己按照需求来定义的回调函数。
发表于 2024-6-7 09:19:17 | 显示全部楼层


Mingese 发表于 2024-6-6 18:37
刚才的回复好像被吞掉了,再发一次:
cdfCreateParam(cdfID
  ?name "pw"


我卡的点就是logicCB()该怎么去定义?有例子吗,谢谢
发表于 2024-6-7 09:33:44 | 显示全部楼层


Mingese 发表于 2024-6-6 18:37
刚才的回复好像被吞掉了,再发一次:
cdfCreateParam(cdfID
  ?name "pw"


谢谢回复,上面提到的logicCB()是需要自己按照需求来定义的回调函数有例子吗?我卡的就是这个地方;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-8 14:18 , Processed in 0.021746 second(s), 5 queries , Gzip On, Redis On.

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