Powered by SmartDoc

シミュレーション/波形表示の方法

シミュレーションの方法は, STより出力されたファイルとネットリスト, HDL記述等をシミュレータに入力するだけである.

シミュレーションの方法

SPICE/HSPICE/finesim/ELDOの場合

ターゲット(targetコマンドもしくは, -t)で, hspice, eldoを指定した場合, hspice, finesim, eldoの持つ論理値比較機能を用いて,期待値とシミュレーション値の比較を行なうことができる.ターゲットでspiceを指定すると期待値比較を行わない.finesimの入力ファイルはhspiceと互換のため,-tでhspiceを指定すれば良い.

STからの出力とネットリストを.includeコマンドによりメインのファイルから取り込めば良い.例えば,ネットリストがnet.cirで, STからの出力がtest.cirであるとすると,

.include 'net.cir'
.include 'test.cir'

を指定する.

SPICEの場合,電圧入力はノードに電圧源を接続するので,双方向ノードは実現不可能である. STでは,電圧源とノードの間に,電圧制御抵抗(G element)を挿入することで,双方向ピンを実現している.

Verilogの場合

STからの出力とネットリストもしくはHDLファイルを, Verilogシミュレータに与えるだけである.ただし, STからの出力は`timescaleダイレクティブにより,時間の刻み幅が指定されているので,必ずSTからの出力を最初の入力ファイルとして指定する.ネットリストがnet.vで, STからの出力がtest.vである場合, xmverilogでの実行は,

xmverilog test.v net.v

となる.

targetをvcsもしくはmodelsimとした場合,shmサブルーチンは無効になる.また,modelsimとした場合,シミュレーションの終了は$finishではなく$stopとなる.これは,modelsimのGUI環境では,$finishを実行するとmodelsimが終了してしまうからである.

波形表示の方法

現時点(2021年11月)においては,次の波形表示ツールを使う.

cx (Custom Explorer)
Synopsys社の提供するhspice用の波形表示ツール
gtkwave
Verilogシミュレータから出力されるvcdフォーマットのファイルに対応.
simvision
Cadence社の波形表示ツール. shm,vcd,tr0(ただしASCIIフォーマットのみ)に対応している.vcdを読み込むとshm形式に変化するため読み込みに時間がかかる.

hspice

hspiceでは,

.options post

により,波形ファイル(.tr0)が生成される. cxにより, .tr0形式の波形を表示することができる. STでは,

hspice_wave_format "ascii"

とすることで, simvisionでも見ることが可能なASCII形式で出力することが可能となる.

verilog

Verilogの場合, vcdサブルーチンを使うと, vcd形式で出力される.しかし, simvisionで波形を見る場合,一旦shm形式に変換されてしまうため,時間がかかる. simvisionで波形を見る場合,変換の不要なshm形式にて出力したほうが良い.したがって, vcdではなく, shmサブルーチンを用いる.

なお, shmを用いる場合,シミュレーションのオプションとして, +access+rを付加しないと,波形が出力されないので注意する.