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

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 に変更する。

投稿者: motchy

DSP and FPGA engineer working on measuring instrument.

コメントを残す