HSPICE-使用流程

HSPICE-使用流程
HSPICE-使用流程

HSPICE 使用流程

HPICE软件主要用于模拟电路的仿真。模拟电路仿真工具是以电路理论、数值计算方法和计算机技术为基础实现的,由于模拟电路在性能上的复杂性和电路结构上的多样性,对仿真工具的精度、可靠性、收敛性以及速度等都有相当高的要求。HSPICE程序由于收敛性好,适于做系统及电路仿真,又有工作站版和微机版本,在国内外的用户十分广泛。

一、HSPICE可模拟的内容

1.直流分析:包括非线性电路的直流分析

①电路的直流工作点:分析时电路中的电感全部短路,电容全部开路,

得到电路的每一节点的电流和电压(相对参考点)值。

②直流小信号传输值:传输函数的直流小信号值为直流小信号工作下的

输出变量和输入变量之比值,包括电路的输入电阻和输出电阻。

③直流转移曲线:HSPICE可在用户指定的范围内,逐步改变指定的独

立电压或电流源,对每一个电源值的变化,都得到储存的输出变量。

④灵敏度分析:求出指定输出变量对于电路参数(包括电路中所有的元

件,器件参数,直流电源的输入电平)的直流小信号灵敏度。

2.交流小信号分析:将交流输出变量作为频率的函数计算出来。先计算电

路的直流工作点,决定电路中所有非线性器件的线性化小信号模型参数,

然后在用户所指定的频率范围内对该线性化电路进行分析。

①频域分析:在用户规定的频率范围内完成电路的交流分析。

②噪声分析:HSPICE可计算每个频率点上总的输出噪声电平及其等效

输入噪声电平。

③失真分析:计算电路交流小信号工作下电路的失真特性,分析时是在

输入端加有一个或两个频率的信号,在用户给定的输出负载电阻时,

求出在该负载上的输出失真功率。

3.瞬态分析

①瞬态响应:是从时间为零开始,到用户规定的时间范围内进行电路的

瞬态特性分析。

②傅立叶分析:可以对输出波形进行傅立叶分析,得到在用户指定的基

频及时间间隔范围的傅立叶系数。

4.电路的温度特性分析:HSPICE在用户未说明时,是在27℃的标称温度

下进行各种模拟的。当用户指定电路在什么温度下工作时,HSPICE也

能进行不同温度下的电路特性分析,在温度低于-273℃时不予模拟。

二、HSPICE程序可输入的元器件和电源

1.元件:包括电阻、电容、电感、耦合互感、无损耗传输线及开关等。

2.半导体器件:结型二极管、双极型晶体管、结型场效应管、MOS场效应

管及MESFET等。

3.电源:独立电流源、独立电压源、线性电压控制电流源、线性电压控制

电压源、线性电流控制电流源、线性电流控制电压源以及相应的非线性

受控源。其中独立源除直流源外还有脉冲源、交流正弦源、分段线性源、

调幅信号源、调频信号源等。

4.子电路:HSPICE允许用户用定义器件模型相似的形式自行定义一组元

器件作为子电路。子电路的大小没有限制,子电路可以嵌套子电路,使

用户在模拟含有较多重复单元电路的较大规模电路时更为方便。

三、HPICE软件的运行

HSPICE可以以命令行方式方式启动,类似于DOS命令交互方式,较繁琐。我们目前采用的是Windows标准输入界面,使用标准输入文件。操作步骤为:

1、启动Hspui.exe,出现Star-Hspice Launcher。

2、在Star-Hspice Launcher下,按Browse,选取网表输入文件(*.sp),然后

按确定。

3、在Star-Hspice Launcher下,按Simulate,就会自动弹出Hspice窗口,并

对电路进行模拟。

4、模拟结束后,Hspice窗口关闭。

5、在Star-Hspice Launcher下,按Avanwaves,查看输出波形。

6、可以用记事本来查看输出文档(*.list)。

四、电路模拟过程

用HSPICE进行电路分析时,各个程序模块之间的关系和设计流程见图1:

图1程序设计流程图

电路的模拟过程描述如下:

逆向设计的步骤是一开始便进入了电路原理图的输入。原理图是根据逆向提取的结果输入。原理图Schematics文件输入完毕并检查Check通过后,将原理图转换成网单文件。

我们首先要选择合适的工艺,并调用该工艺所提供的库文件。该库文件中应包含用该工艺制得的三极管的各个参数值,如单位漏电流,基区方块电阻, 值等(详见HSPICE使用手册)。有源器件,如三极管,它们的尺寸是根据工艺的最小尺寸及电路的指标要求来设定的,如发射区、基区和集电区的面积,网单文件

中的各个管子后面area、areab和areac分别标明其面积因子。这样,在模拟时,Hspice便会自动根据库文件和尺寸计算出具体各管子的参数。电阻、电容值等参数的确定则先测量它们的尺寸,然后根据所选工艺的方块电阻和面电容的值计算得出。

将网单文件和参数生成完毕以后,我们还要输入激励源和分析语句。输入信号根据实际情况用调用相应的信号。按各个功能块模拟时,前一级的输出作为后一级的输入。分析语句则根据不同的需要选用。当我们需要知道电路每一节点的电流和电压时,选用静态工作点分析.op语句;如果需要了解在指定范围内,输出变量值随某个指定的独立源变化的规律,选用.dc语句;如要知道某个电路的幅频特性和相频特性,选用交流小信号分析语句.ac;在要查看在指定的时间间隔内,输出波形的变化函数关系,选用瞬态分析语句.tran。还有其它语句,如噪声分析语句.noise、频域分析.four、和小信号传输函数分析.tf、小信号灵敏度分析.sens 等,也能反映出电路性能的好坏。

