VHDL/Verilogのシミュレーション(更新)

2022/07/01

Cadenceのツールでシミュレーション

コマンドのパス:/usr/local/cadence/XCELIUM2103/tools/inca/bin (20220401現在)

最低限の設定ファイル cds.lib

INCLUDE /usr/local/cadence/XCELIUM2103/tools/inca/files/cds.lib
DEFINE work work

“work"ディレクトリを作っておく必要がある。

“hdl.var"がないと文句を言う場合が。

DEFINE XMELABOPTS -messages
DEFINE XMSIMOPTS  -batch -messages
DEFINE WORK work

VHDL

解析(xmvhdl), エラボレーション(xmelb), シミュレーション(xmsim)の順で実行する必要ある。

VHDLのMakefile:テストベンチのtopが"top"の場合は、“work.top"を指定する。

run:;
        mkdir -p work
        xmvhdl -V93 -ALLOWREDEFINITION -messages -smartorder *.vhd
        xmelab -access +rwc work.top
        xmsim -status -input dump3.tcl work.top

“-V93"はVHDL1993規格に準拠させる。"-ALLOWREDEFINITION"は別のファイルにある同じ名前のモジュールを許容する。

vcdをダンプするためのTCLファイル:dump3.tcl

database -vcd -open top -default
probe -create -vcd / -depth all -all
run
exit

全部の信号をdumpする。

Verilog

Verilog: 解析(xmvlog), エラボレーション(xmelb), シミュレーション(xmsim)の順で実行する必要ある。

run:;
        mkdir -p work
        xmvlog -ALLOWREDEFINITION -WORK work -messages *.v
        xmelab -access +rwc work.top
        xmsim -status -input dump.tcl work.top

vcdをダンプするためのTCLファイル:dump.tcl

database -open top -vcd -into top.vcd -default
probe -create -database top [scope -tops] -depth all -all
run
exit

波形による解析

生成されたvcdファイルは、SimVision か gtkwave で中身をみる。