专用集成电路设计实践(西电版)第4章 EDA软件的使用_第1页
专用集成电路设计实践(西电版)第4章 EDA软件的使用_第2页
专用集成电路设计实践(西电版)第4章 EDA软件的使用_第3页
专用集成电路设计实践(西电版)第4章 EDA软件的使用_第4页
专用集成电路设计实践(西电版)第4章 EDA软件的使用_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章EDA软件的使用4.1Cadence的使用4.2Hspice的使用4.3Eproduct的使用说明4.4IC设计工具TannerPro 4.1Cadence的使用

启动Cadence

在未存在工程的情况下,需要新建一个工程。首先我们进入UNIX环境,层层翻开design’shome/../..文件夹,直到要放置工程的那一级。然后在桌面点击鼠标右键,在快捷菜单中选择NewTerminal,出现一个Terminal对话框,如图4-1所示。在UNIX提示符下输入cd和空格后再输入刚刚所翻开的路径名,回车后在提示符下输入启动命令icfb&,再次回车后,就会出现如图4-2所示的CIW(CommandInterpreterWindow)窗口。CIW是应用的控制面板,从CIW窗口就可以调用许多工具并完成多种任务。图4-1Terminal对话框图4-2CIW窗口在CIW窗口中选择Tools/LibraryManager(LibraryManager是一个全局数据管理工具),出现一个LibraryManager对话框,如图4-3所示。然后选择File→New→Library选项,弹出如图4-4所示的NewLibrary对话框。在该对话框中指定库名和路径(此时的路径名显示为刚刚输入Terminal对话框的文件夹路径名,可以默认),一般选Don’tneedatechfile,然后选择OK按钮,新建的库就会进入cds.lib文件中。图4-3LibraryManager对话框图4-4NewLibrary对话框建好库之后,还要在库里建电路。选择File→New→CellView,就弹出一个CreateNewFile对话框,如图4-5所示。在Cellname文本框中输入电路图的名字(名字最好能反映电路的功能),点击OK按钮,就会弹出一个编辑电路图的窗口,如图4-6所示,我们就可以在这里编辑电路了。图4-5CreateNewFile对话框图4-6电路图编辑窗口对于已存在的工程,可以先寻找并复制工程的路径,在Terminal对话框中输入cd和空格后粘贴路径名,然后回车,再输入启动命令icfb&,回车后即会出现CIW窗口。在CIW窗口中选择Tools/LibraryManager,出现一个LibraryManager对话框,如图4-3所示。其中最左边一栏是cds.lib里的库文件,左键双击要翻开的工程名,在Cell下就会出现工程中所有的电路图名,双击要翻开的电路图,在View中就会出现schematic,点击右键翻开即可。绘制电路图

绘制电路图的流程为:翻开编辑界面→添加器件→添加或编辑器件参数→连接器件→添加线名→添加引脚→检查电路图并保存。在绘制电路之前要在Library内添加所需的器件库。

编辑窗口的左边是工具栏,有添加器件、连线、添加线名、添加引脚、删除、撤销、保存、检查并保存等工具。我们也可以使用快捷键。

下面举画一个反相器的例子来说明。添加器件:先找到一个PMOS管,按键盘上的I键,就会弹出一个对话框,如图4-7所示;再点击Browse按钮,弹出如图4-8所示窗口,双击文件库名xdbasic,在Cell栏中点击pmos4,在View栏中点击symbol,在电路图编辑窗口中将出现PMOS管,点击一次,就会出现一个,之后需要按Esc键(这是必须要记住的!每一次操作之后都要按)。执行同样的过程,我们可以找到一个NMOS管。图4-7AddInstance主对话框图4-8浏览库中的器件设置器件参数:选中器件,按Q键,弹出设置参数对话框,可以设置器件的长、宽、并联个数等。如果所要设置的多个器件的参数相同,那么可用鼠标左键选择所要设置的全部器件(也可按Shift键添加所要设置的器件),之后按Q键,在弹出的对话框中选中allselected,即可完成对所选器件参数的一同设置。

连线:按W键,然后在线的两端点击左键即可。如果另一端没有点,那么在线截止的地方双击鼠标左键或单击左键再按Esc键。我们还可以拉伸线长,用鼠标点击该线,该线即变为黄色,点击左键拖动即可。添加引脚:按P键,弹出一对话框,在Pinnames中输入引脚名称,在Direction中选择引脚类型,然后点击Hide按钮。按R键可以旋转这个pin引脚,放到需要的位置。还可以输入多个引脚名,依次添加。

