模拟电路的仿真.docx

上传人:b****6 文档编号:5732027 上传时间:2022-12-31 格式:DOCX 页数:24 大小:356.09KB
下载 相关 举报
模拟电路的仿真.docx_第1页
第1页 / 共24页
模拟电路的仿真.docx_第2页
第2页 / 共24页
模拟电路的仿真.docx_第3页
第3页 / 共24页
模拟电路的仿真.docx_第4页
第4页 / 共24页
模拟电路的仿真.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

模拟电路的仿真.docx

《模拟电路的仿真.docx》由会员分享,可在线阅读,更多相关《模拟电路的仿真.docx(24页珍藏版)》请在冰豆网上搜索。

模拟电路的仿真.docx

模拟电路的仿真

文档标识

模拟电路的仿真

版本

v1.0

文档类别

设计部内部资料

完成日期

2003年7月24日

文档状态

修改中、已完成

制作人

冯翰雪

文档编号

培-001

备注

模拟电路的仿真

北京中科微电子技术有限公司·设计部

2003年7月

摘要:

本文介绍了模拟电路仿真的一些基本概念和Cadence的模拟仿真环境。

排版约定

楷体,无衬线字体(楷体,Sans-Serif)

第一次出现的术语。

软件名称。

宋体,等宽字体(宋体,constant-width):

用于例子和普通文本,显示Unix命令,各种代码、文本文件内容等。

粗体等宽字体表示用户输入的Unix命令

1模拟电路仿真基础

1.1模拟分析类型

为了便于分析电路的特性,电路在不同条件下有不同的近似模型。

最为典型的例子就是MOS管的大信号模型和小信号模型:

大信号模型用于分析计算电路的直流工作点、偏置等;小信号模型用于分析电路的频率响应、开环增益等等。

在模拟电路仿真中,也有类似的区分,称为“分析类型”。

不同的分析类型使用不同的近似模型,用于分析电路不同方面的特性。

常见的分析类型有以下几种。

1.1.1直流分析(dc)

直流分析用于确定电路的直流工作点,例如运放偏置电路产生的偏置电流、电压。

做直流分析时认为电容断路、电感短路。

在交流分析、瞬态分析之前自动进行直流分析。

直流分析也可通过扫描某个参数来分析电路的直流传输特性,被扫描的参数可以是电压、电流、频率、温度、元件参数、模型参数等等。

例如,扫描温度参数可以分析电路的温度特性;扫描MOS管栅极电压可以画出MOS的VGS-ID曲线。

1.1.2交流分析(ac)

交流分析主要用于分析电路的频率响应,例如用交流分析可以画出运放的幅频响应曲线、相频响应曲线,计算开环增益、相位裕度等等。

交流分析时,使用器件在直流工作点附近的线性的交流小信号模型进行计算,电路的激励是正弦交流小信号。

交流分析也可以在某一个频率上扫描电路的某个参数,例如分析运放在低频时开环增益随温度的变化。

被扫描的参数可以是频率、温度、元件参数、模型参数等等。

如果被扫描的参数会改变电路的直流工作点,则重新计算直流工作点。

1.1.3瞬态分析(tran)

瞬态分析主要用于分析电路的实时响应。

瞬态分析计算从开始时间到结束时间内电路中各个节点、元件的电压、电流等随时间的变化情况。

如果没有指定初始条件,则使用电路的直流工作点。

1.1.4其他分析类型

以上三类分析是最常用的分析类型。

除此之外,仿真工具还支持很多其他类型的分析。

例如CadenceSpectre还有以下分析类型。

具体说明请参考SpectreReference

●NoiseAnalysis(noise)

●PeriodicSteady-StateAnalysis(pss)

●S-ParameterAnalysis(sp)

●Time-DomainReflectometerAnalysis(tdr)

●TransferFunctionAnalysis(xf)

1.2仿真环境

Cadence的电路仿真工具是Spectre,如图一所示。

其功能类似与SPICE,但具体语法、器件模型等方面有所不同。

Spectre是一个命令行工具,如图一所示。

图一、电路仿真工具——Spectre

电路按照Spectre规定的语法进行描述,这个描述称为网表(netlist)。

网表中还包含描述输入激励、分析类型、选项控制、结果记录等内容的语句。

Spectre程序以网表文件作为输入,根据网表指定的方式进行电路仿真、记录结果。

下面是一个反相器网表的例子。

*#FILENAME:

V2_A_INV1

*schematic/netlist/V2_A_INV1.C.raw

*NetlistoutputforspectreS.

*GeneratedonJul2421:

59:

272003

*globalnetdefinitions

.GLOBALvdd\!

simulatorlang=spectre

*Filename:

motorlib_V2_A_INV1_schematic.s.

*Subcircuitforcell:

V2_A_INV1.

*Generatedfor:

spectreS.

*GeneratedonJul2421:

59:

272003.

m1(zni00)nmosw=3.6e-6l=1.2e-6m=1.0

m0(znivdd\!

vdd\!

)hp0nsw=12e-6l=1.2e-6m=1.0

图二、一个反相器的Spectre网表

网表可以手工编写。

但更方便快捷的方法是用Composer绘制电路原理图(如图三所示),然后用工具自动生成网表。

为了从电路原理图产生符合Spectre语法的网表,要求电路原理图中只使用analogLib库中的元件。

图三、电路图输入工具——Composer

仿真结果可以用ResultsBrowserh,Waveform等工具进行查看。

后者(如图四)可以直接绘制出输出波形。

Cadence还提供了Caculator,帮助设计者对仿真结果进一步分析。

图四、仿真结果查看工具——Waveform

图五、仿真结果计算工具——Calculator

Cadence为模拟、数模混合仿真设计了一个集成开发环境:

AnalogArtist,如图六所示。

在AnalogArtist中可以完成编辑电路原理图,生成网表,设置分析类型,观测波形等等整个模拟电路仿真流程。

图六、模拟电路集成开发环境——AnalogArtist

1.3analogLib

前面提到模拟电路原理图中只能使用analogLib库中的元件。

如图七所示,analogLib库中的元件基本上与Spectre中的器件一一对应,并且可以直接在Composer中设置各个元件的参数。

在用Spectre进行电路仿真时,建议使用单元的spectre和spectreS视图。

常用元件列与下表。

单元名

说明

主要参数

res

电阻

阻值

cap

电容

电容值、初值

ind

电感

电感值、初值

nmos4

NMOS管

模型名、宽、长、倍数

pmos4

PMOS管

模型名、宽、长、倍数

diode

二极管

模型名、结面积、倍数

gnd

地线符号

vdd

电源符号

图七、analogLib

模拟电路必须考虑MOS管的衬偏效应。

因此在电路原理图中要求所有MOS管的衬底有明确的连接,也即必须使用analogLib库中的四端元件nmos4和pmos4,如下图所示:

图八、nmos4,pmos4

rr1(v_rc0)resistorr=10e3m=1.0

图九是电阻R1的属性,在这里可以直接设置电阻的阻值(Resistance)、模型名(Modelname)等等参数。

从电路原理图生成Spectre网表时,就会自动生成如下Spectre语句来描述这个电阻:

图九、电阻的属性对话框

除了基本元器件外,analogLib中还包含了各种电流、电压源,它们常被用作电路的输入激励。

常用的电压源列于下表。

另外,将下表中单元名首字母v改成i即是相应功能的电流源。

单元名

说明

主要参数

vdc

直流电压源

直流电压;交流幅度、相位。

(常用作电路电源)

vpulse

脉冲信号源

高低电平电压值、脉冲宽度、脉冲周期

vsin

正弦信号源

幅度、频率、相位、偏置电压

vpwl

分段线性信号源

时间-电压对数目、(时间、电压)

1.4

器件模型

.modelnmosNMOS

+Level=10

+Tref=27.0

+Npeak=4.3007E+16Tox=2.10000E-08Xj=3.00000E-07

+dl=2.00000E-07dw=5.00000007450581E-08

+SatMod=2SubthMod=2

+BulkMod=1

+Vth0=.7030622Phi=.7705066

……

不同工艺的MOS管参数不同,甚至不同尺寸范围的MOS其参数也不同。

通常成熟的工艺线至少会提供MOS模型。

下面是一个模型定义文件的部分内容,它定义了一个模型名称(Modelname)为“nmos”的NMOS管模型。

在模拟电路原理图中,要为每一个MOS管指定一个模型名。

例如,图八中NMOS管的模型名是“nmos”,PMOS管的模型名是“hp0ns”。

这里的模型名称与模型定义文件中定义的名称一致,而不必与模型定义文件名一致。

2

入门指南

下面以仿真一个简单的运放为例,说明模拟电路仿真的步骤。

2.1预备工作

本文假设工作目录为students用户的主目录/export/home/casic/student/,若不同则需做相应修改。

首先建立工作环境。

执行/export/home/casic/training/analogsim/restart脚本,指定工作目录。

注意,restart脚本要求输入完整的绝对路径,并且路径末尾不加“/”。

该脚本把本教程所需的库、模型等文件拷贝到工作目录的anlaogsim子目录下。

然后进入anlaogsim目录启动icfb。

u60a:

/export/home/casic/student/>/export/home/casic/training/analogsim/restart

Pleaseinputwhereyouwanttosetup:

/export/home/casic/student

Pleasewait....

OK

u60a:

/export/home/casic/student/>cdanalogsim

