Tcl エクスポート

VisualAppletsを使用すると、VisualAppletsの設計をTclスクリプト(*.tcl)としてエクスポートできます。

スクリプト形式は、以下の目的で使用できます。

  • リビジョン管理

  • バージョンの自動比較(「diff」の作成による)

ただし、Tclスクリプトへのエクスポート時に一部の情報が失われます。 そのため、常に次の形式で設計を保存してください。 *.va 形式。 Tclファイルを主要なデータ形式として使用することは適切ではありません。

[Warning] デザインを次で保存: *.va Format

設定するピクセルのカラーコンポーネントを指定するには、 *.va ファイル形式をVisualApplets設計の主要なデータ形式として使用します。

Tclスクリプトには、デザインに関する完全な情報が含まれていません。

Tcl へのエクスポート

Tclスクリプトへのエクスポート中に、以下の情報が失われます:

  • ユーザーライブラリエレメントインスタンスで行ったローカルな変更(周囲の設計にインスタンスを適応させるため)は失われます。 TclスクリプトをVisualAppletsに再インポートすると、インスタンスはユーザーライブラリエレメントの新しいコピーとして挿入されます。 設計におけるインスタンスの内容はTclに保存されていません。

  • 情報ボックスの内容はTcl形式で保持されます。ただし、情報ボックスの書式設定は失われます。

デザインは常に次の形式でも保存する必要があります: *.va 形式も同様です。 Tclファイルを主要なデータ形式として使用することは適切ではありません。

