Cadence Virtuoso IC 514 Symbol 可变参数设置指南
引言
在使用 Cadence Virtuoso 进行电路设计过程中,利用 Symbol 可以简化器件调用并增强可复用性,是一种常用的方法。然而,针对自定义的 Symbol,如果有参数化的需求,例如“更改管子尺寸”或进行“参数扫描”,Cadence 并不能直接在上层电路对其进行操作。
为此,本文以反相器为例,介绍如何通过设置 pPar 表达式结合 CDF 配置,实现参数的灵活传递与操作。这种方法能够有效提高设计效率,尤其适用于多层次原理图设计及参数化仿真场景。
操作过程
Schematic
首先建立一个 schematic,搭好反相器。
设置其中 PMOS 和 NMOS 的参数,用 pPar("变量名")
的形式表达,pPar
是用于 CDF
的参数传递的一个表达式,可以把变量从外部传递到内部。
对 PMOS 设置如下:
其中 NMOS 也做类似设置,可以命名为 nmos_w
和
nmos_l
。
注:几经尝试,IC514 中器件参数的的 Multipler 不支持 pPar,遂作罢。在更高版本可以写上。
创建 Symbol
Design - Create Cellview - From Cellview...
画好形状以后,可以尝试添加 Label 以方便查看信息。
按下 L,新建一个标签,输入
P:[@pmos_w]/[@pmos_l]
。再建一个,输入N:[@nmos_w]/[@nmos_l]
。
注:如果设置了 Multiplier ,输入的则应该是
P:[@pmos_mp]*[@pmos_w]/[@pmos_l]
添加完成的 Symbol 如下,记得保存一下:
CDF 设置
在 CIW 中打开 Tools - CDF - Edit...
在弹出窗口点击 Browser
(图中 01 处)选择反相器所在的
Cellview,并更改 CDF Type 为 Base(图中 02 处),很重要。
据说:
如果选择 effective,在 library manager 中 refresh 后,此处对CDF参数进行的设置会全部被初始化。
点击 Add 按钮(图中 03 处)添加器件参数。
注:这里我已经添加过了,所以下方有相应的参数,初次添加时,由于IC 514 版本较旧,不会自动列出参数名称,故下方是空的。
在弹出窗口中输入原先在 schematic 中设置的器件参数:
对参数的设置说明如下:
ParseAs Number
(解析为数字)选择 yes ,否则参数无法自动识别为变量(需要手动添加)。(当然也可以选 no,这样显示起来美观一点,不会变成科学计数法)units
改为lengthMetric
,这样会按照长度进行解析。不然很多参数会变成科学计数法。Parse as CEL
设置 yes(否则无法在多层次的原理图进行参数传递)。1storeDefault
设置 yes,保存默认值。其余内容参考图片填写。
接下来,再设置下默认仿真器,点击 Edit Component CDF
窗口
的 Simulation Information
下的 Edit ,进入到
Edit Simulation Information
窗口,选择
Choose Simulator
为 spectre
,点击 ok
退出。
其它器件参数类似,重复上述过程即可。
添加完所有参数后保存。
Symbol 调用
新建一个 Schematic ,添加器件,选择方才绘制的 cell,即可看到元件参数:
按下 Q,可以对其进行修改:
这说明,通过以上设置,我们实现了 symbol 的参数化使用,支持参数扫描等操作,方便了电路的设计。
参考
快速建立尺寸不同的反相器等单元
Parameters in hierarchical schematics
注释
"CEL" is the CDF Expression Language (a superset of AEL, the Analog Expression Language - it extends it to add pPar and iPar). If you don't have this enabled, it assumes it is a literal value and doesn't need any interpretation/reformatting during netlisting.↩︎