Vengineerの妄想

人生を妄想しています。

Xilinx xsimを調べる(その3)

はじめに

今日は、xelab コマンドについてみていきます。

。xelab コマンドのオプションは多いので2回に分けて説明します。

xelabコマンドのオプション

-a [ --standalone ]

実行プログラムを生成し、インタラクティブな動作をしないで、シミュレーションを最後まで実行します。

-d [--define] arg

Veirlog HDL/SystemVerilog のマクロ定義をします。-d TEST では、マクロTESTを定義、-d TEST=0 では、マクロTESTを1として定義

--debug arg

デバッグ情報を追加する。下記の値を指定できます。デフォルトでは、off です。つまり、オプションを設定しないと、デバッグ情報を含んでいません。

  • line: HDL breakpoint
  • wave: waveform generation, conditional execution, force value
  • drivers: signal driver value probing
  • readers: signal reader (load) probing
  • xlibs: visibility into libraries precompiled by xilinx
  • all: all the above
  • typical: line, wave and drivers
  • subprogram: subprogram variable value probing
  • off: turn off all debugging abilities

-f [ --file ] arg

指定したファイル内に、xelabコマンドのオプションを記述します。

-h [ --help ]

ヘルプメッセージ(上記のメッセージ)を表示します。

--incr

インクリメンタルなパーシング&コンパイルを有効にする

-i [ --include ] arg

Verilog HDL/SystemVerilog の `include で指定したファイルが検索するパス名を指定します。

--initfile arg

デフォルトの xsim.init ファイル内で設定されているパラメータを上書きするためのファイルを指定します。

--log arg

ログファイル名を指定します。デフォルトでは、.log

-L [ --lib ] arg

Verilog HDL/SystemVerilog および Mixed language design のインスタンスを検索するディレクトリを指定します。

--nolog

ログファイルを生成しない。

--override_timeunit

すべてのSystemVerilog/Verilog HDLモジュールの timescale の timeunit を上書きします。

--prj arg

VHDL/Verilog HDL/SystemVerilogのライブラリを指定します。

-r [ --run ]

生成した実行ファイルを使って、シミュレーションを実行します。

--relax

Relax strict HDL language checking rules

これでどのくらいチェックが緩くなるのだろうか?

-R [ --runall ]

シミュレーションの終了(SystemVerilog/Verilog HDLの$finish)まで実行します。xsim 内のコマンド、run -all と同じです。

-s [ --snapshot ] arg

スナップショット名を指定します。

--timescale arg

SystemVerilog/Verilog HDLの timescale を指定します。デフォルトでは、1ns/1ps です。

--version

コンパイラのバージョンを表示します。

Vivado Simulator v2021.2

のように、表示されます。

-v [ --verbose ] arg

メッセージのレベル(0, 1, 2) を指定します。デフォルトは、0 です。

--uvm_version arg

UVMのバージョンを指定します。デフォルトでは、1.2 です。1.1 と 1.2 以外を指定すると、以下のメッセージが表示されます。

ERROR: [XSIM 43-4555] Incorrect value specified for switch -uvm_version, the valid values are 1.1 and 1.2 (default)

--mt arg (=auto)

コンパイル時のジョブ数を指定します。auto(デフォルト)は論理CPUコア数を使います。

  • auto: automatic
  • n: where n is an integer greater than 1
  • off: turn off multi-threading

--stats

シミュレーション後に、CPUとメモリの使用状況とデザインの統計データが表示されます。

おわりに

今回は、xelabコマンドのオプションの前半をみてみました。明日は、後半をみていきます。