Cadence IC Design - 图文

更新时间:2024-01-18 07:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1章 Cadence IC 5.1.41 的基本设置

本章是 Cadence IC 5.1.41 是设计 的简明入门教程,目的是让读者在刚接触该软件的时候 对它的基本功能有一个总体的了解。本章主要内容如下:[1] 启动 Cadence IC 前的准备;[2] Command Interpreter Window (CIW, 命令行窗口);[3] Library Manager 设计库管理器;[4] Virtuoso? Schematic Editor 电路图编辑器简介;[5] Virtuoso? Analog Design Environment (ADE) 简 介。

1.1 启动前的准备

要在 Unix/Linux 使用 Cadence IC 5.1.41 工具应当保证以下的条件:

[1] 保证 Cadence IC 5.1.41 已经由管理员正确地安装在电脑上;并且软件授权密钥已经设置

完成。 [2] 在 Shell 中设置了正确的环境变量。 必须将 Cadence IC 的安装路径加入 Shell 环境变量,Cadence IC 5.1.41 才能正常运行。以 Cshell 为例,Cadence IC 被安装在了/tools/cadence/ic5141,则需要在~/.cshrc 文件中加入这样的路径 配置语句:

setenv ic50 /tools/cadence/ic5141

set LD_LIBRARY_PATH=($ic50/tools/lib $ic50/tools/dfII/lib $ic50/tools/tcltk/ $LD_LIBRARY_PATH)

set path = ($ic50/tools/bin $ic50/tools/dfII/bin $ic50/tools/dracula/bin $path)

tcl8.0/lib

也可以把路 径的设置写 在一个单独 的配置文件 中。例如, 将上面的配 置写在配置 文件 /env/cadence_5141 中,则可以在~/.cshrc 中加入一行

source /env/cadence_5141 1.1.1

启动配置文件:.cdsinit

.cdsinit 文件是在 Cadence IC 中启动时运行的 SKILL 脚本文件。该文件配置了很多 Cadence IC 5.1.41 的环境配置,包括使用的文本编辑器、热键设置、仿真器的默认配置等。如果 Cadence IC 没有找到.cdsinit 文件,软件中的快捷键等功能都不能适用。

Cadence IC 搜索.cdsinit 文件时,首先会搜索程序的启动路径,然后搜索的是用户的主目录。 例如:在~/project 目录下运行 icfb&,则首先 Cadence IC 会尝试载入~/project/.cdsinit。如果这个 文件不存在则会尝试载入~/.cdsinit。

默认配置文件路径:

/tools/dfII/samples/local/cdsinit

1.1.2 其他配置文件 如果需要,在程序的运行目录建立其他的启动配置文件,如.cdsenv、.cdsplotinit、display.drf 等。 这些配置文件分别有自己的用途:

.cdsenv: 用于设置启动时的环境变量;

.cdsplotinit: Cadence IC 打印和输出图型的设置;

display.drf: 版图编辑器中显示颜色等的配置; 这些配置文件的搜索路径首先是程序启动目录。其次是用户的主目录。这些配置文件的样本位置 如下:

.cdsenv: /tools/dfII/samples/.cdsenv

.cdsplotint: /tools/plot/samples/cdsplotinit.sample display.drf:

/share/cdssetup/dfII/default.drf

设置设计库配置文件:cds.lib

设计库(library)配置文件放置在 Cadence IC 程序的运行路径下,比如要在~/project 目录下运行 Cadence IC,则需要在该目录下建立 cds.lib 文件。这个文件设置的是 Cadence IC 中的设计库的路 径。

常用命令格式:

? DEFINE

格式:DEFINE <库名> <库路径>

? ? INCLUDE

格式:INCLUDE <另外一个 cds.lib 的全路径> #

行注释符,在行首加入则该行无效。

如果 cds.lib 文件是空文件,则 Cadence IC 的设计库中就会是空的。为了添加基本元 件库,需要一些基本元件。可以在 cds.lib 文件中加入一行:

INCLUDE /share/cdssetup/cds.lib

1.2 命令行窗口(Command Interpreter Window,CIW)

完成上述设置之后,就可以在命令行下运行 Cadence IC5.1.41 软件:

icfb &

Cadence IC 的命令行窗口(又称为命令解释器,Command Interpreter Window, CIW)就会出现:

图 1.1 命令行窗口(CIW)

该窗口包括几个部分:菜单栏、输出窗口、命令行、鼠标命令、提示

1.2.1 命令行窗口(CIW)菜单

CIW 菜单展开包含以下选项,下面将介绍其中比较重要的一些选项:

2

图 1.2 CIW 菜单展开内容

? File头

New

建立新的设计库(Design Library)或者设计的 CellView; File头import

导入,可以导入的信息包括 gds 版图、电路图、cdl 网表、模型库甚至 verilog 代码等。 File头Open

打开“Cell”的“View”,根据不同的“View”的类型,Cadence 将选择适当的编辑器:例如, 如果一个“View”是一个符号(symbol)则 Cadence 将选择 Virtuoso Symbol Editor 打开; 如 果是一个电路图(schematic)则 Cadence 会选择 Virtuoso Schematic Editor 来打开;如果是一 个版图(layout)则会用 Virtuoso Layout Editor 打开;如果是 Verilog 或 Verilog A 代码则会用文 本编辑器打开。 File头Export

导出文件。同样,可以将 Cadence 设计库导出成各种文件类型。 File头Exit 退出 icfb 工作环境。

? ? ? ?

3

?

Tools头Library Manager

很实用的图形化设计库浏览器,界面如图 1.3 所示。后面将详细介绍其中的内容。

图 1.3 “Library Manager”界面

? Tools头Library Path Editor

图 1.4“Library Path Editor”界面

这是一个用来修改设计库配置文件(cds.lib)的图形化界面,如图 1.4 所示。在这个界面中可以直观

地对 cds.lib 文件进行修改和添加。 ? Tools头Verilog Integration

里面有 2 个选项分别是 Verilog-XL 和 NC-Verilog,是两种 Verilog 仿真环境,用于对混合信 号电路和数字电路的仿真。 ? Tools头Analog Environment

该子菜单用于模拟电路仿真,里面的选项包括: Simulation: 打开 Virtuoso? Analog Design Environment (ADE)

4

图 1.5 “Analog Environment”界面

Calculator:用于对仿真结果进行进一步计算的计算器工具 Result Browser: 仿真结果浏览器 Waveform: 仿真结果绘图程序。这些工具的使用将在各个章节中介绍。 ?

Tools头Technology File Manager

用于管理设计库和模型库之间的对应关系设置。

图 1.6“Technology File Manager”界面

? Options

该菜单内的选项主要用于配置 icfb 的环境并保存/载入需要的配置。该菜单中还提供了用于 管理产品秘钥的工具。

