スタンドアロンまたは PRJ モードでの SystemVerilog の実行 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: ロジック シミュレーション (UG900)

Document ID
UG900
Release Date
2023-10-18
Version
2023.2 日本語

スタンドアロン モード

SystemVerilog ファイルを読み込むには、次のように xvlog-sv オプションを使用します。

    xvlog -sv <Design file list>
    xvlog -sv -work <LibraryName> <Design File List>
    xvlog -sv -f <FileName> [Where FileName contain path of test cases]

PRJ モード

Vivado シミュレータを prj ベースのフローで実行する場合は、verilog または vhdl の場合と同様に、ファイル タイプを sv に指定します。

xvlog -prj <prj File>
xelab -prj <prj File> <topModuleName> <other options>

prj ファイルのエンティティは次のように表示されます。

verilog     library1 <FileName>
sv      library1 <FileName> [File parsed in SystemVerilog mode]
vhdl     library2 <FileName>
sv      library3 <FileName> [File parsed in SystemVerilog mode]
表 1. SystemVerilog 1800-2012 の合成可能なセット
プライマリ コンストラクト セカンダリ コンストラクト LRM セクション ステータス
データ型   6  
  単体型および集合体型 6.4 サポートあり
  ネットおよび変数 6.5 サポートあり
  変数宣言 6.8 サポートあり
  ベクター宣言 6.9 サポートあり
  2 ステート (2 値) および 4 ステート (4 値) データ型 6.11.2 サポートあり
  符号付きおよび符号なし整数データ型 6.11.3 サポートあり
  real、shortreal、および realtime データ型 6.12 サポートあり
  ユーザー定義型 6.18 サポートあり
  列挙型 6.19 サポートあり
  新規データ型を列挙型として定義 6.19.1 サポートあり
  列挙型の範囲 6.19.2 サポートあり
  型チェック 6.19.3 サポートあり
  数式の列挙型 6.19.4 サポートあり
  列挙型メソッド 6.19.5 サポートあり
  型パラメーター 6.20.3 サポートあり
  const 定数 6.20.6 サポートあり
  型演算子 6.23 サポートあり
  キャスト演算子 6.24.1 サポートあり
  $cast ダイナミック キャスト 6.24.2 サポートあり
  ビットストリーム キャスト 6.24.3 サポートあり
集合体データ型   7  
  構造体 7.2 サポートあり
  パック型/アンパック型構造体 7.2.1 サポートあり
  構造体への代入 7.2.2 サポートあり
  共用体 7.3 サポートあり
  パック型/アンパック型共用体 7.3.1 サポートあり
  タグ付き共用体 7.3.2 サポートなし
  パック型配列 7.4.1 サポートあり
  アンパック型配列 7.4.2 サポートあり
  配列の演算 7.4.3 サポートあり
  多次元配列 7.4.5 サポートあり
  配列のインデックスおよびスライス 7.4.6 サポートあり
  配列代入 7.6 サポートあり
  サブルーチンへの引数としての配列 7.7 サポートあり
  配列クエリ関数 7.11 サポートあり
  配列ソース メソッド 7.12 サポートあり
プロセス   9  
  組み合わせロジックの always_comb プロシージャ 9.2.2 サポートあり
  暗示的な always_comb のセンシティビティ リスト 9.2.2.1 サポートあり
  ラッチ ロジックの always_latch プロシージャ 9.2.2.3 サポートあり
  順序ロジックの always_ff プロシージャ 9.2.2.4 サポートあり
  順次ブロック 9.3.1 サポートあり
  並列ブロック 9.3.2 サポートあり
  手続き的タイミング制御 9.4 サポートあり
  条件付きイベント制御 9.4.2.3 サポートあり
  順次イベント 9.4.2.4 サポートなし
代入文   10  
  連続代入文 10.3.2 サポートあり
  変数宣言代入 (変数初期化) 10.5 サポートあり
  代入のようなコンテキスト 10.8 サポートあり
  配列代入パターン 10.9.1 サポートあり
  構造代入パターン 10.9.2 サポートあり
  アンパック型配列連結 10.10 サポートあり
  ネット エイリアス 10.11 サポートあり
