模拟集成电路设计软件使用教程.docx
《模拟集成电路设计软件使用教程.docx》由会员分享,可在线阅读,更多相关《模拟集成电路设计软件使用教程.docx(43页珍藏版)》请在冰点文库上搜索。
![模拟集成电路设计软件使用教程.docx](https://file1.bingdoc.com/fileroot1/2023-6/7/e2338d79-1f10-4269-a8a6-a0980011e7cc/e2338d79-1f10-4269-a8a6-a0980011e7cc1.gif)
模拟集成电路设计软件使用教程
模拟集成电路设计
软件实验教程
2006年4月
实验一自上而下(Top-Down)的电路设计
Lab1.1启动软件
实验目的:
掌握如何启动模拟电路设计环境.
实验步骤:
1.进入Linux界面后,点击鼠标右键,选中NewTerminal,则会弹出一个交互终端.
2.进入教程所在目录后,输入命令cdArtist446(注意:
cd后必须有空格;命令行大小写敏感)
3.在同一个交互终端内,输入命令icms&,在屏幕底部会出现一个命令交互窗(CommandInterpreterWindow,CIW).如果出现What’sNew窗口,可使用File-Close命令关闭.
Lab1.2自上而下的系统级仿真
实验目的:
掌握如何对含AHDL模块的模块级设计进行仿真.
实验步骤:
1.在CIW中选择Tool-LibraryManager,会弹出库管理器(LibraryManager).
2.在库管理器中,用鼠标左键选中training,则cell中会显示出training库中所有的cell;在training的所有cell中用左键选中peakTestv;用鼠标中键(或右键)打开(open)view中的schematic.将会出现如下图所示的测试电路:
3.将鼠标置于图中peakDetectv模块上,当该模块四周出现一高亮黄色虚线框时,点击左键选中该模块,则模块四周线框变为白色实线框.
4.选择Design-Hierarchy-DescendEdit,弹出Descend对话框,将ViewName设置为schematic,然后点击OK.则出现peakDetectv模块的电路图:
分析该电路图,图中有两个运算放大器,两个二极管,一个nmos晶体管和一个电阻.除了电阻和nmos器件,所有其余的器件都是用Verilog-A(一种模拟HDL语言)编写的.
使用Verilog-A语言支持自上而下的设计方法.
5.选中peakDetectv电路图中的Ampv模块,Design-Hierachy-DescendEdit,在Descend对话框中将ViewName设置为veriloga,点击OK.将出现文本编辑窗,可对窗内的文本进行编辑.退出该编辑窗可敲击键盘左上角的Esc键,然后在文本编辑窗中输入:
q!
回车即可.
6.在电路图窗口选择Tool-AnalogEnvironment,弹出模拟设计环境仿真(AnalogDesignEnvironmentSimulation)窗口,同时可再次弹出peakTestv电路图.
7.在该仿真窗口中选择Setup-Simulator/Directory/Host;在随后出现的ChoosingSimulator对话框中,将仿真器(Simulator)设置为spectre,点击OK.
8.在该仿真窗口中选择Setup-ModelLibraries,弹出模型库建立(ModelsLibrarySetup)对话框;如图,在该对话框的ModelLibraryFile中如图输入后,点击Add,然后OK.
9.在该仿真窗口中,点击ChooseAnalysest图标
弹出ChoosingAnalyses框;如图所示,选择tran和Enabled,截止时间写入390u;然后点击OK
10.如步骤4所示,打开peakDetectv的电路图,并在仿真窗口中选择Outputs-ToBePlotted-SelectOnSchematic.按照电路图窗口底部的命令行提示,左键选中图中与标有vinput,vcap和vcontrol的管脚相连的连线,这些被选中的连线会以特殊的颜色显现出来.
11.将鼠标置于电路图窗口中,点击Esc键.注意在仿真窗口输出部分的更新信息是否如下图所示:
信号vcontrol的名字是I54/vcontrol.
12.在仿真窗口中选择Simulation-NetlistandRun开始仿真,或者可以点击右侧NetlistandRun
图标
仿真成功后会自动输出如下曲线:
13.退出仿真窗口,选择Session-Quit.
14.退出电路图窗口,选择Windou-Close;在弹出的SaveChange框中点击No.
15.在被仿真环境激活的窗口中,选择File-CloseWindow,退出仿真环境.
Lab1.3电路图输入
实验目的:
掌握如何创建一个库,如何创建一个双极CMOS(Bi-CMOS)运算放大器.
实验步骤:
1.在CIW窗口中,选择File-New-Library;在弹出的NewLibrary框中,确认Directory下的路径被设置为~/Artist446(~可以被扩展为绝对路径),并选择Don’tneedatechfile,如图所示:
2.点击OK.并在库管理器窗口中确认mylib库已经列入其中.
3.在CIW或库管理器中选择File-New-Cellview,如下图所示建立新文件:
4.点击OK.弹出一个空白的电路编辑窗口,用于下面步骤中放大器设计图的输入
5.在该电路编辑窗口中,点击左侧的Instance图标
弹出添加器件(AddInstance)对话框.确认框中的ViewName设置为symbol.按照下面表格输入欲添加器件的器件参数,并点击左键将器件置于图中适宜位置.或可使用框中Browse键添加器件.
LibraryName
CellName
PROPERTIES/COMMENTS
analogLib
pnp
ForQ2,Q3,Q4:
ModelName=trpnp(noquotes)
analogLib
npn
ForQ0,Q1:
ModelName=trnpn(noquotes)
analogLib
pmos4
ForM1:
ModelName=trpmos(noquotes)
Length=8u,Width=iPar("l")*16
analogLib
pmos4
ForM3:
ModelName=trpmos(noquotes)
Length=iPar("w")/16,Width=128u
analogLib
nmos4
ForM2,M5:
ModelName=trnmos,Width=100u,
Length=10u
analogLib
res
Resistance=2.5K
analogLib
cap
Capacitance=CAP(DesignVariable)
analogLib
vdd,vss
如果参数值设置错误,可采用Edit-Properties-Objects进行修改;如果器件放置位置不当,可采用Edit-Move命令加以调整.
6.器件放置完毕后,点击器件添加对话框中的Cancel键,或鼠标置于电路图窗口中时敲击Esc键.
7.点击电路图窗口的添加管脚图标
弹出添加管脚(AddPin)对话框;严格按照顺序依次输入管脚名称(各名称间需留有空格),Direction设置为input,Usage设置为schematic,如下图所示:
用左键将管脚置于图中合适位置(可使用右键调整管脚方向).
8.点击细连线图标
并用左键完成器件间连线.点击命令选项图标
或F3调整连线参数(建议将DrawMode设置为route,将RouteMethod设置为full);连线完毕后,将鼠标箭头置于电路图中,敲击Esc键即可退出连线模式.
9.点击添加连线名称图标
在添加连线名称对话框中依次输入连线名称vdd!
gnode(之间需留有空格),用左键在电路图中添加连线名称.vdd!
添加到M1和M2基极连线上,gnode添加到M5和M2的栅极连线上(注:
标有!
代表为全局变量).将鼠标箭头置于电路图中,敲击
Esc键即可退出添加连线名称模式.
10.最终可得电路图如下图所示:
11.点击左侧检查并存图图标
.观察CIW的输出区域(如下图所示)表明无错误,并已正确存图.
Lab1.4模块的创建
实验目的:
掌握如何为一个双极CMOS(Bi-CMOS)运算放大器创建模块.
实验步骤:
1.在运放的电路图中选择Design-CreateCellview-FromCellview,弹出CellviewFromCellview对话框.激活对话框中的EditOptions选项后,可对模块的外观进行调整.
2.确认FromViewName设置为schematic,ToViewName设置为symbol,Tool/DataType设置为Composer-Symbol.如下图所示:
3.点击OK.弹出模块生成(SymbolGeneration)对话框,并在该框内进行管脚规格的调整.如下图所示:
4.点击OK.一个新的窗口内会自动生成一个放大器模块,如图:
(图a)
观察CIW输出框,可知一个模拟器件描述格式(analogComponentDescription,CDF)已经生成.
可进一步将上图中的模拟器件外观调整为如下图中所示:
(图b)
5.左键选中图a中绿色矩形框,点击删除图标
;选择Add-Shape-Polygon,按照电路图底部的提示,在图中画上三角形外观.如果对所画线条不满意,可使用Backspace键删除刚画出的最后一条线.画完最后一笔时,双击鼠标左键即可完成画图.
6.点击电路图窗口中的移动(Move)图标
并将inp管脚移至图b中所示位置.再用类似方法移动inm和iref管脚.
7.用Edit-Rotate命令,按照电路图底部的提示旋转iref标签,并用Move移动到合适的位置.
8.左键选定标签cdsParam(3)并删除.
9.左键选中整个红色矩形框,并删除.
10.点击SelectionBox图标
或选择Add-SelectionBox.在AddSelectionBox对话框中点击Automatic,则自动添加生成一个红色选择框.
11.选择伸展(Stretch)图标
调整iref管脚的长度以适合新的选择框.可能需要再次移动iref和cdsTerm(“iref”)标签.
12.利用shift键,同时选中cdsParam
(1)和cdsParam
(2)标签,并将它们移到图b中所示的位置.
13.将cdsName()标签移到图b所示位置.
14.可选择Add-Note-NoteText在电路图中添加必要的说明文档.
Lab1.5电源的创建
实验目的:
掌握如何创建一个电源来为电路供电
实验步骤:
1.在CIW或库管理器中选择File-New-Cellview,建立如下对话框:
2.点击OK.弹出一个空白电路图编辑窗用于输入电源设计电路.
3.在电路图编辑窗中,选择Design-CreateCellview-FromCellview,在弹出的CellviewFromCellview框中点击OK;弹出”模块生成选项”(SymbolGenerationOptions)框.如下图所示,在TopPins后填入VDDVSS后点击OK.
4.注意观察CIW输出信息表明一个模拟CDF已经生成.同时弹出的窗口中显示出生成的电源模块.如下图:
5.将上图调整为如下图所示,并在编辑完成后保存(Save)模块;选择Window-Close退出电路图编辑窗即可.
Lab1.6建立运放测试电路
实验目的:
用双极CMOS(Bi-COMS)运算放大器建立一个运放测试电路
实验步骤:
1.在CIW或库管理器中选择File-New-Cellview,弹出”创建新文件”(CreatNewFile)框,并在进行如下设置后点击OK:
2.在弹出的空白电路编辑窗中将建立一个增益为3的运放,具体器件参数见下表:
LibraryName
CellName
PROPERTIES/COMMENTS
mylib
amplifier
mylib
supply
VDD=5,VSS=-5
analogLib
vsin
ForV2:
ACMagnitude=1,Amplitude=50m,
Frequency=1M,Offsetvoltage=0
analogLib
idc
For14:
DCcurrent=500u
analogLib
res
ForR1:
Resistance=20K
analogLib
res
ForR0:
Resistance=10K
analogLib
vdd,vss
得到如下电路图后保存
:
:
实验二用SpectreDirect进行模拟仿真
Lab2.1运行仿真
实验目的:
对运放测试电路进行仿真
实验步骤:
1.在运放测试电路的电路编辑窗中选择Tools-AnalogEnvironment,弹出模拟电路设计环境仿真窗(AnalogCircuitDesignEnvironmentSimulation)
2.在仿真窗中选择Setup-Simulator/Directory/Host,确认弹出框中Simulator后设置为spectre后,点击OK.
3.选择Setup-SimulationFiles,确认弹出框中的IncludePath后设置为./Model,如下图所示:
可以加入更多的路径,只要在各路径之间插入空格即可.
4.在仿真窗口中,选择Setup-ModelLibraries,弹出模型库建立(ModelLibrarySetup)菜单;在该菜单中如下图所示,在ModelLibraryFile中输入myModels.scs
5.点击Add,则刚刚输入的路径转移到上面的框中.若想查看这个模型文件的文件内容,则选中该文件,并点击EditFile.如下图所示:
弹出文件内容如下:
使用”Esc:
q!
回车”或File-Close均可退出该文件编辑窗.
在SimulationFilesSetup框中点击OK,完成模型库的建立.
6.在仿真窗中,点击选择分析图标
弹出”选择分析”(ChoosingAnalyses)框.
7.为进行瞬态分析(TransientAnalysis)进行如下设置,如下图:
1.在Analysis后选择tran;
2.在StopTime后设置为3u;
3.选中Enabled;
4.点击Apply.
8.为进行交流分析(ACAnalysis)进行如下设置,如下图:
a.在Analysis后选择ac;
b.在SweepVariable下选择Frequency;
c.在SweepRange下选中Start-Stop,并将扫频范围设置为100-200M;
d.将SweepType设置为Logarithmic,选中PointsPerDecade后,设置参数为20;
e.选中Enabled;
f.点击Apply.
9.为进行直流分析(DCAnalysis)进行如下设置,如下图:
a.在Analysis部分选择dc;
b.在DCAnalysis部分,激活SaveDCOperatingPoint;
c.激活Enabled;
10.在ChoosingAnalyses框中点击OK,完成设置.
11.在仿真窗中点击编辑变量(EditVariables)图标
弹出编辑设计变量(EditingDesignVariables)框.
12.点击该框底部的CopyFrom键,软件会自动对整个电路设计进行扫描,把找到的所有变量都列在TableofDesignVariables下;(如下图所示)
13.在运放设计电路图中找到CAP变量
a.左键选中TebleofDesignVariables中的CAP变量后,点击Find(如上图所示)发现图中的运放已被高亮矩形框选中;
b.选择Design-Hierarchy-DescendEdit
c.在弹出框中将ViewName设置为schematic,然后点击OK;则弹出运放的电路图结构;
d.再次点击上图中的Find,会看到图中的电容器件已被矩形高亮框选中,即已经在图中找到CAP变量;
e.Design-Hierarchy-Return命令,返回到上层运放测试电路图
14.设置CAP变量的值:
如上图所示,选中CAP变量,在Value后输入0.8p;然后点击Change(注意TebleofDesignVariables中的参量更新)
15.点击框底部的Copyto,将刚刚设置的值写回电路图中;保存,将该值存在电路图中;
16.点击上图框中的OK或Cancel;在运放测试电路中点击CheckandSave
保存设置;
17.在仿真窗中选择Outputs-SaveAll,弹出保存选项(SaveOption)框;确认”选择保存输出信号”(Selectsignalstooutput(save))为allpub后,点击OK.如下图所示:
18.在仿真窗口中通过Outputs-ToBeSaved-SelectOnSchematic,选择保存特定终端的电流值
.注意运放测试电路图窗口底端的提示.
19.在电路图中点击20K反馈电阻两端,电阻两端被椭圆圈出,表明通过该处的电流值将被保存下来
20.鼠标位于电路图窗中时,敲击Esc,退出选择状态.
21.选择Outputs-ToBePlotted-SelectOnSchematic,按照电路图窗口底部的提示选中标有vin和out的结点.
22.鼠标位于电路图窗中时,敲击Esc,退出选择状态.注意仿真窗口中的输出部分的信息更新,如下图所示:
23.在仿真窗中,选择Simulation-Netlist-Create.弹出一个显示分层网表的窗口.注意你输入的所有变量和仿真设置在网表中是如何描述的.如果在生成网表的过程中遇到错误,可查看CIW中的输出信息,检查输入的所有数据是否正确.
24.若对电路图加以改动,则要重新生成新的网表Simulation-Netlist-Recreate.
25.选择File-CloseWindow关闭网表窗口.
26.在仿真窗中选择Simulation-Run,或点击窗口右侧的运行(Run)图标
开始仿真.(可以选择Simulation-NetlistandRun或点击NetlistandRun图标
生成网表并仿真)
当仿真开始时,在CIW窗口中有信息出现,同时,弹出一个独立的Spectre输出窗口,如下图:
可通过File-CloseWindow关闭这个窗口.
27.当仿真结束后,瞬态响应图和交流分析图自动弹出:
28.在仿真窗中选择Session-SaveState,弹出保存状态(SavingState)框;
将SaveAs设置为state1,并且确认在WhattoSave后的所有选项均已被选中.
29.点击OK,仿真器的状态被保存下来.
30.如下图所示,用control键同时选中ac和dc,选择Analyses-Disable.可发现ac和dc后面变为”no”,而tran后仍为”yes”
31.双击上图中tran所在行,弹出选择分析(ChoosingAnalyses)框;点击框底部的Options,弹出瞬态选项(TransientOptions)框.将TIMESTEPPARAMETERS下的maxstep设置为100p
32.点击Apply.
33.选择Simulation-Run或点击Run图标
开始仿真.
在Spectre的输出窗口中,当看到第一个仿真时间点时点击波形输出图标
或选择Result-PlotOutputs-Transient,输出当时的图像;再次点击波形输出图标
观察更新后的输出图像.仿真结束后,波形窗中显示出3u的仿真数据,如下图:
注意:
当仿真结束后,要将设置的最大步长100p删除,点击Apply或OK.点击Cancel关闭ChoosingAnalyses框.
34.在仿真窗中选择Session-LoadState;在弹出的LoadingState窗中StateName后选择state1;使WhattoLoad下的WaveformSetup失效;点击OK.
35.在运放测试电路图编辑窗中,选择Design-Probe-RemoveAll,删除所有可能残留的标记仿真结果的彩色探针.
36.File-CloseWindow关闭仿真输出窗口.
37.保留仿真窗口,波形窗口和所有其他的设计窗口不变.
Lab2.2使用激励模板
实验目的:
使用图形激励模板为运放测试电路提供激励
实验步骤:
1.将运放测试电路的左侧部分调整为如图所示,并检查并保存
会看到一条警告信息出现在电路图检查框(SchematicCheckbox)中.注意电路编辑窗中的闪烁标志,这些标志提示未连接的终端.暂时忽略警告信息,点击Close关闭该窗口.
2.设置输入激励.
在仿真窗中,选择Setup-Stimuli,弹出建立模拟激励(SetupAnalogStimuli)框.确认框中的StimulusType设置为Inputs,并按照下图进行参量设置:
3.设置全局激励.
设置StimulusType为GlobalSources;分别设置vdd和vss为直流5v,-5v;设置完毕后点击OK.如下图:
4.在仿真窗中选择Simulation-Netlist-Recreate.生成网表.选择File-CloseWindow关闭网表.
5.选择Simulation-Run或
开始仿真,仿真结束后自动弹出波形窗口:
6.将电路图复原到原状态时,若不关闭刚刚创建的激励,则它将和原电路图中的电源并列而出错.所以,选择Setup-Stimuli,在弹出的窗口中将所有的激励输入改为OFF,点击Apply和OK.
7.将电路图恢复为如图所示,并点击检查并保存
:
8.在运放测试电路编辑窗中选择Design-Probe-RemoveAll,删除所有可能残留的标记仿真结果的彩色探针.
9.在运放测试电路编辑窗中选择Simulation-Netlist-Recreat,弹出网表.选择网表窗中的File-CloseWindow关闭该网表.
10.选择Simulation-Run或点击
仿真结束后出现波形如下:
如果出现错误信息,检查是否由于某些图形激励仍然处于激活状态(ON).
11.关闭仿真输出窗,保留仿真窗,波形窗和所有其他设计窗口.
Lab2.3波形窗的使用
实验目的:
研究波形窗的特点及使用
实验步骤:
1.左键点击子窗口1的数字1,使之高亮显示,再选择Axis-Strips;同样方法对子窗口2进行处理,得到图形如下:
2.选择Trace-DeltaCursor调出测量标尺,并注意观察波形图下方的数字显示:
3.左键双击子窗口右上角的数字,调出图形属性(GraphAttributes);在此框中可进行图形标题和子标题的设置,对坐标系外观进行调整等操作.
4.双