デザインをTclファイルにエクスポートするには(*.tcl:

  1. メニューから[ファイル] → [エクスポート] → [Design to Script...]を選択します。

    デザインのエクスポート

    図 175. 設計のエクスポート


  2. デザインが含まれる *.tcl 設計が含まれているファイルを入力し、次をクリックします。 Save.

これで、Tclファイルをバージョン管理システムにチェックインしたり、「diff」ツールを使用して設計の異なるバージョン間の差分を確認したりできるようになります。

Tcl からのインポート

VisualAppletsに *.tcl デザインファイルをインポートするには:

  1. メニューから[ファイル] → [インポート] → [Design from Script...]を選択します。

    デザインのインポート

    図 176. 設計のインポート


  2. デザインが含まれる *.tcl 設計が含まれているファイルを選択し、次を選択します。 *.tcl ファイル。

  3. Openをクリックします。

これでVisualAppletsでデザインが開き、

  • VisualApplets内でのデザインの編集を続行したり、

  • デザインファイルを次として保存したりできます: *.va ファイル。

[Warning] プライマリデータフォーマットとして常に *.va ファイルフォーマットを使用してください

VisualAppletsのデザインのプライマリデータフォーマットとしては、常に *.va ファイル形式をVisualApplets設計の主要なデータ形式として使用します。

Tclスクリプトには設計に関するすべての情報が含まれていないため、Tclスクリプト形式を主要なデータ形式として絶対に使用しないでください。

Tcl インポート/エクスポート コマンドリファレンス

生成されたTclソースファイルでは、次のVisualApplets固有のコマンドが使用されます。

[重要] 構文

オプションパラメータ:オプションパラメータの表記には、Wirth構文記法(括弧)に従います。

Parameter FullModuleName:プロセスレベルで始まる階層パス。階層はスラッシュで区切られます。

コマンド

パラメーター

説明

設計の作成、読み込み、保存

CreateDesign

名前

Platform

ハードウェアプラットフォーム「Platform」用に「Name」という名前の新しい設計を作成するためのコマンド。 設計のターゲットプラットフォームを指定するには、次のいずれかを使用できます。

  • プラットフォームのVisualAppletsライブラリ名(例:「mE4VQ4-GE」)、または

  • プラットフォームのフルネーム(例:「microEnable IV VQ4-GE」)。

名前の大文字・小文字の使用は影響しません。

SetDesignProperty

Key Value

このコマンドを使用して、デザインのPropertyを入力します。キーとして使用できる値は次の3つです。

  • ProjectName(プロジェクトに指定する名前)

  • Version(デザインのバージョン)

  • >Description(プロジェクトの説明)。

SetDesignClock

NewFrequency

FPGAの基本クロック周波数(MHz)を設定するためのコマンド。

デザインのセットアップ

CreateProcess

-

新しいプロセスを作成します

CreateModule

OperatorType

FullModuleName

[ InPortMultiplicity

[ OutPortMultiplicity

{NamedPortMultiplicity}

] ]

xPos

yPos

オペレーター(OperatorType)のインスタンス(Module)を作成します。

xPosおよびyPosパラメータを使用して、デザインウィンドウ内のモジュールの位置を定義します。

FullModuleNameを使用すると、デザイン内でのモジュールの階層的な位置と、インスタンス化後の名前を定義します(例:Process0/branch)。

オプションで、InPortMultiplicityとOutPortMultiplicityの値ペアを使用して、モジュールのベクトル入力およびベクトル出力の多重度を指定できます。

この値ペアを使用すると、モジュール(オペレーターの特定のインスタンス)のポート数(BRANCHなどの可変ポート数を持つオペレーターの場合)を定義します。

さらに、個々のベクトルポートの多重度(NamedPortMultiplicity)を指定できます。NamedPortMultiplicityは1つのコマンドライン内で複数回使用できます。

フォーマットは PortGroup:Number です。

例:CreateModule BRANCH Process0/branch 0 0 O:3 100 100

ConnectModules

FromModule

FromModulePort

ToModule

ToModulePort

[ x1 [y2 x3] ]

モジュールを接続するためのコマンド。FromModuleおよびToModuleには、階層名を使用します (デザイン内におけるモジュールの階層位置と実際のモジュール名を合わせた名前。例:Process0/branchなど)。

階層ボックス内のノードは、「INBOUND#」または「OUTBOUND#」のプレフィックスによって識別されます。例:「OUTBOUND#O001」。

接続ポリゴンのジオメトリを定義するために使用するオプションパラメータx1、y2、およびx3 (FromModuleOutputPortからx1までの水平線、 y2までの垂直線、 x3までの水平線、 ToModulePortの高さまでの垂直線、 ToModulePortまでの水平線)。

CreateComment

FullModuleName

Text

xPos

yPos

Textの内容には、Unicode文字を含めることができます。ASCIIに含まれない文字を使用する場合は、 Unicodeを表すために次のようなTcl構文を使用します。

[encoding convert from utf-8 "A-Umlaut: \xc3\x84"]

SetParamInt

FullModuleName

ParameterName

値

整数パラメータを設定するためのコマンドです。

SetParamFloat

FullModuleName

ParameterName

値

浮動小数点パラメータを設定するためのコマンドです。

SetParamEnum

FullModuleName

ParameterName

値

アドレス指定された列挙型(enum)パラメータを設定するためのコマンドです。値はenum値の文字列です。

Example: Process0/module1 (SetSignalStatus), "SetParamEnum Process0/module1 Mode High" sets parameter Mode to High.

SetParamString

FullModuleName

ParameterName

値

文字列パラメータを設定するためのコマンドです。

SetParamIntField

FullModuleName

ParameterName

索引

Value1

{OtherValues}

"Index" で指定されたインデックスから始まる整数フィールドエントリに、以下の値を設定するためのコマンドです。

SetParamFloatField

FullModuleName

ParameterName

索引

値

{OtherValues}

"Index" で指定されたインデックスから始まる浮動小数点フィールドエントリに、以下の値を設定するためのコマンドです。

SetParamStatic

FullModuleName

ParameterName

パラメータが静的および動的の両方に設定可能な場合、大半のケースではデフォルトで動的に設定されます。このパラメータを静的に設定するには、このコマンドを使用します。

SetParamDynamic

FullModuleName

ParameterName

パラメータを動的に設定するには、この関数を使用します(そのパラメータが動的に設定可能な場合に限ります)。

SetLinkParam

FullModuleName

PortName

ParameterName

値

{ OtherParameterName

OtherParameterValue }

リンクを設定するためのコマンドです。接続はモジュールの接続ノードを介して識別されます。

SetResourceMapping

FullModuleName

ResourceName

[Index]

NewMapping

モジュールに対するリソースの割り当てを変更するためのコマンドです。リソース ResourceName が新しいインデックス NewMapping に割り当てられます。 モジュールが同じタイプのリソースを複数割り当てる場合は、オプションのパラメータ Index を使用してリソースを選択してください。

その他の編集コマンド

Move

FullModuleName

[HierNodeName]

PosX

PosY

デザインウィンドウ内で、モジュール、H-Box ノード、コメントボックス、またはシミュレーションモジュールの位置を再配置するためのコマンドです。

パラメータ [HierNodeName] は、H-Box ノードを選択する場合にのみ使用してください。 階層ボックス内のノードは、(コマンド ConnectModules を使用する場合と同様に)プレフィックス "INBOUND#" または "OUTBOUND#"(例: "INBOUND#I000")を使用して識別されます。

CreateSimSource

FullSimModuleName

xPos

yPos

指定された位置にシミュレーションソースを作成するコマンド。

CreateSimProbe

FullSimModuleName

xPos

yPos

指定された位置にシミュレーションプローブを作成するコマンド。

ConnectSimModule

FullSimModuleName

TargetModuleName

TargetModulePortName

[ xPos yPos ]

リンクを使用してシミュレーションモジュールを接続するコマンド。 接続は、指定されたモジュール(TargetModuleName)およびポート(TargetModulePortName)によって識別されます。 TargetModuleNameは、FullSimModuleNameと同じ階層にある必要があります。 オプションで、xPosおよびyPosパラメータを使用してリンク上の接続の位置を定義できます。

SetSimModuleProperty

FullSimModuleName

キー

値

{OtherValue}

シミュレーションモジュールを設定するコマンド。次のパラメータを設定できます(以下のリストでは、キーワード Key の後にパラメータ値 Value が続きます):

PixelAligmentOffset BITS

ImageFileSubPixels NUMBER

ImageFilePixelBits BITS

ImageFileNormalize CHOICE

ここで CHOICE = "1" | "0" | "yes" | "no" | "on" | "off" | "true" | "false"

CropRect [imageNr] X Y WIDTH HEIGHT

CurrentImage INDEX

AddImage

FullSimSourceName

ImageFileName1

{OtherImageFileName}

[ImageLibrary]

シミュレーションソースに画像を追加するためのコマンドです。リンク上のカーネル要素の数が1より大きい場合は、リンク上のカーネル要素数と同数の画像を 지정する必要があります。オプションで、使用する画像ライブラリを指定できます (ImageLibrary = "Native" | "ImageMagick")。

ユーザーライブラリ

InstUserLibOperator

LibName

OperatorName

FullModuleName

XPos

YPos

ユーザーライブラリ要素をインスタンス化するためのコマンドです。

カスタムライブラリの処理

InstCustomLibOperator

LibName

OperatorName

FullModuleName

XPos

YPos

カスタムライブラリ要素をインスタンス化するためのコマンドです。

表 13. TclでのVAデザインの作成および編集用コマンド