1.2.2 CIW 中的其他部分

输出窗口,如图 1.7 所示。主要显示一些操作的输出信息和提示,包括一些状态信息和警告信息、 错误提示。这些提示有助于分析操作中的问题。 命令行:在这一栏中可以运行 SKILL 语言的命令,利用命令可以对界面上的任何项目进行控制, 从电路编辑到仿真过程,都可以用 SKILL 语言控制。

图 1.7 CIW 中的输出窗口与命令行

CIW 中的输出窗口和命令行和在一起实际上就是一个命令界面。命令语言是 SKILL 语言。图形 界面只是在命令行基础上的扩展。在图形界面上的任何操作或者快捷键都是通过命令行来最终实 现的。因而理论上用命令行可以完成一切操作,当然能实际应用中这样做并不方便。 命令行的好处是可以采用语言控制复杂的操作,并且可以进行二次开发,将命令与界面整合起来。

5

这样就提高了整个软件的可扩展性和易用性,这也是 Cadence IC 这个软件成功的重要原因。鼠 标命令如图 1.8 所示。这一栏显示的是鼠标单击左、中、右键分别会执行的 SKILL 命令。

图 1.8 鼠标命令窗口

提示栏:这一栏以‖>‖起头,如图 1.9 所示,显示的是当前正在 Cadence IC 程序的功能提示。

图 1.9 提示栏窗口

以下根据一般设计过程中的使用顺序,对一些常用工具进行详细介绍。

1.3 Library Manager 设计库管理器

首先介绍的是设计库管理器(Library Manager)。图 1.3 中的窗口是设计库管理器的窗口,如果打 开平时隐藏的分类(Category)面板和文件(Files)面板则显示界面如图 1.10 所示。该界面分为如 下几部分:菜单栏、面板显示选项栏、设计库浏览面板和信息,以下将一一介绍。

图 1.1 设计库管理器的分类(Category)面板和文件(Files)面板

1.3.1 设计库浏览面板

设计库浏览面板如图 1.10 所示。面板处于设计库浏览器的中部,从左到右共分有 4 栏,分

别为设计库(Library)、类别(Category)、单元(Cell)、显示(View)栏。右面的 3 栏中每一栏 中显示的都是该栏的左邻栏中选定的项目的展开。例如:图中的分类栏中显示的就是设计库 “analogLib”中的内容,而单元栏中显示的就是分类“Parasitics”包含的内容,同样“View”栏 中列出的就是单元“pcapacitor”所包含的内容。

另外,还可以打开“Show Files”选项,显示各个单元和“View”所对应的文件。也就是图 中面板管理器右下角的两栏,标题是“Files in Library”和“Files in Cell”。这里解释一下各个层 次的含义,以便理解这些栏的用途。

? 设计库是在 cds.lib 文件中定义的。一个设计库中可以含有多个单元。合理的设置设计库可以

提高文件系统中的设计的可管理性。例如可以将每个项目中的电路放到各自的设计库中。这

6

样在今后的数据备份、导入导出中都回节省很大精力。 ? ?

单元则是一个电路的基础单位,一个单元就相当于电路的一个模块,这个模块即可以是低层 模块,表示部分电路;也可以是顶层模块,表示整个电路。

同一个单元在设计中需要不同的表示方法,例如一个模拟电路模块,在设计内部结构的时候 可能需要将它表示为电路图;而在引用该模块的时候则需要将其表示为一个器件符号;在绘 制版图的时候可能需要将该模块表示为版图的一个部分。所以一个单元就必须有多种表示方 式,称为“Views”。上面举例的模块就可以有电路图(schematic)、器件符号(symbol)、版 图(layout)三个(View)。在设计中应当保证同一个“Cell”的各个“View”是等效的。 分类是在设计库和单元之间人为增加的一个虚拟层次,当一个设计库的规模比较大的时候, 可以用分类的方式理清设计库中单元的组织。在小规模的设计中分析往往不必要,这时可以 在面板显示选项栏取消显示分类(Show Category)选项,分类就会被跳过。

?

在该面板中,用鼠标右键点击设计库、单元或者“View”都会有弹出菜单出现。其中包含了很 多常用命令,比如打开、删除、移动、复制、属性等。这些操作都有完整的图形界面向导,这里 就不再详细介绍。

1.3.2 设计库浏览器菜单

菜单中有很多命令和设计库管理器面板的右键菜单中的命令是相同的,这里主要介绍其中只 有菜单中才有的命令 ? Files 菜单:

? Files头New头Library/Cell View/Category: 新建设计库/单元 View/分类 ? Files头Save Defaults/Load Defaults: 将设计库浏览器设置保存在.cdsenv 文件中 ? Files头Open Shell Window: 打开 Shell 命令行窗口,在管理设计库的时候经常要

用 到一些文件操作,这时可以打开 Shell 窗口,在命令行中进行文件操作。

? Tools 菜单

? Tools头Copy Wizard: 高级的设计拷贝向导。这个向导支持多个模式,可以在界面 的第一行的复选框选择。 简单模式(Simple),如图 1.11 所示。在这个模式上面的“Add To Category”栏可 以指定拷贝过去的单元或设计库被自动加入某个分类。

“Destination Library”下拉菜单指定了拷贝的目标设计库。 图中对话框中列出的是所有要拷贝的文件和单元的列表。在该列表中的每一行都可 以通过选择最左面的绿色园点禁用该项的拷贝操作,再次点击将重新启用该文件的 拷贝操作。下面的三个按钮用于快速选择需要的设计单元。 设置完成后点击 OK 进行拷贝操作。

7

图 1.2 简单模式拷贝 层次结构拷贝(Hierarchical)和

精确组织结构拷贝(Exact Hierarchical)模式如图 1.12 所 示。

图 1.3 组织结构拷贝和精确组织结构拷贝 通过指定顶层单元,这个命

令可以将一个一个单元连同其中直接或间接引用的所有单元 一起拷贝。不同的是,层

次结构拷贝时将包括这些单元中的所有“View”;而精确组织 结构拷贝中只有指定的“View”会被拷贝。

“Add to Category” 和 “Destination Library”选项的作用和简单拷贝中的作用相同。

根据“View” (By View)的拷贝,如图 1.13 所示。这种模式下,将按照指定的过滤(Filter) 选项拷贝某些设计单元。

8

图 1.13 根据“View”的拷贝

根据 configuration(By Configuration)的拷贝,如图 1.14 所示。这个模式下,将根据

config view 中的配置来选择需要拷贝的单元和 View。

图 1. 4 根据“configuration”的拷贝

? Tools头Rename Reference Library

命令窗口如图 1.15 所示。这个命令可以用于批量修改设计中的单元之间的引用, 例如图中演示的就是将设计库 SDIC_bandgap 中所有引用自 analogLib 中的单元改 为引用自设计库 tsmc35mm。

