hspice ノイズ過渡解析

hspice_trannoise hspice

hspiceのノイズ過渡解析について.

ノイズ過渡解析とは

ノイズ過渡解析は通常のACノイズ解析とは異なり,モデルから乱数によってノイズ波形を生成し,時間領域でシミュレーションする
オシレータのジッター解析など過渡解析が必要とされる回路のノイズ解析に適している.

例.オシレータのジッター解析

例としてオシレータのジッター解析を行う.
ジッターは理想的なパルス波形からの立ち上がった時間のずれである.
次のコードでは,オシレータの出力電圧の立ち上がる時間を測定し,{filename}_riseTime.mt0 に保存する.

oscillatorというサブサーキットを用意していることを前提.

** parameters 
.param _VDD = 1.0
.param _VSS = 0.0

** voltage sources
vVSS VSS 0 '_VSS'
vVDD VDD VSS '_VDD'

xoscillator VDD VSS CLK_O oscillator
cload CLK_O VSS 1f

** determine the initial voltage 
.ic v(CLK_O)=0

.tran 0.1n 100n 
*+ sweep _VDD 0.6 1.0 0.1

.trannoise v(CLK_O) fmax=50G 
*+ start=10n
*+ samples=10

.probe v(*) i(*)

** measure rise time 
.meas tran_cont riseTime when v(CLK_O) val='0.5*_VDD' rise=1

.end

出力結果

次の部分で出力ノードの立ち上がる時間を測定する.
tran_contなので1度だけではなく全ての立ち上がった時間を保存する.

.meas tran_cont riseTime when v(CLK_O) val='0.5*_VDD' rise=1

上のコードの出力は次のようになる.
別途スクリプトなどでファイルを読み込み,ずれを計算することでジッターを求められる.

$DATA1 SOURCE='HSPICE' VERSION='P-2019.06-1 linux64'

Measurement results:                                                                                        
1.      risetime, result= ???
2.      risetime, result= ???
3.      risetime, result= ???

コメント

タイトルとURLをコピーしました