目次
はじめに
時々必要になるが、その時には多分忘れているであろう知識を書き残しておく。
UVM 1.2 を使う
Questa Intel Starter FPGA Edition 2021.2 にて UVM 1.2 を使うにあたり Web 情報が少なく手間取ったのでメモしておく。結論は極めて単純である。Quartus Prime をインストールしたフォルダにある ‘questa_fse/modelsim.ini’ のmtiUvm = $MODEL_TECH/../uvm-1.1d
を mtiUvm = $MODEL_TECH/../uvm-1.2
と書き換えればよい。
DUTのポートが最適化で不可視となるのを防ぐ
vsim
のオプションに次の記述を加える:-voptargs=+acc=bcglnprst+target_module_name
右記のバージョンで動作確認:Questa Sim 64 Version 2021.1
assertion のスレッドを波形ウィンドウに表示する
vsim
でシミュレーション開始後、”View → Coverage → Assertions” で “Assertions” タブを開き、所望の assertion を選択して右クリック → コンテキスト・メニューから “Add Wave” する。
右記のバージョンで動作確認:Questa Sim 64 Version 2021.1
`uselib への対応状況
- Quartus Prime Lite 22.1 std:非対応
- Quartus Prime Pro 23.3:対応
WSL2 にて vsim 実行の前後で MAC アドレスを変更する
WSL2 は起動の度に MAC アドレスが変わり、現時点 (2024-08-25) ではこれを現実的な手間で固定する方法が Web で見つけられなかった。ノード・ロック・ライセンスを使っている場合にこれは厄介である。例えば vlog
は気にせず動くが、vsim
が文句を言う。そこで次の記事を参考にして、MAC アドレスの変更と復元をシェル・スクリプト化して多少楽にする。
参考記事:ひでみのアイデア帳 MACアドレスの変更
ライセンスと整合する MAC アドレスに変更するスクリプト:
#!/usr/bin/env bash
set -eu
if [ ${EUID:-${UID}} -ne 0 ]; then
echo 'You need to run this script as root.'
exit
fi
ip link set dev eth0 down
macchanger -m 00:15:5d:XX:XX:XX eth0 # XX:XX:XX is your desired number
ip link set dev eth0 up
元の MAC アドレスに戻すスクリプト:
#!/usr/bin/env bash
set -eu
if [ ${EUID:-${UID}} -ne 0 ]; then
echo 'You need to run this script as root.'
exit
fi
ip link set dev eth0 down
macchanger -p eth0
ip link set dev eth0 up
ip route add default via XX.XX.XX.XX dev eth0 # XX...XX is your default gateway's IP address.
MAC アドレスを変更するとネットワークにアクセスできなくなる。そのため、vsim
の実行の直前と直後でそれぞれ上記のスクリプトを自動的に呼ぶようにしておくのがよいだろう。
Trouble Shooting
Questa Intel Starter FPGA Edition 2025.1 で LM_LICENSE_FILE が効かない
Quartus Prime 25.1.1 で突然,SALT_LICENSE_SERVER を使うように仕様変更されている。今まで LM_LICENSE_FILE に設定していた文字列と同じものを SALT_LICENSE_SERVER に設定すればよい。
NativeLink シミュレーションを実行時に .spd ファイルが無いことを示すエラーが生じる
次の Web ページが参考になる:Intel: NativeLink シミュレーションを実行時にエラーが発生しました。Internal error: Failed to run ip-make-simscript – 半導体事業 – マクニカ
Questa Intel FPGA Starter Edition と Intel FPGA Edition の両方がインストールされていて,NativeLink 実行時に後者が実行されてライセンスが存在しないことを示すエラーが生じる
FPGA Edition が指定されているのが原因。Quartus Prime にて Tools → Options → EDA Tool Options → Questa Intel FPGA で questa_fe とある箇所を questa_fse に変更する。