9

图 1.15 ―Rename Reference Library‖拷贝

图 1. 5 ―Delete by view‖窗口

? ?

Tools头Delete by view

命令窗口如图 1.16 所示。这个菜单命令提供了一个过滤器用于删除设计库中指定 的“View”。

Tools头Access Permission 命令窗口如图 1.17 所示,用来修改设计单元或者设计库的所有权和权限。

图 1.17 “Access Permission”窗口

? ? Tools头Catagories…

一些用来建立、修改、删除分类的命令 ? Tools头Library Paths

调用图 1.4 中的 Library Path Editor View: ? View头Filter:显示视图的过滤 ? View头Refresh: 刷新显示

Virtuoso? Schematic Editor 电路图编辑器简介

在电路设计的过程中,模拟电路的设计主要是依靠电路图编辑器(Schematic Editor)完成。电

路图编辑器可以通过在 CIW 或者设计库管理器中新建或者打开单元的电路图 (schematic“) View”

10

打开。其基本界面如图 1.18。下面介绍电路图编辑器的使用方法。

图 1.18 电路编辑器

1.4.1 电路编辑器界面简介

电路编辑器界面主要包括状态栏、菜单、工具栏、工作区、鼠标命令栏、提示栏组成。 ? ? ? ? ? 状态栏:如图,界面标题之下的第一行是状态栏,内容包括正在运行的命令、选定的器件数、 运行状态、仿真温度和仿真器类型。

菜单栏,工具栏:分别位于状态栏下方和屏幕的左边缘,里面的选项是电路设计中的命令。 工作区:就是图中黑色的部分,是实际用来绘制电路图的部分。 鼠标命令:提示鼠标的左中右键分别对应的命令。 提示:显示的是当前命令的提示信息。

常用命令

在一般电路设计中常用的命令一般有以下几个: ? 添加器件: ? ? 调用方法: 快捷键“i”; 菜单 Add头Instance; 按钮 界面:

图 1.19 “Add Instance”窗口

在 Library 和 Cell 栏输入需要引用的单元,也可以点击 Browse 按钮,打开一个设计

库浏览器,从中选择希望引用的器件或者单元,界面如图 1.19 所示。 ? 输入器件类型之后,窗口中将会出现一些器件的初始参数设置。可以在其中直接输 入需要的器件参数,其界面如图 1.20 所示。

11

图 1.20 输入器件的参数设定

? ? ?

这时将指针指向电路编辑器的工作区将会有器件的符号跟随指针移动。 点击按钮 Rotate、Sideways、Upside Down 则在工作区中显示的器件符号会相应旋 转/水平反转/垂直反转。

这时在工作区单击,器件最终位置将被确定,符号成为一个器件的实例。

在工作区单击之前,如果在“Array“栏的“Rows”、“Columns”文本框中填入大 于 1 的数字则最后加入的将是一个指定器件的阵列。阵列中每个实例的参数都是对话框 中的指定值。注意:添加时只能添加器件的符号视图(Symbol View)。

? 添加连接线 ? 调用方法:

快捷键:w/W 分别是细线/粗线;

菜单:细线、粗线分别是 Add头Wire (Narrow) 和 Add头Wire (Wide);

按钮:细线、粗线分别是? 和

调用命令后,在工作区单击鼠标左键确定连线的第一个端点,然后拖动鼠标,将看 到连线的走线方式。此时点击右键,可以在不同的走线方式之间切换;再次点击鼠 标左键,确定第二个端点,连接线被确定。 在确定第二个端点之前,如果按 F3 键会调出详细设置如图 1.21 所示的对话框。其 中可以设置走线方式、锁定角度、线宽、颜色、线型这几个选项。注意细线和粗线 的区别是细线的线宽为 0,而粗线为 0.0625。

12

图 1.21 连接线的设定

? 添加端口

? 调用方法: 快捷键:p 表示 pin; 菜单:Add头Pin; 按钮: 调用该命令

后,将显示如图 1.22 所示的对话框。根据对话框中的提示,可以选择 端口的名称、类型、是否总线、用途、放置方法。

图 1.22 端口的设定

? 添加标签(Label) ? ?

调用方法: 快捷键:l;菜单:Add头Label;按钮:

调用命令之后,显示如图 1.23 所示的选项对话框。输入标签名字之后,如果将鼠

标指向电路图,则会出现随鼠标移动的标签;鼠标点击后标签位置被确定。如果标 签被放置在连线上,则该连线会被用标签的名字命名。

图 1.23 标签的设定

? 移动、拷贝器件

? 这里有 3 种类似的命令: [1]拷贝(Copy),将选定部分复制;[2]拖动(Stretch),移

动选定部分,该部分与电路 其他部分保持连接;[3]移动(Move),移动选定部分,该部分与其余部分不保持连

13

? 接。

调用命令: 快捷键:c/m/M 分别表示拷贝/拖动/移动

菜单:Edit头Copy / Stretch / Move 分别是拷贝/拖动/移动 按钮:拷贝

;拖动

? 操作三个命令基本相同: 首先选定需要操作的电路部分,包括器件、连线、标签、

端口等;然后调用命令; 这时点击鼠标左键确定基准点;这时移动鼠标发现选定部分随鼠标指针移动,移动 量相当于基准点到现在指针所在点之间的距离;再次点击鼠标左键放下选定的电路 或者按 ESC 键取消。 ? 在确定基准点之后,拖动的过程中,可以点击 F3 键选择详细属性,其界面如图 1.24

所示。

图 1.24 拷贝、拖动、移动功能的属性

? ? 在 3 个命令中都有旋转、镜像、锁定移动方向的选项;另外,在拷贝的 Array 选项

中可以设定为将选定部分复制为阵列形式;而在拖动的选项中可以选择选定部分与 其它部分的连接线的走线方式。 注意:可以用鼠标在工作区框选电路的一部分;按住 Shift 键框选表示追加部分; 按住 Ctrl 键框选表示排除部分;可在同一个 icfb 中打开的不同电路图之间使用拷 贝和移动命令;拖动命令只能在当前电路中进行。 删除器件 ? 调用方式:键盘:del 键;菜单:Edit头Delete ? 选择电路的一部分后调用删除命令,选定部分将被删除 修改器件属性 ? 调用方法: 键盘:q 键; 菜单:Edit头Properties头Objects…;按钮:

选定电路的一部分,然后调用该命令,则会出现属性对话框,如图 1.25 所示。

?

14

图 1. 6 修改器件属性

?

在 Apply To(应用于)栏的第一个下拉菜单中可以选择设置应用范围,是只修改当前

器件(only current)还是应用于所有选定器件(all selected);第二个下拉菜单可以选定 需要修改的元素类型,是设置器件实例(instance)还是连接线(wire segment) ? 下面根据元素的属性有不同的选项。按需要进行修改即可。 放大、缩小、适合屏幕

