xsc コンパイラ - 2023.2 日本語

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

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

xsc コンパイラを使用すると、1 つまたは複数の C ファイルから共有ライブラリ (Windows の場合は .a、Linux の場合は .so) を作成できます。この xsc で生成された共有ライブラリを残りのデザインに含めるには、xelab を使用します。共有ライブラリを作成するには、次のプロセスを使用します。

1 段階プロセス:
xsc-compile オプションを付けずに、すべての C ファイルを -shared/shared_systemc/static に渡します。
2 段階プロセス:
xsc -compile <C files> 
xsc --shared or -shared_systemc or -static <object files>

使用法

xsc [options] <files...>

オプション

オプションには、ダブル ダッシュ (--) かダッシュ (-) を使用できます。

表 1. XSC コンパイラ オプション
オプション 説明
-compile [c] オブジェクト ファイルをソース C ファイルからのみ生成します。リンク ステージは実行されません。
-f [ -file ] <arg> 指定したファイルから追加オプションを読み出します。
-h [ -help ] ヘルプ メッセージを表示します。
-i [ -input_file ] <arg> コンパイルまたはリンク用の入力ファイルをリストします (1 つのオプションに 1 つのファイル)。
-mt <arg> (=auto)

並列実行可能なサブコンパイル ジョブの数を指定します。有効な値は次のとおりです。

  • auto: 自動
  • n: 1 より大きい整数
  • off: マルチスレッドをオフ

デフォルトは auto です。

-o [ -output ] <arg> 出力される共有ライブラリの名前を指定します。--shared--shared_systemc、および --exe オプションを使用している場合にのみ有効です。デフォルトの共有ライブラリは <current_directory>/xsim.dir/work/xsc/dpi.so です。
-work <arg> 出力 (オブジェクト ファイル) を配置する作業ディレクトリを指定します。

デフォルトは <current_directory>/xsim.dir/xsc です。

-v [ -verbose ] <arg>

表示メッセージの詳細レベルを指定します。

有効な値: 01

デフォルトは 0 です。

-gcc_compile_options <arg> コンパイラに追加オプションを供給します。複数の -gcc_compile_options オプションを使用できます。
-gcc_link_options <arg> リンカーに追加オプションを供給します。複数の -gcc_link_options オプションを使用できます。
-shared リンク ステージのみを実行して、オブジェクト ファイルから共有ライブラリ (.so) を生成します。
-gcc_path 内部で使用される C コンパイラのパスを表示します。
-lib <arg> 読み込む論理ライブラリのディレクトリを指定します。デフォルトは <current_directory>/xsim.dir/xs です。
-cppversion <arg> CPP バージョンを設定します。現在のところ、CPP 11 および 14 がサポートされています。デフォルトは 11 です。
--shared_systemc リンク段階のみを実行し、オブジェクト ファイルから SystemC の共有ライブラリ (.dll) を生成します。
--static リンク段階のみを実行し、オブジェクト ファイルから SystemC のスタティック ライブラリ (.a) を生成します。
--exe スタンドアロン SystemC の実行ファイルを作成します。
--version 使用されている Vivado シミュレータ xsc のバージョンを表示します。
--debug SystemC モジュールをデバッグします。このオプションは、-exe オプションを使用している場合にのみ有効です。それ以外の場合は無視されます。
--print_gcc_version 内部で使用される C コンパイラのバージョンを表示します。

xsc function1.c function2.c
xelab -svlog file.sv -sv_lib dpi
xsc -compile function1.c function2.c -work abc
xsc -shared abc/function1.lnx64.o abc/function2.lnx64.o -work abc
注記: Linux では、DPI ライブラリの検索にデフォルトで LD_LIBRARY_PATH が使用されます。このため、ライブラリ名が lib* で開始している場合は、xelab に -dpi_absolute オプションを使用してください。
注記: コンパイラに -additional_option オプションを使用すると、追加のオプションを渡すことができます。
xsc t1.c --additional_option "-I<path>"
複数のパスを渡す例
xsc t1.c --additional_option "-I<path>" --additional_option "-I<path>"