演算子および演算式   11  
  定数式 11.2.1 サポートあり
  集合体式 11.2.2 サポートあり
  実数オペランドを使用する演算子 11.3.1 サポートあり
  ロジック (4 値) およびビット (2 値) 型の演算 11.3.4 サポートあり
  演算式内の代入 11.3.6 サポートあり
  代入演算子 11.4.1 サポートあり
  インクリメントおよびデクリメント演算子 11.4.2 サポートあり
  符号なしおよび符号付き型を使用した演算式 11.4.3.1 サポートあり
  ワイルドカード等価演算子 11.4.6 サポートあり
  連結演算子 11.4.12 サポートあり
  メンバーシップ演算子の設定 11.4.13 サポートあり
  stream_expressions の連結 11.4.14.1 サポートあり
  ジェネリック ストリームの並べ替え 11.4.14.2 サポートあり
  代入ターゲットとしてのストリーミング連結 (アンパック型) 11.4.14.3 サポートあり
  動的にサイズが決定されるデータのストリーミング 11.4.14.4 サポートあり
手続きプログラム文   12  
  unique-ifunique0-if、および priority-if 12.4.2 サポートあり
  unique-ifunique0-if、および priority-if コンストラクトで生成された違反レポート 12.4.2.1 サポートあり
  if 文違反レポートおよび複数プロセス文 12.4.2.2 サポートあり
  unique-caseunique0-case、および priority-case 12.5.3 サポートあり
  unique-caseunique0-case、および priority-case コンストラクトで生成された違反レポート 12.5.3.1 サポートあり
  case 文違反レポートおよび複数プロセス文 12.5.3.2 サポートあり
  メンバーシップ case 文の設定 12.5.4 サポートあり
  パターン一致条件文 12.6 サポートなし
  ループ文 12.7 サポートあり
  ジャンプ文 12.8 サポートあり
タスク   13.3  
  スタティックおよび自動タスク 13.3.1 サポートあり
  タスクのメモリ使用量および同時アクティベーション 13.3.2 サポートあり
関数   13.4  
  戻り値と void 関数 13.4.1 サポートあり
  スタティックおよび自動関数 13.4.2 サポートあり
  定数関数 13.4.3 サポートあり
  関数呼び出しで起動されるバックグラウンド プロセス 13.4.4 サポートあり
サブルーチン呼び出しおよび引数渡し   13.5  
  値渡し 13.5.1 サポートあり
  参照渡し 13.5.2 サポートあり
  デフォルトの引数値 13.5.3 サポートあり
  名前による引数バインド 13.5.4 サポートあり
  オプションの引数リスト 13.5.5 サポートあり
  インポートおよびエクスポート関数 13.6 サポートあり
  タスクおよび関数名 13.7 サポートあり
ユーティリティ システム タスクおよびシステム関数 (合成可能セットのみ)   20 サポートあり
I/O システム タスクおよびシステム関数 (合成可能セットのみ)   21 サポートあり
コンパイラ指示子   22 サポートあり
モジュールおよび階層   23  
  デフォルトのポート値 23.2.2.4 サポートあり
  最上位モジュールおよび $root 23.3.1 サポートあり
  モジュール インスタンシエーション構文 23.3.2 サポートあり
  入れ子のモジュール 23.4 サポートあり
  外部モジュール 23.5 サポートあり
  階層名 23.6 サポートあり
  メンバー選択および階層名 23.7 サポートあり
  上方向の名前参照 23.8 サポートあり
  モジュール パラメーターのオーバーライド 23.10 サポートあり
  スコープまたはインスタンスへの補助コードのバインド 23.11 サポートなし
インターフェイス   25  
  インターフェイス構文 25.3 サポートあり
  入れ子のインターフェイス 25.3 サポートあり
  インターフェイスのポート 25.4 サポートあり
  名前指定ポート バンドルの例 25.5.1 サポートあり
  ポート バンドルの接続例 25.5.2 サポートあり
  ポート バンドルのジェネリック インターフェイスへの接続例 25.5.3 サポートあり
  modport 式 25.5.4 サポートあり
  クロッキング ブロックおよび modport 25.5.5 サポートあり
  インターフェイスおよび指定ブロック 25.6 サポートあり
  インターフェイスでのタスクの使用例 25.7.1 サポートあり
  modport でのタスクの使用例 25.7.2 サポートあり
  タスクおよび関数のエクスポート例 25.7.3 サポートあり
  複数タスクのエクスポート例 25.7.4 サポートあり
  パラメーター指定されたインターフェイス 25.8 サポートあり
  仮想インターフェイス 25.9 サポートあり
パッケージ   26  
  パッケージ宣言 26.2 サポートあり
  パッケージ内のデータの参照 26.3 サポートあり
  モジュール ヘッダーでのパッケージの使用 26.4 サポートあり
  パッケージからのインポートされた名前のエクスポート 26.6 サポートあり
  std ビルトイン パッケージ 26.7 サポートあり
generate コンストラクト   27 サポートあり