添加线名:按L键,弹出一对话框,指定线名后点击Hide按钮,使线名放到线上(注意,要将小黄框放在线上才可以)。

还有一些根本的功能,比方要画一个镜像的PMOS管,我们可以同时按R+F3键,选择Sideways,再按需要翻转的器件即可。当然也可以转90°或者上下旋转。复制:选择电路,按住Shift键,点击左键移动即可。也可按C键,再选中所要复制的局部,单击鼠标左键即可。

移动:选择电路,按住Ctrl键,左键移动。

删除:选择电路,按Delete键即可删除。也可以先按Delete键,连续点击要删除的局部就可以连续删除,其他命令也类似。

搜索同一名称的信号线:按9键,点击所要找的信号线,那么在整个电路其他模块中的该信号线将会变为彩色,便于分析电路。当把电路全部输入完毕后,点击左上角的CheckandSave按钮,检查无错误后即可。四条线连到一个节点时会有警告,此时不影响电路的正确性,所以要分清警告是这种情况,还是其他情况,假设是其他情况就有可能影响电路。电路检查假设有错误,那么在图4-2所示窗口查看错误,然后根据具体错误逐步改正。假设要查找电路图中的某条线,点击电路图所在界面的EditSearchFind,然后在出现的界面中点击SearchFornetname。也可以查找器件名(SearchForinstname),查找引脚名(SearchForpinname)等。下面简单介绍一些快捷键的使用。

[键:缩小电路图。

]键:放大电路图。

E键:查看器件内部的电路结构图,返回按Ctrl+E键。

U键:撤销操作。

F键:全局显示,把整个电路图以合理的方式在一个画面中显示出来。

D+9键:选择器件连线,可以观察到该线连接到的所有线,用于检查电路。在绘制完电路图后往往要对电路进行打包,以便使其更方便地作为更复杂电路图中的模块来使用。将所画电路图的各输入/输出信号线加上pin引脚,按P键即可设定input、output、in/output属性。加完引脚pin后,点击Design→CreateCellview→FromCellview,弹出对话框。在该对话框中选择Libraryname,并给Symbol起相应的Cellname,点击OK按钮就会自动生成Symbol。生成Symbol后要注意以下几点:

(1)Cellview中不能将电源地线接到符号电源地上,而应在地线上加输入/输出pin。

(2)检查Symbol最外部的线框是否在各pin引脚的点上,假设没有落在pin引脚上,说明原来所设置的点阵间距太宽。点击Options→Display,弹出DisplayOption对话框。Spacing代表两粗点间的间距长度,Multiple代表两粗点间小间隔的个数,SnapSpacing代表小间隔之间的距离。三者关系为:SnapSpacing=Spacing/Multiple。调节三者之一便可修改电路的点阵间距,使Symbol的线框落在pin脚。(3)所生成的Symbol会标有Instancename,应将其删去,否那么当在其他电路上调用此Symbol时其器件号将会出错。点击Add→Lable,弹出AddSymbolLable对话框,在LableChoice中选择AnalogInstanceLable即可。

(4)假设要修改Symbol形状,那么可将原框图删去而自行绘制形状。

(5)可以对[@partname]按Q键修改其属性,以便更改其名字。

制作Symbol时,可以采用参数传递的方法。与不采用参数传递相比,在调用单元电路时,采用参数传递的单元电路其内部参数可以在调用时进行设置,而不必将每种参数都制作成一个单元。进行参数传递的方法如下(以反相器为例):原理图参数输入:

PMOS的参数:Multiplier:[@mp],Width:[@wp],Length:[@lp]

NMOS的参数:Multiplier:[@mn],Width:[@wn],Length:[@ln]

Symbol中参加:[@wp:wp=%],[@lp:lp=%],[@mp:mp=%],[@wn:wn=%],[@ln:ln=%],[@mn:mn=%]电路图仿真

1.添加鼓励

要对所设计的电路进行仿真,就需要加鼓励,即电源、地、输入信号等。

加电源:按I键,点击Browse,弹出如图4-8所示的窗口。双击analogLib,在Cell中选择常用的电源,一般为vpwl(分段线性电压源,仿真瞬态响应时使用)和vdc(直流电源,仿真直流和交流响应时使用)。按Q键,设置电源大小。将电源鼓励一端连在电源线上,另一端接地。

加地:按I键,点击Browse,弹出如图4-8所示的框图。双击analogLib,在Cell中选择gnd,连在需要接地的地方即可。

其他输入信号要按电路具体情况和要仿真的功能而定,如图4-9所示。图4-9待仿真的电路图2.模拟仿真流程