键盘:[键、]键、f 键分别表示缩小、放大、适合屏幕 菜单:Window头Zoom头Zoom out by 2 / Zoom in by 2 缩小、放大

Window头Fit 适合屏幕 按钮:?

分别是缩小、放大

? 下降层次和回退 可以通过这几个命令在相互引用的母、子模块之间切换 ? 这里有 3 个命令 下降编辑,用编辑模式进入一个子模块(如果没有足够的权

限会自动改为只读 模式);

下降只读,用只读模式进入一个子模块; 回退,如果下降到了子模块中,可以用这个命令回到上一层。 ? 调用:

键盘:E/e/Ctrl+E 分别是编辑、只读、回退 菜单:Design头hierachy头Descend Edit / Descend Read / Return 分别是编辑/只

读/回退 保存 ? 有几种保存的方式:保存(Save)、检查完整性并保存(Check & Save)、另存(Save As) ? 调用方法

键盘:S / X / Ctrl+s 键分别是保存、检查并保存、另存

菜单:Design头Save / Check and Save / Save As 分别是保存、检查保存、另存 按钮: 分别是保存、检查并保存 注意:电路仿真中经常依靠电路图编辑器的检查功能查找一些明显的错误,所以一般应 该使用检查并保存选项,而不要强行保存。

? ?

撤销和重做(只支持最近一次操作的撤销和重做) 键盘:u / U 键分别是撤销和重做

15

菜单:Edit头Undo / Redo 分别是撤销和重做 按钮:

分别是撤销和重做命令

1.4.3 常用标准器件

在 Cadence IC 软件中自带有一些标准的器件。这些器件在电路设计中经常用到,这些器件 都存放在“analogLib“中。如果找不到这个“Libaray“,则应该按前面 1.1.5 节最后介绍的方法 加入这个库。

? gnd

在电路中表示 0 电位,和它相连的线线名为 gnd,没有设置参数。 ?

vdd

和它相连的线线名为 vdd。这个器件只用来标示等电位,而不是电源。 ?

vdc/idc

? 直流电压/电流源,用于为电路提供直流电压/电流。同时还可以提供交流电流,在 AC 分析中使用。 vpulse

? 时变电流源,在 DC 分析中可以输出固定的 DC 电压,AC 分析中可以输出固定的 AC 电压,在瞬态分析中可以生成不同占空比的方波、三角波、梯形波、锯齿波。 nmos4 / pmos4 / pnp 通用 4 端口 NMOS 管 / PMOS 管 / PNP 三极管

?

注意,在模型名称(Model Name)一栏需要根据不同的工艺库(Model Library)中的定义来 指定。

比如:在某个模型中将 NMOS 模型定名为 nvn,PMOS 管模型定名为 nvp,PNP 三极管 则为 pnp5,则在 nmos4 器件实例的 Model Name 栏应当填上 nvn、pmos4 填 nvp、pnp 填 pnp5,否则电路将不能正确进行仿真。 res / cap / ind

这三个器件分别是电阻、电容、电感。如果进行简单仿真,这些器件参数设置中不需要 指定模型名称,这是这些器件将表现为理想器件。如果需要根据工艺详细仿真,则可以

16

在器件参数设置中,根据工艺模型库中的电阻、电容、电感的模型定义这些器件。

Virtuoso? Analog Design Environment (ADE) 简介

ADE 是 Cadence IC 的图形化仿真环境。可以用如下方式打开: ? 可以在 CIW 窗口中选择菜单 Tools头Analog Environment头Simulation,这样打开的 ADE

窗口中没有指定进行仿真的电路。 ? 或者在电路编辑器中选择菜单 Tools头Analog Environment,这是打开的 ADE 窗口中已 经设置为仿真调用 ADE 的电路图 在介绍仿真的过程之前,先介绍一下 ADE 的界面。

ADE 基本界面 图 1.26 是 ADE 的基本界面。窗口中的主要部分已经在图中标出。

图 1.26 ADE 基本界面

1.5.2 使用 ADE 进行仿真的基本流程

1.选择仿真的电路 如果是从 CIW 窗口中打开的仿真环境,则需要设置仿真的电路。这时可以:

?

在菜单中选择:Setup头Design

? 或在图形界面中点击按钮: 选择之后弹出如图 1.26 所示窗口,在其中可以设置需要仿真的电路图在设计库中的路径。

17

图 1. 7 选择需要仿真的电路

2. 设置工艺模型

各种工艺制造的继承器件模型参数各有不同。为了使设计和工艺更加匹配,需要使用由代工

厂提供的模型库。对默认使用的 spectre 仿真器来说,应当使用.scs 模型库文件。为了配置模 型库,可以在菜单中选择 Setup头Model Librarie,然后有如图 1.28 所示窗口出现。

图 1. 8 工艺库文件设置

在这个窗口中可以在“Model Library File“栏输入需要使用的模型库文件名,在 Section 栏 输入该模型文件中需要的段(Section)。 如果模型库文件名路径比较长,可以点击右下角的“Browse“按钮。打开 Unix 文件浏览器 查找需要的模型文件。文件浏览器的使用方法就不再介绍了。

图 1. 9 工艺库文件的选择 在文件浏览器中选定需要的文

件之后点击 ok 按钮,文件的路径就会自动填在 Model

18

Library File 栏,这时点击 Add 按钮,这个库文件就被加入到中间的列表中。这时,既可以 继续添加新的模型库文件,也可以在模型库文件列表中选择一个或几个对其做禁用、启用、 修改或删除操作。

3. 设置变量

由于电路中作任何改变之后都需要保存并检查完整性,所以在对电路进行仿真时,经常在电 路中定义一些变量作为器件的参数。例如可以将一个 MOS 管的宽度定义为 w=W1,则 W1 就成为一个设计变量。这些设计变量在仿真中都需要赋值,否则仿真不能进行。 一般设置方法是:在菜单上选择“Variables头Copy from Cell View“则电路图中的设计变量 名都回被截取进 ADE 中,并在 ADE 窗口中的变量栏中列出。 这时点击 Variables头Edit 或在 ADE 界面中双击任何一个变量或点击按钮,图 1.30 所示 的窗口就会出现。在该窗口中可以完成添加、修改、删除、从设计中截取变量列表等工作。

图 1. 10 仿真变量设置

4. 设置分析类型

根据不同的需要,可以对电路进行不同类型的分析。常用的有 DC 分析、AC 分析、瞬态 (Transient)分析、噪声分析、零极点分析。其中又以前三种最为常用。

设置仿真的时候,可以点击菜单 Analyze头Choose 或按钮设置 选择菜单就会打开。

,如 1.31 图所示的仿真

