シミュレータ
テストは veryl test で実行することができます。
ネイティブテスト ではVerylの組み込みシミュレータが使用されます。外部シミュレータのインストールは不要です。
ネイティブシミュレータのコード生成バックエンドは veryl test --backend で選択します。
| バックエンド | 説明 |
|---|---|
cc | 既定値。C を出力し、外部の C コンパイラ (gcc または clang の -O3) でコンパイルした結果をロードする。 |
cranelift | インプロセスの Cranelift JIT。 |
interpret | コード生成を行わず、サイクルごとに IR を歩く。 |
cc バックエンドは cc (通常は gcc または clang) が PATH に存在することを要求します。cc が無い場合や、特定の構文がまだ cc エミッタで対応されていない場合は、その部分について Cranelift へ透過的にフォールバックします。veryl test --backend-validate を使うと cc バックエンドを Cranelift と並行実行し、差異があれば中断します。
SystemVerilogテストとcocotbテストでは、外部のRTLシミュレータが必要です。サポートされているシミュレータは以下の通りです。
Verilatorはデフォルトのシミュレータです。Veryl.tomlやコマンドラインオプションでシミュレータが指定されていない場合に使用されます。
全設定の説明はこちら。
cocotb
cocotb テストを実行するには cocotb がインストールされた python3 の環境が必要です。サポートされている cocotb のバージョンは 1.9.x あるいは 2.0.x です。
例えば以下のコマンドでインストールすることができます。
$ pip3 install cocotb==2.0.0
シミュレータバックエンドとしては Verilator のみサポートされています。