模拟仿真的流程是:启动仿真环境→选择模型并添加模型→设定设计变量→选择仿真分析类型(包括直流分析、直流扫描、交流分析、瞬态分析等)→选择输出信号→形成网表进行仿真。

(1)启动仿真环境。在电路图编辑菜单栏中选择Tools→AnalogEnvironment或者在CIW中选择Tools→AnalogEnvironment→Simulation,就出现了仿真窗口,如图4-10所示。

(2)选择模型并添加模型。在仿真窗口选择Setup→ModelLibraries,弹出对话框如图4-11所示,点击Browse按钮,选择ModelLibraryFile,在Section(opt)中填写仿真需要的模型组合,通常先输入tt(典型值),点击Add按钮,然后点击OK按钮,就可以成功添加模型库了。图4-10仿真窗口图4-11添加模型窗口(3)设定变量。在仿真窗口选择Variables→CopyFromCellview,如图4-12所示。在该对话框中设定变量(要用对话框中的Change选项,而不是Add选项),点击OK即可(如电路图中没有变量那么无需设置)。图4-12设定变量窗口(4)选择分析类型。对于瞬态仿真,在仿真窗口选择Analyses→Choose或者点击ChooseAnalyses按钮,出现一个对话框,如图4-13所示,设置StopTime(停止时间),点击Enabled后面的方框,使其变为红色,然后点击OK按钮即可。仿真命令中需要设置步长的,可以点击SweepTypeLinear,然后在StepSize的相应窗口中设置步长。图4-13选择分析类型窗口(5)选择输出信号。在仿真窗口选择Outputs→ToBePlotted→SelectOnSchematic,选择电流点器件端点,选择电压点线。

(6)开始仿真。在仿真窗口选择Simulation→NatlistandRun,此时会生成网表进行仿真。出现如图4-14所示的界面后,仿真完毕。当工程比较大时,需要多台计算机同时进行输图、仿真等工作,此时注意各台计算机建立工程的路径应一致,以便于后期整合在一起。图4-14仿真窗口3.结果显示

在仿真窗口选择Results→DirectPlot,然后根据所仿真的类型,在电路图中选择所需要的电压/电流,按Esc键就可以显示图形。假设要显示电压就点击线,要显示电流就点击器件的一端。注意,所有的电压都可以显示,但是只能显示选择输出信号时选择过的电流。选择电流节点时,在仿真之前要先保存该电流节点。按A键或按B键可以选择波形图中的标尺,点击鼠标左键即可显示出该点的坐标,如图4-15所示。图4-15仿真结果 4.2Hspice的使用

Hspice的使用流程

(1)双击Hspice图标就可启动Hspice,如图4-16所示。图4-16Hspice的启动图4-17选择要仿真的网表(2)单击EditNL按钮翻开仿真网表*.cir,在网表中参加所需的Hspice仿真命令,例如参数设置、参加模型库、交流分析、直流分析以及输出的结果等,如图4-18所示。图4-18参加Hspice仿真命令(3)单击Simulate按钮开始仿真,仿真完成后单击EditLL按钮,按Ctrl+F键在查找对话框里输入err,查看仿真是否有误。假设仿真无误那么可以看到jobconcluded字样,假设仿真出现错误那么重新回到网表中检查命令是否参加完全,参数设置是否正确。也可以手动修改或参加参数。(4)假设仿真没有错误,单击Awanwaves按钮查看仿真波形。单击Awanwaves按钮后会弹出ResultsBrowser窗口,可以编辑待显示的结果,如图4-19所示。可以直接显示的输出列在Curves子窗口中。选定一个变量后直接用鼠标中键将其拖进主菜单中的波形显示区,即Panels中即可。单击Transient所在行即出现电路中的输入/输出信号线名。双击想要看到的信号线名即可查看波形。另外还可以通过双击Hierarchy下的Top来显示电路中所有线的名称。再双击相应的名称即可查看任何输出线的波形。波形显示窗口如图4-20所示。

波形显示编辑菜单Window:对一个Panel中的波形的显示模式进行编辑,包括x轴、y轴、x/y轴的大小(zoomin),缩小(zoomout),移动(pan)以及全屏显示(full),恢复上一视图(lastzoom)。

测量菜单Measure:它提供了对波形进行测量的一些根本工具,可以选择点测量(point)或点对点测量(pointtopoint),测量完后可以去除测量标记。图4-19编辑待显示结果图4-20波形显示窗口根据仿真波形,可以看到自己设计的电路是否存在缺陷,或者在某个性能上还需改进,可以在电路上再做修改。同时还要注意以下几点:

(1)添加命令前先要正确添加模型库,注意模型库的路径中不要有汉字字符,否那么将不能够正确仿真;其次注意要按照模型要求添加,有些模型库的路径被锁定,假设与其不符那么不能正确仿真。

(2)在网表中语句前添加“*〞号,那么这句语句就被屏蔽了,不需要将其删去。

(3)网表结尾会有“CSDF=2〞这样一句语句,仿真时在其前面添加“*〞号将其屏蔽掉,否那么可能不能正确仿真。(4)设置适宜的工作点,给出适宜的鼓励信号。不管仿真哪个性能,一定得加上适宜的鼓励,这样才能查看相应节点的电压或电流。如果鼓励有偏差,结果无论如何也不会正确。

(5)电路生成的网表是.cir文件,有些机子上的软件不支持这一格式的网表文件,仿真时需要把文件的后缀改为.sp才可以进行仿真。

(6)电路的参数设置一定要和模型中的设置范围相吻合,否那么,即使有仿真结果,也会存在某些未能发现的隐性错误,所以一定要查看仿真用的模型是否和电路的参数相匹配。Hspice的常用分析类型

1.直流分析(DCAnalysis)

常用命令:

.OP:直流工作点分析。

.NODESET:节点设置。

.DC:直流扫描。

(1).OP:计算直流工作点,但不控制偏置点分析的方法和偏置计算的结果。(2).NODESET:在计算直流偏置点时,为使直流分析收敛,电路的某些节点或所有节点可以用.NODESET命令设置初始估计值。一旦建立了工作点,.NODESET语句在直流扫描分析和瞬态分析中将不再起任何作用。

例如:

.NODESETV(4)=1.5VV(6)=0(3).DC:

.DC的格式:

.DCvar1start1stop1incr1<var2start2stop2inc2>

.DCvar1start1stop1incr1<SWEEPvar2typenpstart2stop2>

.DCvar1start1stop1incr1<SWEEPDATA=datanm>

.DCDATA=datanm<SWEEPvar2start2stop2incr2>

其中:type可以为DEC、OCT、LIN或POI(ListofPoints)(注:DEC、OCT和LIN主要在交流分析中应用,在后文再做解释);var为直流瞬态的变量,如温度、输入电压等;start为变量的起始值;stop为变量的终止值;incr为变量的步长。

注:start的值可以比stop的值大,即扫描可以在两个方向上进行,inc也可以为负值。

例如:

.DCVIN0101

.DCVIN0101VGS051

.DCXVAL1K10K0.5KSWEEPTEMPLIN525125

.DCTEMPPOI503050100125

最后的语句将在五个温度点进行直流扫描,这五个温度点是0、30、50、100、150(单位:摄氏度)。

.DCTEMP-402001200-40-1

该语句表示对温度进行直流扫描,先从-40℃到200℃,步长为1℃;后从200℃到-40℃,步长为-1℃。

例4-1:直流参数扫描,其电路如图4-21所示。图4-21直流参数扫描例如电路****t6.cir

****直流参数扫描

M11200NSS

VGS20DC0V

VDD10DC12V

.MODELNSSNMOSLEVEL=3RSH=0TOX=275E-10LD=.1E-6XJ=.14E-6

+CJ=1.6E-4CJSW=1.8E-10UO=550VTO=1.022CGSO=1.3E-10

+CGDO=1.3E-10NSUB=4E15NFS=1E10

+VMAX=12E4PB=.7MJ=.5MJSW=.3THETA=.06KAPPA=.4ETA=.14

.DCVDD050.1VGS020.5

.PLOTDCI1(M1)

.END图4-22直流参数扫描波形2.交流分析(ACAnalysis)

常用命令:

.AC:交流分析。

.NOISE:噪声分析。

.NET:网络特性分析。

(1).AC:交流分析。命令格式如下:

.ACtypenpfstartfstop

.ACtypenpfstartfstop<SWEEPvartypenpfstartfstop>

.ACtypenpfstartfstop<SWEEPvarfstartfstopincr>

.ACtypenpfstartfstop<SWEEPDATA=datanm>其中:np是交流扫描的点数;fstart是起始频率;fstop是终止频率;type可以为DEC、LIN、OCT、POI。DEC为十倍频扫描,它进行对数扫描。np是十倍频程内的扫描点数。DEC用于带宽特别宽的情况。LIN为线性扫描,是从起始频率到终止频率的线性扫描,np是扫描中的总点数。下一个频率值由当前一个频率值加上一个常量得到。LIN在带宽较窄时使用。OCT为倍频扫描,频率以倍频程进行对数扫描。np是倍频程内的扫描点数。下一个频率值由当前值乘以一个大于1的常数产生。OCT用于带宽较窄的情形。POI使用较少,这里不作解释。例如:

.ACDEC101K100MEG

.ACDEC10110KSWEEPcloadLIN201pf10pf(2).NOISE:噪声分析。命令格式如下:

.NOISEovvsrcnaminter其中:ovv为节点电压输出变量;srcnam是产生等价输入噪声的独立电压源或电流源;inter是打印间隔。

(3).NET:网络特性分析。

①单端口网络格式如下:

.NETinput<RIN=val>

.NETinput<val>②双端口网络格式如下:

.NETOutputInput<ROUT=val><RIN=val>其中:Input为输入交流电压源或电流源;Output为输出端,可以是电压或电流;RIN为输入电阻或电源内阻,用于计算输出电阻;ROUT为输出电阻或负载电阻,用来计算输入阻抗。例4-2:低通滤波器。

****t11.cir

.ACDEC1010100MEG

vin10ac1

r112100

c12030p

.END图4-23低通滤波器的输出波形图3.瞬态分析(TransientAnalysis)

常用命令:

(1).IC:瞬态初始状态分析。

其一般格式为:

.ICV(1)=V1V(2)=V2…

这些偏置点不影响直流分析和直流扫描中固定偏置点的计算。为了使.IC命令有效,应在.TRAN语句中指定UIC。IC语句也可写在元件后面,如C120IC=3。(2).TRAN:瞬态分析。

其一般格式为:

.TRANtincr1tstop1<tincr2tstop2…><UIC>

.TRANtincr1tstop1<tincr2tstop2…><SWEEPvarpstartpstoppincr>

.TRANtincr1tstop1<tincr2tstop2…><SWEEPvartypenppstartpstop>

例如:

.TRAN1ns100ns

.TRAN例4-3:温度扫描。

****t2.cir

****温度扫描*****

R112100

R201100TC1=0.05

V1I320dc5v

.tran1ms10mssweeptemp206020

.plotv(1)

.END图4-24温度扫描波形图例4-4:电阻参考扫描。

****t3.cir

******电阻参数扫描

R112rload

R201100

V1I3

2

0

dc

5v

.tran1ms10mssweeprloadpoi3100200300

.END图4-25电阻参数扫描波形图例4-5:.IC命令。

****t5.cir

****IC命令

R21220

C1202.5U

VIN10dc5v

.ICV(2)=4V

.TRAN5US1MS

.END为正确反映电路特性,对于含有记忆性元件的电路,可采取以下措施:

(1)采用.IC语句。

(2)电源采用分段线性源。

作为比照,这里分别给出使用.IC命令的仿真波形(如图4-26所示)和不使用.IC命令的仿真波形(如图4-27所示)。图4-26使用.IC命令的仿真波形图4-27不使用.IC命令的仿真波形4.其他常用语句

1).DATA

格式:

.DATAdatanmpnam1<pnam2pnam3…>

+ pval1<pval2pval3…>

+ pval1’<pval2’pval3’…>

.ENDDATA例如:

.TRAN1n100nSWEEPDATA=devinf

.ACDEC101hz10khzSWEEPDATA=devinf

.DCTEMP-5512510SWEEPDATA=devinf

.DATAdevinfwidthlengththreshcap

+ 50u 30u 1.2v 1.2pf

+ 25u 15u 1.0v 0.8pf

+ 5u 2u 0.7v 0.6pf

.ENDDATA

此例分别利用给出的三组参数对电路进行瞬态、交流、直流扫描。2).ALTER

该语句用来对电路进行不同参数下的模拟,这些参数包括:电路拓扑结构、模型、库元件、参数值、选项、源鼓励、变量等。

例如:

.PARAMA=4nsB=5ns

V1VAGNDPULSE(0V5V0nsAB46.5ns100ns)?

.ALTER

.PARAMA=5nsB=6ns

.ALTER

.PARAMA=6nsB=7ns

.END

.LIB指定所用到的库文件常用输出格式

1.输出命令

.PLOT

.PRINT

.PROBE2.输出格式

1)直流分析和瞬态分析中

V(n1,<n2>):n1到n2节点的电压,n2可省略为0(即地)。

In(Xzzz<.Yyyy.><.Wwww>):n为节点号,括号中为元件。

例如:

I1(R1),I4(X1.M1)

常用元件节点电流值的表示方法如图4-28所示。2)交流分析中

