ModelSimの実行スクリプト

ModelSimの実行スクリプトのサンプルです。

プロジェクト名:sample
シミュレーショントップのモジュール名:sample_tb
ModelSimの作業ディレクトリ名(ModelSimが生成したファイルを格納):work
とします。

ディレクトリ構成

sample/
  |- sample_tb.sv
  |- sample_rtl.v
  |- file_list
  |- run.sh
  |- work/

・実行スクリプト

#!/bin/sh

PRJ_NAME=sample
TOP_NAME=sample_tb
WORK_DIR=work

if [ ! -d $WORK_DIR ]; then
    vlib $WORK_DIR
    vmap $PRJ_NAME "./$WORK_DIR"
fi

vlog -f file_list \
    -work $PRJ_NAME

vsim $TOP_NAME \
    -lib $PRJ_NAME \
    -do "run -all;quit"

・file_list
file_listに読み込むファイルの一覧を書きます。

./sample_tb.sv
./sample_rtl.v

実行スクリプト内のPRJ_NAMEで指定した名前が、ModelSImをGUIで起動した場合の"Library"一覧に表示されます。なお、GUIで起動する場合は、カレントディレクトリで"modelsim"とコマンドを打って起動する必要があります。カレントディレクトリ以外(例えばスタートメニューのショートカット)から起動した場合、ライブラリのパスが記述されているカレントディレクトリのmodelsim.iniが読み込まれないため、GUIの"Library"に表示されません。