Questa Tips

はじめに

時々必要になるが、その時には多分忘れているであろう知識を書き残しておく。

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.1dmtiUvm = $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 の実行の直前と直後でそれぞれ上記のスクリプトを自動的に呼ぶようにしておくのがよいだろう。

投稿者: motchy

An embedded software and FPGA engineer for measuring instrument.

コメントを残す