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= ???
コメント