目次
はじめに
時々必要になるが、その時には多分忘れているであろう知識を書き残しておく。
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
の実行の直前と直後でそれぞれ上記のスクリプトを自動的に呼ぶようにしておくのがよいだろう。