MDD ファイルに使用されるキーワードは、次のとおりです。
BEGIN
BEGIN キーワードの後には、library、drive、block、category、interface のいずれかが付きます。
END
END キーワードは常にフレームの最後にあります。
PSF_VERSION
ライブラリの PSF バージョンを指定します。
DRC
DRC 関数名を指定します。これは、Vitis IDE コンフィギュレーション ツールまたはコマンド ライン ツールで呼び出されるグローバル DRC 関数です。この DRC 関数は、すべてのパラメーターを入力すると呼び出され、MLD または MDD ライター有効なライブラリまたはドライバーを指定のパラメーターで生成できるかどうかを検証します。
option
キーワード option の後にオプションを指定します。サポートされるのは、
COPYFILES、DEPENDS、SUPPORTED_PERIPHERALS、DRIVER_STATE の
5 つのオプションです。
SUPPORTED_OS_TYPES
サポートされる OS タイプのリストを指定します。指定しない場合は、ドライバーがスタンドアロン ドライバーとして認識されます。
COPYFILES
ドライバー用にコピーされるファイルのリストを指定します。値を ALL に指定すると、すべてのドライバー ファイルがコピーされます。
DEPENDS
ドライバーがコンパイル時に依存するのディレクトリのリストを指定します。
SUPPORTED_PERIPHERALS
ドライバーでサポートされるペリフェラルのリストを指定します。このオプションの値は、リストまたは正規表現として指定できます。次の例は、ドライバーが opb_jtag_uart の全バージョンおよび opb_uartlte_v1_00_b バージョンをサポートすることを示しています。
option supported_peripherals = (xps_uartlite_v1_0, xps_uart16550)
ペリフェラルおよびバージョンを指定するには、正規表現を使用できます。正規表現は、次のように記述されます。
一文字の正規表現
- 特殊文字ではない文字は、すべてその文字自体になります。
- バックスラッシュを前に付けた特殊文字は、その特殊文字自体になります。つまり、バックスラッシュは特殊文字をエスケープするために使用します。
- 特殊文字は、+ * ? .[ ] ^ $ です。
- ピリオドは、改行文字以外の文字を意味します。たとえば、「.umpty」と記述した場合、Humpty および Dumpty のどちらでも示すことになります。
- 文字セットを角かっこ [ ] で囲むと、そのセットの文字に含まれる文字のいずれかの 1 文字を意味します。たとえば、[akm] は a、k、m のいずれかで、文字の範囲はダッシュで指定できます。たとえば、[a-z] は小文字のアルファベットのいずれかになります。
複数文字の正規表現
- 一文字の正規表現の後にアスタリスク (*) を付けると、0 またはそれ以上の数の文字になります。このため、[a-z]* の場合は 0 またはそれ以上の数の小文字のアルファベットを意味します。
- 一文字の正規表現の後にプラス (+) を付けると、1 またはそれ以上の数の文字になります。このため、[a-z]+ は 1 つ以上の小文字のアルファベットを意味します。
- クエスチョン マーク (?) はオプションです。? を文字の後に付けると、その文字が 0 回または 1 回使用されることを意味します。たとえば、xy?z は xyz または xz になります。
- 正規表現どうしを連結すると、該当する文字列を連結したものになります。たとえば、[A-Z][a-z]* は任意の大文字で始まる単語になります。
次の例は、xps_uartlite、xps_uart16550、および mdm のどのバージョンとも一致します。
option supported_peripherals = (xps_uartlite_v[0-9]+_[1-9][0-9]_[a-z]
xps_uart16550 mdm);
DRIVER_STATE
ドライバーのステートを指定します。次は、DRIVER_STATE に割り当てられる値のリストです。
- ACTIVE
- これはアクティブ ドライバーです。DRIVER_STATE のデフォルト値は、ACTIVE です。
- DEPRECATED
- このドライバーは廃止予定のもので、削除されることになっています。
- OBSOLETE
- このドライバーは廃止されており、どのツールでも認識されません。廃止されたドライバーの場合はエラー メッセージが表示されるので、新しいドライバーを使用する必要があります。
REQUIRES_INTERFACE
システム内のその他のライブラリまたはドライバーから供給される必要のあるインターフェイスを指定します。
HELP
ライブラリまたはドライバーについて説明するヘルプ ファイルを指定します。
DEP
エンティティを処理する前に満たす必要のある条件を指定します。たとえば、BLOCK に入力するためには、DEP 条件を満たす必要があります。サポートされる条件の形式は ( operand1 OP operand2) です。
BLOCK
DEP 条件が満たされたときに入力されるブロックを指定します。ネストされたブロックはサポートされません。
INTERFACE
このライブラリまたはドライバーによりインプリメントされたインターフェイスを指定し、そのライブラリまたはドライバーで使用されるインターフェイス関数およびヘッダー ファイルについて記述します。
BEGIN INTERFACE <interface name>
option DEP=<list of dependencies>;
PROPERTY HEADER=<name of header file where the function is declared>
;
FUNCTION NAME=<name of interface function>, VALUE=<function name
of library/driver implementation> ;
END INTERFACE
HEADER
インターフェイス関数を定義するヘッダー ファイルを指定します。
FUNCTION
インターフェイスでインプリメントされる関数を指定します。これは、name-value で指定し、name はインターフェイス関数名、value はライブラリまたはドライバーでインプリメントされる関数名になります。
PARAM
通常、MLD/MDD ファイルの形式は name = value になります。name と value のペアごとに、その前に PARAM キーワードが必要です。パラメーターに値を割り当てる形式は、param name = <name>, default= value になります。PARAM キーワードは、MSS ファイルでパラメーターが上書きできることを指定します。
DTGPARAM
DTGPARAM キーワードは設定可能なデバイス ツリー特有のパラメーターに対して使用します。Tool DTG の生成する DTS ファイルでパラメーターをダンプする必要がある場合、ドライバーがこれらの DTGPARAM を定義します。
PROPERTY
BEGIN ステートメントで定義されるエンティティのさまざまなプロパティを指定します。
NAME
定義されたエンティティの名前を指定します (例: PARAM、PROPERTY)。オプションで指定する場合はドライバーの名前も指定します。
VERSION
ドライバーのバージョンを指定します。
DESC
定義されたエンティティ (例: PARAM、PROPERTY) について説明します。
TYPE
定義されたエンティティ (例: PARAM) のタイプを指定します。サポートされるタイプは、次のとおりです。
-
bool: ブール値 (true または false)
int: 整数
string: " " 内の文字列の値。
enum: このパラメーターに指定可能な値のリスト。
library: ライブラリまたはドライバーをビルドするために必要なその他のライブラリを指定します。
peripheral_instance: ライブラリまたはドライバーをビルドするために必要なその他のハードウェア ライブラリを指定します。ペリフェラル インスタンスの指定には、正規表現を使用します。正規表現に関する詳細は、MLD キーワード の「SUPPORTED_PERIPHERALS」を参照してください。
DEFAULT
定義するエンティティのデフォルト値を指定します。
GUI_PERMIT
値を変更する権限を指定します。次の権限を指定できます。
- NONE
- 値は変更できません。
- ADVANCED_USER
- すべてのユーザーが値を変更できます。Vitis IDE では、この値はデフォルトでは表示されません。Vitis IDE のアドバンス オプションとしてのみ表示されます。
- ALL_USERS
- すべてのユーザーが値を変更できます。Vitis IDE では、この値がデフォルトで表示されます。これがすべての値のデフォルト値です。GUI_PERMIT = NONE の場合、カテゴリは常にアクティブです。