Vx(n1,<n2>):x为电压输出类型,主要参数有R(实部)、I(虚部)、P(相位)、M(幅度)、DB(分贝表示)。

Iz(Wwww):z为输出类型,同上。图4-28常用元件节点电流值的表示方法3.功率输出

格式:

.PRINT<DC|TRAN>P(element_or_subcircuit_name)POWER

例如:

.PRINTTRANP(M1)P(VIN)P(CLOAD)POWER

.PRINTTRANP(Q1)P(DIO)P(J10)POWER

.PRINTTRANPOWER$Totaltransientanalysispower

*dissipation

.PLOTDCPOWERP(IIN)P(RLOAD)P(R1)

.PLOTDCPOWERP(V1)P(RLOAD)P(VS)

.PRINTTRANP(Xf1)P(Xf1.Xh1)常用信号源

常用的信号源有:

(1)指数源:

EXP(v1v2td1t1td2t2)

(2)脉冲源:

PULSE(v1v2tdtrtfpwper)其中:v1为脉冲源的低电平电压值;v2为脉冲源的高电平电压值;td为脉冲源的起始延迟时间值;tr为脉冲源由低电平向高电平跃变的延迟时间;tf为脉冲源由高电平向低电平跃变的延迟时间;pw为一个脉冲周期内高电平所占的时间值;per为一个脉冲周期值。(3)分段线性源:

PWL(t1v1t2v2…)

(4)正弦源:

SIN(vovafreqtdalphatheta)

(5)单频调频源。

(6)独立电压源。

(7)独立电流源。电路的优化

一般步骤:

(1)在分析语句中指明OPTIMIZE。

(2)在measure语句中指出优化的目标或误差。

(3)一般的分析语句。

(4)输出语句。因电路的优化牵涉到较多知识,所以在此只以一个具体的例子来说明。

例4-6:RC网络的优化。

优化目标:

(1)时常数为1。

(2)电阻上的有效功耗为50mW。

步骤:

(1)用RC1计算时常数。

(2)用RC2计算功耗。

(3)选取RX、CX为变量。网表:

****rcopt.sp

.paramrx=optrc(.5,1e-2,1e+2)

.paramcx=optrc(.5,1e-2,1e+2)

.measuretranrc1trigat=0targv(1)val=.3679fall=1goal=1sec

.measuretranrc2rmsp(r1)goal=50mwatts

.modelopt1opt

.tran.12 $initialvalues

.tran.12sweepoptimize=optrcresults=rc1,rc2model=opt1

.tran.12 $analysisusingfinaloptimizedvalues

.ic11$.ICv(1)1

r110rx

c110cx

.end解释:

(1)param语句说明:rx取值范围为0.01~100Ω,初始取值为0.5Ω。

(2)trig说明触发条件,本例中为0时刻。

(3)targ说明优化目标,本例中表示优化目标为v(1)=0.3679。

(4)goal表示到达50mW时终止。

用Hspice进行仿真后,由.lis文件中可以看出:当r=7.4823Ω,c=133.9934mF时,满足所要求的条件。不收敛问题

1.不收敛(Nonconvergence)诊断表

当发生不收敛问题时,Hspice将自动在诊断表文件中产生两种标注(printback):节点电压标注和元件(element)标注。节点电压标注将打印出所有不收敛节点电压名称和相关的电压错误容差(voltageerrortolerance)。元件标注列出所有不收敛元件及其相关电压、电流、模型参数和电流的错误容差。

通过分析诊断表中异常的支路电流、节点电压和容限,可以找到引起不收敛的支路电流或节点电压,之后用.NODESET或.IC命令对其初始化,那么有可能消除不收敛现象。其中节点包括一些隐藏的节点,比方说由寄生电阻产生的附加节点。例4-7:一环形振荡器,其不收敛诊断表如表4-1所示。