Hspice具有很强的查错功能,可对输入的电路描述语句进行语法检查,以及电路连接关系的拓扑检查。一旦发现错误,将输出出错信息并停止程序的运行,这时应先检查.lis文件中是否由出错信息。

五、HSPICE的基本语法

1.概述

1.1 文件命名

Star-Hspice的输入文件类型和标准命名列出如下:

输入文件类型文件名

输出配置文件meta.cfg

初始化文件hspice.ini

直流工作点初始状态文件.ic

输入网表文件.sp

库输入文件

模拟转换数据文件.d2a

1.2 输入网表文件(.sp)

Star-Hspice 读入一个输入网表文件,并将模拟结果存在一个输出列表文件或图形数据文件中。输入文件包含以下内容:

●电路网表(子电路和宏、电源等)

●声明所要使用的库(可选)

●说明要进行的分析(可选)

●说明所要求的输出(可选)

输入网表文件和库文件可以由原理图的网表生成器或文本编辑器产生。输入网表文件中的第一行必须是标题行,并且.ALTER辅助模型只能出现在文件最后的.END语句之前,除此之外,其它语句可以按任意顺序排列。

注意:如果输入文件的最后没有.END语句,将会产生错误信息。

1.2.1 输入行格式

●输入网表文件不能为压缩格式。

●输入文件名的长度、语句长度以及等式长度不超过256个字符。

●除了被引用的文件名以外,不区分所有大小写。

●一行输不完转到下一行时,下一行的第一个非数字、非空格的字符必须为

“+”。

●注释(“*”和“$”符号后的内容视为注释)

●当输入文件中出现了特殊的控制字符时会产生错误。由于大多数系统无法

打印特殊字符,错误信息就会因为错误字符无法显示而不明确。可以采用.OPTIONS BADCHAR语句来定位这些错误。

1.2.2 名称

●名称必须以字母打头,然后可以跟上数字和下列字符:

! # $ % * + - / < > [ ] _

●定界符优于名称,并紧跟名称之后。

●名称可以长达1024个字符。

●名称不区分大小写。

1.2.3 定界符

●输入定界符有:tab、空格、逗号、等号和小括号

●一次和二次引用定界表达式和文件名

●元素的属性用冒号来定界(如“M1:beta”)

●用句点来表示隶属定界,如“X1.A1.V”表示电路X1的A1子电路的V结

1.2.4 结点

●结点标识可以长达1024个字符(包括句号和延展部分)

●结点数字开头的0被忽略

●跟在以数字开头的结点编号后的字母被忽略。如,结点1A等同结点1

●结点名可以由以下任何字符打头:# _ ! %

●结点可以用.GLOBAL语句声明为全局的

●结点0、GND、GND!和GROUND均指的是Star-Hspice全局的地。

2. 元件输入的一般格式

2.1 基本元件(R、L、C等)输入语句

NAME node1, node2 …. nodeN value 其中,

NAME 定义元件的类型及名称。第一个字母用于指定元件的类型,

例如:C表示电容、L表示电感、R表示电阻,剩下的字母则

是给这个元件起的名字。

node1 ... nodeN 指明元件在电路中的连接情况

value 指明元件的标称值。比如:C1 2 0 10uF,表明在结点2和地之

间接入一个10uF的电容C1。

当基本元件参数不能充分描述时,调用相应的模型来描述。 参数列表

2.2 二极管输入语句

Dxxx nplus nminus mname

+

Dxxx nplus nminus mname > +

Dxxx nplus nminus mname +

2.3 BJT输入语句

Qxxx nc nb ne mname +

Qxxx nc nb ne mname + +

2.4 MOS器件的输入

Mxxx nd ng ns mname + +

or

Mxxx nd ng ns mname lval wval …

or

.OPTION WL Mxxx nd ng ns mname wval lval …

3.模型语句

.MODEL mname type

其中,

mname 所定义的模型名。注意:模型名称中如果含有点(.)可能会导致某些情况下模型自动选择的失败。

type 选择模型类型。为以下类型之一:

AMP operational amplifier model

C capacitor model

CORE magnetic core model

D diode model

L magnetic core mutual inductor model

NJF n-channel JFET model

NMOS n-channel MOSFET model

NPN npn BJT model

OPT optimization model

PJF p-channel JFET model

PLOT hardcopy plot model for the .GRAPH statement

PMOS p-channel MOSFET model

PNP pnp BJT model

R resistor model

pname1 ... 参数名称。参数名称和模型要匹配,可以多行输入,新起行的第一个字符必须为“+”。

VERSION 版本号。用于识别不同版本所允许的BSIM和BSIM2的模型。(略)

4.元件库的选择输入

分立器件库(DDL)是Star-Hspice的分立器件模型的集合,由BJT、MESFET、JFET、MOSFET和二极管模型组成。可以采用X子电路调用语句和DDL元件调用,将DDL库中的元件包含进来。DDL元件语句调用实际DDL库文件中的模型名。例如,下面的语句建立了一个lN4004二极管模型的实例:X1 2 1 DlN4004

其中,DlN4004是模型名。

Star-Hspice有如下几种方式调用DDL模型库:

1、系统在安装时的缺省设置。当输入语句中用到某个模型或者子电路时,

