微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > 关于CDF设置的问题

关于CDF设置的问题

时间:10-02 整理:3721RD 点击:
在设置CDF时,经常用到w(Total Width),wf(Finger Width),simW(simulation Width)三项,一般设置w的值为A,wf为B,simW为iPar("wf"),若nf(Fingers Number)=1,A=B。在调用symbol时,改变nf,w的值就会自动改变为nf*B。
请问各位达人,这是怎么实现的?在哪儿设计的?
我自己做的CDF一直没法实现.....

我参考一一些可以实现以上功能的正常CDF,也没有什么特别的发现,没有觉得w和wf之间有什么表达式的存在

这个是CDF的callback 函数起作用的。CDF 的callback函数如果不是单独装载进来的话,就是跟着库一起装载进来的,比如库子目录下有个文件libInit.il, 很多代工厂的CDF函数就是在那里定义的,不过有可能是加密的方式,打印不出来罢了。 

感谢兄台!请问兄台,这个文件用什么工具可以查看?

这是SKILL文件,可以用文本编辑器看,如果是加密的就看不了.

万分感谢兄台!

*.il, *.ile, *.cxt都是skill代码,其中*.il是源码,可以用文本编辑器查看,*.ile是加密过的,*.cxt是编译过的,后两者用文本编辑器看不了。

搭车问一个,这个libinit是什么时候被触发?如果有多个工艺库在cds.lib中,似乎各个库的libinit会互相冲突。比如用ADE的时候,明明用这个工艺的管子,ADE里把model路径初始化成另一个工艺的路径。cdf的callback从理论上说会冲突吗?就局限在5141这个版本讨论吧。

libinit.il本质上和普通的SKILL没什么不同。所谓冲突的情形就是同一个逻辑变量被不同库所带的libinit.il反复定义而被覆盖掉。这和反复load进来不同的代码而覆盖同样的变量是一样的。所以回答你的第一个问题,libinit.il被触发的时候是该库里面的元件被调用的时候,或者在library manager 界面上做该库的任何读取操作的时候。这个可以在libinit.il文件中插入简单的打印语句来验证。回答第二个问题,冲突会发生,而且变量的定义以最后被调用的库所带的libinit.il决定,所以cds.lib的定义顺序不起作用,而是调用顺序起作用。当然pdk本身应该预见到定义冲突的情况会发生,所以读取变量的时候,最保险的做法是还原本pdk预设的变量。

原来是这样。

很需要,小编辛苦了。

你好,我现在也越到了与你相似的问题。我现在从原来的工艺库copy一个电阻出来,修改了一下cdf参数的defvalue,可是在后面的调用中出现了callback不能正常使用的问题。
segL->callback=>c1813_resCB('segL)
segW->callback=>c1813_resCB('segW)
这两项的defvalue被我修改了,我查阅了工艺库下面的libinit.il
在这个文件中没有查阅到相关任何函数信息。
请问小编是怎么解决呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top