图 1. 11 仿真设置选择窗口 选定需要的仿真类型后,该仿真

的基本设置就会显示在对话框中。如果需要修改详细的选项 还可以点击右下角的 Options 按钮。另外,左下角的 Enable 选项控制一个仿真是否被启用。

19

5. 设置输出

输出控制的是仿真结束后需要用图线或者数值体现出来的结果。主要有 2 种方法进行设置:

? 在菜单中选择“Output头To be ploted头Select on the Schematic“,电路图窗口就会出现。

在电路图中选择连线会在输出中添加该线的电压; 选择一个器件的端口则会添加这个端口的电流作为输出; 直接选择一个器件则会把该器件的所有端口电流都加入输出 也可以手动添加输出,在菜单中选择 Output头Edit 或按钮可以打开如下窗口。

?

图 1. 12 输出端的设置 在该窗口中可以添加需要的输出的

表达式。如果表达式比较复杂,还可以点击 Calculator 栏的 open 按钮,打开 Calculator(后面还会详细介绍使用方法),在其中编辑好表达式后, 在上图窗口中点击 Calculator 栏的 Get Expression 按钮,表达式就会被截取到 Expression 栏。

6. 仿真过程

所有设置都完成后,点击菜单 Simulation头Netlist & Run 或者点击按钮如果电路 没有修改,也可以直接选择 Simulation头Run 或者按钮

。2 种

方法都可以开始仿真。

在仿真过程中,如果需要可以点击菜单 Simulation头Stop 中断仿真。 如果没有需要的输出结果,可以在输出窗口和 CIW 窗口中看输出信息,分析错误类型。 如果一切正常将有绘图窗口弹出。如果希望重新出图,可以点击菜单“Result头Plot

Outputs“或者按钮,将出现如图 1.33 所示的界面。

20

图 1. 13 仿真结果显示界面

7. 其它设置

?

右下角有一个下拉菜单可以改变出图方式:是否覆盖上次的图像、是否使用新的字窗口 输出、是否用新窗口输出。 ? 菜单的 Design头Temperature 可以用来设置仿真的环境温度。 8. 保存和导入仿真状态

?

点击菜单 Session头Save State 可以保存当前的仿真配置。对话框如下,可以选择具体需 要保存的信息。保存的状态被存放在~/.artist_states///spectre 目 录下。

图 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

表 2.2 器件的端口定义

由于篇幅有限,只能对初始条件设置做一些简单的介绍。可以参考 cadence 文档的“Spectre simulator user Guide 头 7. Control Statement”做进一步的了解。

。 “skipdc”:选择跳过直流分析。在没有直流分析的情况下,电路的初始解将采用通

解,或是从由“readic”定义的文件中读取初始条件。如果“readic”没有定义,那 么将从“ic statement”中获取初始条件。不论是否跳过直流分析,器件上的初始条 件肯定都会被采用。如果一个节点没有被赋予初始条件,将自动被仿真器设置为 0。 该参数同样也会引起仿真器收敛性问题。推荐不使用该参数。具体选择项可详见 “Spectre Circuit Simulator Reference头3. Analysis Statements” 。 “readic”:从文件中读取初始条件。

“CONVERGENCE PARAMETERS”

当电路在仿真时存在无限快的响应速度(例如一个电路节点不存在任何电容),“Spectre”仿

真器可能会产生收敛性问题。为了避免这种问题,需要设置“cmin”参数给该节点设置一个合理 的对地电容值。

。 “readns”:从文件中读取电路瞬态仿真的初始估计解。 。 “cmin”:设定每个节点对地的最小电容。 当对一个电路进行多次仿真时,建议使用“write”和“readns”参数。并且将两者的文件名 命名相同。这将使直流分析的收敛的速度加快。

“STATE FILE PARAMETERS” (从?界面)

状态文件(State File)主要有两个用处:

A、 将保存下来的状态文件用于后续的仿真分析中。比如在一次瞬态分析中,保存下终

止时刻的信息,在下一次瞬态分析中,能够以该时刻作为起始点继续做后续时间端 的分析。

B、 用户能够利用状态文件自动完成初始条件的更新。

读者能够利用仿真器将一次分析的初始时刻工作点或者是终止时刻工作点生成状态文件。当 然,用户也能手动编写一个状态文件。在“Spectre”仿真器中,可以设置三个有关“State File” 的参数,如图 2.4 所示。

26

图 2.4 “State File Parameter”的设定

。 。

“write”:将瞬态分析的初始状态解写到指定的文件中去。 “writefinal”:将瞬态分析的最终解写到指定文件中去。 “ckptperiod”:在指定的周期去作周期性的分析。

图 2.5“Spectre.ic”文件例

图 2.6 “Spectre.fc”文件例

在图 2.5 和 2.6 中分别给出了“Spectre.ic”和“Spectre.fc”文件。这两个文件的目录是

27

~/simulation/cell name/spectre/schematic/netlist。路径中“cell name”是用户仿真的电路单元名。 “Spectre.ic”中记录的初始时刻状态值。“V0:p”和“V3:p”表示两个电压源的正端电压值,“VIN”, “VOUT”,“vdd!”表示电路中各个节点电压值。“Spectre.fc”记录终止时刻值,文件中的字符 和数字的含义和“Spectre.ic”中相同。

下面的例子解释了状态文件的格式。注意:这里的例子是以命令行形式给出的,用户在使用 图形界面是只需在相应的参数里设置即可。

altTemp alter param=temp value=0

Drift dc param=temp start=0 stop=50.0 step=1 readns=\

XferVsTemp xf param=temp start=0 stop=50 step=1 \\ probe=Rload freq=1kHz readns=\

第一行命令表明首先做了一次在温度 T=0 情况下的直流分析(DC Analysis)。用户需要把该 次分析的结果保存在状态文件“ua741.dc0”中。

然后做温度从 0 到 50 度的扫描。 第三次做传输函数分析(Transfer Function Analysis)时需要将温度重新设置为 0。如果不使 用“State File”,那么由于温度发生了变化,将导致重新计算直流工作点。如果系统较大,仿真 速度受到很大限制。可是如果直接采用保存下来的“State File”,“Spectre”可以直接利用里面保 存的在温度 T=0 状态下的直流解来计算传输函数。即便是电路有一定程度上的改变,仿真速度 也会比从头开始计算要快得多。

“INTEGRATION METHOD PARAMETERS”

(从何界面?)

该参数用于设计人员根据仿真速度和仿真精确度选择合适的积分方式。“Spectre”仿真器提 供 3 种不同的积分方式:“backward-Euler”,“Trapezoidal”,“The second-order Gear”。根据这 3 种方式一共组合出 6 中模式,分别为“euler”,“traponly”,“trap”,“gear2only”,“gear2”,“trapgear2”。 表 2.2 表示了各种积分方式和模式之间的对应关系。

