【ModelSim®使用方法】結果波形の比較方法
このブログは「FPGA設計ブログ一覧」の
2. シミュレーションのひとつです。
みなさんこんにちは!
FPGAなどの論理設計は順調に進んでいますか?
私は使用するIPの変更のため新旧の動作比較をシミュレーションで行っています。
単純なものであれば目視での確認ですみますが、確認する信号が多い場合は見落としも出てきますよね。
そこで今回はSiemens社ModelSim®で行ったシミュレーションの結果波形(*.wlf)での比較確認の方法を届けしたいと思います。
なお、この波形比較の方法については記事記載時点(2021/10)の情報です。
ModelSim®PE以上、またはQuesta® にて実行可能です。今回使用したツールバージョンは、ModelSim® SE-64 2020.4です。(この記事に掲載している画像は、ModelSim® SE-64 2020.4の画面キャプチャです。)
ModelSim簡易チュートリアル【波形比較編】
の詳細を見る
目次
1. 比較元のデザインのシミュレーション
見本のデザインは、KEYWORDを10個入力してSTARTパルスを入力すると、RETUEN_NUMが特定の演算値になっていればACCEPTにパルスを出力するというものです。
まず、基準となるデザインのシミュレーションを行います。
このような形で見たい信号を表示させてシミュレーションを実行します。
※画像クリックで大きな画像が表示されます。
実行後、シミュレーション実行ディレクトリにできているvsim.wlfの名前を変えてコピーしておきます。
今回は「wave_test_a.wlf」としました。
2. 比較するデザインのシミュレーション
次に比較するデザインのシミュレーションを行います。
先ほどと同じく、見たい信号を表示させて同じ時間のシミュレーションを実行します。
※画像クリックで大きな画像が表示されます。
こちらも実行後、シミュレーション実行ディレクトリにできているvsim.wlfの名前を変えてコピーしておきます。今回は「wave_test_b.wlf」としました。
3. 波形比較
比較を行う2つのwlfファイルが準備できましたら次の手順で行います。
① Tool からComparison Wizardの実行
② wlfファイルの設定
Reference Datasetに比較元のwlf(wave_test_a.wlf)を、Specify Datasetに比較するwlf(wave_test_b.wlf)を設定します。
③ 比較対象の設定
今回は比較する信号を個別で指定するのでSpecify Comparison by Signalを選択します。
④ 比較信号の選択
今回はモジュールU_TEST の入出力信号を選択します。
⑤ 比較する信号が選択し終わっているので NO を選択します。
⑥ Compute Differences Now を押して比較を実行
⑦ Finish
⑧ 比較波形の表示
入力信号は完全に一致していますが、出力信号は途中から不一致になって対象部分が赤い網掛けで表示されています。
※画像クリックで大きな画像が表示されます。
信号名の所に、黄色い▲マークがある信号が比較を行っています。
この▲マークに赤で✖が付くと不一致部分があることを示します。
また、通常はMsgsにカーソルのある部分の値が表示されますが、比較結果のmatch/diffも表示されます。
いかがでしたでしょうか?
実際のデザインでは今回の見本のようなわかりやすいものではありませんが、この方法を利用すれば、
- ・デザイン移植の際の等価性チェック
- ・デザインのレグレッションのチェック
- ・動作不具合部分の抽出
などにご活用いただけるかと思います。
これからもTECHブログを通じて、皆様の設計にお役立てできればと思います。
次回のブログもどうぞよろしくお願いいたします。
このブログは「FPGA設計ブログ一覧」の
2. シミュレーションのひとつです。
4. ModelSim 簡易チュートリアル【波形比較編】ダウンロード
ModelSimで波形比較の操作方法、手順について付属のサンプルを利用してチュートリアルにまとめました。
現時点の最新バージョン2024.1をベースにしておりますが、以前のバージョンでも同様の操作で使用できます。
ModelSim簡易チュートリアル【波形比較編】
の詳細を見る
ご興味のある方は下記ページもご覧ください。
ModelSim®関連セミナー/ブログ一覧はこちらをご覧ください
ModelSim/Questaは、多くのエディション/グレードが存在しお客様の用途に合わせ柔軟な選択が可能です。
ModelSim/Questa エディション比較表はこちらをご覧ください
最後までお付き合いいただきありがとうございました。