集成电路设计采用 HSPICE 软件可以直流到高于 100MHz 在微波频率范围内准确模拟、分析和优化电路。在实际应用中,HSPICE 它可以提供关键的电路模拟和设计方案,并应用 HSPICE 进行电路模拟时,其电路规模仅取决于用户计算机的实际存储器容量。我们需要写一个电路的网表,也可以称之为电路描述语句,
这里博客的目的是介绍HSPICE 一些主要描述电路的句子。用这些句子描述电路模拟的标题,电路的连接方式是拓扑信息,构成电路元件、设备、电源的属性、参数、模型、附加注释、电路模拟结束等。
一般形式:.TITLE<string of up to 72 characters> 或 <string of up 72 characters> 例:POWER AMPLIFIER CIRCUIT TEST 如果用户不需要标题,第一行必须空,否则第一行的其他行必须空。 HSPICE 句子被用作标题线,而不是执行。
M1 drain gate source body pmos W L
eg:M1 OUT IN VDD VDD PMOS W=20u L=0.6u
电压源 1、V1 NODE1 NODE0 10V AC 2 连接在NODE1与NODE0个电压源,直流10个V,交流2V。 2、V2 NODE1 NODE0 PULSE(0 1.8V 10n 2n 2n 50n 100n) 脉冲电压源,低值0,高值1.8V,延时10ns,上升沿2ns,下降沿2ns,脉冲宽度50ns,
3、 V3 NODE1 NODE0 SIN(0 1 100meg 2ns 5e7) 中值为0,幅度为1,频率为100MHez,延迟时间是2ns,阻尼因子是5e7、相位0(默认值)。 4、V4 NODE1 NODE0 PWL(0ns 0V 2ns 1.8V 6ns 1.8V 8ns 0V 9ns 0V R td=4ns) 在R前定义如何循环线性电压源,然后指出延迟时间(td=4ns)。周期100ns 电流源
I1 NODE1 NODE0 DC=5mA 无交流电流源。 DC= 可写不可写。 I2 NODE1 NODE0 AC=2V,90 交流源,幅度为2V,相位为90度。
它是用户在操作和分析程序时解释的句子。在列出输入程序时打印,但不参与模拟分析。该句子可以在输入文件标题句后的任何位置注释。 一般形式:①* <comment on a line by itself>
②<HSPICE statement>$<comment on the same line as and following HSPICE input> 用 * 或者 $, * 必须写在行首, $ 它可以写在句子后面,但至少应该是空的。
常量有 f、p、n、u、m、k、meg、g。跟着数字,比如: c1 1 2 10
子电路的名称应为 X 而且元件名不能超过16个字符, 端口写在前面,子电路定义的模块名写在最后,如: Xopa1 a b c c OPAMP 例子:反向器链 .global vdd gnd gnd vdd01.8V .subckt inv in out M1 out in gnd gnd NMOS w=0.36l=0.18u M2 out in vdd vdd PMOS w=0.72 l=0.18u .ends x1in 1 inv x21 2inv x32 out inv c1out 01pf
用.GLOBAL定义,如: .GLOBAL NODE1 NODE2 NODE3 eg:.GLOBAL VDD GND 定义了三个全局节点。此外,节点 0、GND、GND!、GROUND指全局地电位。
电阻:
①RXXX n1 n2 <mname> Rval<TC=TC1<,TC2>> <SCAL=val> <M=val> <AC=val> <DTEMP=val> <L=val><W=val> <C=val>
②RXXX n1 n2 <manme> R=val <TC1=val> <TC2=val> <SCAL=val> <M=val> <AC=val> <DTEMP=val> <L=val> <W=val><C=val> ③RXXX n1 n2 R=equation eg: R1 1 2 100k RC1 12 17 1k TC=0.001, 0 1.2 R4 5 54 RMOD 12k 在上述电阻描述语句中,电阻值可以是正值或负值,但不能为零。TC1 和 TC2 是温度系数,零
电容:
CXXX n1n2 C=equation CTYPE=0 or 1
eg:C13 2 10U IC=3V
电感:
&nbp;LXXX n1 n2 L=equation LTYPE=0 or 1 eg:LLINK 42 69 1U
.SUBCKT SUBNAME node1 node2 …… *电路描述 .ENDS SUBNAME
eg:.subckt inv in out M1 out in gnd gnd NMOS w=0.36 l=0.18u M2 out in vdd vdd PMOS w=0.72 l=0.18u .ends
.LIB ′< filepath > f ilename ′ entryname .LIB libnumber entryname eg:.LIB ′MODELS ′ cmos1 .LIB ′../sum/MODELS ′ cmos1 (it is said:在.lib上面一行写.protect,下面一行写.unprotect可以预防仿真时输出多余的信息,也就是一些库中的信息)
.include "hua05.sp" 相当于把那个文件整个粘贴过来。
.param wp=0.72u,wn=0.36u,lm=0.18u 即可在下面用wp、wn、lm来表示这些数值。
.op eg:.OP .5NS CUR 10NS VOL 17.5NS 20NS 25NS 在eg 中计算了直流工作点,并要求在 0.5ns 时打印出所有直流工作点值,此外电流在 10 ns,电压在 17.5 ns、20ns 以及 25 ns 时进行瞬态分析。 在输出文件.lis中会列出一些直流参数和各结点的工作点电压、支路电流、静态功耗等。 .dc xval 1k 10k .5k SWEEP TEMP LIN 5 25 125 扫描变量TEMP,线性扫描,在25和125间线性取5个点进行分析。(SWEEP前面的xval那一串应该是说,扫描TEMP的时候,xval作为变量,取值从1k到10k,以0.5k为步长) 实际上输出的结果里面,先取TEMP为25,扫描xval的取值范围;再取TEMP的下一个点,再扫一遍xval;一直找到TEMP=125。 .dc vgs 0 1.8 0.1 sweep vds 0.5 1.8 0.2 MOS管直流特性扫描,Vgs从0到1.8V,步长为0.1V。 (以上面定义的反向器链为例) .dc vin 0.1V 1.8V 0.01V .print dc v(out) 扫描反相器链的直流特性并输出。
.tran 1ns 100ns 0.5ns 步长1ns,从0.5ns扫描至100ns
一般形式:.END <comment> 注意“.”不能少,它是结束语句整体的一部分。若一个 HSPICE 输入文件包含有几个 HSPICE 的运行,则每一个 HSPICE 运行的最后都要加上.END 语句。
部分内容转载至http://blog.sina.com.cn/s/blog_63ea4a270101fwj7.html
之后也会上传一些实例供大家参考
二输入与非门:https://download.csdn.net/download/qq_38716211/11103581
二输入与门: https://download.csdn.net/download/qq_38716211/11103595