HSPICE概述
- 1. HSPICE简介
- 3. 标准输入文件
- 4. 标准输出文件
- 3. HSPCIE仿真过程
1. HSPICE简介
SPICE (Simulation Program with IC Emphasis)是1972 年美国加利福尼亚大学柏克莱分校电机工程和计算机科学系开发
的用于集成电路性能分析的电路模拟程序。
如今,SPICE广泛应用在仿真模拟电路(例如运放OpAmp,能隙基准稳压电源BandgapReference,数模/模数转换AD/DA等),混合信号电路(例如锁相环PLL,存储器SRAM/dRAM,高速输入/输出接口high-speedI/O),精确数字电路(例如延时,时序,功耗,漏电流等),建立SoC的时序及功耗单元库,分析系统级的信号完整性,等等。作为最早的电子设计自动化软件,它今天仍然是最重要的软件之一。可以说,没有SPICE,就没有电子设计自动化这个产业,也就没有今天的半导体工业。
SPICE 实际上它只是一个内核,提供核心算法SPICE。要使用各种各样的功能,需要跟它的各种壳(如PSPICE、HSPICE等)进行对话。
HSPICE 是 Meta-Software 公司开发的一个商业化通用电路模拟程序,它在柏克莱的 SPICE(1972 年推出),MicroSim 公司的 PSPICE(1984 年推出)以及其它电路分析软件的基础上,又加入了一些新的功能。现在该软件是属于Synopsys公司。
Hspice 在给定电路结构和元器件参数的条件下,它可以模拟和计算电路的各种性能。用 Hspice 分析一个电路,首先要做到以下三点:
(1) 给定电路的结构(也就是电路连接关系)和元器件参数(指定元器件的参数库);
(2) 确定分析电路特性所需的分析内容和分析类型(也就是加入激励源和设置分析类型);
(3) 定义电路的输出信息和变量。
Hspice 规定了一系列输入,输出语句,用这些语句对电路仿真的标题,电路连接方式,组成电路元器件的名称,参数,模型,以及分析类型,以及输出变量等进行描述。
3. 标准输入文件
① 斜体表示用户可以自定义
② 初始化文件( hspice.ini )可以指定用户默认值,HSPICE 在读取 hspice.ini
文件之后,会把其内容包含在输入文件的顶部。
HSPCIE 仿真器按照以下顺序搜索该文件,找到第一个文件之后就停止。
可以在该初始化文件中定义一些选项(使用.option
语句)和使用到的库文件。
此外,也可以在 meta.cfg
文件中,使用default_inlcude=filename
来指定要执行的初始化文件,而不是按照上述顺序搜索。
③ DC工作点初始化文件(<design>.ic#
)是一个可选输入文件,可以使用该文件去指定初始DC条件(.NODESET
或.IC
语句)。
.SAVE
语句可以创建一个<design>.ic#
文件,.LOAD
语句将该文件中描述的DC工作点的值初始化到电路。
④ 输入网表文件(design.sp
)
主要内容是设计网表,还可以包含以下内容
- 执行的分析的类型
- 期望的输出类型
- 使用到的库文件
4. 标准输出文件
① #
代表扫描分析信号或者是硬拷贝文件需要,一般范围是 0-9999
② measurement result 都是使用 .measure
产生的文件
③ 输出列表文件的名字可以自定义,可以不用后缀 .lis
或者使用自定义的后缀,具体取决于仿真的启动方式。
仿真启动方式:
hspice demo.sp # 此时输出文件就是为 demo.lis, demo.tr0, demo.st0, demo.ic等
hspice inv.sp > inv.out
hspice -i demo.sp -o rst.lis # 此时的输出文件名:rst.lis, rst.tr0, rst.st0,和 demo.ic
输出列表文件包含的内容如下:
④ 波形文件
3. HSPCIE仿真过程
① 是工具启动命令,需要提前写好 .sp
文件
② - ④ 是一些初始化的内容
⑤ 读取输入网表文件,并打开输出列表文件(为写操作做准备)。
⑥ 读取.INCLUDE
和.LIB
语句描述的库文件
⑦ 工作点的初始化(相关命令.IC, .NODESET, .SAVE
)
⑧ - ⑨ 根据要求对设计进行分析,并产生一系列输出文件(.TRAN
等)
⑩ 可以改变仿真条件,重复特定的分析(.ALTER
)
此外,Ctrl-Z
是中断仿真,如果想要继续仿真,需要在同一个中断输入 fg
或者是 bg
。