u60a:

/export/home/casic/student/analogsim>ls-F

cds.liblib/libManager.logmodels/restart*simulation/

u60a:

/export/home/casic/student/analogsim>icfb&

命令列表如下,其中粗体部分为用户的输入。

LibarayManager中有四个库,如图七所示。

analogLib,basic,cdsDefTechLib是Cadence的基本参考库。

analogsim库中包含两个单元:

opamp和opamp_tb。

前者是一个简单的运放;后者是该运放的测试电路。

以下所有操作都在analogsim库中进行。

2.2

第一步:

绘制电路图

以只读方式打开analogsim库中的opamp单元的schematic视图,观察其结构。

单击选中PMOS管M1,“Q”键打开它的属性对话框,如下图所示。

图十、M1的属性对话框

从M1的属性对话框中可见,它是analogLib库中的pmos4单元;宽长比是48/2.4;它的模型名是“hp0ns”。

名为“hp0ns”的PMOS管是在models/目录下名为“hp0ns.m”的文件中定义的。

另外,该目录下的“nmos.m”文件定义了NMOS管模型“nmos”。

然后关闭opamp单元的电路图,打开opamp_tb单元的电路图。

opamp_tb单元的电路图中,U1,U2两个单元是前面查看得opamp单元的实例。

U1和电阻构成一个同相比例运放,闭环增益为5倍,它用于演示瞬态分析的方法。

而U2输入差分正弦小信号,用于演示交流分析的方法。

在Composer中可以直接为电路加上输入激励,这些激励用analogLib库中的相关单元源产生。

opamp_tb单元的电路图中已经设置好这些激励元件的参数,可以逐项查看一下以下各项参数。

●V0是analogLib库中的vdc单元,为整个电路供电,其参数仅需设置“DCVolatage”一项,这里设为“5V”。

●V1是analogLib库中的vpwl信号源,用于产生同相比例运放的输入信号。

其参数设置如下图所示。

V1会产生如图十二所示的电压波形。

图十一、V1的参数设置

图十二、V1产生的波形

●V2,V3也是vdc单元,它们为运放U2设置输入偏置、提供差分输入信号。

其中V2的参数设置如下图。

这里设置了“DCVoltage”作为输入偏置电压,在进行交流分析之前,仿真器用该值计算电路的直流静态工作点;而“ACmagnitude”项是交流分析时输入的交流小信号的幅度。

V3除“ACmagnitude”项为“-10mV”外,其余于V2设置相同。

图十三、V2的参数设置

2.3

第二步:

设置仿真环境

执行Composer的菜单命令“Tools->AnalogArtist”即可直接打开集成开发环境AnalogArtist。

所有仿真环境直接在AnalogArtist中设置。

首先选择后端的模拟器。

执行AnalogArtist的菜单命令“Setup->Simulator/Directory/Host...”将出现如图十四所示的对话框。

在该对话框中可以设置:

●Simulator:

这里选用CadenceSpectre作为后台运行的模拟器,选择“spectreS”项。

●ProjectDirectory:

这里指定存放的仿真数据——如电路网表、仿真结果等——的目录。

建议如图设置。

●HostMode:

因为Spectre在本机运行,故选择“local”项。

图十四、设置仿真器、仿真目录

然后执行菜单命令“Setup->Environment...”弹出“EnvironmentOptions”对话框。

这里需要设置“Include/StimulusFileSyntax”和“IncludeFile”两项内容。

如图十五所示。

#include"/export/home/casic/student/analogsim/models/hp0ns.m"

#include"/export/home/casic/student/analogsim/models/nmos.m"

这一步设置主要是为了指定模型文件的路径。

在文件“~/analogsim/models/inc.v”中包含了模型文件——也即nmos.m,hp0ns.m两个文件——的路径(前面“预备工作”中执行的setup.sh脚本即用于自动生成inc.v文件),其内容类似如下:

该文件中的内容将被合并到最终电路网表文件中,传送给Spectre进行仿真。

图十五、设置Include文件

2.4

第三步:

选择分析类型

AnalogArtist中在菜单命令“Analyses->Choose...”弹出的“ChooseAnalyses”对话框中选择分析类型。

各种分析类型最下方都有一个“Enabled”选项:

,选中后即进行相应的分析。

下面仅以瞬态分析和交流分析为例。

一般情况下,瞬态分析仅需设置结束时间(StopTime)一个参数,如图十六所示。

然后选中“Enabled”选项即可。

图十六、设置瞬态分析

交流分析的设置如图十七所示。

为了绘出运放的频率响应,选择扫描变量(SweepVariable)为“Frequency”,然后设置扫描范围10~500MHz,最后选中“Enabled”选项。

图十七、设置交流分析

2.5

第四步:

指定观测数据