系统自动在DDLPATH环境变量所指向的路径中搜索和模型名同名的文件,其后缀为.inc。DDLPATH变量设置在meta.cfg配置文件中。

2、在输入文件中用.OPTIONS SEARCH=””设置搜索路

径。

3、直接用.INCLUDE语句将特定模型包含进来。如

.INCLUDE /T2N2211.inc

可以用.LIB语句将常用的命令、器件模型、子电路分析等放入到库文件中。(暂时略)

5.电压/电流源语句

5.1 独立电压/电流源

某些类型的分析只能使用与之相关联的电压/电流源语句。例如,如果在同一独立源语句中定义了DC和AC源,则在进行DC分析时,AC源被将移出电路。Vxxx n+ n- < dcval> >

或者

Iyyy n+ n- < dcval> >

其中,

Vxxx 独立电压源的名称。必须以“V”打头,后面可以跟1023个字母数字字符。

Iyyy 独立电流源的名称。必须以“I”打头,后面可以跟1023个字母数字字符。

n+ 正结点

n- 负结点

DC 设置DC电压/电流源的值,dcval为设置的值。“tranfun”在零时刻的值将覆盖DC值(缺省为0.0)。

tranfun 电压/电流源的输出函数(AC, ACI, AM, DC, EXP, PE, PL,PU, PULSE, +PWL, R, RD, SFFM, SIN)

AC 表示该电压/电流源用于AC小信号分析

acmag AC幅度

acphase AC相位(缺省为0.0)

M 用于模拟多个并联的电流源的倍乘因子。电流值与M相乘为总电流

(缺省为1.0)。

例子

VX 1 0 5V

VB 2 0 DC=VCC

VH 3 6 DC=2 AC=1,90

IG 8 7 PL(1MA 0S 5MA 25MS)

VCC 10 0 VCC PWL 0 0 10NS VCC 15NS VCC 20NS 0

VIN 13 2 0.001 AC 1 SIN (0 1 1MEG)

ISRC 23 21 AC 0.333 45.0 SFFM (0 1 10K 5 1K)

VMEAS 12 9

5.1.1 DC电压/电流源

可以采用不同的方式定义DC电压或者电流源:

V1 1 0 DC=5V

V1 1 0 5V

I1 1 0 DC=5mA

I1 1 0 5mA

前两个例子在结点1和地之间定义了一个5V的DC电压源。第三和第四个例子在结点1和地之间定义了一个5mA的DC电流源,电流流向为从结点1流向地。

5.1.2 AC电压/电流源

用AC关键词来定义AC电压/电流源的幅度和相位。

V1 1 0 AC=10V,90

VIN 1 0 AC 10V 90

上面两个例子定义了一个幅度为10V、相位为90度的AC电压源。进行AC分析时的频率扫描范围在.AC分析语句中给出。AC分析给出电路的脉冲响应。

5.1.3 瞬态电压/电流源

对于瞬态分析,可以将电源定义成时间的函数。可以采用的函数有:脉冲、指数、阻尼正弦、单频FM以及分段线性函数。

5.1.4 混合电压/电流源

混合电源的定义是为了进行多种类型的分析。例如,可以在定义DC电源时,在相同结点间同时定义AC和瞬态电源。在这种情况下,当进行特定的分析时,Star-Hspice会选择相应的DC, AC或者瞬态电源。有一个特例是零时间常数的瞬态电源,它将覆盖DC值,并被用来计算所有分析的工作点。

VIN 13 2 0.5 AC 1 SIN (0 1 1MEG)

上面的例子在结点13和2之间同时定义了一个0.5V的DC电压源、一个1V的AC 电压源和一个阻尼正弦电压源。当进行DC分析时,程序对其它两个电压源采用零电压值。

5.2 独立电压/电流源函数

Star-Hspice提供以下几种电压/电流源函数:

●Pulse(脉冲函数)

●Sinusoidal(正弦函数)

●Exponential(指数函数)

●Piecewise linear(分段线性函数)

●Single-frequency FM(单频调频函数)

●Single-frequency AM(单频调幅函数)

5.2.1 PULSE(脉冲函数)

Star-Hspice采用梯型脉冲函数。在第一个上升斜坡前有一段瞬态模拟的初始过渡延迟,以后每个上升斜坡内,电压或者电流从初始值到脉冲平顶值线性变化,过了脉冲平顶值后,电压或者电流沿下降斜坡线性变化到初始值。整个脉冲再按某一周期重复变化。

PULSE <(>v1 v2 >>>> <)>

或者

PU <(>v1 v2 >>>> <)>

其中,

v1 电压或者电流的初始值。

v2 脉冲平顶值。

td 从瞬态模拟开始到第一个上升斜坡开始前的延迟(单位为秒,缺省为0.0,

并且当设置td < 0.0时,同样取td=0.0)

tr 从初始值到脉冲平顶值的上升斜坡的时间(缺省为TSTEP)

tf 从脉冲平顶值返回到初始值的下降斜坡时间(缺省为TSTEP)

pw 脉冲宽度(脉冲平顶部分的宽度)(缺省为TSTEP)

per 脉冲的重复时间(单位为秒,缺省为TSTEP)

例子:

VIN 3 0 PULSE (-1 1 2NS 2NS 2NS 50NS 100NS)

V1 99 0 PU lv hv tdlay tris tfall tpw tper

第一个例子在结点3和地之间定义了一个脉冲电压源。脉冲的输出高电压为1V,输出低电压为-1V,初始延迟为2ns,上升和下降时间均为2ns,脉冲宽度为50ns,周期为100ns。第二个例子中所用到参数值应该有相应的.PARAM语句定义。