由表4-1中可以看出,在该环形振荡器中,反相器xinv21、xinv22、Xinv23、xinv23、xinv24是引起不收敛的子电路,同时还可以看出xinv23的N沟道晶体管也是造成不收敛的元件。表中还给出了相应的电压和电流,由此可以看出它们的值是否合理。误差容限tolds、tolbd、tolbs值可以说明元件电流值(漏端到源端、衬底到漏端和衬底到源端)与收敛与否的紧密程度。一般来说,tol变量的值小于或接近1时,电路收敛。由表4-1中可以看出,tolds接近100时,电路不收敛。另外,表中还给出了各节点的电压值和电流值,由此可以判断晶体管的工作状态。表4-1不收敛诊断表SubctkElementModelxinv2121:mpch10:p1xinv2222:mpch10:p1Xinv2323:mpch10:p1xinv2323:mnch10:n1[xinv2425:mpch10:p1Id27.5809f140.5646u1.8123p1.7017m5.5132uIbs205.9804f3.1881f31.2989f0.200.0000fIbd0.0.0.-168.7011f0.Vgs4.9994-4.999269.92234.9998-67.8955Vds4.9994206.6633u69.9225-64.92252.0269Vbs4.9994206.6633u69.92250.2.0269Vth-653.8030m-745.5860m

-732.8632m

549.4114m-656.5097mtolds114.860982.5624155.9508104.50045.3653tolbd0.0.0.0.0.tolbs3.534e-19107.1528m0.0.0.1)寻找不收敛的原因(TracebackofNonconvergenceSource)

为了找到引起不收敛的原因,我们可以参考错误容限来检查电路通路。比方一个反相器链,最后一个反相器可能有一个非常大的错误容差,在这种情况下,就应该检查驱动该反相器的元件的错误容差。如果驱动容差大的话,那么该驱动元件有可能就是造成不收敛的原因。如果容差小的话,驱动元件就应该按不收敛源来检查。通过检查引起不收敛的MOSFET的电流和电压,可以确定管子的工作状态,有可能是处于模型的间断区,比方截止区(subthreshold)到线性区(linear)或线性区到饱和区(saturation)。考虑到误差容限,应该检查各节点的电流和电压。如果电流值或电压值太小的话,有可能因除数太小而造成不收敛错误。一个解决方法是增加绝对精度的值。可以用诊断表和直流迭代次数(用ITL1语句)相结合来定位不收敛源。通过增加或减少迭代次数,有问题的节点和元件将被打印出来。2)瞬态工作点分析(TransientOperatingPointAnalysis)

一些电路,尤其是具有反响的电路,没有稳定的工作点(OperatingPoint)。为了得到这些电路的直流工作点分析,或者去掉反响环路,或者忽略直流工作点分析。为了忽略直流工作点分析,可以在瞬态分析中使用UIC参数。

.TRAN1ns100nsUIC

如果在这样的电路中必须进行直流工作点分析,那么可以用.OP语句:

例如:

.TRAN1ns100nsUIC

.OP20ns3)确定初始值

电路到达稳态时的工作点数据可以用来作为直流工作点分析的初始值。

例如:

.OPTIONOFF

.TRAN20n250nUIC

.OP250n

VSUPPLY50PL(0V0S5V50N)

在这个例子中,VSUPPLY在开始的50ns内由0V升到5V,200ns时电路已到达稳态。设置时间增量为电路的估计最大RC时间常数,在10倍于时间常数的地方开始进行工作点分析。这样的步骤将有充分的时间保证电路到达稳态。利用这些步骤就可以确定初始电压。2.不收敛电路及其解决

电路不收敛通常是由以下原因引起的:

(1)初始条件不当。

(2)不恰当的模型参数。

(3)不恰当的.OPTIONS命令或分析模式。

例4-8:多稳态电路需要状态信息来进行直流分析。因此,对于环形振荡器和触发器必须有初始体条件(利用.IC语句)。环形振荡器通常只需设置一个初始状态。电路如图4-29所示。图4-29环形振荡器对于触发器,最好用.IC语句在子电路内部设置初始条件。在下面的例子中,局部参数Qset默认为0,它被用来初始化Q值,这样,所有的Q值初始为0。假设在调用时设置Qset为1,那么所有的Q值初始为1。

例如:

.subcktlatchinQQ/dQset=0

.icQ=Qset

.ends

.xffdata_in[1]out[1]out[1]/strobeLATCHQset=Vdd 4.3Eproduct的使用说明

Eproduct软件主要用于建立工程并对工程进行管理,包括设计数据的管理、设计工具的管理以及电子元器件库的管理。它是通过工程管理器ProjectManager来实现的。工程建立后就可以利用ViewDraw来绘制电路图以及生成电路网表,以便利用仿真软件来进行仿真。下面就对其具体使用方法进行简要的介绍。

ProjectManager的使用

在计算机上找到名为EproductDesigner的图标或快捷方式后双击翻开它,会看到工程管理器的主界面,如图4-30所示。图4-30Eproduct工程管理器的主界面(1)单击File→New→Project就会出现如图4-31所示的对话框。

