目次

HSIMシミュレーション

ここでは,2入力1出力のNANDを対象に,HSIMシミュレーションをすることを仮定する.

% hsim nand.sp

と実行することで,hsimシミュレーションができる.

ふんが研環境下では,

/home/vdec/synopsys/hsim-2010.12/hsimplus/platform/amd64/bin/hsim

を実行すること.

nand.spの記述

libraryとsubcktを読み込む

(例)高速ライブラリの場合

 *** Technology library ***
 .lib '/home/vdec/lib/fujitsu65/CS200HP_Technology100712/HSPICE/CLI000-065SPM01002-01/CLI000-065SPM01002-01/option' OPTION
 .lib '/home/vdec/lib/fujitsu65/CS200HP_Technology100712/HSPICE/CLI000-065SPM01002-01/CLI000-065SPM01002-01/ST' ST_TT
 .lib '/home/vdec/lib/fujitsu65/CS200HP_Technology100712/HSPICE/CLI000-065SPM01002-01/CLI000-065SPM01002-01/ST' NOISE_TYP
 .lib '/home/vdec/lib/fujitsu65/CS200HP_Technology100712/HSPICE/CLI000-065SPM01002-01/CLI000-065SPM01002-01/ST' ST_SET_PROC_DEVI
 .lib '/home/vdec/lib/fujitsu65/CS200HP_Technology100712/HSPICE/CLI000-065SPM01002-01/CLI000-065SPM01002-01/STcore' ST_CORE
 .lib '/home/vdec/lib/fujitsu65/CS200HP_Technology100712/HSPICE/CLI000-065SPM01111-00/CS200HP_Passive_Rev0.71/Passive_BulkDev_Antenna'   DIODE_ANT
 

(例)低速ライブラリの場合

 .lib '/home/vdec/lib/fujitsu65/CS200L_Technology080825/2.HSPICE/CLI000-065SPM02012-05/CS200L_1p2SVt_Rev1.01/option' OPTION
 .lib '/home/vdec/lib/fujitsu65/CS200L_Technology080825/2.HSPICE/CLI000-065SPM02012-05/CS200L_1p2SVt_Rev1.01/1p2SVt' NOISE_TYP
 .lib '/home/vdec/lib/fujitsu65/CS200L_Technology080825/2.HSPICE/CLI000-065SPM02012-05/CS200L_1p2SVt_Rev1.01/1p2SVt' TT
 .lib '/home/vdec/lib/fujitsu65/CS200L_Technology080825/2.HSPICE/CLI000-065SPM02012-05/CS200L_1p2SVt_Rev1.01/1p2SVt' SET_PROC_DEVI
 .lib '/home/vdec/lib/fujitsu65/CS200L_Technology080825/2.HSPICE/CLI000-065SPM02012-05/CS200L_1p2SVt_Rev1.01/1p2SVt' CORE
 .lib '/home/vdec/lib/fujitsu65/CS200L_Technology080825/2.HSPICE/CS200L_Passive_Rev0.50/Passive_BulkDev_Antenna'   DIODE_ANT
 

ネットリストを読み込む

 *** Netlist ***
 .inc '/home/vdec/lib/fujitsu65/cs203mx_sc_io_lib/cdl/CS203/CS203SN/cs203sn_uc.cdl'
 

オプションやパラメータの設定

*** Option and parameters ***
.inc './HSIM.inc'
.param HSIMVECTORFILE = './nand.vec'

.option measdgt = 10
.option numdgt  = 10

.param HSIMDCITER = 2000

.param Tstart = 50n
.param Tcycle = 5n
.param Twakeup = 5n
.param Tlast = 50n
.param slew = 30p
.param Tstable = 10n
.param Tspan = 'Tstart + Tsleep + Tstable'

.param paramVdd = 1.0  paramVss = 0.00
.param temperature = 25

.temp temperature

電源などの宣言

.global VDD VSS VNW VPW
Vd     VDD 	0 paramVdd
Vs     VSS      0 paramVss
Vn     VNW      0 paramVdd
Vp     VPW      0 paramVss

SC32NAND2XA1

XSC32NAND2XA1 A B VDD VNW VPW VSS YB SC32NAND2XA1
.probe I(V*) V(*)
.meas norm  avg  I(Vs) from=20ns to=50ns

最後

.end

HSIM.incの記述

* Simulation Acculacy   High Acculacy 0 <=> 8 High Speed  ( default : 3 )
*.param HSIMSPEED=3
.param HSIMSPEED=0

* Time Scale   unit : ns ( default : 1  ;=1ns )
*.param HSIMTIMESCALE=1
.param HSIMTIMESCALE=0.1

* MOS modeling 
*.param HSIMSPICE=0
.param HSIMSPICE=0
*.param HSIMSPICE=3

* Minimam Voltage Variation for simulation Time Step ( default : 0.3v )
.param HSIMALLOWEDDV=0.1v
*.param HSIMALLOWEDDV=0.01v

* ( default : 10nA )
.param HSIMSTEADYCURRENT=0.1nA
*.param HSIMSTEADYCURRENT=0.001nA

.param HSIMOUTPUT = fsdb
.option post probe
.option measdgt = 12
*.option measdgt = 10
.option ingold=2	$ 0 : 1g   1x   1k   1m   1u   1n   1p    1f
			$ 2 : 1e9  1e6  1e3  1e-3 1e-6 1e-9 1e-12 1e-15

nand.vecの記述

タイミングで入力する電圧の値を変化させ,出力の値を見る.

radix	11 1
signal
+ A B YB
io	ii o

;stop_at_error
vih 1.0
vil 0.0

rise 0
fall 0
0	00 u
10	11 u
20	10 u
30	01 u