2024年2月1日木曜日

HSPICE で過渡解析の結果として初期値のみが表示される

HSPICEで過渡解析を行ったときに,初期値(時間0点)のみ表示されて波形が表示されないことがある.

これは autostop を使っている状態で .Measure の条件を満たす波形入力が存在しないことが自明な場合(例えばトリガ条件の信号が存在しないなど)に過渡解析を実施せずに終了してしまう様だ.ややこしいのは最後のログが "*** job concluded" と表示される事だけれど,実際には初期条件の評価しかしていない.

例えばこんなSPICE CARDを入力すると.
  1. ...
  2. * Prop. delay
  3. .Measure Tran Prop_dut Trig v(W5_10) Val='VOLT/2' rise=1 targ v(W6_01) val='VOLT/2' fall=1 print=0
  4. .Measure Tran Prop_ref Trig v(W5_10) Val='VOLT/2' rise=1 targ v(W6_10) val='VOLT/2' fall=1 print=0
  5.  
  6. V_D01 DATA01 0 pwl (40p 0 100p 0 '100p + SLEW' 'VOLT' )
  7.  
  8. .subckt INV4 IN OUT VDD VSS
  9. XINV1 IN OUT VDD VSS VDD VSS INV_X1
  10. XINV2 IN W1 VDD VSS VDD VSS INV_X1
  11. XINV3 IN W2 VDD VSS VDD VSS INV_X1
  12. XINV4 IN W3 VDD VSS VDD VSS INV_X1
  13. .ends
  14. ...


.Measureの条件である W6_01,W6_02 は存在しないのでこの .Measure は無視される.


結局生成された波形ファイル (.tr0) を見ても,時間ゼロでの初期値(ここでは0.7 V)が点で表示されるだけである. ちゃんとログを見ると,

**warning** (delay_wring.sp:32) Unable to find referenced node w5_10; Output variable ignored. Specify a valid node.

という感じに存在しないネットについてはワーニングがでているので,まあちゃんと確認しなさいということか. 

昔の HSPICE はこんな振る舞いだったかな,とはちょっと疑問ではある.ここでは P-2019.06-1 を使っている.

0 件のコメント:

コメントを投稿