Cadence Virtuoso IC 514 Symbol 可变参数设置指南

引言

在使用 Cadence Virtuoso 进行电路设计过程中,利用 Symbol 可以简化器件调用并增强可复用性,是一种常用的方法。然而,针对自定义的 Symbol,如果有参数化的需求,例如“更改管子尺寸”或进行“参数扫描”,Cadence 并不能直接在上层电路对其进行操作。

为此,本文以反相器为例,介绍如何通过设置 pPar 表达式结合 CDF 配置,实现参数的灵活传递与操作。这种方法能够有效提高设计效率,尤其适用于多层次原理图设计及参数化仿真场景。

操作过程

Schematic

首先建立一个 schematic,搭好反相器。

设置其中 PMOS 和 NMOS 的参数,用 pPar("变量名") 的形式表达,pPar 是用于 CDF 的参数传递的一个表达式,可以把变量从外部传递到内部。

对 PMOS 设置如下:

其中 NMOS 也做类似设置,可以命名为 nmos_wnmos_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 中设置的器件参数:

对参数的设置说明如下:

  1. ParseAs Number(解析为数字)选择 yes ,否则参数无法自动识别为变量(需要手动添加)。(当然也可以选 no,这样显示起来美观一点,不会变成科学计数法)

  2. units 改为 lengthMetric,这样会按照长度进行解析。不然很多参数会变成科学计数法。

  3. Parse as CEL 设置 yes否则无法在多层次的原理图进行参数传递)。1

  4. storeDefault 设置 yes,保存默认值。

  5. 其余内容参考图片填写。

接下来,再设置下默认仿真器,点击 Edit Component CDF 窗口 的 Simulation Information 下的 Edit ,进入到 Edit Simulation Information 窗口,选择 Choose Simulatorspectre ,点击 ok 退出。

其它器件参数类似,重复上述过程即可。

添加完所有参数后保存。

Symbol 调用

新建一个 Schematic ,添加器件,选择方才绘制的 cell,即可看到元件参数:

按下 Q,可以对其进行修改:

这说明,通过以上设置,我们实现了 symbol 的参数化使用,支持参数扫描等操作,方便了电路的设计。

参考

  1. 快速建立尺寸不同的反相器等单元

  2. Parameters in hierarchical schematics

注释


  1. "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.↩︎