【HSPICE仿真】实战练习(1)基础仿真分析

仿真实战

  • 1. 反相器直流仿真
    • 1.1 输入文件
    • 2.2 执行仿真
    • 3.3 仿真输出控制
      • .lis 文件内容
      • 波形文件
    • 3.4 修改输出配置
  • 2. 反相器瞬态分析
    • 使用不同宽长比进行仿真
  • 3. 几种不同输入源的比较
    • Pulse Source
    • Pattern Source
    • PWL Source
  • 4. 瞬态分析中的sweep

1. 反相器直流仿真

1.1 输入文件

仿真所用电路图:

【HSPICE仿真】实战练习(1)基础仿真分析_第1张图片

输入网表文件:

Inverter Circuit
.OPTION POST
.DC VIN 0 5 0.1
.PRINT DC V(IN) V(OUT)
M1 OUT IN VCC VCC PCH L=1U W=20U
M2 OUT IN 0 0 NCH L=1U W=20U
VCC VCC 0 5
VIN IN 0 0 PULSE .2 4.8 2N 1N 1N 5N 20N
CLOAD OUT 0 .75P
.MODEL PCH PMOS LEVEL=1
.MODEL NCH NMOS LEVEL=1
.END

2.2 执行仿真

执行仿真的命令有很多,第一种仿真执行命令如下:

hspice -i quick.sp -o quick.lis &

执行该命令的时候,终端不会输出内容,仿真结束之后,会有如下提示:

在这里插入图片描述
如果是使用如下命令启动仿真:

hspice quickDC.sp

这个时候,不会产生 .lis 文件,但是,终端会显示内容,显示的就是 .lis文件中的内容。

下面这个命令就是在加了一个重定向命令,此时,终端不会输出任何内容,但是可以得到 .list 文件。 (重定向算是Linux系统的功能吧。)

hspice quickDC.sp > quickDC.lis &

3.3 仿真输出控制

可以看到,仿真结束后,生成了如下三个文件:
在这里插入图片描述

其中 .st0是输出状态文件,和仿真结果无关,.sw0就是使用option post得到的仿真波形结果。(波形文件的后缀名是和仿真类型相关联的。)

.lis 文件内容

一开始是一些基本信息:
【HSPICE仿真】实战练习(1)基础仿真分析_第2张图片

然后是器件参数信息

【HSPICE仿真】实战练习(1)基础仿真分析_第3张图片
【HSPICE仿真】实战练习(1)基础仿真分析_第4张图片

和执行仿真相关的信息:

【HSPICE仿真】实战练习(1)基础仿真分析_第5张图片

使用.print语句输出到该文件中的数据:

(x是数据起始位置,y是数据结束位置。)

【HSPICE仿真】实战练习(1)基础仿真分析_第6张图片
【HSPICE仿真】实战练习(1)基础仿真分析_第7张图片

最后是一些统计分析的信息

【HSPICE仿真】实战练习(1)基础仿真分析_第8张图片

【HSPICE仿真】实战练习(1)基础仿真分析_第9张图片

波形文件

波形文件quickDC.sw0option post命令生成的,使用WaveView打开之后如下所示:

【HSPICE仿真】实战练习(1)基础仿真分析_第10张图片

这里我们可以选择电路中所有的节点进行观察,也就是说HSPICE工具保存了所有的仿真数据。

3.4 修改输出配置

对输入网表文件的输出控制部分增加一些内容,如下所示:

.option POST NODE LIST PROBE

此时,输出文件的变化

① 输出波形文件

可以看到,这里只能选择 .print 语句中描述的语句,这是.option probe在发挥作用。
【HSPICE仿真】实战练习(1)基础仿真分析_第11张图片

② 输出列表文件中,增加了如下内容。

所有的元件(elements)信息,这是.option list在发挥作用。

【HSPICE仿真】实战练习(1)基础仿真分析_第12张图片
【HSPICE仿真】实战练习(1)基础仿真分析_第13张图片

所有节点的连接信息,这是.option node在发挥作用。

【HSPICE仿真】实战练习(1)基础仿真分析_第14张图片

2. 反相器瞬态分析

输入网表文件:

【HSPICE仿真】实战练习(1)基础仿真分析_第15张图片

直流工作点计算结果(.ic0文件):

【HSPICE仿真】实战练习(1)基础仿真分析_第16张图片

仿真得到的波形文件(.tr0):

【HSPICE仿真】实战练习(1)基础仿真分析_第17张图片

这个时候我们发现,反相器的上升延时和下降延时差距很大,这是因为我们把 PMOS 和 NMOS 的宽长比设置的一样了。

为了分析不同的宽长比对电路产生的影响,我们可以对该参数进行扫描分析。

使用不同宽长比进行仿真

第一个思路是.alter语句,如下:

【HSPICE仿真】实战练习(1)基础仿真分析_第18张图片

这个时候会执行三次仿真,得到三个直流工作点计算结果和三个输出文件:

【HSPICE仿真】实战练习(1)基础仿真分析_第19张图片

当然啊,我们可以使用WaveView打开这三个文件,然后把他们放在一起进行比较,得到的波形如下:

【HSPICE仿真】实战练习(1)基础仿真分析_第20张图片

第二个思路是使用sweep,如下所示:

【HSPICE仿真】实战练习(1)基础仿真分析_第21张图片

这个时候我们只得到一个输出波形文件,打开之后如下所示:

【HSPICE仿真】实战练习(1)基础仿真分析_第22张图片

显然第二种方法更方便一些。

3. 几种不同输入源的比较

这里就主要考虑脉冲源、向量源和 PWL 源,主要是和数字电路相关的输入波形确定。

Pulse Source

定义文件:

【HSPICE仿真】实战练习(1)基础仿真分析_第23张图片

波形文件:

【HSPICE仿真】实战练习(1)基础仿真分析_第24张图片

在脉冲波形的定义中,是可以有关于周期的定义的,波形长度会随着仿真时间的增加而增加。

Pattern Source

输入激励定义如下:

【HSPICE仿真】实战练习(1)基础仿真分析_第25张图片

得到的输入波形如下:
【HSPICE仿真】实战练习(1)基础仿真分析_第26张图片

这里的问题是,输入激励定义了多久就是多久,不会随着仿真时间的增加,自动的进行周期性的重复。

仿真时间超过定义的输入激励事件的部分,输入激励会保持为定义的最后一个值,上例中就保持为1。

PWL Source

激励定义文件:

【HSPICE仿真】实战练习(1)基础仿真分析_第27张图片

波形文件:

【HSPICE仿真】实战练习(1)基础仿真分析_第28张图片

三个波形依次是 v1,v3,v2。

① 如果没有给出 r 关键字,波形是不会重复的,指定了 r 之后,波形就会随仿真施加周期性的重复。

② 如果没有定义 0 时刻的值,那么就是默认为定义的第一个值

③ 分段线性的意思就是,t1时刻的值到 t2 时刻的值是线性变化的,如图中黄线(V3)所示。

4. 瞬态分析中的sweep

你可能感兴趣的:(HSPICE,HSPICE)