表 2.3 各种积分方式和模式之间的对应关系

如果用户需要高精度仿真,可以选择“trapezoidal”积分方式。但是,这种积分方式在容差 (error tolerances)很大的时候并不是一种很好的选择。这是因为它对前一个时刻计算产生的误 差非常敏感。如果在容差很大而且要求速度较快的情况下,最好还是选择“Second-order Gear” 积分法。

“Second-order Gear”积分法比“backward-Euler”法更加精确。但两种方法都会过高估计系

28

统的稳定性。“Second-order Gear”积分法的这种误差效应要相对小一些。比如当用户需要仿真 一个高 Q 值的谐振器例如振荡器或滤波器时,使用“Second-order Gear”的结果会表现出阻尼振 荡,而“backward-Euler”则表现出更强的衰减。所以,在这种情况下,应该采用“trapezoidal” 积分法。

“ACCURACY PARAMETERS”

“relref”:相对收敛标准的参考,而默认值是从“errpreset”得到。包括如下几个选 项:

? ―relref = pointlocal‖,即,relref=局部点:这个设定用来定量比较每个节点的值

相对于待分析节点上当前数值的相对误差。 ? “relref = alllocal”,即,relref=局部所有点:定量比较过去的所有时间点的值

相对于最大节点值的相对误差。 ? “relref = sigglobal”,即,relref=所有信号点:定量比较每个电路上信号值相对

于电路中所有信号中的最大值的相对误差。 ? “relref = allgolbal”:同上,另外对每个节点最大悬浮电流值设定比较方程,此

时不能满足基尔霍夫电流方程。 “lteratio”:比率系数,用于计算 Newton 容差中的 LTE 容差。

“ANNOTATION PARAMETERS”

“states”:统计学分析。在实际芯片生产过程中,工艺的变化会影响到产品的性能。 而统计学分析则帮助设计师把握这种工艺和性能之间的关系。在设计时,如果采用 的器件模型带有统计分析参数,既是说这些模型中带有表征工艺误差的数据,就可 以进行统计学分析。这种分析的实质是对工艺参数设置不同的数值后多次仿真,就 可以找出设计对工艺的依赖程度。这种统计学分析也被称作蒙特卡罗分析。 ◆ “annotate”:注释选项

“OUTPUT PARAMETERS”

“Spectre”仿真器一般情况下会把所有仿真数据都保存下来。但有时候并不需要所有的数据量。

“Spectre”允许用户选择保存需要的数据。当然,如果需要得到更精确的结果,也可以增大数据 输出量。可以如下几种方式来控制数据保存量:

。 “strobing”:在保存点之间设置一个时间间隔。虽然仿真器计算过这些数据,但是

并没有将其保存输出。 。 “skip time point”:用户能够选择让仿真器保存多少个点。 。 “compression”:将恒定信号的重复记录删除。 。 “outputstart”:设置仿真器从何时开始保存数据。 。 “Infotime”:允许用户保存某些自定义时刻的工作点数据。如果需要保存多个时刻

的工作点,填入时间矢量之间是以空格隔开。如果用户填入了某些非法数据, “Spectre”会在输出窗口中报错。如果仿真成功,点击“Results Print”头“Transient Operating Point”菜单,然后在电路图中选取一个器件,将会显示在指定时间点时刻 的工作数据。由于“OUTPUT PARAMETERS”参数一般不经常使用,因此详细内 容请参考“Spectre”的用户手册。

29

“NEWTON PARAMETERS”

。 。

―maxiters‖:在每个时间步最多进迭代多少次。

―restart‖:如果有任何条件发生变化,是否从最开始重新计算直流解。如果不重新计 算,将直接采用上一次的初始猜测。

“CAPTAB PARAMETERS” 。

“captab”: 电容列表参数,界面如图 2.7 所示。在完成一次“Spectre”仿真后, 用户能够得到有关电路负载电容的信息。在瞬态分析中,用户能够通过“infotimes” 参数来指定在某些时刻点保存电路中的电容信息。如果没有特殊指定,仿真器将默 认保存终止时刻的电容列表。如果点击该参数,会显示对该参数的细节设置。

图 2.7 电容列表参数

“timed”:是否将使用“infotimes”参数来保存电容列表。 “threshold”:需要保存的电容的最小值。电路中电容值小于该阈值的电容就不会出 现在输出文件中。默认值为 0.0。 ◆ “detail”:可以被设置为节点电容(node),节点对地电容(nodetoground),nodetonode 三个选项。

。 “sort”:排序方式。 图 2.8 给出了一个电容列表的例子。该列表中记录的是仿真终止时刻的信息。

图 2.8 电容列表例

该电容列表所描述的电路如图 2.9 所示:其中“net19”节点是指“M0”MOS 管的栅端。“Vdd!”

表示的节点电容是 MOS 管“M1”的源端。“Vout”节点为图中所示的输出端。由于 MOS 管的 各端口寄生电容和该 MOS 的工作状态有端口电压有关,所以,电容列表中包含了固定电容(fixed) 和可变电容(variable)两项。总电容(sum)为两者的加和。

30

图 2.9 电容列表(图 2.8)所描述的电路

2.3 常用于瞬态仿真的激励信号源及其参数设置

在本章的功能介绍部分曾经提到瞬态仿真时需要读者自行设计多种电路工作环境,多种工作

状态的验证过程。这里介绍几种常用于瞬态仿真的激励源。包括脉冲信号、分段信号、指数信号、 正弦信号等。这些激励源都可以在“analogLib”中找到。这些信号源都是以电压形式给出的,也 可使用电流形式的激励源。

脉冲信号“vpulse”

“vpulse”信号用于产生周期性方波。在模拟电路设计中,可用于做为 MOS 管开关的控制信号, 也可用来表示电源上电或者电源跳变过程等。打开“vpulse”的参数列表如图 2.10 所示。该参数 列表包括两部分“Property”和“CDF Parameter”。其中“Property”部分在从“analogLib”中选 中信号源后由系统自动填写。值得注意的时,在“View Name”一栏中应当采用“symbol”。图 2.10 中“CDF Parameter”只截取了一部分有关瞬态仿真的参数设置。在表 2.4 中给出了主要参数 的名称,含义,实例和单位等信息。图 2.11 中给出了根据实例设置的周期方波仿真曲线。

31

图 2.10 脉冲信号“vpulse”的设定

表 2.4 “vpulse”的设定参数意义 参数 含义 Voltage 1 Voltage 2 Delay time Rise time Fall time Pulse width Period 起始电压 脉冲电压 延迟时间 上升时间 下降时间 脉冲宽度 周期时间 实例 单位 500m 5 100μ 0 0 50μ 100μ V V s s s s s

32

图 2.11 表 2.4 设定的脉冲信号“vpulse”波形

