藤枝 直輝 (Naoki FUJIEDA)

GGFront > Readme

GGFront: A GHDL/GTKWave GUI Frontend

Copyright (C) 2018-2023 Naoki FUJIEDA. All rights reserved.

パッケージの内容

GHDL/ VHDLシミュレータ(再配布)
gtkwave/ 波形ビューア(再配布)
sources/ 各プログラムのソースコード
work/ 作業用ディレクトリ
COPYING 著作権表記
GGFront.exe GGFront本体
README.txt このファイル

動作環境

Windows 8.1 以降 + .NET Framework 4.6 以降
※ 最新の Windows 10 で動作確認済

使い方

  1. GGFront.exe を実行
    メインのウィンドウが表示されます.通常は GHDL・GTKWave の横の Guess にチェックが入っており,自動検出が有効になっているかと思いますが,もしも「●●が所定の場所に見つかりませんでした」と表示された場合は,手動でこれらのファイル(GHDL.exe, GTKWave.exe)の位置を指定する必要があります.
  2. ソースを追加
    ウィンドウ右側の Add ボタンをクリックして,追加したい VHDL ソースファイルを選択してください.エクスプローラからファイルを Source File(s) のリストにドロップすることでもソースを追加できます.
  3. シミュレーション対象の選択
    ソース内にある entity の階層関係が Hierarchy リストに表示され,そのうちシミュレーション対象は太字で表示されます.テストベンチ(通常は一番上の階層にある)を選択して,Set as Top ボタンを押してください.
  4. Compile and Simulation ボタンを押す
    正しくシミュレーションができていれば,「シミュレーションは ● ns 後に停止しました.」と表示されます.もしエラーが出た場合は「●●中にエラーが~~」と表示されたあと,エラー内容が別のウィンドウに表示されます.所定の制限時間までにシミュレーションが終了しなかった場合,「シミュレーションは ● 以内に終了しませんでした」と表示されます.波形ファイルはエラーが発生した場合を除き,テストベンチと同じファイル名で,拡張子.vcdをつけて保存されます.
  5. View Waveform ボタンを押す
    GTKWave が自動的に起動します.確認したい信号を選択して Append ボタンを押し,Zoom Fit/In/Out を用いて拡大率を調整して,波形を確認します.
  6. ソースファイルを修正した場合
    GGFront 上で再度 Compile and Simulation ボタンを押すと,波形ファイルが更新されます.GTKWave 上で Reload ボタンを押すと更新が反映されます.

注意事項

作業用ディレクトリ(work/)は,GHDLのためにGGFrontが一時的に利用するディレクトリですので,中身はシミュレータのコンパイル時(Compile and Simulateを押した時)に自動的に削除されます.重要なファイルを work/ に置かないように注意してください.

VHDL-93 の言語仕様には,シミュレーションを終了する標準的な手法がありません.そのため,GGFront においては,シミュレーションの「終了」を「重要度failure の assert 文によってシミュレーションが失敗した場合」と定義しています.これ以外の手法でシミュレーションを「終了」させているテストベンチに対しては,正しく動作しない場合があります.

v0.4.0 よりテストベンチ内でファイルを読み書きするケースに対応しました.VHDL-93 の言語仕様である read_mode, write_mode を使った方法だけではなく,VHDL-87 の言語仕様である in, out を使った方法にも対応しています.ただし,いずれの場合も,ファイル名が文字列リテラルとして与えられている場合に限ります.

ライセンス

パッケージ内のGHDLおよびGTKWaveは,GPL v2により再配布しているものです.GGFront自体には New BSD ライセンスが適用されます.詳しくは,COPYING を参照してください.

謝辞

GGFront の改良の一部は,愛知工業大学ディジタルシステム研究室の卒業生の卒業研究をもとに実施されています.以下の卒業生の貢献に感謝いたします.

更新履歴

v0.7.4 2023-12-13

v0.7.3 2023-11-22

v0.7.2 2023-10-25

v0.7.1 2023-05-19

v0.7.0 2023-03-31

v0.6.0 2022-02-15

v0.5.3 2021-11-13

v0.5.2 2021-08-24

v0.5.1 2021-08-20

v0.5.0 2020-09-09

v0.4.5 2020-04-30

v0.4.4 2020-04-21

v0.4.3 2019-11-26

v0.4.2 2019-08-03

v0.4.1 2019-07-24

v0.4.0 2019-04-26

v0.3.2 2018-12-14

v0.3.1 2018-11-06

v0.3.0 2018-08-24

v0.2.1 2018-06-28

v0.2.0 2018-05-11

v0.1.0 2018-03-29