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...>
オプション
オプションには、ダブル ダッシュ (--) かダッシュ (-) を使用できます。
オプション | 説明 |
---|---|
-compile
[c]
|
オブジェクト ファイルをソース C ファイルからのみ生成します。リンク ステージは実行されません。 |
-f [ -file ]
<arg>
|
指定したファイルから追加オプションを読み出します。 |
-h [ -help
]
|
ヘルプ メッセージを表示します。 |
-i [ -input_file ]
<arg>
|
コンパイルまたはリンク用の入力ファイルをリストします (1 つのオプションに 1 つのファイル)。 |
-mt <arg>
(=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>
|
表示メッセージの詳細レベルを指定します。 有効な値: デフォルトは |
-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>"