资讯详情

Hspice介绍

Hspice介绍

文章目录

  • Hspice介绍
      • Hspice的功能
      • Hspice的样子
      • Hspice输入-网单文件
      • 电路网表
      • 模型卡
      • 控制卡
        • 直流分析
        • 瞬态分析
        • 交流分析
        • 输出控制
Hspice主要用于电路级模拟和分析。可辅助调整电路参数,估计功耗、延迟等性能。

正向设计简单电路的过程:

  1. 功能定义
  2. 行为设计
  3. 逻辑电路设计(由基本逻辑单元组成的电路)
  4. 选择合适的工艺库,映射各基本功能单元;或设计各单元晶体管级电路(获取电路级网表)
  5. 版图设计、DRC、LVS
  6. 提取地图网表,进行:验证功能,估计性能。

Hspice的功能

电路级和行为级模拟

直流特性交流特性分析,灵敏度分析

瞬态分析

电路优化(元件参数优化)

温度特性,噪声分析

傅里叶分析

Monte Carlo,最坏的情况是参数扫描、数据表扫描

功耗,各种电路参数(H、T、S可扩展性能分析等参数

Hspice的样子

Hspice在cmd shell窗口运行,没有图形界面。输入网单文件是文本文件,输出也是一系列纯文本文件。根据不同的分析要求,输出不同扩展名称的文件(.lis、.mea、.dat、.smt等)。

Hspice输入-网单文件

文件结构:

.title 输入文件标题
options 设置模拟条件
Analysis statement 设置扫描变量,设置分析模式
.print/.plot/.graph/.probe 设置输出结果的显示模式
Sources(I or V) 设置输入激励
netlist 电路网表
.lib 元件库
.model libraries 组件模型描述
.end 结束语句

例如(RC network circuit)::

.title A SIMPLE AC RUN .OPTIONS LIST NODE POST .OP .AC DEC 10 1K 1MEG .PRINT AC V(1) V(2) I(R2) I(C1) V1 1 0 10 AC 1 R1 1 2 1K R2 2 0 1K C1 2 0 .001U .END 
  • .title语句

    .title <string of up to 72 characters>

    <string of up to 72 characters>(文件的第一行被认为是标题)

  • .end语句

    .end (end后续文本作为注释)

  • 注释:*(必须是每行的第一个字母)$(一般跟在一个句子后)

  • 常量

    M-毫,p-皮,n-纳,u-微,MEG-兆

    单位可以省略

电路网表

模型卡

模型卡中列出一系列元件的类型,并给出了各类型元器件的有关参数。一个模型对应一类元件,不同的元件可以对应同一模型,其中各元件间的参数可能不同,但参数集是一样的,一般值相同的参数的值在模型说明中给出。

,每个模型有一个名字。

电阻模型:.MODEL 模型名 R keyword=value

电容模型:.MODEL 模型名 C parameter=value

二极管:.MODEL 模型名 D <LEVEL = val> <keyword = val> …

MOS模型:.MODEL NMOS <LEVEL = val>

​ .MODEL PMOS <LEVEL = val>

​ LEVEL=1 常用于数字电路,精度低、速度快

​ LEVEL=2 考虑了衬底电荷对电流的影响

​ LEVEL=13,39,49 常用于模拟电路,精度高、速度慢

BJT模型:.MODEL mname NPN <pnamel = val1> …

​ .MODEL mname PNP <pnamel = val1> …

模型说明中涉及的参数需与.OPTIONS的设置相配合。模型参数中一般包括LEVEL,不同LEVEL的模型有不同的模型参数集。

控制卡

控制卡是hspice输入文件的命令部分,告诉hspice要进行哪些操作和运算,并给出相关的参数(分析方式、输出的变量等)。控制卡包括选项语句(.OPTIONS)、分析命令语句、输出控制语句几类。这些语句的共同特点是都是由保留字引导,后面跟随响应的参数,在保留字前加“.”。

.LIB语句:根据文件路径和文件名来调用一个库文件(一般包括器件模型中的参数值),比如一个具体的bjt,里面包括这个bjt的.MODEL语句等。

​ .lib ‘filename’ entryname

.INCLUDE语句:引用一个文件,如:.include “model.sp”

直流分析

:直流工作点分析,在输出文件中会列出一些直流参数和各结点的工作点电压与支路电流、静态功耗。

:电压扫描,比如上面那个反相器的例子:(.DC后面表示VIN从0V到5V扫描,步长0.1V)

......
.global vdd
.SUBCKT INV IN OUT wn=1.2u wp=1.2u
......
.ENDS
X1 IN 1 INV WN=1.2u WP=3u
X2 1 2 INV WN=1.2u WP=3u
X3 2 3 INV WN=1.2u WP=3u
CL OUT 0 1pF
VCC VDD 0 5V
VIN IN 0
.DC VIN 0 5V 0.1V
.OP
.....
END

.SENS ov1 <ov2…>:(ov1、ov2是做灵敏度分析的支路电流或节点电压)计算输出变量对于每个电路参数的偏导并做归一化。

.TF ov srcnam:小信号转移函数,计算ov/srcnam(ov是输出变量,srcnam是输入源)。

瞬态分析

.tran 0.1NS 25NS 1NS 40NS START=10NS:0-25ns,步长0.1ns;25-40ns,步长1ns,从10ns开始输出结果。

.four freq ov1 <ov2 ov3 …>(傅里叶分析)

交流分析

.AC:一般频域扫描,如.AC DEC 10 1K 100MEG:表示1kHz-100MHz,每10倍频10个采样点

.NOISE ovv srcnam inter:(ovv输出变量,srcnam输入源,inter频率间隔)噪声分析,计算各个器件的噪声对输出节点的影响并给出其均方根并输出,可完成.AC语句规定的各频率的计算,在.AC分析之后。

.data cv_table
500p
300p
500p
1n
.enddata
.AC OCT 10 1 100MEG sweep data=cv_table

温度分析:与直流或瞬态分析等命令结合使用,如.TRAN 1N 200N sweep temp 0 125 20

.IC语句:进行双稳态电路的模拟时往往需要使用

.OPTIONS:允许用户重新设置程序的参数或控制程序的功能。常用的有node(列出节点的元件端点,便于查错)、post(使输出数据可以使用MetaWaves浏览)、list(列出元件列表)。

输出控制

几个输出语句:

  1. .PRINT:在输出的list文件中打印数字的分析结果,如果.OPTIONS中有POST则同时输出到post-processor中。

    .print antype ov1 <ov2 ...>
    

    antype表示类型(AC、DC、TRAN),ov表示输出变量,如V(1)(节点1电压)、V(1,2)(节点1、2之间的电压)、V(R1)(电阻R1上的电压);VM(1)、VR(1)、VI(1)、VP(1)、VDB(1)分别表示V1的幅值、实部、虚部、相位、分贝值。

  2. .PLOT:在输出的list文件中打印低分辨率的曲线,如果.OPTIONS中有POST则同时输出到post-processor中。

    .plot antype ov1 (plo1,phi1) ov2 (plo2,phi2) ...
    

    (plo1,phi1)表示绘图的上下限。

  3. .GRAPH:生成用于打印机或PostScript格式的高分辨率曲线。

  4. .PROBE:把数据输出到post-processor,而不输出到list文件。

  5. .MEASURE:输出用户定义的分析结果到mt0文件,如果.OPTIONS中有POST则同时输出到post-processor中。

    *测量反相器链电路的延迟时间
    ...
    vin in 0 pulse(0 5V 10ns 1n 1n 50n 100n)
    .tran 1n 200n
    .measure tran tdelay trig v(in) val=2.5 td=8ns rise=1 targ v(out) val=2.5 td=9n fall=1
    .end
    

    trig/targ,val指上升、下降或反转的临界点;td指开始测量时跳过的时间量,rise/fall/cross指开始触发的次数

  1. .OP,.TF,.NOISE,.SENS,.FOUR都提供直接输出功能。

标签: 20n60晶体管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台