脉冲时序表

5.2.2 SIN(正弦函数)

Star-Hspice采用阻尼正弦电压/电流源,即电压或电流值为一衰减指数因子与一正弦波的乘积。使用时要求给出正弦波的频率、指数衰变因子、初始相位以及波形的初始时刻(详细见下面说明)。

SIN <(>vo va >>> <)>

其中,

vo 电压或者电流的直流偏移量(单位为V 或者A ) va 电压或者电流的幅度(单位为V 或者A ) freq 频率(单位为Hz ,缺省为1/TSTOP ) td

延迟时间(单位为秒,缺省为0.0)

θ 阻尼因子(单位为1/秒,缺省为0.0) φ

初始相位(单位为度,缺省为0.0)

输出函数为: ]}360

)([2sin{])(exp[φ

πθ+

-???--?+td t freq td t va vo

例子:

VIN 3 0 SIN (0 1 100MEG 1NS 1e10)

这个例子在结点3和地之间定义了一个阻尼正弦电压源。波形峰值为1V ,直流偏移量为0V ,频率为100MHz ,时间延迟为1ns ,阻尼因子为1e10,初始相位为0。

5.2.3 EXP (指数函数)

EXP <(>v1 v2 >>> <)> 其中, v1 初始的电压或者电流值(单位为V 或A ) v2

电压或者电流的脉冲值(单位为V 或A )

td1 上升延迟时间(单位为秒,缺省为0.0) td2 下降延迟时间(单位为秒,缺省为td1+TSTEP ) t1 上升时间常数(单位为秒,缺省为TSTEP ) t2

下降时间常数(单位为秒,缺省为TSTEP )

输出函数为:

??

?

?

?

?

??

?<--?---?-+<<---?-+<

td t td t t td td v v v td t td t td t v v v td t v 2)22exp()]112exp(1[)12(121)]11exp(1[)12(1101 例子:

VIN 3 0 EXP (-4 -1 2NS 30NS 60NS 40NS)

5.2.4 PWL (分段线性函数)

PWL <(>t1 v1 > <)> 或者

PL <(>v1 t1 > <)> 其中, v1…

定义电压或者电流值 t1… 定义时间段的值 R

设置函数循环重复 repeat 定义波形重复的起始点

TD

是定义分段线性波形在开始前有一段延迟的关键词 delay

定义分段线性波形在开始前有一段延迟的延迟量

每一对(t1, v1)定义时刻t1时的电压或电流值为v1。每两个时间点之间的电压或电流值线性变化。用参数“R”来设置函数被循环调用,可以在“R”后面加一参数用来指定函数从什么地方开始循环,但必须设置在函数的间断点处,例如,如果t1 = 1,t2 = 2,t3 = 3,t4 =4,则“repeat” 可以等于1,2,或者3。

此外,可以采用DADA语句来定义PWL:

PWL (TIME, PV)

.DATA datanam

TIME PV

t1 v1

t2 v2

t3 v3

t4 v4

……

.ENDDATA

.TRAN DATA=datanam

其中,

TIME 提供给DADA语句的时间值参数

PV 提供给DADA语句的幅值参数。p

这种输入方式可以将一个模拟的结果作为另一个模拟的输入。最后一定要加瞬态分析语句。

5.2.5 SFFM(单频调频函数)

SFFM <(> vo va >> <)>

其中,

vo 输出电压或者电流的直流偏移量(V或A)

va 输出电压或者电流的幅度(V或A)

fc 载波频率(单位Hz,缺省为1/TSTOP)

mdi 调制系数(缺省为0)

fs 信号频率(单位Hz,缺省为1/TSTOP)

π

输出函数为:)]

?

?

+

?

?

?

?

?

vo?

2

va

sin(

2

[sin(t

)

fc

t

mdi

fs

5.2.6 AM(单频调幅函数)

AM (sa oc fm fc td)

其中,

sa 信号幅度(缺省为0)

fc 载波频率(缺省为0)

fm 调制频率(缺省为1/TSTOP)

oc 偏移量(缺省为0)

td 一开始的延迟时间(缺省为0)

π

输出函数为:)]

?

?

?

sa-

?

?

+

?

oc

?

-

fm

)]}