使用“Outputs”菜单下的命令选择观测数据,如图十八所示。

图十八、AnalogArtist的Outputs菜单

首先我们进行瞬态分析仿真,观测运放U1的输入信号Vin和输出Vout,并作出同相比例运放的输入-闭环增益曲线。

执行“Outputs->ToBePlotted->SelectOnSchematic”命令,AnalogArtist自动把电路图抬到前台,这时用鼠标点击电路图中的线网则观测该线网上的电压,点击元件的端口则观测该端口流过的电流(如图十九所示)。

图十九、观测端口电流

这里仅需点击一下“Vin”和“Vout”两个线网。

选择完毕以后按“Esc”键退出命令。

“ToBePlotted”命令将把选中数据的仿真波形直接显示到Waveform中。

然后选择交流分析所需的数据,观测U2的频率响应,绘制幅频响应和相频响应。

执行“Outputs->ToBeSaved->SelectOnSchematic”命令,单击电路图中线网“V+”“V-”“Vac”。

因为不需直接绘出这三个信号的仿真波形,所以只用“ToBeSaved”命令保存仿真结果。

所有被选择的观测数据列于AnalogArtist的Outputs栏内,如下图所示。

图二十、AnalogArtist的Output栏

2.6第五步:

瞬态分析仿真

至此可以运行仿真了。

首先只进行瞬态分析:

选中图十六中的“Enabled”选项,不选中图十七中的“Enabled”选项。

AnalogArtist的Analyses栏如图二十一所示。

图二十一、AnalogArtist的Analyses栏

然后执行菜单命令“Simulation->Run”,在icfb的信息窗口会显示仿真过程信息,仿真完成后icfb显示类似于图二十二。

图二十二、仿真结束后ICFB的显示

AnalogArtist会自动弹出Waveform窗口,绘制前面“ToBePlotted”命令选择的数据的仿真波形,如图二十三所示。

图二十三、瞬态分析的仿真波形

为了得到同相比例运放的增益曲线,需要使用Calculator工具(如图五所示)。

执行AnalogArtist菜单命令“Tools->Calculator”打开Calculator。

首先执行一下Calculator的菜单命令“Options->SetAlgebraic”,该命令将表达式格式设置成代数形式,Calculator默认使用RPN(ReversePolishNotation)表达式。

然后在Calculator上方的输入框中输入:

VT("/Vout")/VT("/Vin")。

其含义是瞬态分析电压值Vout和Vin之比随时间的变化关系。

最后单击Calculator的

按钮(eraseplot),在Waveform中绘制上述表达式的波形。

结果如图二十四所示。

图二十四、运放闭环增益

2.7第六步:

交流分析仿真

下面仿真运放的频率响应。

设置只进行交流分析,AnalogArtist的Analyses栏如下所示。

图二十五、AnalogArtist的Analyses栏

 

然后选择AnalogArtist菜单命令“Simulation->Run”运行仿真。

待仿真完成后打开Calculator,输入如下表达式:

dB20(VF("/Vac")/(VF("/V-")-VF("/V+")))。

该表达式的含义是交流分析电压值Vac与差分输入(V--V+)之比(取分贝值)随频率的变化关系,最后单击Calculator的“erplot”按钮,即可绘制出运放的频率响应的波特图,如图二十六所示。

图二十六、运放的幅频响应

 

同样,绘制表达式phase(VF("/Vac"))-phase(VF("/V+")-VF("/V-"))的波形即可得到运放的相频特性。

如所示。

图二十七、运放的相频响应

3

小结

本教程中,我们介绍了模拟仿真的基本概念,包括分析类型、Cadence的相关工具、analogLib库等等。

并以分析运放的闭环增益和频率响应为例,介绍了模拟仿真的流程。

关于模拟仿真进一步的知识,可以参考以下文档。

Openbook中的模拟电路设计相关文档

AnalogArtistSimulationHelp

AnalogArtistMicrowaveDesignHelp

AnalogArtistMixed-SignalSimulationHelp

AnalogArtistParametricAnalysisHelp

AnalogArtistSubstrateCouplingAnalysis(SCA)Help

AnalogArtistSKILLFunctionsReference

AnalogArtistTutorial:

SwitchedCapacitorDesign

AnalogExpressionLanguageReference

CadenceSPICEReference

ComponentDescriptionFormatUserGuide

FunctionalBlockLibraryReference

HSPICE/SPICEInterfaceandSPICE2G.6Reference

SpectreReference

SpectreUserGuide

SpectreHDLReference

SpectreRFHelp

SwitchedCapacitorDesignSystemHelp

Verilog-AReference

4

高级话题

●数模混合仿真

●NetlistforHspice

●高级分析类型

●寄生参数分析

●MonteCarlo分析

●优化

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1