分段信号“vpwl”

当用户需要自己定义线性分段波形是是可以利用“vpwl”信号源。它允许用户能够定义分段时刻

和该时刻的电压值。该信号源的设置参数和“vpulse”信号基本相同。在表 2.5 中给出了主要参 数的名称,含义,实例和单位。并且根据设计实例,在图 2.12 中给出了该信号源的仿真曲线。

表 2.5 分段信号““vpwl”的参数设定

参数

Number of pairs of points

Time 1 Voltage 1 Time 2 Voltage 2

Time 3 Voltage 3 Time 4 Voltage 4

含义

实例 4 0 2 250μ 2 500μ 5 1m 5

单位

转折点数目 第 1 个转折点时间 第 1 个转折点电压 第 2 个转折点时间 第 2 个转折点电压 第 3 个转折点时间 第 3 个转折点电压 第 4 个转折点时间 第 4 个转折点电压

s

V s V s V s V

33

图 2.12 信号源的仿真曲线

2.3.3“vexp”

指数信号在某些设计中也会用到。同样,这里给出了主要参数以及相应的仿真曲线。需要注意的 是,这里的“Damping factor”是以时间为单位给出的。表 2.7 给出了各参数和输出电压之间的换 算关系。其中“Dti”表示“Delay time i”,“Dfi”表示“Damping factor i”。

表 2.6

参数

Voltage 1

Voltage 2

Delay time 1

Damping factor 1

Delay time 2 Damping factor 2

含义

起始电压 峰值电压 上升(下降)延迟 上升(下降)时间常数 下降(上升)延迟 下降(上升)时间常数

实例 0 5 0 100μ 500μ 100μ

单位 V V s s s s

表 2.7

时间

0~Dt1 Dt1~Dt2 Dt2~Stop

电压值 V1

V1+(V2-V1)(1-exp(t-Dt1)/Df1)

V1+(V2-V1)(1-exp(t-Dt1)/Df1)(exp(t-t2)/Df2)

34

图 2.12

2.34“vsin”

正弦信号也是一种在瞬态仿真中常用的信号。在该信号的参数中,“Damping factor”的单位

是“1/s”。正弦信号也是在交流小信号分析(AC Analysis)中重要的激励源。用户需要区别的是 瞬态信号激励和交流信号激励不同的含义。

表 2.8

参数

Amplitude Frequency Delay time Damping factor

含义 振幅 振荡频率 延迟时间 阻尼因子

实例 3 10 0 1

单位 V Hz s 1/s

35

图 2.13

2.35“vsource”

“vsource”激励源是一种通用型电压源,可以用于完成上述所有激励源的功能。在下 图中“source type”菜单中选择所需要的激励源即可,同时按前述的方式填写各激励源的关 键参数。

36

图 2.14

2.4 瞬态仿真实例

采用最简单的 RC 充放电电路来完成一次瞬态仿真,该电路图如图 2.15 所示。电阻和电容

都采用“analogLib”中的理想电阻模型和理想电容模型。激励源是“vpluse”周期性方波。采用 “conservative”的精度。由于没有设置初始条件,仿真器会先执行直流分析,将其结果作为初始 解,仿真去结果如图 2.16 所示。

37

图 2.15

图 2.16

38

第 3 章 直流分析(DC Analysis)

3.1 功能基本介绍

直流分析是其他所有仿真的基础。在“Tran Analysis”、“AC Analysis”等分析的过程中,首 先就是先要计算直流工作点。在这里介绍的直流“DC Analysis”中,实际包括两个方面的分析: [1.]一个是直流工作点计算;[2.]另一个是直流特性扫描。

直流工作点计算例? 对于直流工作点分析,仿真器会计算各个节点的电压,各支路电流,包括 MOS 管的各个直 流参数,例如跨导(gm),阈值电压(Vth),工作区域(region)等。而在直流特性扫描中包含了 电路的温度(Temperature),设计变量(Design Variable),器件参数(Component Parameter),器 件模型参数(Model Parameter)等多个参数的特性仿真。

3.2 仿真参数设置

如果需要将直流工作点信息保存下来,在“DC Analysis”中确定“Save DC Operating Point”。如 果要绘制特性曲线,需要设置扫描变量和扫描范围。参数设置选项如图 3.1 所示。

图 3.1 “DC Analysis”参数设定

? ?

“Temperature”:温度扫描,观察电路直流工作点随温度飘移情况。 “Design Variable”:设计变量扫描,在设计电路时,设计师往往需要将某些设计参数 设置为变量,方便设计和修改。比如,可以将电源电压(VDD),MOS 的栅长(L)和 栅宽(W)设置为变量,使用变量扫描,观察电路在各种设计下的工作情况。 ? “Component parameter”:器件参数扫描,和“Design Variable”扫描比较类似。不过,

器件参数扫描不用预先将电路中某器件参数设置为变量(Variable)。 ? “Model Parameter”:如果用户能够对库文件模型进行修定,可以使用该参数扫描。但 是,由于库文件都是直接由生产工厂直接提供,所以,不推荐使用这项扫描。

39

在选定扫描参数后,用户需要进一步设置扫描范围(Sweep Range),扫描方式(Sweep Type) 等。

以点击扫描“Temperature”为例,如图 3.2 所示,可以看到可选参数包括扫描范围(Sweep Range)和扫描方式(Sweep Type),以及是否加入特殊点计算(Add Specific Points)。。

图 3.2 “Temperature”扫描设定

? ? “Sweep Range”:指定扫描范围,可以包括指定起始值(Start-Stop)或指定中点值

(Center-Span)两种方式。

“Sweep Type”:指定扫描方式。步进可以是线性的(Linear),也可以以对数方式 (Logarithmic)步进。如果采用“Linear”模式,用户需要通过步进大小(Step Size) 或是步进点数(Number of Steps)来控制仿真精度和仿真时间。而如果采用“Logarithmic” 模式,仿真器默认的是以 10 为底的对数。用户也需要通过每个数量级所需步进数(Points Per Decade)或总步进数(Number of Steps)来控制仿真精度和时间。当用户对输出模 式没有特殊要求时,可以采用系统默认设置(Automatic)。系统默认的设置是在当终值 与初值比小于 10 时,采用线性模式输出。而在该比例大于 10 时,采用对数模式输出。 三种模式的设置窗口见图 3.3。

图 3.3 “Temperature”扫描类型的设定

?

“Add Specific Points”:加入特殊点计算。在仿真过程中,用户可以指定某些点一定需 要计算,在该选项中添加即可。各点之间用空格隔开。

如果用户选择“Design Variable”或“Component Parameter”扫描,还需要设置扫描的变量 名(Variable Name)或器件名(Component Name)和该器件的参数名(Parameter Name)。图 3.4 是设定界面。在以后的设计实例部分,具体讲解操作过程。

