VLSI实验报告1Word格式.docx
《VLSI实验报告1Word格式.docx》由会员分享,可在线阅读,更多相关《VLSI实验报告1Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
在实验二,己经了解到使用S-Edit绘制电路图的方法,但是,要分析所绘制的电路图的功能是否达到原来预计的效果,则需要进一步使用电路分析软件来验证其功能,而在Tanner中,这种电路分析软件即为T-Spice。
所以,在本章中将以实验二的反相器电路为例,经适当修改并输出成SPICE文件后,利用T-Spice来进行反相器瞬时分析,并以详细的步骤来引导学生学习T-Spice的基本功能。
实验原理
近些年来,集成电路设计技术发展迅速,促使半导体技术不断地发展,半导体技术在进入将整个系统整合在单一晶片上的时代,许多设计公司正在积极开发各种IP或更先进的soc产品。
而设计人才的培养,需要依托于学校,现在各大专院校、研究所都已设置VLSI相关课程,培训流程及设计方面的人才。
超大规模集成电路设计必须借助于计算机辅助设计软件,并遵循各项流程规则及参数规定。
大部分的超大规模集成电路设计软件是在工作站上执行的,虽然功能强大,但是价格昂贵,不利于初学者学习使用。
日前,在PC机上开发了TannerToolsPro工具,它可以提供完整的电路设计环境,帮助初学者进入VLSI设计领域。
TannerToolsPro工具非常适合初学者学习,它从电路图设计、电路分析仿真到电路布局环境一应俱全。
本试验教程针对VLSI设计实习课程设计了多个实验。
反相器是一种最基本的逻辑电路,根据其所使用的逻辑电路类型的不同而具有不同的形式,
实验步骤
操作流程:
以S-Edit编辑反相器模块---输出成SPICE文件---进入T-Spice---加载包含文件---电源设定---输入设定---分析设定---输出设定---执行仿真---显示结果。
3.1反相器的瞬态分析
(1)打开S-Edit程序:
依照实验二的方式打开S-Edit程序,S-Edit会自动将工作文件命名为“File0.sdb”并显示在窗口的标题栏上,
(2)环境设定:
S-Edit默认的工作环境是黑底白线,但可按照实验二的步骤依自己的喜好来定义颜色。
(3)另存新文件:
选择File---SaveAs命令,打开“另存为”对话框,在“保存在”下拉列表中选择保存目录,在“文件名”文本框中输入新文件的名称,如ex3,由于在本电路需要一个反相器及其电源,可自行绘制实验二的反相器电路,或按照如下的步骤从文件ex2中复制反相器的模块到ex3文件,再打开加入电源进行适当的修改即可。
(4)复制inv模块:
要复制ex2的inv模块到ex3文件中,必须先打开实验二编辑的文件“ex2.sdb”。
进行复制之前必须回到ex3文件环境,方法为选择Module---Open命令,打开OpenModule对话框,在Files下拉列表中选择ex3选项,单击OK按钮,回到ex3环境,才能进行复制模块的操作。
选择Module---Copy命令,打开CopyModule对话框,,在Files下拉列表中选择ex2选项,在SelectModuleToCopy列表框中选择inv选项,单击OK按钮,即完成将inv模块从ex2文件中复制到ex3文件的操作。
(5)打开inv模块:
由于上一步骤复制模块的操作只是在ex3文件中增加了inv模块(还有inv引用到的模块Vdd,Gnd,MOSFET_N与MOSFET_P),而ex3依旧在Module0模块的编辑环境下,所以要编辑inv模块必须先选择Module—Open命令,打开OpenModule对话框,在Files下拉列表中选择ex3选项,在SelectModuleToOpen列表框中选择inv选项,单击OK按钮。
(6)加入工作电源:
确定inv模块在电路设计模式,选择Module---SymbolBrowser命令,打开SymbolBrowser对话框,在Library列表框中选择spice组件库,其内含模块出现在Modules列表框中,其中有很多种电压源符号,选取直流电压源Source_v_dc作为此电路的工作电压源,直流电压源Source_v_dc符号有正(+)端与负(-)端。
在inv模块编辑窗口中将直流电压源Source_v_dc符号的正(+)端接Vdd,将其符号的负(-)端接Gnd,虽将两个全域符号Vdd及两个Gnd符号分开放置,但两个分离的Vdd符号实际上是接到同一个节点,而两个Gnd符号也是共同接地。
所以为了使外加电源与设计电路能清楚地分开,
(7)加入输入信号:
选择Module---SymbolBrowser命令,打开SymbolBrowser对话框,在Library列表框中选取spice组件库,其内含模块出现在Modules列表框中,选取脉冲电压源Source_v_pulse作为反相器输入信号,将脉冲电压源Source_v_pulse符号的(+)端接输入端口IN,将脉冲电压源Source_v_pulse符号的负(-)端接Gnd,
(8)更改模块名称:
因在本实例中是利用反相器电路来学习使用T-Spice的瞬时分析功能,日后尚需将该电路应用在其他的分析之中,为避免文件混杂且便于日后分辨,故将原本的模块名称inv改成inv_tran。
选择Module---Rename命令,打开ModuleRename对话框,在Newmodule'
sname文本框中输入“inv_tran”单击OK按钮。
(9)输出成SPICE文件:
要将设计好的S-Edit电路图借助T-Spice软件分析与模拟此电路的性质,需先将电路图转换成SPICE格式。
要进行此操作,第一种方法是单击S-Edit右上方的按钮,则会自动输出成SPICE文件并打开T-Spice软件,第二种则可由选取窗口选单File---Export输出文件,再打开T-Spice程序其方法是可以执行在..\Tanner\T-Spice70目录下的“wintsp32.exe”文件,再打开从ex3的inv_tran模块输出的inv_tran.sp
(10)加载包含文件:
由于不同的流程有不同特性,在模拟之前,必须要引入MOS元件的模拟文件,此模拟文件内有包括电容电阻系数等数据,以供T-Spice模拟之用。
本范例是引用1.25um的CMOS流程组件模型文件“m12_125.md”。
将鼠标移至主要电路(*Maincircuit:
inv_tran)之前,选择Edit---InsertCommand命令,打开T-SpiceCommandTool对话框,在左边的列表中选择Files选项。
此时在右边窗口将出现4个按钮,可直接单击Include
按钮,也可展开左侧列表中的Files选项,并选择Includefile选项。
选择Includefile选项之后,此时单击Browse按钮在
目录窗口中先找到..\Tanner\TSpice70\models\目录,接着选取模型文件m12_125.md,在Includefile文本框中将出现..\Tanner\TSpice70\models\ml2_
l25.md文件。
再单击InsertCommand按钮,则会出现默认的以蓝色字开头的“.include`C:
\Tanner\TSpice70\models\m12_125.md’”,
(11)分析设定:
此范例为反相器的瞬时分析,必须下瞬时分析指令,将鼠标移至(.include)文件尾,选择Edit---InsertCommand命令。
打开T-SpiceCommandTool对话框,在左边的列表框中选择Analysis选项,右边出现8个选项,可直接选取瞬时分析按钮Transient,也可展开左边列表框中的Analysis选项,如
,并选择其中的Transient选项。
单击Transient按钮之后,在此将设定模式,并设定其时间间隔与分析时间范围,此处将模拟时间间隔设定为1ns,总模拟时间则为400ns。
首先在Modes选项组中选中Standard(fromDCop.point)单选按钮,在下边出现的MaximumTime文本框中输入“1n”,在Simulationlength文本框中输入“400n”,单击InsertCommand按钮后,则会出现默认的以蓝色字开头的“.tran1n400n”,瞬态分析设定
(12)输出设定:
观察瞬时分析结果,要设定观察瞬时分析结果为哪些节点的电压或电源,在此要观察的是输入节点IN与输出节点OUT的电压模拟结果。
将鼠标移至文件尾,选择Edit---InsertCommand,在出现对话框的列表框中,选择Output,右边出现7个选项,可直接单击Transientresults按钮,亦可展开左侧列表框的Output,选择Transientresults选项。
单击Transientresults按钮之后,在右边出现的Plottype下拉列表中选择Voltage选项,在Nodename文本框输入节点名称“IN”,注意大小写需与元件所接的节点名称完全一致,单击Add按钮。
再回到Nodename文本框输入输出节点名称"
OUT"
单击Add按钮。
最后单击InsertCommand按钮,则会出现内定以蓝色字开头的“.printtranv(IN)v(OUT)”。
(13)进行仿真:
编辑完选择File—Save命令保存文件,选择Simulate---
StartSimulation命令,或单击命令,打开RunSimulation对话框,单击StartSimulation按钮,则会出现模拟结果的报告“SimulationStatus”,并会自动打开W-Editor窗口来观看模拟波形图。
(14)观看结果:
可在T-Spice环境下打开模拟结果“inv_tran.out”报告文件,瞬时分析结果的输出格式为第一行列出时间,第二行与第三行分别列出各时间对应的节点电压值v(IN)与v(OUT)。
也可以在W-Edit中观看模拟结果“inv_tran.out”的图形显示,选择工具图样来分离v(IN)曲线与v(OUT)图样,上面的曲线为输出电压对时间的图,下面的曲线为输入电压对时间的图。
注意,横坐标都是时间(ns),纵坐标都是电压(V)。
(15)分析结果:
将仿真结果作分析,验证反相器模拟结果是否正确。
时间10-110ns的输入数据为1,反相结果应为0,即代表v(OUT)=0。
从仿真结果来看,时间10-110ns的输出电压结果是正确的。
时间120-200ns的输入数据为0,反相结果应为1,即代表v(OUT)=1。
从仿真结果来看,如图3.22所示,时间120-200ns的输出电压结果是正确的。
(16)时间分析:
反相器的瞬时分析除了可以由波形看出其输入随时间变化造成的输出变化以外,还可以运用measure指令计算出信号的延迟或上升与下降时间。
在此先分析一下输出电压v(OUT)的下降时间,输出电压的计算方式为从最大稳定电压的90%降到最大稳定电压的10%所花的时间,本范例中最大稳定电压为5V,故最大稳定电压的90%为4.5V,而最大电压的10%为0.5V,本范例选取第二个下降波形来进行计算。
在inv_tran.sp中加入measure指令,方法为:
选择Edit---InsertCommand命令,打开T-SpiceCommandTool对话框,选择左边列表框中的Output选项,右边出现7个选项,可直接单击Measure按钮,
在右边出现的Analysistype下拉列表中选择Transient选项,在Measurement
resultname文本框中输入分析的项目名称“falltime”,在Measurementtype下拉列表中选择的计算方式为Difference。
在Trigger选项组中选择Whensignal单选按钮,设定当信号v(OUT)的第二个下降波形从4.5V时开始计算,即在Whensignal单选按钮后的文本框中输入“v(OUT)”,在on下拉列表中选择fall选项,在crossesvalue文本框中输入“4.5”,在number下拉列表中选择2选项。
在Target选项组设定信号v(OUT)的第二个下降波形的0.5V为下降时间计算的截止处,即在Whensignal单选按钮后面的文本框中输入“v(OUT)”,在on下拉列表中选择fall选项,在crossesvalue文本框中输入“0.5”,在number下拉列表中选择2选项。
最后单击InsertCommand按钮,则会出现默认的以蓝色字开头的“.measuretranfalltimetrigv(OUT)val=4.5fall=2targv(OUT)val=0.5fall=2”,
(17)进行仿真:
编辑完后,选择File---Save命令保存文件,再选择Simulate
---StartSimulation命令,或单击按钮,打开RunSimulation对话框,单击StartSimulation按钮,则会出现模拟结果的报告“SimulationStatus”,并会自动打开W-Editor窗口来观看模拟波形图。
(18)观看时间分析结果:
在T-Spice环境下打开模拟结果inv_tran.out报告文件观看下降时间的计算结果
从报告文件中可以看到Trigger的时间在2.0342e-7s,而Target时间为2.0507e-7s,其间的差即下降时间falltime为1.6538e-9s。
3.2反相器的直流分析
反相器的直流分析的详细步骤如下:
(1)打开S-Edit程序
(2)进行环境设定
(3)另存为新文件,文件名为ex4。
(前3步操作同3.1)
将复制inv模块从ex2文件中复制至ex4文件的方法可参考3.1节的内容。
(5)打开inv模块:
由于步骤(4)的复制模块的动作,只是在ex4文件中增加了inv模块(还有inv引用到的Vdd,Gnd,MOSFET_N与MOSFET_P模块),而ex4依旧在Module0编辑环境下,所以要打开并编辑inv模块,必须选Module---Open命令,之后打开ex4文件中的inv模块。
(6)加入工作电源:
确定inv模块在电路设计模式(SchematicMode),再选择Module---SymbolBrowser命令,打开SymbolBrowser对话框,在Library列表框中选择spice组件库,其内含模块出现在Modules列表框中,其中有很多种电压源符号,选取出直流电压源Source_v_dc作为此电路的工作电压源。
直流电压源Source_v_dc符号有正(十)端与负(-)端。
在inv模块编辑窗口中将直
流电压源Source_v_dc符号的正(+)端接vdd,将直流电压源Source_v_dc符号的负(-)端接Gnd。
(7)加入输入信号:
在此范例输入信号源也选用直流电压源Source_v_dc,可以通过选择Module---Instance命令引用Source_v_dc模块,也可以选择编辑窗口内的Source_v_dc符号使之变为红色,再选择Edit---Duplicate命令复制一个Source_v_dc符号作为反相器输入信号,将直流电压源Source_v_dc符号的正(+)端接输入端口IN,将直流电压源Source_v_dc符号的负(-)端接Gnd,编辑完
(8)更改模块名称:
因在本章中是利用反相器电路来学习使用T-Spice的直流分析功能,后面还需要将该电路应用在其他分析中,为了避免以后文件混杂状态,故将原本的模块名称inv改换成inv_dc。
选择Module---Rename命令,打开ModuleRename对话框,在Newmodule'
sname文本框中输入"
invdc”,之后单击OK按钮。
(9)编辑Source_v_dc对象:
inv_dc模块有两个直流电压源Source_v_dc符号,为了便于区别它们,可利用编辑对象更改其引用名称与SPICE输出形式。
选取在Vdd与Gnd之间的Source_v_dc符号使之变为红色,选择Edit---EditObject命令,打开EditInstanceofModuleSource_v_dc对话框,将Source_v_dc符号引用名称Instancename更改为vvdd,再将Properties选项组中的SPICE
OUTPUT文本框中的内容“V#”改为“${instance}”,即SPICEOUTPUT文本框中的内容变为“${instance}%(pos)%{neg}${V}”。
要注意,其中的V为默认值5.0。
做了这些修改后SPICE输出形式会是vvddVddGnd5
再选取在IN与Gnd之间的Source_v_dc符号使之变成红色,再选择Edit---EditObject命令,打开EditInstanceofModuleSource_v_dc对话框,将
Source_v_dc符号引用名称Instancename更改为“vin"
再将Properties选项组中的SPICEOUTPUT文本框中的内容“v#”改为“${instance}”,,即SPICEOUTPUT文本框中的内容变为“${instance)%{pos)%{neg}${V}”。
要注意其中的V也己改为1.0。
做了这些修改后SPICE输出形式会是vinINGnd1.0。
,其中的工作电压源为5.0V的直流电压源,输入信号为1.0V的直流电压源。
(10)输出成SPICE文件:
要将设计好的S-Edit电路图借助T-Spice软件分析并仿真此电路的性质,需要先将电路图转换成SPICE格式。
进行此操作共有两种方法,第一种方法是单击S-Edit右方的按钮,则会自动输出成SPICE文件并打开T-Spice软件;
第二种方法则是选择File---Export命令输出文件,再打开T-Spice程序,执行在..\Tanner\Tspice70目录下的wintsp32.exe文件,再打开从ex4的inv_dc模块输出的inv_dc.sp文件,
(11)加载包含文件:
由于不同的流程有不同特性,在模拟之前,必须要引入MOS元件的模型文件,此模型文件包括电容电阻系数等数据,以供T-Spice模拟之用。
在这里引用1.25um的CMOS流程元件模型文件m12_125.md。
将鼠标移至主要电路之前,选择Edit---InsertCommand命令,在出现的对话框左侧的列
表框中选择Files选项,此时在右边选项组将出现4个按钮,可直接单击Include按钮,或展开左侧列表框中的Files选项并选择Includefile选项,此时单击Browse按钮,在出现的对话框中先找到..\Tanner\TSpice70\models\目录,接着选取模型文件m12_125.md,则在Includefile选项组内将出现..\Tanner\TSpice70
\models\ml2_125.md。
再单击InsertCommand按钮,则会出现默认以蓝色字开头的“.include'
C:
\Tanner\TSpice70\models\ml2_125.md'
”。
(12)分析设定:
由于本实验是反相器的直流分析,模拟反相器的转换曲线,
在这里模拟输入电压vin从0V变动到5V时(以0.02V线性增加),输出电压对应于输入电压变动的情况。
将鼠标移至文件尾,选择Edit---InsertCommand命令,在
出现的对话框的列表框中,选择Analysis选顶,右边会出现8个按钮,选择Analysis选项下的DCtransfersweep选项,单击右侧的Sweep1按钮,扫开Sweep对话框,在Sweeptype下拉列表中选择Linear选项,在Parametertype下拉列表中选择Source选项,在Sourcename文本框中输入“vin”,在Start文本框中输入“0”,在Stop文本框中输入“5.0”,在Increment文本框中输入“0.02”,先单击Accept按钮,再单击InsertCommand按钮则会出现默认以蓝色字开头的“.dclinsourcevin05.00.02”,
(13)输出设定:
在此要观察的是输出节点OUT电压v(OUT)对vin电压做图的模拟结果。
将鼠标移至文件尾,选择Edit---InsertCommand命令,在出现的对话框的左侧的列表框中选择Output选项,右边会出现7个选项,选择Output选项下的DCresults选项,在右边的Plottype下拉列表中选择Voltage选项,在Nodename文本框中输入“OUT”,单击Add按钮,再单击InsertCommand按钮,则会出现默认的以蓝色开头的“.printdcv(OUT)”,。
(14)进行仿真:
选择Simulate---StartSimulation命令,或单击按钮,打开RunSimulation对话框,单击其中的StartSimulation按钮,则会出现仿真状态
窗口SimulationStatus,并自动打开W-Editor窗口以观看仿真波形图。
(15)观看结果:
可在T-Spice环境下打开模拟结果报告文件inv_dc.out,如
也可以在W-Edit下观看模拟结果inv_dc.out,即反相器的转换曲线,如图3.37所示。
其中,纵坐标为输出电压,横坐标为输入电压。
实验体会
通过前一节课的学习,在今天的使用中,使我对TannerToolsPro工具有了一定的了解。
同时也对VLSI有了更深入的认识。
在了解了它的设计环境的同时,也对我的理论知识有了一定的帮助,对我帮助很大。
在这次实践课程中,不仅让我对该软件有了一定的认识,更提高了我的动手能力,让我受益颇多。