MLD キーワード - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

MLD ファイルで使用されるキーワードは、次のとおりです。

BEGIN

BEGIN キーワードは、oslibrarydriverblockcategoryinterface、または 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

オペレーティング システム (OS) のステートを指定します。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> という形式が使用されます。NAMEVALUE のペアの前に 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