40

图 3.4“Design Variable”设定

3.3 设计实例

以一个简单共源级放大器为例说明“DC Analysis”的仿真过程,电路如图 3.5 所示。直流仿真的

激励源使用普通的“analogLib”头“vdc”即可。。

设计变量扫描“Design Variable”

在图 3.5 中,将对 M0 的偏置电压由 3V 改变设置为变量“VBIAS”。点击“Design Variable” 头“Select Design Variable”后会弹出变量选择窗口图 3.6。由于电路中只设置了一个变量,所以 点击该变量后选择“OK”后,该变量名会出现在“Variable Name”中,再设置好“Sweep Range” 和“Sweep Type”后即可仿真。图 3.7 的仿真曲线表示当变量“VBIAS”从 0V 到 5V 变化时输 出电压的变化情况。

41

图 3.5 共源级放大电路

图 3.6 选择扫描变量

42

图 3.7 仿真波形

器件参数扫描“Component ”

器件参数扫描和设计变量扫描相类似。点击“Component Parameter”头“Select Component”

后弹出原理图窗口。用户可以选择 MOS 管、激励源、地线等各种器件作为仿真对象。如果点击 图 3.3 中的 NMOS 管 M0,会弹出该器件的参数表。图中的引号部分是对相应参数的解释。可以 对该 MOS 的栅长变化作参数扫描。图 3.9 仿真表示 M0 管的栅长从 1μ 到 20μ 变化时,输出电压 变化情况。

43

图 3.8 图 3.5 电路图中的 M0 管参数

图 3.9 M0 管的栅长从 1μm 到 20μm 变化时,输出电压的变化 有些转移曲线

的绘制需要用“DC Analysis”中的参数扫描和其他仿真工具混合使用。比如 MOS 管的转移曲线就需要“Design variable”和“Parameter analysis”共同使用,仿真结果如图 3.10

44

所示。 (需要具体表示设定)

图 3.10 MOS 管的转移特性

在“DC Analysis”的高级设置中(Option),包括“State File Parameters”、“Output Parameters”,

“Convergence Parameters”、“Annotation Parameters”,“CAPTAB Parameters”等。这些参数的含 义和设置在第二章中都有介绍,也可以查阅 cadence 的用户手册。

45

第 4 章 结果浏览器(Results Browser)

“Results Browser”的作用

“Results Browser”是一个非常实用的工具,通过它可以读取所有电路节点的电压和端口电 流的仿真结果。并且可以对数据进行预处理,在合适的窗口类型中显示。此外,还提供了数据比 较,“Y vsY”功能。通过“Results Browser”可以实现以下功能:

[1.] 察看仿真结果; [2.] 察看仿真环境设置; [3.] 察看器件工作点特性;

[4.] 将结果在特殊的图标格式中显示,例如阻抗图和导纳图; [5.] 将仿真结果中的表达式直接送入到“Calculator”的缓存中。

“Results Browser”窗口简介

“Results Browser”采用类似“Windows”文件系统的方法,将仿真数据分级保存在各个文 件夹中。通过点文件夹,可以将文件夹展开,从而进入下一级文件夹获得更具体的信息。图 4.1 显示的是“Results Browser”窗口。

图 4.1 “Results Browser”窗口

46

“Results Browser”的菜单。

表 4.1 列出了“Results Browser”中的所有菜单和它们的功能。 表 4.1 “Results Browser”窗口中的菜单及功能

菜单选项 Open Results Open Graph Open Graph as Plot? Open Graph as Tamplate? Open Table File 具体操作 打开仿真的输出结果 以图表的形式打开保存图形 以模板的形式打开保存图形 打开保存的表格 。 将选中的仿真结果,从“Results Browser”中清除 。 当只有一个仿真结果时,无需选择,即可将其清除 重新读取仿真结果 保存当前“Results Browser”的设置 关闭“Results Browser”窗口 Clear Reload Save Session Close Select Data 选择输出数据,在运行了“Corner Analysis”或者 “Parametric Analysis”后,该选项被激活。可以通 过它选择特定功能角或者设计变量值下的仿真结 果 Plot Style Append 在原来窗口的基础上显示新的波形。 Replace 清楚原来的窗口中的数据,显示新的波形。 Setting New SubWin New Win 。 在原来的窗口中,建立字窗口,用来显示新的波形 创建一个新的窗口显示新的波形。 Graph Type Default Rectangular Polar Impedance Admittance RealVsImag 默认方式 直角坐标系 极坐标 阻抗圆图 导纳圆图 实部 VS 虚部 打开“Calculator” 打开表格 获取帮助文档 Tools Calculator Table Help Help

47

“Results Browser”窗口中的快捷键

“Results Browser”窗口中的快捷键如图 4.2 所示,各个快捷键的功能如下:

图 4.2 “Results Browser”窗口中的快捷键 :打开仿真的输出结果。等同 File头Open Results ? :按照“Plot Style”中选择的方式,以图形的方式显示选中的仿真结果

:打开“Calculator”,如果在“Results Browser”中选择仿真结果。那么该结果的表 达式将直接送到“Calculator”的缓存中。

? ? :选择两个仿真结果,将他们的差值以图像的形式输出。 注意:该快捷键在一个仿真结果表达式存在多个值的情况下失效,例如运行了“Corner Analysis”或者“Parametric Analysis”后。

? :选择两个仿真结果,以“YvsY”的方式输出仿真结果。 注意:该快捷键在一个仿真结果表达式存在多个值的情况下失效,例如运行了“Corner Analysis”或者“Parametric Analysis”后。

? :选择输出数据,在运行了“Corner Analysis”或者“Parametric Analysis”后,该选 项被激活。可以通过它选择特定功能角或者设计变量值下的仿真结果。等同于“Setting” 头“Select Data”。

第一个下拉菜单,如图 4.3 所示。该下拉菜单是选择图表类型,等同于“Setting”头“Graph Style”。注意:该下拉菜单只在选择交流仿真结果时才出现。

48

图 4.3 第一个下拉菜单

? 第二个下拉菜单,如图 4.4 所示。该菜单是对显示的数据进行预处理。其功能类似于

“Calculator”中同名函数。注意:该下拉菜单只在选择交流仿真结果时才出现。

49

图 4.4 第二个下拉菜单

? ? ? ? ? ? ? Mag:计算仿真结果的幅值。

Phase:计算仿真结果的幅角(-180 度至+180 度范围计算) WPhase:计算仿真结果的幅角(0 度至 360 度范围计算) Real:取仿真结果的实部。 Imag:取仿真结果的虚部。

dB10:对仿真结果进行“10log n”变化。 dB20:对仿真结果进行“20log n”变化

50

本文来源:https://www.bwwdw.com/article/f8to.html

Top