图 1. 13 仿真结果显示界面
7. 其它设置
?
右下角有一个下拉菜单可以改变出图方式:是否覆盖上次的图像、是否使用新的字窗口 输出、是否用新窗口输出。 ? 菜单的 Design头Temperature 可以用来设置仿真的环境温度。 8. 保存和导入仿真状态
?
点击菜单 Session头Save State 可以保存当前的仿真配置。对话框如下,可以选择具体需 要保存的信息。保存的状态被存放在~/.artist_states/
图 1. 14 仿真状态的保存
?
点击菜单 Session头Load State 可以导入以前保存的仿真配置。对话框如下,可以选择
需 要的状态,进行导入。
21
图 1. 15 导入以前的仿真状态
? 点击菜单 Session头Save Script 可以将现在的仿真设置保存成 OCEAN 脚本,利用该脚本,
可以在命令行执行仿真任务。
22
第 2 章 瞬态分析(Transient Analysis)
2.1 功能基本介绍
瞬态仿真分析是在给定的输入激励下,在设定的时间范围内计算电路的时域瞬态响应性能。 要验证设计电路的稳定性,速度,精确度等问题必须经过各种情况下的瞬态分析才能做出正确的 判断。在本章中介绍如何设定瞬态仿真以及瞬态分析。读者在具体的电路设计中需要根据实际情 况,合理地设置激励源和仿真参数才能真正评估电路性能。在瞬态仿真的参数设置过程中,主要 是在仿真精度和仿真速度之间做出合理的折衷。读者可以按设计电路的要求定制仿真器计算时的 容差、积分方式、步进大小等控制精度。同时,还可以对电路初始状态,输出数据保存量等条件 参数设置。
2.2 仿真参数设置
参照第 1 章 1.5 内容,打开“Analog Design Environment” 头 “Analyses”头“tran”,基本 参数设置界面如图 2.1 所示。主要内容包括用于控制仿真时间的“Stop Time”和用于控制仿真速 度和精度的“Accuracy Defaults(errpreset)”设定。
图 2.1 瞬态仿真的参数设定
2.2.1 基本参数设置
? “Stop Time”:仿真终止时间的设定。
在默认设置中瞬态分析总是从 t = 0 时刻开始仿真。所以只需设置仿真终止时间。时间单位 是秒。所以,如果要表示毫秒数量级,在数据后面需要跟上毫秒的单位缩写“m”。其他时 间数量级单位类似。 ? “Accuracy Defaults”(errpreset):仿真精确度和速度设定。 可选择三种仿真精确度:宽松的(liberal),适中的(moderate),保守的(conservative)。其 中,“liberal”的仿真速度最快,但是精确度最低。这种精度的仿真适合于数字电路或者是变 化速度较低的模拟电路;“moderate”作为仿真器默认的设置,其精确度类似于用 SPICE2 计
23
算的仿真结果;“conservative”的具有最高的精确度但速度最慢,适合于敏感的模拟电路仿 真。
如果读者需要比默认“conservative”更高的精度,可以由读者自己 “Option”选项中将容 差参数(reltol)设置为更小的数值。“Option”在稍后的章节中有介绍。上述三种系统默认 的精度设置实际上包含容差(reltol),相对参考(relref),积分方式(integration method), 最大时间步长(maxstep),截断误差比(lteratio)等参数,具体设定如表 2.1 所示。在仿真 日志文件中,都可以看到相应的参数设置情况。具体各个子参数的含义和设置也将在后续高 级设置章节中介绍。
表 2.1 三种仿真精度下的参数设置情况
图 2.2 瞬时仿真参数设置界面
2.2.2 高级参数设置
点击图 2.1 界面中的“options”,可仿真控制参数进行设置。 ? “Options”: “Spectre”仿真软件允许读者能够自定制仿真控制参数,包括时间步进,精
确度,积分方式 等高级设置。图 2.2 是参数设置窗口。仿真器的“Options”控制参数包括: “SIMULATION INTERVAL PARAMETERS”
。 。
“start”:仿真开始时刻。仿真器默认开始时刻为 0s。
“outputstart”:输出波形时刻。如果用户仿真时间很长,而只需观察部分时间段内 系统瞬态特性,可以通过该参数控制数据输出。
24
“TIME STEP PARAMETERS”
。 “step”:最小的时间步进。默认值为 0.001×(终止时刻-起始时刻) 。 “maxstep”:最大时间步进,根据“errpreset”中精度设定取得默认值。 “INITIAL CONDITION PARAMETERS”
用户可以利用设置节点状态的初始化语句(ic statement)或电容、电感等模型内的初始条件 参数 (ic parameters) 两种方式为瞬态分析设置初始条件。如果没有特殊设置,仿真器将采 用直流分析(DC analysis)的结果作为初始条件。 。 “ic”:设定通过何种方式设置初始条件。
? ic=dc:忽略任何设置的初始条件,直接采用直流分析的结果。 ? ic=node:忽略电容、电感等器件上设置的初始条件,而通过“ic statement”设置的初始条件将被采用。 ? ic=dev:忽略由“ic statement”设置的初始条件,电容、电感上的初
始条件将被采用。 ? ic=all :两种初始条件都将被采用。当设置条件发生冲突时,“ic parameter”比“ic statement”的优先级更高。
一旦用户指定了初始条件,“Spectre”仿真器将通过一次直流分析来计算电路的实际初始状 态。在这个过程中,“Spectre”根据初始条件在相应的节点上施加一个电压源和电阻串联。当读 者通过“ic statement”来描述电路初始状态时,有可能存在不一致性问题。比如说在没有电容连 接到地的节点上设置电压或者是在没有电感连接的支路上设置初始电流。如果设置时发生不一致 问题,那么在计算时将发生电路状态突变。也就是说,电路将从实际的初始条件突变到设置的条 件。所以,用读者自定义初始条件时,应当避免上述情况,否则仿真器将会产生收敛性问题。
在上文的说明中,提到了初始化语句“ic statement”和初始化参数“ic parameter”的概念。 “ ic parameter ”的设置很简单,如果用户打开一个电容的参数设置窗口可以看到“ Initial condition”。在其中填写初始的电容电压即可。注意,这里只能填写电压值。而如果是电感的初 始条件,需要设置的是电流值。在表 2.2 中,给出了有关器件端口的指代符号。
图 2.3 电容的参数设置
“ic statement”的格式是:ic signalName=value .举例如下:
ic Voff=0 X3.7=2.5 M1:int_d=3.5 L1:1=1u
上句表示的是:在节点 Voff 上的初始电压是 0V;在子电路 X3 的第 7 号节点上电压值为
2.5V;在 MOS 管 M1 的漏端电压是 3.5V;在电感 L1 上流过的初始电流是 1μA。
25