在name中输入所要命名的工程的名字,通过Browse选择要存放的路径,单击确定按钮后,在主界面的左边会出现所建工程的名字。图4-31建立新的工程(2)单击新建好的工程名前的加号,会出现子窗口,如图4-32所示。图4-32工程管理(3)右键单击Libraries,在出现的菜单中选择AddLibrary,分别添加单元库basic和analog,如图4-33、图4-34所示。图4-33添加basic库图4-34添加analog库左键单击Path右边的Browse按钮,选择所要添加库的路径。在Alias中添加所选的库名称;Type是库的属性。其中常用的为basic(属性为Writeable)与analog(属性为Megafile)。单击OK按钮即可完成库的添加工作。库的作用是为接下来的电路设计提供必要的根本元器件。

此时,一个新的工程工程已经建立完毕,但是由于还没有输入具体的电路结构,因此这只是完成了一个框架而已。进行电路图的绘制需要在ViewDraw环境下进行。当存在多个工程时,名称后出现active的表示有效。双击有效的工程,会在右边的工作区中显示该工程下的所有文件,从中选择(工程名.dproj)文件翻开,就可以进入ViewDraw进行画图修改及一系列的操作了。ViewDraw的使用

ViewDraw既可以绘制电路图,也可以绘制符号图,下面将分别介绍。

1.电路图(Schematic)的绘制

翻开一个工程工程后,双击右边工作区出现的图标,即可翻开绘图工具ViewDraw的界面。绘制电路图的过程如下:

(1)单击File→New,会出现如图4-35所示对话框。图4-35新建电路图(2)选择Add→Component,会出现如图4-36所示对话框。

在左边的Directory栏中选择器件库类型,一般情况下选择basic;在中间的Symbol栏里选择具体的器件,比方CAP.1、DIODE.1等;然后点击Place按钮或直接将其拖至画图界面即可完成器件的调用。在器件上双击鼠标左键,可以修改器件名称、量值等参数。

(3)选择Add→Net,把鼠标放到器件的一端引脚上,按下左键不放并拖动至想要连线的另一端,放开鼠标左键即完成连线。选中连线,双击鼠标左键即可对其进行命名并修改相关参数。图4-36调用根本单元(4)选择Add→Text,即可在电路图中增加文本(起注释说明作用);选择Add→Arc或Cycle、Box、Line等可以增加弧线、圆、矩形、折线等没有电连接关系的图形对象。

(5)选择Add→Box,用鼠标选择区域即可;也可以双击空白处,出现边框设置对话框,依据提示完成对边框的修改。

(6)电路图及其参数全部输入完毕后,选择File→Save完成存盘;选择File→Save&Check,那么在存盘时自动检查电路。假设没有错误那么保存,有错误那么修改至没有错误为止。图4-37更换元器件2.符号(Symbol)的绘制

为了在系统中调用方便,经常需要将电路单元打包成一个符号图。下面就介绍符号(Symbol)的绘制。

(1)电路图绘制完成后,在工具栏中选择SymbolWizard,将出现如图4-38所示对话框。

以选择Createnewsymbol、None、Module、Donotfracturesymbol选项为例,点击进入下一步。图4-38绘制Symbol(2)写入所打包的名称(一般与电路的名称保持一致);去掉Addpcblayoutattributestothesymbol选项前面的对号,对其他参数一般不进行修改,点击进入下一步;不进行操作进入下一步——添加引脚。

(3)管脚是符号图中特有的选项,它提供了符号代表的电路的输入/输出接口。如图4-39所示,单击右键后选择AddPin来设定引脚。

在弹出的对话框里设置引脚名字、摆放位置、类型等参数,注意引脚名字要和搭建电路图时的输入/输知名字相同。

(4)选择SaveSymbol、Finish即完成了电路图打包即符号的绘制。图4-39设定输入/输出pin3.网表的提取

Eproduct本身不可以进行仿真,所以必须首先将电路转换为网表的形式,再与其他的仿真器配合使用。在菜单栏中单击Tools→CreateAnalogNetlist(Common),并在出现的对话框中选择路径、仿真电路的名称,再单击CreateNetlist。假设电路被检查无误,即可生成网表文件。当然在对电路进行仿真之前,要引入鼓励信号源,其方法有两种:在网表提取之前在电路中添加以及在提取完成后手动写入。 4.4IC设计工具TannerPro

Tanner是电子专业技术人员开发的ASIC设计轻型系统。该软件模块包括:

S-Edit:原理图编辑器。

T-Spice:仿真器。

SPR:标准单元布局布线。

L-Edit:幅员绘制模块。1.用S-Eidt输入原理图

(1)启动。双击S-Edit图标就可启动S-Edi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论