(

sin[

2

(

t

2

td

sin[

fc

t

{td

5.3电压和电流控制源

受控源的定义相当繁琐,而且在我们工作中不大可能遇到,故略去。

hspice语法手册

Hspice语法手册 天津大学电信学院 陈力颖

Preface 最初写作本文的目的是希望提供一份中文版的Hspice手册从而方便初学者的使用,本文的缘起是几位曾经一起工作过的同事分别进入不同的新公司,而公司主要是使用Hspice,对于已经熟悉了Cadence的GUI界面的使用者转而面对Hspice的文本格式,其难度是不言而喻的,而Hspice冗长的manual(长达2000页以上)更让人在短时间内理不出头绪。鉴于我曾经使用过相当一段时间的Hspice,于是我向他们提供了一份简单而明了的handbook来帮助他们学习,本来是准备借助一个具体运放的设计例子,逐步完善成为一份case by case的教程,但由于工作比较浩大,加之时间的关系,一直难以完成,愈拖愈久,在几个朋友的劝说下,与其等其日臻完善后再发布,不如先行发布在逐步完善,以便可以让更多的朋友及早使用收益。本文虽通过网络发表,但作者保留全部的著作权,转载时务请通知本人。由于水平的有限,讨论范围的局限及错误不可避免,恳请读者指正。联系方式为e-mail: nkchenliy@https://www.360docs.net/doc/be18216797.html,。

目录 一、HSPICE基础知识 (2) 二、有源器件和分析类型 (3) 三、输出格式和子电路 (4) 四、控制语句和OPTION语句 (6) 五、仿真控制和收敛 (7) 六、输入语句 (8) 七、统计分析仿真 (9) 天津大学电信学院 陈力颖 2006年2月

一、HSPICE基础知识 Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工 具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一 般书籍都采用Level 2的MOS Model进行计算和估算,与Foundry经常提供的Level 49 和Mos 9、EKV等Library不同,而以上Model要比Level 2的Model复杂的多,因此 Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件 Hspice、Spectre等进行仿真,以便得到精确的结果。 本文将从最基本的设计和使用开始,逐步带领读者熟悉Hspice的使用,以便建立   IC设计的基本概念。文章还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运 行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析 文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的 输入文件用来显示波形。 表1 Hspice所使用的单位 单位缩写含义 F(f) 1e-15 P(p) 1e-12 N(n) 1e-10 U(u) 1e-06 M(m) 1e-03 K(k) 1e+03 Meg(meg) 1e+06 G(g) 1e+09 T(t) 1e+12 DB(db) 20log10 注:Hspice单位不区分大小写 独立电压和电流源包括: 1. 直流源(DC):

!2013版icfb的使用说明

icfb的使用说明 实验室上机 如果选择到微电子所开放实验室上机,用自己的用户名和密码进入Linux操作系统后,在桌面上点击鼠标右键,选择New Terminal启动一个命令行窗口,如图1所示。 图1 1.1远程登录 如果选择远程登录方式,可以参考下面的步骤。 1安装远程登录软件 例如Xmanager 1.3.9。 2配置远程登录软件 在[开始]菜单中,运行Xmanager菜单中的Xconfig;设置Window模式为Multiple Window Mode,Background选则X window background(transparent), Window Manager选则Local Only;设置XDM为Do not Use XDM(Passive). 点击[确定],如图2。 3运行远程登录软件 在[开始]菜单中,运行Xmanager菜单中的Xstart;Name选择xterm,Host输入166.111.77.10,Protocol选择SSH,点击Run,即可用自己的用户名和密码登录服务器,登录成功后也会打开一个命令行窗口,如图3。

图2 图3 1.2文件上传或下载 可以用自己的用户名和密码访问ftp://166.111.77.10,用于上传或下载自己的数据和文档。 注意,对于上传的网表(例如inv.sp)等文件,最好都运行一下dos2unix命令以确保文件转换为Unix格式,方法是在命令行窗口中输入命令dos2unix inv.sp,如图4。 图4

2创建工作环境 如果是第一次使用,需要按以下步骤创建工作环境。如果是继续以前的工作,则直接按2.2节的步骤进入工作目录,启动设计软件即可。 2.1创建工作目录 创建工作目录:在命令行窗口中输入命令mkdir project 。 创建验证目录:在命令行窗口中输入命令mkdir project/verify 。 注意,所有设计工作、软件启动都在目录~/project下进行,所有版图验证工作都在目录~/project/verify下进行,不要在其它目录下进行。 设置SMIC工艺库环境:输入命令cp ~chby1/project/cds.lib ~/project,如图5。 图5 2.2启动设计软件 进入工作目录:输入命令cd project 。 启动设计软件icfb:输入命令icfb & ,弹出如图6所示的CIW窗口。 点击菜单File→Exit可以退出icfb软件。 图6 2.3创建设计库 创建自己的设计库:在CIW窗口中点击菜单File→New→Library;在弹出的对话框中,Library

IC610系统的使用

IC610设计系统使用指南 一、远程登录服务器的方法: 1 安装Xmanager X桌面服务器软件: 2 运行Xmanager-Passive程序,运行成功在桌面底部任务栏应该有X形图标: 3 拷贝(绿色,不需要安装)putty远程登录软件,运行之: 4 设置登录服务器的IP地址(10.22.68.163),注意只能在校园网内可以连接,公网不能连接: 5 设置X11使能:(connection-SSH-X11: Enable X11 forwarding打勾): 6 按Open以后进入登录窗口: 在光标处输入用户名(s学号: 如s084774408),回车,输入密码(注意密码不回显,也无星号显示) 登录成功:

7 接下来就可以运行软件了 8 运行nautilus 可以打开文件管理器 运行gterm可以打开另一个终端 二、进入IC设计系统和建立的方法 9 进入design/ic610/ 并运行icfb& 可以打开IC设计系统 cd design/ic610 icfb& 10 运行成功出现Virtuosoo的窗口(ICW): 11 ,打开库管理器

12 库管理器有三栏,分别是设计库(library)、设计单元(cell)、设计视图(View),一个设计库可以包含多个设计单元,每个单元又有多个视图: 13 选择菜单File→New→Library…,可以创建一个设计库: 14 在新建设计库的对话框中,输入设计的名字,选择存放的位置,即可OK

15 一般我们将新建的设计库与现有的工艺库相关联,也就是使用现有的工艺作为设计的基础,所以这里要选择Attach to an existing technology library这一项,即可OK。 16 接下来就是选择需要关联哪个工艺库,在这里我们使用45nm工艺来设计,所以要选择工艺库 作为关联工艺库。 17 回到库管理器,这里选择刚刚建立的设计库,就可以进行建立单元的操作。 18 选择菜单File→New→Cell View…可以创建一个单元,同时也创建了它的一个视图(一般我们可以创建layout(版图), schematic(原理图), symbol(符号图)等视图。 19 这里我们先创建一个单元(Cell) INV,视图类型(Type)选择schematic(View这一栏会自动生成,当然也可以更改),其他不动,OK 三、原理图编辑方法 20 进入原理图编辑器(Schematic Editor L),即可进行原理图的设计

Hspice简明手册

Hspice 简明手册 Hspice是一个模拟电路仿真软件,在给定电路结构和元器件参数的条件下,它可以模拟和计算电路的各种性能。用Hspice分析一个电路,首先要做到以下三点:(1)给定电路的结构(也就是电路连接关系)和元器件参数(指定元器件的参数库); (2)确定分析电路特性所需的分析内容和分析类型(也就是加入激励源和设置分析类型); (3)定义电路的输出信息和变量。 Hspice规定了一系列输入,输出语句,用这些语句对电路仿真的标题,电路连接方式,组成电路元器件的名称,参数,模型,以及分析类型,以及输出变量等进行描述。 一Hspice输入文件的语句和格式 Hspice输入文件包括电路标题语句,电路描述语句,分析类型描述语句,输出描述语句,注释语句,结束语句等六部分构成,以下逐一介绍: 1 电路的标题语句 电路的标题语句是输入文件的第一行,也成为标题行,必须设置。它是由任意字母和字符串组成的说明语句,它在Hspice的title框中显示。 2 电路描述语句 电路描述语句由定义电路拓扑结构和元器件参数的元器件描述语句,模型描述语句和电源语句等组成,其位置可以在标题语句和结束语句之间的任何地方。 (1)电路元器件 Hspice要求电路元器件名称必须以规定的字母开头,其后可以是任意数字或字母。除了名称之外,还应指定该元器件所接节点编号和元件值。 电阻,电容,电感等无源元件描述方式如下: R1 1 2 10k (表示节点1与2间有电阻R1,阻值为10k欧) C1 1 2 1pf (表示节点1与2间有电容C1,电容值为1pf) L1 1 2 1mh (表示节点1与2间有电感L1,电感值为1mh) 半导体器件包括二极管,双极性晶体管,结形场效应晶体管,MOS场效应晶体管等,这些半导体器件的特性方程通常是非线性的,故也成为非线性有源元件。在电路CAD工具进行电路仿真时,需要用等效的数学模型来描述这些器件。 (a)二极管描述语句如下: DXXXX N+ N- MNAME D为元件名称,N+和N-分别为二极管的正负节点,MNAME是模型名,后面为可选项:AREA是面积因子,OFF时直流分析所加的初始条件,IC=VD时瞬态分析的初始条件。(b)双极型晶体管 QXXXX NC NB NE MNAME Q为元件名称,NC NB NE 分别是集电极,基极,发射极和衬底的节点。缺省时,NS结地。后面可选项与二极管的意义相同。 (c)结型场效应晶体管 JXXXX ND NG NS MNAME J为元件名称,ND NG NS为漏,栅,源的节点,MNAME是模型名,后面为可选项与二极管的意义相同。 (d)MOS场效应晶体管 MXXXX ND NG NS NB MNAME M为元件名称,ND,NG,NS,NB分别是漏,栅,源和衬底节点。MNAME 是模型名,L沟道

HSPICE基础知识

一、HSPICE基础知识 Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一般书籍都采用Level 2的MOS Model进行计算和估算,与Foundry 经常提供的Level 49和Mos 9、EKV等Library不同,而以上Model要比Level 2的Model复杂的多,因此Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件Hspice、Spectre等进行仿真,以便得到精确的结果。 本文将从最基本的设计和使用开始,逐步带领读者熟悉Hspice的使用,并对仿真结果加以讨论,并以一个运算放大器为例,以便建立IC设计的基本概念。在文章的最后还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的输入文件用来显示波形。 表1 Hspice所使用的单位 独立电压和电流源包括: 1. 直流源(DC): 电压源Vxxx n+ n- dcval 电流源 Ixxx n+ n- dcval 2. 交流源(AC):Vxxx n+ n- AC=acmag,acphase 3. 瞬态源(随时间变化): 脉冲源:pulse v1 v2 td tr tf pw per 线性源:pwl t1 v1 正弦源:sin vo va freq td damping phasedelay 4. 混合源:可以包括以上所有的形式,如:VIN 13 2 0.001 AC 1 SIN(0 1 1Meg) 二、输入网表文件 TITLE .INCLUDE .LIB MACRO 元件描述 信号源描述 分析命令 测量命令 .ALTER .END 图1 输入网表(Netlist)文件标准格式 二、有源器件和分析类型 有源器件包括二极管(D)、MOS管(M)、BJT管(Q)、JFET和MESFET (J)、子电路(X)和宏、Behavioral器件(E,G)、传输线(T,U,W)等。这里值得注意的是MOS、JFET和MESFET的L和W的scale是m,而不是um。 分析的类型包括:直流、交流和瞬态分析。 1.直流分析: 对DC、AC和TRAN分析将自动进行直流操作点(DC OP)的计算,但.TRAN UIC将直接设置初始条件,不进行DC OP的计算。

SPICE实战手册

Perface 最初写作本文的目的是希望提供一份中文版的Hspice手册从而方便初学者的使用,本文的缘起是几位曾经一起工作过的同事分别进入不同的新公司,而公司主要是使用Hspice,对于已经熟悉了Cadence 的GUI界面的使用者转而面对Hspice的文本格式,其难度是不言而喻的,而Hspice冗长的manual(长达2000页以上)更让人在短时间内理不出头绪。鉴于我曾经使用过相当一段时间的Hspice,于是我向他们提供了一份简单而明了的handbook来帮助他们学习,本来是准备借助一个具体运放的设计例子,逐步完善成为一份case by case的教程,但由于工作比较浩大,加之时间的关系,一直难以完成,愈拖愈久,在几个朋友的劝说下,与其等其日臻完善后再发布,不如先行发布在逐步完善,以便可以让更多的朋友及早使用收益。本文虽通过网络发表,但作者保留全部的著作权,转载时务请通知本人。由于水平的有限,讨论范围的局限及错误不可避免,恳请读者指正。联系方式为e-mail: nkchenliy@https://www.360docs.net/doc/be18216797.html,。 一、HSPICE基础知识 Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一般书籍都采用Level 2的MOS Mod el进行计算和估算,与Foundry经常提供的Level 49和Mos 9、EK V等Library不同,而以上Model要比Level 2的Model复杂的多,

因此Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件Hspice、Spectre等进行仿真,以便得到精确的结果。 本文将从最基本的设计和使用开始,逐步带领读者熟悉Hspice的使用,并对仿真结果加以讨论,并以一个运算放大器为例,以便建立I C设计的基本概念。在文章的最后还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice 输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的输入文件用来显示波形。表1 Hspice所使用的单位 独立电压和电流源包括: 1. 直流源(DC): 电压源Vxxx n+ n- dcval 电流源Ixxx n+ n- dcval 2. 交流源(AC):Vxxx n+ n- AC=acmag,acphase 3. 瞬态源(随时间变化): 脉冲源:pulse v1 v2 td tr tf pw per 线性源:pwl t1 v1 正弦源:sin vo va freq td damping phasedelay 4. 混合源:可以包括以上所有的形式,如:VIN 13 2 0.001 AC 1

hspice仿真简易教程

仿真过程: 第一步:搭建电路。使用工具:Cadence,ECS,Workview等 第二步:以可编辑方式打开需要仿真的电路(子电路,整体电路均可,整体电路需要打开顶层图)。Tools→Analog Envirement 弹出窗口。 Setup→Simulator→Simulator一栏选择“HSPICE”(也有选择HspiceS的)→OK Simulation→Netlist→Create 稍等一会儿,自动弹出生成的网标文件。“Save”至指定目录下,建议以时间和功 能命名,这样易于理解和分辨网表的新旧。保存的文件后缀为.txt 若生成网表失败,请在icfb中查找原因,找到“error”部分的描述即为失败原因。 常见原因有:电路的输入输出PIN与其Symbol的PIN对不上(这个错误在电路保 存时就能发现);电路连线有问题,比如存在短路,重名等情况;电路改动过后没 有保存。 第三步:创建仿真文件。该文件以.sp为后缀进行保存。 仿真文件主要是添加激励,指定仿真类型和内容,以及仿真精度和结果等的显示。 文件第一行不能输入有效语句,一般以*号注释,正式语句从第二行以后开始。 首先调用网表文件,也就是需要将第二步生成的网标文件进行调用,用.inc语句,例如: .inc ‘/projuct/spl3501/osc/netfile/osc_0812.txt’ 然后开始加激励。一般顺序是先定义电源和地,然后再定义输入信号,例如: Vvcc vcc 0 pwl 0u 0v 10u 5v 给电源vcc加一个线性增大的电压 Vgnd gnd 0 0 定义地电位是0 Ven en 0 pwl 0u 0 2u 0 2.01u 5 开始定义其它输入信号 确定仿真显示等的设置,大多数功能设置都会在.option中进行设置,比如: .option node list post 表示打出所有节点的电压,如果你不需要打出所有的节点 信息,而只要求能够打出你指定的节点电压电流等,那么可以在option后面加入 “probe”即可,但这样的话就需要在接下来使用.probe来指定你要打出的电压电 流信息。例如: .option list post probe (此时需要将node去掉) 接下来确定仿真类型。常用的有瞬态,直流,交流等。需要注意的是,只有瞬态(tran)仿真才能给激励信号加随时间变化的量,如果是直流(DC)仿真则不行,例如上 面的例子就只能是瞬态仿真的激励,如果需要做DC仿真就必须修改成这样: Vvcc vcc 0 5v Vgnd gnd 0 0 Ven en 0 5

TSMC工艺的_版图教程

目录 前端电路设计与仿真 (2) 第一节双反相器的前端设计流程 (2) 1、画双反相器的visio原理图 (2) 2、编写.sp文件 (2) 第二节后端电路设计 (4) 一、开启linux系统 (4) 2、然后桌面右键重新打开Terminal (6) 双反相器的后端设计流程 (7) 一、schematic电路图绘制 (7) 二、版图设计 (21) 画版图一些技巧: (29) 三、后端验证和提取 (30) 第三节后端仿真 (37) 其它知识 (40)

前端电路设计与仿真 第一节双反相器的前端设计流程1、画双反相器的visio原理图 in V DD M2 M3 out 图1.1 其中双反相器的输入为in 输出为out,fa为内部节点。电源电压V DD=1.8V,MOS 管用的是TSMC的1.8V典型MOS管(在Hspice里面的名称为pch和nch,在Cadence里面的名称为pmos2v和nmos2v)。 2、编写.sp文件 新建dualinv.txt文件然后将后缀名改为dualinv.sp文件 具体实例.sp文件内容如下:

.lib 'F:\Program Files\synopsys\rf018.l' TT 是TSMC用于仿真的模型文件位置和选择的具体工艺角*****这里选择TT工艺角*********** 划红线部分的数据请参考excel文件《尺寸对应6参数》,MOS管的W不同对应的6个尺寸是不同的,但是这六个尺寸不随着L的变化而变化。 划紫色线条处的端口名称和顺序一定要一致 MOS场效应晶体管描述语句:(与后端提取pex输出的网表格式相同) MMX D G S B MNAME 2.1、在wind owXP开始--程序这里打开Hspice程序 2.2、弹出以下画面然后进行仿真 1、打开.sp 文件 2、按下仿真按钮3 形 存放.sp文件的地址 查看波形按钮按下后弹出以下对话框

hspice简明使用手册

HSPICE简明使用手册 水平有限,如有错误请予以改正。还有很多的功能不太了解,希望大家都来补充完善。谢谢!大家也可以把一些自己在调试过程中的bug 汇总到一起,给大家作参考。方便以后少犯这种错误,最好加上为什么错了,如何改正。我会建立一个名字为our_bugs_go_away的文件夹来放大家调试过程中的bug。 如果你认真看了正文中的红字部分,应该就可以使用hspice的基本功能来实现电路模拟。 附录中会有基本的语法,供大家查阅,不一定很全。 1. 常用文件类型 .sp 网表文件输入文件 该文件是hspice唯一的输入文件,用网表形式描述电路。下面会专门讲解该文件的几个基本构成。 .mt0 中存放测试数据输出文件 .lis 中存放仿真的过程以及仿真时的错误输出文件 2. hspui按钮的作用 Open 打开.sp文件 Simulate 仿真开始 Edit LL 观察.lis文件,debug Edit NL 修改.sp 文件 Avanwaves 观察模拟波形 Explore 找到模拟中所用文件的文件夹 3.AvanWaves 使用 用来观察模拟得到的波形 3.1 results brower 对话框用来选择要看的是那种分析(tran,dc,ac)的那种波形,双击你要看的波形就可以了。 3.2主面板 3.2.1窗口 panel# 用来看波形 wave list 观察波形的列表 3.2.2按钮 panels 观察窗口个数控制

window 观察窗口显示控制 measure 测量控制,有对某点的测量和点到点的测量 configuration 不明 tools 不明 3.3快捷按钮 3.3.1 results brower 的开关按钮 3.3.2变量运算函数编辑器 3.3.3打印 3.3.4测量某点坐标 3.3.5两点间坐标检测 3.3.6窗口显示控制 4..sp 文件介绍 对于一个用hspice模拟的电路,一般可以分为两个部分来描述: 1 电路单元的.sp文件。名字多为:unit.sp 比如:nand2g.sp 它一种子电路的形式,就像我们电路中的一些小单元或者Verilog中的module,用来调用,。可以参考程军老师给的.sp文件。 2 电路整体.sp文件。名字多为:sim_unit.sp 比如:sim_nand2g.sp 一般为电路的顶层部分,用来调用单元电路,用网表来描述整个电路,并声明激励源来模拟。可以控制模拟的类型,是直流模拟.dc ,交流模拟(频域分析).ac ,瞬态模拟.tran。这个文件就像是Verilog中的top + testbench。 当然编写网表文件的风格多种多样,这只是其中一种。 在流程后面会有一个.sp文件的讲解,告诉大家.sp文件有哪些基本部分,如何写.sp文件。.sp文件的构成 以程序为例 5. 完整的模拟流程: 直接用记事本建立.sp文件,只要改一下文件扩展名即可。或者直接复制一个.sp文件改个名字。 (下面的内容不用细看,只要知道有哪些步骤) 1 建立模型(一般采用现成模型,直接利用.lib 命令调用。采用何种模型由工艺来定)NMOS 和PMOS的模型 2 子电路建立(例子:nand2g.sp) 描述该子电路的晶体管连接和长宽等即可。 3 编写模拟程序(例子:sim_nand2g.sp) 详见下面对模拟程序的说明。

Hspice 语法手册

一、HSPICE基础知识 Avant!Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。目前,一般书籍都采用Level2的MOS Model进行计算和估算,与Foundry经常提供的Level49和Mos9、EKV 等Library不同,而以上Model要比Level2的Model复杂的多,因此Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件Hspice、Spectre等进行仿真,以便得到精确的结果。 本文将从最基本的设计和使用开始,逐步带领读者熟悉Hspice的使用,并对仿真结果加以讨论,并以一个运算放大器为例,以便建立IC设计的基本概念。在文章的最后还将对Hspice 的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的输入文件用来显示波形。 表1Hspice所使用的单位 独立电压和电流源包括: 1.直流源(DC): 电压源Vxxx n+n-dcval 电流源Ixxx n+n-dcval 2.交流源(AC):Vxxx n+n-AC=acmag,acphase 3.瞬态源(随时间变化): 脉冲源:pulse v1v2td tr tf pw per 线性源:pwl t1v1 正弦源:sin vo va freq td damping phasedelay 4.混合源:可以包括以上所有的形式,如:VIN1320.001AC1SIN(011Meg) 二、输入网表文件 TITLE .INCLUDE .LIB MACRO 元件描述

相关主题
相关文档
最新文档