【HSPICE】输入网表文件 --- 基本内容

从HSPICE的仿真流程看,除去初始化配置过程,真正的仿真是从输入网表文件开始的,该文件是SPICE仿真的核心输入文件。

HSPICE 根据输入网表文件( input netlist file )中的内容进行运算并产生仿真结果,仿真结果存储在输出列表文件或其他图形数据文件之中。

那么输入网表文件中到底都包含哪些内容呢?

1. 输入网表文件的基本内容

输入网表文件的命名方式为 design.sp,文件包含如下四个方面的内容。

  • Design netlist (subcircuits, macros, power supplies, and so on)(设计网表)
  • Statement naming the library to use (optional)(所用到的库)
  • Specifies the type of analysis to run (optional)(所执行分析的类型)
  • Specifies the type of output desired (optional)(期望的输出)

更加具体的内容如下:
在这里插入图片描述
在这里插入图片描述

每部分内容描述方式示例:
在这里插入图片描述
在这里插入图片描述

具体的输入网表示例:

在这里插入图片描述

总的来说,输入网表文件一般包含如下内容:

  1. 标题语句:放在代码的第一行,通常情况下代码的第一行在执行时会被忽略,所以这一行可以是文件名,或者是对文件内容的简单描述。
  2. 电源和信号源描述语句:指明电路中使用的电源和信号源的类型、连接关系和参数
  3. 元器件描述语句(电路描述语句):指明电路中元器件的类型和它们之间的链接关系,以及元器件参数和模型参数等
  4. 仿真类型语句:指明进行什么类型的仿真分析,如直流、交流、瞬态分析等
  5. 模型语句:指明元器件采用的模型,可以调用已有模型,也可以在代码中自己定义。
  6. 结束语句.end 位于代码的最后一行,表示代码结束。

2. 输入网表文件示例

这里给出了一个简单输入网表文件的示例。

如果你想对一个简单的反相器进行进行仿真,测量其时序行为,你需要在输入网表文件中描述以下内容:

在这里插入图片描述
定义好上述内容之后,可以使用瞬态分析,然后生成输入、输出端口的波形数据。

最终的写好的的输入网表文件的内容如下:

* Sample inverter circuit
* **** MOS models *****
.MODEL n1 NMOS LEVEL=3 THETA=0.4 ...
.MODEL p1 PMOS LEVEL=3 ...
* ***** Define power supplies and sources *****
VDD VDD 0 5
VPULSE VIN 0 PULSE 0 5 2N 2N 2N 98N 200N
VGND GND 0 0
* ***** Actual circuit topology *****
M1 VOUT VIN VDD VDD p1
M2 VOUT VIN GND GND n1
* ***** Analysis statement *****
.TRAN 1n 300n
* ***** Output control statements *****
.OPTION POST PROBE
.PROBE V(VIN) V(VOUT)
.END

3. 一些基本规则

  1. 输入文件的第一行无论内容是什么,总是会被工具认为是标题行,工具会在每一个输出文件中打印该行内容。第一行的任何内容都不会作为仿真内容,如果没有标题,就要空出来。

  2. 输入文件支持 .gzip 格式,文件中的.inc, .lib , .load也支持这种格式。

  3. 输入网表中的指令顺序可随意,最后一定要以 .end 结尾,否则会报错。

  4. 默认情况下,行指令不区分大小写,但是.INC.LIB 语句中对路径的描述是有大小写之分的。如果想要开启大小写敏感,可以在启动HSPICE的时候使用-case 1选项,如下:

% hspice -case 1 -i design.sp -o design.lis

大小写敏感作用在以下内容:

在这里插入图片描述

  1. 注释有两种,以 * 开始的一整行都为注释内容,跟在某一个命令行后面的注释可以使用 $

  2. HSPICE语法中,一行就是一个描述语句,如果需要换行,或者说续行,可以使用+或者是\\,如下所示。

*** continuation is between tokens ***
R1 1 0
+ R='res1-res2'

*** string continuation ***
R6 4 0 R='res1-\\ 
res2'
R5 4 0 R='res1- \\
res2'
*** token continuation ***
R4 node1 no\\
de2 R= 'res1-res2'

4. 数值表示方法

HSPICE 中的数值有以下三种表示方式:

① 整数或浮点数

② 浮点数后面跟一个整数类型的指数

③ 整数或浮点数后面跟一个缩放因子

在这里插入图片描述
在这里插入图片描述

① 如果想要定义指数,也可以用两个 **,比如 2的5次方可以写成:2**5

② 可以使用 1e-12 或者 1p,但是如果想要混合使用,如 1e-6u,就需要做如下指定:

.option MIXED_NUM_FORMAT = 1

③ 数字输出格式的指定

在这里插入图片描述

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值