MLD ファイルで使用されるキーワードは、次のとおりです。
BEGIN
BEGIN
キーワードは、os
、library
、driver
、block
、category
、interface
、または array
のいずれかを開始します。
END
END
キーワードは、定義ブロックの終了を示します。
PSF_VERSION
ライブラリの PSF バージョンを指定します。
DRC
DRC 関数名を指定します。これは、Vitis IDE コンフィギュレーション ツールまたはコマンド ライン ツールで呼び出されるグローバル DRC 関数です。この DRC 関数は、すべてのパラメーターを入力し、MLD または MDD ライターで指定のパラメーターを使用して有効な OS、ライブラリ、またはドライバーが生成できることが確認された後に呼び出されます。
option
キーワード option
の後の名前が Vitis IDE ツールへのオプションであることを指定します。
OS
OS のタイプを指定します。指定しない場合は、OS のタイプはスタンドアロンであると想定されます。
COPYFILES
OS、ライブラリ、またはドライバー用にコピーするファイルを示します。ALL
を使用すると、すべての OS、ライブラリ、またはドライバー ファイルがコピーされます。
DEPENDS
OS またはライブラリをビルドする前にコンパイルする必要のあるディレクトリのリストを指定します。
SUPPORTED_PERIPHERALS
OS でサポートされるペリフェラルのリストを指定します。このオプションの値は、リストまたは正規表現で指定できます。次に例を示します。
option supported_peripherals = (microblaze)
OS で MicroBlaze のすべてのバージョンがサポートされることを示します。ペリフェラルおよびバージョンの指定には、正規表現を使用できます。正規表現は次のように記述します。
- 1 文字の正規表現:
- 特殊文字以外の文字はすべて、それ自体に一致します。
- バックスラッシュの後に特殊文字を記述すると、その文字自体に一致します。つまり、バックスラッシュは特殊文字をエスケープ処理します。
- 特殊文字は、+ * ? .[ ] ^ $ です。
- ピリオド (.) は、改行以外の任意の 1 文字に一致します。たとえば、.umpty は Humpty と Dumpty の両方に一致します。
- 角かっこ ([]) は、その間に記述されている文字のいずれか 1 文字に一致します。たとえば、[akm] は a、k、または m に一致します。
- 値の範囲はダッシュで指定できます。たとえば、[a-z] は任意の小文字に一致します。最初の文字がキャレット (^) の場合は、リストされている以外の任意の 1 文字に一致します。空の文字列には一致しません。たとえば、[^akm] は a、k、または m 以外の任意の 1 文字に一致します。キャレットが最初の文字でない場合は、このように特別解釈されません。
- 複数文字の正規表現:
- 1 文字の正規表現の後にアスタリスク (*) を記述すると、その正規表現の 0 回以上の繰り返しに一致します。たとえば、[a-z]* は 0 個以上の小文字に一致します。
- 1 文字の正規表現の後にプラス記号 (+) を記述すると、その正規表現の 1 回以上の繰り返しに一致します。たとえば、[a-z]+ は 1 個以上の小文字に一致します。
- クエスチョン マーク (?) は、その前の正規表現が 0 個または 1 個ある場合に一致します。たとえば、xy?z は xyz または xz に一致します。
- 正規表現をつなげると、該当する文字列をつなげたものに一致します。たとえば、[A-Z][a-z]* は大文字で始まる任意の単語に一致します。
- 次の例は、axidma のいずれかのバージョンに一致します。
option supported_peripherals = (axi_dma_v[3-9]_[0-9][0-9]_[a-z] axi_dma_v[3-9]_[0-9]);
LIBRARY_STATE
ライブラリのステートを指定します。LIBRARY_STATE に指定可能な値は、次のとおりです。
- ACTIVE
- アクティブ ライブラリ。LIBRARY_STATE のデフォルト値は ACTIVE です。
- DEPRECATED
- このライブラリは廃止予定です。
- OBSOLETE
- このライブラリは廃止されており、ツールで認識されません。ツールでエラーが発生するので、新しいライブラリを使用する必要があります。
APP_COMPILER_FLAGS
このライブラリを使用したときにアプリケーションに追加する必要のあるコンパイラ オプションを指定します。次に例を示します。
option APP_COMPILER_FLAGS = “-D MYLIBRARY”
Vitis IDE ツールでこのオプション値が使用され、アプリケーションにコンパイラ オプションが自動的に設定されます。
APP_LINKER_FLAGS
特定のライブラリまたは OS を使用したときにアプリケーションに追加する必要のリンカー オプションを指定します。次に例を示します。
option APP_LINKER_FLAGS = “-lxilkernel”
Vitis IDE ツールでこの値が使用され、アプリケーションにリンカー オプションが自動的に設定されます。
BSP
OS コンポーネントをサードパーティ BSP として処理するかどうかをブール値で指定します。次に例を示します。
option BSP = true;
Vitis ツールでこの OS コンポーネントがボード サポート パッケージとして供給されていることを示します。false に設定すると、コンポーネントはネイティブ エンベデッド ソフトウェア プラットフォームとして処理されます。
OS_STATE
- ACTIVE
- この OS がアクティブ OS であることを指定します。OS_STATE のデフォルト値は ACTIVE です。
- DEPRECATED
- この OS は廃止予定です。
- OBSOLETE
- この OS は廃止されており、ツールで認識されません。ツールでエラーが発生するので、新しい OS を使用する必要があります。
- OS_TYPE
- OS のタイプを指定します。この値は、ドライバーの MDD ファイルの SUPPORTED_OS_TYPES と一致します。デフォルト タイプは standalone です。
- REQUIRES_INTERFACE
- システムのほかの OS、ライブラリ、またはドライバーで供給する必要のあるインターフェイスを指定します。
- REQUIRES_OS
- 指定したライブラリが機能する OS を指定します。次に例を示します。
option REQUIRES_OS = (standalone xilkernel_v4_[0-9][0-9])
Vitis IDE ツールでこのオプション値が使用され、選択したオペレーティング システムで使用可能なライブラリが判断されます。リストの値は、例に示すように正規表現で記述できます。
注記: このオプションは、ライブラリにのみ使用可能です。 - HELP
- OS、ライブラリ、またはドライバーを説明する HELP ファイルを指定します。
- DEP
- エンティティを処理する前に満たす必要のある条件を指定します。たとえば、別のパラメーター (DEP 条件として定義) に依存するパラメーターを含めるには、DEP 条件を満たす必要があります。operand1 OP operand2 という形式の条件のみがサポートされています。
- INTERFACE
- この OS、ライブラリ、またはドライバーでインプリメントされるインターフェイスを指定します。ライブラリ/ドライバーで使用されるインターフェイス関数およびヘッダー ファイルを記述します。
BEGIN INTERFACE <interface name> option DEP=;<list of dependencies>; PROPERTY HEADER=<name of header file where the function is declared>; FUNCTION NAME=<name of the interface function>, VALUE=<function name of library/driver implementation> ; END INTERFACE
- HEADER
- インターフェイス関数を定義する HEADER を指定します。
- FUNCTION
- インターフェイスでインプリメントされる FUNCTION を指定します。NAME にインターフェイス関数名、VALUE に OS、ライブラリ、またはドライバーでインプリメントされる関数の名前を指定します。
- CATEGORY
- 条件なしのブロックを定義します。このブロックは、そのカテゴリのデフォルト値、または MSS ファイルに含まれるデフォルト値に基づいて含まれます。
BEGIN CATEGORY <category name> PARAM name = <category name>, DESC=<param description>, TYPE=<category type>, DEFAULT=<default>, GUI_PERMIT=<value>, DEP = <condition> option DEPENDS=<list of dependencies>, DRC=<drc name>, HELP=<help file>; <parameters or categories description> END CATEGORY
カテゴリを指定する構文で入れ子のカテゴリはサポートされません。カテゴリは、MSS ファイルでカテゴリ名をパラメーターとしてブール値
TRUE
に設定することにより選択します。カテゴリには、PARAM でカテゴリ名を指定する必要があります。 - PARAM
- MLD ファイルでは、<name> = <value> という形式が使用されます。
NAME
とVALUE
のペアの前に PARAM キーワードが必要です。パラメーターに値を設定するには、param name = <name>, default = value
というフォーマットを使用します。PARAM
キーワードは、MSS ファイルでパラメーターを上書きできることを指定します。 - PROPERTY
-
BEGIN
文で定義したエンティティのさまざまなプロパティを指定します。 - NAME
- 定義するエンティティの名前を指定します。たとえば、
param
およびproperty
などです。option で指定した場合は、ライブラリの名前も指定します。 - VERSION
- ライブラリのバージョンを指定します。
- DESC
- 定義するエンティティの説明を指定します。たとえば、
param
およびproperty
などです。 - TYPE
- 定義するエンティティのタイプを指定します。たとえば param などです。次のタイプがサポートされます。
- bool
- ブール値 (true または false)
- int
- 整数
- string
- 文字列値 (クォーテーション " " で囲んで指定)
- enum
- パラメーターで指定可能な値のリスト
- library
- ライブラリ/ドライバーのビルドに必要なほかのライブラリを指定します。
- peripheral_instance
- ライブラリのビルドに必要なほかのハードウェア ドライバーを指定します。
- DEFAULT
- 定義するエンティティのデフォルト値を指定します。
- GUI_PERMIT
- 値を変更する権限を指定します。次の権限を指定できます。
- NONE
- 値は変更できません。
- ADVANCED_USER
- すべてのユーザーが値を変更できます。Vitis IDE では、この値はデフォルトでは表示されません。Vitis IDE のアドバンス オプションでのみ表示されます。
- ALL_USERS
- すべてのユーザーが値を変更できます。Vitis IDE では、この値がデフォルトで表示されます。これがすべての値のデフォルト値です。GUI_PERMIT = NONE の場合、カテゴリは常にアクティブです。
- ARRAY
- ARRAY には、任意の数の PARAM のみを含めることができます。
CATEGORY
を配列の要素として含めることはできません。配列のサイズは、配列のプロパティのいずれかで定義できます。default プロパティでデフォルト値が指定されている配列は、その size プロパティが値の数に初期化されます。size プロパティが定義されていない場合は、要素のデフォルト数で初期化する前に size プロパティが作成されます。配列の各パラメーターには、デフォルト値を指定できます。size が整数値で定義されている場合は、要素数がその値の配列が作成され、各要素の値は各パラメーターのデフォルト値になります。BEGIN ARRAY <array name> PROPERTY desc = <array description> ; PROPERTY size = <size of the array>; PROPERTY default = <List of Values for each element based on the size of the array> # array field description as parameters PARAM name = <name of parameter>, desc = "description of param”, type = <type of param>, default = <default value> ..... END ARRAY