Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Test

[test] セクションは以下のように組み込みユニットテストの設定を指定します。

[test]
simulator = "vcs"

設定

[test] セクション

simulator フィールド

simulator フィールドはデフォルトのシミュレータを指定します。以下のタイプを指定できます。

  • "verilator"
  • "vcs"
  • "dsim"
  • "vivado"

include_files フィールド

include_files フィールドはシミュレーションに使う追加のファイルを指定します。

[test]
include_files = ["test/mem.hex"]

waveform_target フィールド

waveform_target フィールドは波形の生成先を指定します。

  • target – ターゲットコードと同じディレクトリ
  • directory – 特定のディレクトリ

directory を指定する場合は、ターゲットパスを path キーで指定します。

[test]
waveform_target = {type = "directory", path = "[dst dir]"}

waveform_format フィールド

waveform_format フィールドはダンプされる波形のフォーマットを指定します。指定できる値は以下の通りです。

  • vcd – デフォルト値であり、多くのベンダーでサポートされていますが機能は限定的です。
  • fst – 整数の代わりにenum値を表示するなどいくつかの機能をサポートしています。gtkwavesurfer で扱うことができます。

defines フィールド

defines フィールドは、veryl test の実行中に定義済みとして扱われる名前のリストを指定します。これらの名前は #[ifdef]/#[ifndef] 属性から参照でき、テスト専用のコードパスを有効化するために利用できます。SystemVerilog テストと cocotb テストでは、同じ名前が +define+NAME (Vivado の場合は -d NAME) として外部シミュレータにも渡されます。

[test]
defines = ["DEBUG", "ENABLE_ASSERTIONS"]

追加の名前はコマンドラインから veryl test --define NAME (または -D NAME) で渡すこともできます。CLI で指定した値はこのフィールドの内容にマージされます。

[test.verilator] セクション

このセクションはVerilatorによるテストの設定です。

設定設定値説明
compile_args[文字列]verilator コマンドへの追加の引数
simulate_args[文字列]シミュレーションバイナリへの追加の引数

[test.vcs] セクション

このセクションはVCSによるテストの設定です。

設定設定値説明
compile_args[文字列]vcs コマンドへの追加の引数
simulate_args[文字列]シミュレーションバイナリへの追加の引数

[test.dsim] セクション

このセクションはDSimによるテストの設定です。

設定設定値説明
compile_args[文字列]dsim コマンドへの追加の引数
simulate_args[文字列]dsim コマンドへの追加の引数

[test.vivado] セクション

このセクションはVivadoによるテストの設定です。

設定設定値説明
compile_args[文字列]xvlog コマンドへの追加の引数
elaborate_args[文字列]xelab コマンドへの追加の引数
simulate_args[文字列]xsim コマンドへの追加の引数