Cadence电路参数变量扫描分析说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Cadence 电路参数变量扫描分析
庞则桂 2006-12-22 Version-1.0

在使用 Cadence 的 Affirma Analog Circuit Design Environment 对电路进行仿真的时候, 适当地使用 Design Variables 将会获得事半功倍的效果。 什么是 Design Variables?直观地说它们就是出现在 Affirma Analog Circuit Design Environment 界面中的一些可变的参数值。如下图红色虚线框中所示的就是一些已经定义好 了的变量。
图 1 Affirma Analog Circuit Design Environment 界面
变量可以是一些全局的参数。例如 temp,就是系统默认的温度参数,当设置对温度变 量进行扫描分析时,可以获得一组代表了整个电路在不同温度下某个参数的变化曲线。 变量还可以是电路中某些元器件的具体数值。 通过扫描该参数可以获得该器件的这个参 数值在一定范围内变化对整个电路的影响。Cadence 还可以对多个变量进行扫描,可以获得 电路多个参数同时变化时的最优值, 这对设计电路, 确定元器件的取值具有非常重要的作用。 变量的取值可以是具体的数值、等式或者表达式。这里我们主要讨论数值的情况,关于 等式和表达式的变量取值还没有用到,以后接触到之后再继续详述之。 对变量进行扫描,例如电路中激励源 vdc 的直流电压大小,电路中某个电容,电阻的大 小等等,使用 Analyses 菜单下的 Choose dc,即 DC sweep(直流参数扫描)也可以分析电 路某个参数变化对整体的影响,为什么还要刻意地进行 Design Variables 的参数变量扫描分 析呢?两者有什么不同?我们可以先假设这样一种情况。 假如, 我有一个电路, 在上电之后, 要延时一定的时间电路才能开始正常工作,而且这个启动的过程不可忽略,那么,我就需要 进行时域上的分析,即采用瞬态分析(tran)才能仿真出这个过程。如果我想考察电路启动 模块中某个电容对电路启动时间的影响,假设我使用 DC sweep,对电容的参数进行扫描, 那么很显然,在整个扫描的过程中,由于 DC sweep 本身并没有考虑到时域上的过程,所以 电容变化的整个过程都是在 t=0 的时刻进行的,而这时电路还没有开始工作,所以无论电容 值怎么变化,电路的状态都是一样的,未进入工作状态,由这个仿真结果看来,电容值似乎 对电路没有产生什么影响,但是,实际上该电容的数值可能对电路的启动过程,甚至于启动 之后的电路工作状态都有着至关重要的影响,因此,在这种情况下,DC sweep 并不能真实

地反映出电路的真实工作情况。如果我将电容的数值设置成一个 Design Variable,那么我可 以给这个变量赋予一个固定的值, 不影响我对电路进行时域上的瞬态分析, 并且我还可以设 定该变量的变化范围及变化的步长,进行参数变量扫描分析。此时 Cadence 会自动地按照设 定的步长和范围自动地改变变量的数值, 每变化一次变量值进行一次瞬态分析, 最后把不同 变量值下的瞬态分析结果都绘制到一个 wave 窗口上,形成一簇曲线,用户就可以知道变量 取值为多少时能够获得较好的曲线。 而且采用参数变量扫描分析可以一次进行多个变量同时 变化的分析, 从而可以知道电路中多个变量相互制约的复杂情况下各个变量取值为多少才能 获得全局最优的结果。这些都是 DC sweep 无法完成的功能。 下面我们以一个简单的电路为例, 介绍一下使用参数变量扫描分析的具体实现步骤。 我 们来看考察以下的一个电路
图 2 实验原理图 电路中激励源 V3,V4 和管子的模型名 n18,长宽的具体参数都已经在图中标得很明确 了,不再详述。我们要观察的是 R1 取不同数值的时候电路的变化情况,那么我们就要把 R1 的值设为变量,这么设置呢?在原理图中,选中 R1,按下键盘上的 Q 键调出元件属性 窗口,如图 3。 通常,如果我们不需要设置元器件参数的话,比如我就需要让 R 取值为 1KΩ,那么我 可以在属性窗口的 CDF Parameter 下的 Resistance 一栏中填入 1K。这里我们要让电阻值成 为一个参数,所以,我将要在这一栏中填入一个参数变量名 aa。参数变量名是以字母开头 的,表示该器件参数,如电阻阻值已经被定义成为一个参数变量,而不是一个具体的数值。 后面的 Ohms 单位是系统自动加的,不需要理会。你可以把这一过程看成 C 语言中的宏替 换,将来如果定义了 aa 为 1K,那么这里 CDF Parameter 中 Resistance 中的 aa 将会被 1K 替 换,然后进行仿真。那 aa 什么时候会被赋予一个具体的数值呢,这在后面会讲到,请继续 往下看。

图 3 元件属性窗口
好,参数按照上图设置好之后,点击左上角的 OK 回到原理图窗口。通过窗口左上角的 Tools Analog Environment 调出 Affirma Analog Circuit Design Environment 界面。下面要做 的就是具体定义参数变量的数值了。 你可以有两种办法将原理图中刚刚设定的元器件参数变量调入到 Affirma Analog Circuit Design Environment 的 Design Variables 窗口中:

(1) 通过 Affirma Analog Circuit Design Environment 界面的菜单 Variables Edit 调出变量 编辑窗口,如图 4。
图 4 变量编辑窗口
在 name 这一栏中,填入 aa,在 Value(Expr)一栏中,填入 aa 的具体数值,或者 一个表达式或者等式。这里我们可以填入 1K,aa 的具体数值就在这一步被确定了。 填完后,点击 Add 就将该变量添加到右边的变量列表(Table of Design Variables)中 了。如果你要更改变量的数值或者删除一个变量也可以在这里完成,在变量列表中 选中一个变量,可以对其进行更改或者删除。对变量的添加,更改或者删除完成后, 点击左上角的 OK,回到 Affirma Analog Circuit Design Environment 界面。 (2) 通 过 Affirma Analog Circuit Design Environment 界 面 的 Variables Copy From Cellview 可 以 一 次 将 原 理 图 中 的 所 有 变 量 调 入 Affirma Analog Circuit Design Environment 界面中的变量列表。然后双击你想要编辑的一个变量,可以调出图 4 的 Editing Design Variables 界面,从而可以对变量进行修改。 设置好变量的 Affirma Analog Circuit Design Environment 界面如下图所示。
图 5 完成变量设置的 Affirma Analog Circuit Design Environment
接下来,要对这个电路进行一次仿真。用 Affirma Analog Circuit Design Environment 进 行仿真过程包括以下几个步骤:

相关文档
最新文档