在 IC 设计中有时会用到提第三方提供的模型,如外接的功率 MOSFET,肖特基二极管等,这些大都是基于 spice 的 model,其中有些可以直接在 Cadence 中调用,更多的则需要在 Cadence 中做些工作才能调用,这里把一般的 Cadence ADE 中调用这样的 spice 模型(子电路)的流程介绍一下。
首先,对需要调用的电路添加 symbol(如下图中所示,以功率管为例),这里注意 pin 脚的一致。之后将此 symbol view 同时另存为 spectre view。
接着,在 Cadence 的 CIW 打开 CDF 菜单(Tool—>CDF—>Edit), 如下图中所示
在下面对话框中,将 CDF type 选为Base, 然后选择调用的电路,并在更新的菜单中的元件参数栏(Component Parameters)选择 Add 添加参数
可以看到此时出现添加参数的窗口,这里我们添加一个名为 model 的参数,具体的设置可以参考下图,parameter: string, parseAsnumber: no, parseAsCEL: yes, strobeDefault: no …
完成之后,回到上级对话框,可以看到元件参数栏下出现的我们设置的 model 这个参数。
之后,编辑仿真信息(Simulation Infomation),可以看到下面的对话框。首先将 simulator 选为spectre, 之后在 otherParameters 栏目中设为 model,在 termOrder 中依次填入元件的 pin 脚, 注意顺序与调用的 spice 文件中的一致。
在完成这些 cdf 的设置后,我们就可以在电路中调用所需的 spice 子电路。在下图的仿真电路中,我们调用了之前的功率管,选择编辑其属性,在 CDF 参数的 model 这一栏填入 spice 文件中的 model(或子电路名);并将此 spice 文件加入 model path 中,就可对其调用仿真。
上面就是 Cadence 仿真环境中调用这样的 spice 子电路的流程,主要参考了这里的方法,感兴趣的同学可以去看看。
ERROR (SFE-841): “21XXYY.lib” 129: Unexpected character `{‘ in netlist.
ERROR (SFE-874): “21XXYY.lib” 129: Unexpected closing parenthesis.
Expected end of file or end of line.
ERROR (SFE-1016): “21XXYY.lib” 130: Model `ncg’, the expected number of value followed by `dev/uniform’ is 1, but found 0.
ERROR (SFE-874): “21XXYY.lib” 137: Unexpected string value “.05%”. Expected end of file or end of line.
请问 仿真的时候报这个错是什么原因?
LZ,我现在想把用SPICE网表描述的一款器件模型导入cadence,看您文章中有写 首先,对需要调用的电路添加symbol,请问这句话怎么理解,对需要调用的电路添加symbol,是SPICE网表描述模型所用的宏电路,还是对什么电路添加symbol呀,求助 谢谢
就是模型的
我没有模型,只有一个.cir的文件,所以也存在这个问题,请问一开始是直接创建一个symbol然后加pin就可以了吗
上面写的挺明白的吧
为什么我的不能成功呢?编辑仿真信息(Simulation Infomation)这一步填写好 PIN的顺序之后,点击OK,就出错
SYNTAX ERROR found at line 1 column 6 of file *string*
*Error* lineread/read: syntax error encountered in input
搞不明白怎么回事,有大侠帮助我么?十分感谢
看看填的 PIN 的格式?要带上双引号
LZ请问,下载下来的spice文件需要在转化为.scs文件吗?我试了不能转换。然后直接调用的spice model。可是仿真得到的波形和datasheet上面的差别很大。。。
好像是要在调用的网表里加上 simulator lang=spice
我也加了这句,可是不知道为什么得到的波形和datasheet上面的差别太大了
非常感谢博主能写下这个过程,但是我按照这个过程做时最后一个环节,把于spice的模型的文件路径指定后显示有错。就无法仿真了。希望博主能把后面如何添加spice文件和仿真的方法也说一下好吗?非常感谢,急需
我记得以前就是在ADE里的model-lib把模型文件加上就可以了吧
你那报的什么错?
谢谢你,我已经解决了,主要是symbol的pin名字没有设对,所以出现了错误。再一次感谢您