ModelSim: VHDLシミュレーションの実行

ModelSimは、Mentor Graphics社のVHDLおよびVerilog-HDLのシミュレータである。 FPGA製造販売会社のAltera社が、自社FPGA開発用ツールの一部として、 HDLシミュレータにModelSimを採用しており、FPGAシミュレーション用にFPGAモデル等を 予め組み込んだModelSim-Alteraを用意している。 ModelSim-Alteraには、Windows版とLinux版がある。
無償バージョンであるModelSim-Altera Starter EditionのWindows版の使用方法を示す。 なお、名称をModelSim-aseと省略することもある。 Starter Editionは無償バージョンであるため、シミュレーション実行可能なHDLファイルサイズが制限されているが、それ以外には特に制約はない。

ModelSim-aseによるシミュレーション実行は、(1)初期設定、(2)VHDLファイルのコンパイル、(3)シミュレーション実行と信号波形の観察、からなる。
(1)初期設定は、あるシミュレーション対象ごとに1度だけ行えばよい。
(3)で波形が思い通りでない場合は、VHDLファイルの編集、VHDLファイルの再コンパイル、シミュレーションの再実行を行う。これを必要なだけ繰り返すことになる。

初期設定

  1. シミュレーション対象VHDLファイルを適当なフォルダにコピーする。
    フォルダ名には全角文字や空白を含まないようにするのが無難である。
  2. ModelSimを起動する。
  3. VHDLファイルのあるフォルダに移動する。
    File -> Change Directory... を順にクリックし、フォルダ選択ダイアログでフォルダを選び、[OK]ボタンをクリックする。
  4. ライブラリを作成する。
    File -> New -> Library... を順にクリックする。
  5. ライブラリ名、ライブラリ物理名は「work」とする。デフォルトでどちらも「work」となっているので、単に[OK]をクリックすればよい。

VHDLファイルのコンパイル

  1. VHDLファイルのコンパイルを行う。
    Compile -> Compile... を順にクリックする。
  2. シミュレーション対象となるVHDLファイルを全てコンパイルする。
    ファイルを1つ選んで[Compile]ボタンをクリックするか、ファイルをダブルクリックする。

    テストベンチも忘れずにコンパイルする。
    コンパイルエラーがないことを確認し、すべてコンパイルできたら[Done]ボタンをクリックする。

シミュレーションの開始と信号波形の観察

  1. シミュレーションを開始する。
    Simulate -> Start Simulation... を順にクリックする。
  2. シミュレーション対象となる最上位エンティティを選ぶ。
    通常はテストベンチを選択すればよい。
  3. 波形を観測する信号を選択する。
    方法1: 信号名を右クリックし、メニューを使用する。

    方法2: 信号名を波形表示ウィンドウ上にドラッグ&ドロップする。
    ただし、この方法は波形表示ウィンドウが開いている状態でないと使用できない。
  4. シミュレーションを実行する。
    [Run Length]ボックスにシミュレーション実行時間を記入し、[Run]ボタンをクリックする。
  5. 信号値の表示形式を変更したいときは、波形表示ウィンドウで信号名を右クリックし、「Radix」を変更する。

    Radixの意味は以下の通りである。
    Radix意味
    Symbol列挙型のときに、要素名で表示する
    Binary2進数で表示する
    Octal8進数で表示する
    Decimal符号付き数とみなして10進数で表示する
    Unsigned符号なし数とみなして10進数で表示する
    Hexadecimal16進数で表示する
    「Decimal」「Unsigned」は、std_logic_vector、UNSIGNED、SIGNED、integerといった型の信号に対して用いる。なお、UNSIGNED型に宣言されている信号を「Decimal」で符号付き数とみなす、SIGNED型に宣言されている信号を「Unsigned」で符号なし数とみなすことも可能である。

シミュレーションの再初期化

VHDLファイルを書き換えて再コンパイルしたら、シミュレーションを時刻0から再実行する必要がある。これをシミュレーションの「リスタート」という。
  1. 「Restart」ボタンをクリックする。
  2. リスタートダイアログで[OK]をクリックする。

    この後に、[Run]ボタンをクリックしてシミュレーションを実行すればよい。

その他

作業を中断していったんModelSimを終了したのちにModelSimを再起動し、作業を再開したいといったことが考えられる。
これを手際よく行うための機能がModelSimに備わっている。

最近使用したディレクトリの利用

以下のように「Recent Directories」を選択すると、最近使用した数個のディレクトリが一覧表示されるので、簡単にディレクトリを指定することができる。

波形観測対象信号の指定

ModelSimを終了する前に、File -> Save Format ...を行うと、現在の観測対象信号および表示形式の情報をファイルとして保存することができる。拡張子は「.do」が用いられる。
このファイルは、シミュレーション実行開始後に、File -> Load として読み込むことで、波形表示ウィンドウが復元される。

2012/04/23 Kazuhito Ito