コンテンツにスキップ

Pythonコマンドリファレンス#

情報

このリファレンスでは、組み込みPythonインタープリターでVisualAppletsのデザインを設計、シミュレート、および構築するためのPython関数について説明します。ここに記載されているすべてのPython関数は大文字と小文字を区別します。スラッシュ(//) は、ファイルパスやデザイン要素内の階層パスを指定するために使用されます。

図における位置パラメータ 関数がデザインウィンドウ内の位置を要求する場合はいつでも、Pythonタプル (x, y) が使用されます。

ポート / リンクの識別 リンクおよびモジュールポートは、次のタプルによって識別されます。 (full_module_name, port_name). full_module_name の構文は次のとおりです。 <HierLevelPath>/<ModuleName>.

  • <HierLevelPath> は、モジュールが配置されているデザイン内の階層レベルへのパスを指定します。プロセスレベルから開始し、スラッシュを使用します。
  • <ModuleName> は、モジュールの名前を指定します。

戻り値 特に記載のない限り、関数は次を返します。 None を返します(返すべき特別なものがない場合)。クエリに対して特定のデータ(リスト、文字列など)を返すものもあります。

列挙型パラメータ 一部の関数呼び出しでは、特定のパラメータが列挙型になる場合があります(例: LinkParam.Arithmetic, LinkParam.ColorFlavorなど)またはそのメンバーの文字列名であることが許可されます。たとえば、 SetLinkParams は、列挙型メンバー(例: Arithmetic.UNSIGNED)または文字列(例: "UNSIGNED"を使用します。

ファイル上書きの動作 ファイルを書き込む関数(例: SaveDesign, ChangePlatform)などのファイルを書き込む関数には、次のようなブール型パラメータが含まれる場合があります。 overwrite=False。もし Falseである場合、既存のファイルを上書きしようとすると例外が発生する可能性があります。

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

LoadDesign#

コマンド構文
LoadDesign (file_name: str)

デザインを読み込むためのコマンド file_name。ファイルシステム内のファイルへのパスとファイル名を file_name で指定します。ファイル名の拡張子(*.va または *.vad)を指定するのを忘れないでください。デザインファイルへのパスを示すにはスラッシュを使用します。

例

LoadDesign("c:/VA_Python/BaseAreaGray8.va")

すでにデザインが読み込まれている場合:コマンド CloseDesign を使用して、現在読み込まれているデザインを閉じます LoadDesign.

CreateDesign#

コマンド構文
CreateDesign (design_name: str, platform_name: str)

ハードウェアプラットフォームの名前を指定して新しいデザインを作成するためのコマンド。デザインのターゲットプラットフォームを指定するには、

  • プラットフォーム用の VisualApplets ライブラリ名(例:「iF-CXP12-Q」)、または
  • プラットフォームのフルネーム(例:「imaFlex CXP-12 Quad」)。

例

CreateDesign("MyNewProject", "iF-CXP12-Q")

SaveDesign#

コマンド構文
SaveDesign (file_name: str, overwrite: bool = False)

デザインを保存するためのコマンド: file_name。ファイルシステム内のファイルへのパスとファイル名を file_name ファイルへのパスとファイル名自体。デザインファイルへのパスを指定するには、スラッシュを使用します。

ファイル名にファイル名拡張子を追加するのを忘れないでください。

  • ファイル拡張子 *.va または *.vad を指定した場合、デザインは標準の VisualApplets デザインフォーマットで保存されます。ファイルの内容はすべて保存されます。VisualApplets デザインのプライマリデータフォーマットとして、*.vad ファイルフォーマットを使用してください。

既存のファイルを上書きする場合は、オプションパラメータを設定します。 overwrite を True.

例

SaveDesign("c:/VA_Python/Project1.va")

ChangePlatform#

コマンド構文
ChangePlatform (platform_name: str, file_name: str, overwrite: bool = False)

現在のデザインを別のハードウェアプラットフォームに変換し、 platform_name 変換されたデザインを次として保存するためのコマンド: file_name.

パラメータで目的のハードウェアプラットフォームの名前を指定します platform_name。デザインのターゲットプラットフォームを指定するには、次のいずれかを使用できます。

  • プラットフォーム用の VisualApplets ライブラリ名(例:「iF-CXP12-Q」)、または
  • プラットフォームのフルネーム(例:「imaFlex CXP-12 Quad」)。

次で指定します: file_name ファイルへのパス(スラッシュを使用)、ファイル名自体、およびファイル名拡張子。既存のファイルを上書きする場合は、オプションパラメータを設定します。 overwrite を True.

例

ChangePlatform("iF-CXP12-Q", "c:/VA_Python/ConvertedDesign.va")

CloseDesign#

コマンド構文
CloseDesign (discard: bool = False)

現在開いているデザインを閉じるためのコマンド。

オプションパラメータを設定した場合 discard を True、まだ保存していない変更が含まれている場合でも、デザインは閉じられます。保存されていない変更は破棄されます。

パラメータの場合 discard が次のように設定されている場合、自動的に無効になります: Falseであり、デザインにまだ保存していない変更が含まれている場合、コマンドは終了し、それに応じたエラーメッセージを受信します。

例

CloseDesign(discard=True)

SetDesignProperty#

コマンド構文
SetDesignProperty (key: DesignProperty | str, value: str)

現在読み込まれているデザインのデザインPropertyを入力するには、このコマンドを使用します。

使用できるキーは4つあります:

  • ProjectName (プロジェクトに付ける名前)
  • Version (デザインのバージョン)
  • Description (プロジェクトの説明)。
  • TargetRuntime (フレームグラバーでこのアプレットを実行するホストPCで使用されるオペレーティングシステムをここで指定します。)

    以下の値が許可されています:

    • Win64
    • Win32
    • Linux64
    • Linux32

のその他の列挙型(enum)は DesignProperty (例: Loaded) は設定できませんが、次を使用して読み取るのみが可能です: GetDesignProperty().

例

SetDesignProperty("TargetRuntime", "Win64")
SetDesignProperty(DesignProperty.ProjectName, "MyProject")

SetDesignClock#

コマンド構文
SetDesignClock (freq_in_MHz: float)

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

例

SetDesignClock(320.0)

デザインの開発#

CreateProcess#

コマンド構文
CreateProcess ( )

新しいプロセスを作成するためのコマンド。VisualAppletsは新しいプロセスに自動的に番号を付けます。

例

CreateProcess()

DeleteProcess#

コマンド構文
DeleteProcess (process_name: str)

名前を指定してプロセスを削除するためのコマンド process_name.

例

DeleteProcess("Process1")

CreateModule#

コマンド構文
CreateModule (operator: str, full_module_name: str, mult: None | dict[str,int] = None, pos: tuple[int,int] = (0,0))

オペレーターのインスタンス(モジュール)を作成し、 OperatorTypeデザインウィンドウ内でモジュールを配置するためのコマンド。

このコマンドには2つの必須引数と2つのオプション引数があります:

  • operator: オペレーターの名前(例: "BRANCH", "NOP", "Add"など)。
  • full_module_name: The 階層パス と、モジュールの希望する名前(例: "Process0/MyModule".
  • mult (オプション引数):ポートの多重度を指定するには、この引数を使用します。
    例: {"O": 3} は、次という名前の出力マルチポートを持つオペレータ上に3つの出力ポートを作成します "O"。以下の説明を参照してください。
  • pos (オプショナル引数):タプル (x, y) は、デザインウィンドウ内でこの新しいモジュールを配置する場所を指定します。

例

# A BRANCH operator with 3 output ports, placed at (43, 123)
CreateModule("BRANCH", "Process0/branchz", {"O": 3}, (43, 123))

# A simple NOP operator at position (83, 163)
CreateModule("NOP", "Process0/myNop", pos=(83,163))

オプショナルパラメータの使用 mult:

多くのオペレータは固定数のポートでインスタンス化されます。一方、可変数のポートを持つオペレータもあります。可変数のポートを持つオペレータのインスタンス化時には、モジュールが持つポートの数を定義できます。

例えば、オペレータのインスタンス化時に BRANCH、インスタンスが持つ出力ポートの数を定義できます。

コマンド CreateModule: 出力の入力

したがって、出力ポート O の数は可変です。ポート数が可変であるポートを、マルチポートと呼びます。

マルチポートはベースネームによって識別されます。例えば、 BRANCHにおいて、出力ポートのベースネームは Oです。ベースネームに追加されるインデックスを介して、特定のポートを識別し、アドレス指定することができます。

コマンド CreateModule: マルチポート

コマンドを使用する場合 CreateModule、オプショナル引数を使用できます mult キーがポートのベースネームで、値がポート数である辞書を使用して、モジュールのベクター入力およびベクター出力の多重度を指定します。このようにして、例えば次のようなポート数が可変のオペレータのインスタンス(モジュール)において、ポート数を定義することができます。 BRANCH または ADD.

例

CreateModule("BRANCH", "Process0/branchz", {"O": 3}, (43, 123))

コマンド CreateModule: 3つの出力ポートを持つBRANCHの例

デフォルト:使用しない場合 mult、モジュールはデフォルトの入力ポート数と出力ポート数で作成されます。デフォルトで作成されるポートの数は、オペレータの種類によって異なります。

例

CreateModule("BRANCH", "Process0/branch", {}, (43, 123))

コマンド CreateModule: 2つの出力ポートを持つBRANCHの例

デフォルトのポート数(1つの入力ポートと2つの出力ポート)が作成されます。

例

CreateModule("HierarchicalBox", "Process0/hier", {"I": 2,"O":3}, (123, 163))

コマンド CreateModule:2つの入力ポートと3つの出力ポートを持つ階層ボックスの例

InstUserLibOperator#

コマンド構文
InstUserLibOperator (library: str, operator: str, full_module_name: str, pos: tuple[int,int] = (0,0))

ユーザーライブラリエレメントをインスタンス化するためのコマンドです。パラメータを介してユーザーライブラリを指定します libraryパラメータを介してライブラリ内の要素(オペレータ)の名前を指定します。 operatorパラメータを介して、デザイン内でモジュールに付ける名前と、階層内のモジュールを配置する場所を指定します。 full_module_name、およびオプションパラメータを介したデザインウィンドウ内でのモジュールの位置 pos.

例

InstUserLibOperator("MyUserLib", "MyOperator", "Process0/MyModule", (100,100))

InstCustomLibOperator#

コマンド構文
InstCustomLibOperator (library: str, operator: str, full_module_name: str, pos: tuple[int,int] = (0,0))

カスタムライブラリエレメントをインスタンス化するためのコマンドです。パラメータを介してユーザーライブラリを指定します。 libraryパラメータを介してライブラリ内の要素(オペレータ)の名前を指定します。 operatorパラメータを介して、デザイン内でモジュールに付ける名前と、階層内のモジュールを配置する場所を指定します。 full_module_name、およびオプションのパラメータを介したデザインウィンドウ内のモジュールの位置 pos.

例

InstCustomLibOperator("MyCustomLib", "MyOperator", "Process0/MyModule", (100,100))

DeleteModule#

コマンド構文
DeleteModule (full_module_name: str)

モジュールを削除するためのコマンドです。 full_module_name.

シミュレーションモジュールはこのコマンドでは削除できません。シミュレーションモジュールを削除するには、次のコマンドを使用します: DeleteSimModule.

例

DeleteModule("Process0/Branch1")

ConnectModules#

コマンド構文
ConnectModules (from_port: tuple[str,str], to_port: tuple[str,str], x1: int|None = None, y2: int|None = None, x3: int|None = None)

モジュールポートを接続するためのコマンドです。

パラメータ from_port および to_port は、次の構文を持つタプルです: (full_module_name, port_name).

full_module_name の構文は次のとおりです。 <HierLevelPath>/<ModuleName>.

例

ConnectModules(("Process0/CxpCamera", "O"),("Process0/FrameBufferMultiRoi", "I"))

Command ConnectModules

オプションのパラメータ x1, y2および x3 を使用すると、接続ポリゴンのジオメトリを定義できます:位置 from_port から位置 x1までの水平線、位置 y2までの垂直線、位置 x3までの水平線、 to_portの高さまでの垂直線、 to_port.

コマンド ConnectModules: 接続ポリゴンのジオメトリの例 2

例

ConnectModules(("Process0/CxpCamera", "O"),("Process0/FrameBufferMultiRoi", "I"), x1=90, y2=300, x3=120)

DisconnectModules#

コマンド構文
DisconnectModules (port: tuple[str,str])

ポートに接続されているリンクを削除するためのコマンド port.

例

DisconnectModules(("Process0/cam1", "O"))

CreateComment#

コマンド構文
CreateComment (full_box_name: str, text: str, pos: tuple[int,int] = (0,0))

コメントボックスを作成するためのコマンド。

の構文は full_box_name です。 <HierLevelPath>/<BoxName>.

  • <HierLevelPath> は、デザイン内の特定の階層レベルへのパスを定義します。プロセスレベルから開始してください。スラッシュを使用します。
  • <BoxName> は、コメントボックスに指定する名前を指定します。

例

CreateComment("Process0/MyComment", "This is my comment.", (400,400))

コメントボックスの内容として text Unicode文字を使用できます。

デザインウィンドウにおけるコメントボックスの位置は、パラメータ pos.

を介して定義します。 CreateComment です。 full_box_name 関数(コメントボックスの名前を含む、コメントボックスへの完全な階層パス)の戻り値。

DeleteComment#

コマンド構文
DeleteComment (full_box_name: str)

コメントボックスを削除するためのコマンド full_box_name.

の構文は full_box_name です。 <HierLevelPath>/<BoxName>.

  • <HierLevelPath> は、コメントボックスがあるデザイン内の階層レベルへのパスを指定します。プロセスレベルから開始してください。スラッシュを使用します。
  • <BoxName> は、削除するコメントボックスの名前を指定します。

例

DeleteComment("Process0/MyComment")

SetModuleParam#

コマンド構文
SetModuleParam (full_module_name: str, param_name: str, value: str|int|float|list[int]|list[float], index: int = -1)

モジュールパラメータを設定するためのコマンド。

情報

このコマンドは、既存のパラメータを特定の値に設定する場合にのみ使用してください。メタデータパラメータを作成するためにこのコマンドを使用することはできません。新しいメタデータパラメータを作成するには、代わりに SetParamString コマンドを使用してください。

例

SetModuleParam("Process0/module6", "XLength", 512)
SetModuleParam("Process0/LUT1", "LUTcontent", [12, 13, 14, 15], 4)

フィールドパラメータ:フィールドパラメータを設定するには、 index パラメータを指定する必要があります。

フィールドパラメータを編集する例:

コマンドを入力する前は、Enter valuesダイアログは次のようになります:

コマンド SetModuleParam: パラメータ編集の例

コマンドの入力

SetModuleParam("Process0/module3", "LUTcontent", [12, 13, 14], 4)

次のような結果になります:

Command SetModuleParam: 値の入力例

SetModuleParamProperty#

コマンド構文
SetModuleParamProperty (full_module_name: str, param_name: str, prop: ParamProperty|str, value: ParamTypeFlag|str|int|list[ParamTypeFlag]|list[str])

モジュールパラメータのPropertyを変更するためのコマンド。例えば、 dynamic または staticを置き換える場合があります。 SetModuleParamType単一のProperty名が複数の値を持つ場合があります。以下のPropertyを変更できます: prop:

  • access: 次のような1つ以上のフラグ:

    • write: パラメータをこの方向に切り替えられる場合(例えば、operator LinkParamTranslator内)、書き込みパラメータになります。
    • read: パラメータをこの方向に切り替えられる場合(例えば、operator LinkParamTranslator)、読み取りパラメータになります。
    • dynamic: パラメータがdynamicとstaticのいずれかである場合、これによりdynamicパラメータになります。
    • static: パラメータがdynamicとstaticのいずれかである場合、これによりstaticパラメータになります。
  • position: 複数のパラメータの中でのパラメータの位置を定義する整数。

例

# Make a parameter dynamic (if supported).
SetModuleParamProperty("Process0/LinkParamTranslator1", "MyParam", "access", ["dynamic", "write"])

# Reposition a parameter in a hierarchical box
SetModuleParamProperty("Process0/hierBox", "ParamA", "position", 3)

SetParamString#

コマンド構文
SetParamString (full_module_name: str, param_name: str, value: str)

特定モジュールのメタデータパラメータを定義するには、このコマンドを使用します。

情報

モジュールパラメータのタイプが次のものである場合でも、既存のモジュールパラメータを新しい値に設定するためにこのコマンドを使用しないでください: string.

既存のモジュールパラメータを新しい値に設定するには、スクリプト内で必ず次のコマンドを使用してください: SetModuleParam 。

例

SetParamString("Process0/MyModule", "MyNewMeta", "Some custom meta info.")

SetModuleParamType#

コマンド構文
SetModuleParamType (full_module_name: str, param_name: str, type_flag: ParamTypeFlag|str|list[ParamTypeFlag]|list[str])

パラメータのタイプを変更するためのコマンド。次のタイプフラグが利用可能です:

  • Dynamic: パラメータがdynamicまたはstaticになり得る場合、このフラグによりパラメータがdynamicパラメータになります。
  • Static: パラメータがdynamicまたはstaticになり得る場合、このフラグによりパラメータがstaticパラメータになります。

Dynamic および Static 互いに排他的です。

例

SetModuleParamType("Process0/MyOperator", "Threshold", "Dynamic")

SetLinkParams#

コマンド構文
SetLinkParams(link: tuple[str,str], param_dict: dict[LinkParam|str, int|<enum>|str])

ビット幅、Arithmeticモード、Color Formatなどのリンクフォーマットを設定するためのコマンドです。リンクパラメータは、次を使用して特定できます: LinkParam enum(例: LinkParam.BitWidth)、enumの名前(例:「BitWidth」)、またはGUI上の名前(例:「Bit Width」)。

  • link: 接続されたモジュールポートを介してリンクを特定するためのタプル `(, )
  • param_dict: パラメータ値のペアを指定する辞書。リンクフォーマットパラメータの名前はVisualApplets GUIと同じです。キーの例: LinkParam.BitWidth, "Arithmetic"など。

例

SetLinkParams(
    ("Process0/CreateBlankImage","O"),
    {
        "Parallelism": 4,
        "ImageProtocol": "VALT_LINE1D",
        "MaxImageWidth": "2048"
    }
)

情報

Pythonスクリプトを手動で記述する場合、このコマンドは変更可能なパラメータに対してのみ適用できます。変更できないリンクパラメータを設定しようとすると、対応するエラーメッセージが表示されます:

Command SetLinkParams: 例

SetResourceMapping#

コマンド構文
SetResourceMapping (full_module_name: str, resource_name: str, new_mapping: int, index: int = -1)

「RAM」など、モジュールへのリソースのマッピングを変更するためのコマンドです。リソース resource_name は新しいインデックス new_mappingにマッピングされます。モジュールが同じタイプの複数のリソースを割り当てる場合は、オプションのパラメータ index を使用してリソースを選択します。

例

SetResourceMapping("Process0/ImageBuffer", "RAM", 1)

コマンド構文
SplitLink (link: tuple[str,str], number: int = 2)

モジュールを作成するためのコマンド BRANCH新しい分岐モジュールは、次で特定されるリンクに挿入されます link新しい分岐モジュールには、 number 個の出力ポートがあります。オプションのパラメータを使用しない場合 number新しい分岐モジュールには2つの出力ポートがあります。

を介して定義します。 SplitLink は、 full_module_name 新しい分岐モジュールの(モジュール名を含む、モジュールへの完全な階層パス)。

例

branchName = SplitLink(("Process0/MyModule","O"), 3)
# branchName might be "Process0/BRANCH_1"

デザイン構造とデザイン詳細のクエリ#

GetDesignProperty#

コマンド構文
GetDesignProperty (key: DesignProperty|str) → str | bool

このコマンドは設計プロパティを取得します。以下の値を指定できます: key:

  • ProjectName: プロジェクトの名前
  • FileName: 現在ロードされているデザインファイルのフルパス
  • HardwarePlatform: ターゲットハードウェアプラットフォームのライブラリ名(例: iF-CXP12-Q
  • Version: 設計のバージョン
  • Description: プロジェクトの説明
  • TargetRuntime: フレームグラバー上でこのアプレットを実行するホストPCで使用されるオペレーティングシステムを指定します
  • Loaded: デザインがロードされているかどうかを示し、ブール値を返します(True/False)

Design property Loaded は、デザインがまったくロードされていない状態でも取得できます。これによりエラーメッセージは発生しません。デザインがロードされていない状態で他のDesign propertyを取得しようとすると、エラーメッセージが発生します。

例

val = GetDesignProperty("ProjectName")
print(val)  # e.g., "MyProject"

GetDesignClock#

コマンド構文
GetDesignClock ( ) → float

このコマンドは、FPGAの基本クロック周波数をMHz単位の float.

GetProcesses#

コマンド構文
GetProcesses ( ) → list[str]

このコマンドは list[str] を返し、デザインのすべてのプロセスの名前が含まれます。

例

processes = GetProcesses()
# e.g. ["Process0","Process1"]

GetSubModules#

コマンド構文
GetSubModules (hierarchy_name: str) → list[str]

このコマンドは list[str] には、指定された階層に位置するモジュールの名前が含まれます。 hierarchy_name.

各サブモジュールについて、完全な階層名がリストされます。

例

mods = GetSubModules("Process0")

GetParentHier#

コマンド構文
GetParentHier (full_element_name: str) → str

このコマンドは、指定された要素の親の階層名(full_module_name)を返します full_element_nameつまり、 full_module_name 階層要素の full_element_name に位置します。

full_element_name は、モジュール、シミュレーションモジュール、またはコメントボックスのいずれかです。

例

parent = GetParentHier("Process0/MyModule")

GetModules#

コマンド構文
GetModules (scope: SearchScope|ModuleScope|str, specifier: str, module_list: list[str]|None = None) → list[str]

このコマンドは、特定の条件によってモジュールをフィルター処理します。コマンドは、 scope および specifierを介して指定した特性を持つモジュールのリストを返します。リストには、 full_module_name が、見つかったすべてのモジュール(個別のモジュール名を含むモジュールへのパス)について含まれます。デザイン全体ではなく、特定のモジュールセット内のみを検索する場合は、オプショナル引数 module_list ( full_module_nameを使用します。

scope には次の値を含めることができます。

  • "Pattern": specifier を full_module_nameのワイルドカード表現として使用します。指定子として「*」を指定すると、デザイン内のすべてのモジュールが返されます。
  • "Flat": specifier を、モジュールの full_module_name のワイルドカード表現として使用します(「Pattern」と同様)。階層ボックスは返されません。
  • "Ordered":デザインのすべてのモジュールを返します。 specifier を使用してソート「Pattern」を定義します。以下のオプションを使用できます:
    • "path":モジュールはデザイングラフ内の位置によってソートされます(つまり、シミュレーション中にデータストリームがモジュールを通過する順序)。
    • "name":モジュールは full_module_name.
  • "OperatorType": specifier を使用して、検索しているモジュールのオペレータータイプ(「O」、「M」、「P」、「O+P」、「M+P」、「unknown」)を定義します。
  • "Operator":特定のおよびすべてのインスタンスを取得するため。 specifier を使用してオペレーター名(「NOP」など)を指定します。
  • "LibraryType": specifier 特定のマニュアルライブラリタイプを定義します。このタイプのライブラリに含まれるオペレーターのインスタンスであるデザイン内のすべてのモジュールが返されます。許可される値:operator、user、custom( GetModulePropertyを使用します。
  • "Library": specifier を参照)特定のライブラリを定義します。このライブラリのオペレーターのインスタンスであるすべてのモジュールが返されます。
  • "Version": specifier 特定 Operator のバージョンを定義するためです。このバージョンの Operator のインスタンスであるすべてのモジュールが返されます。

例

allModules = GetModules("Pattern", "*")  # all modules

GetModulePorts#

コマンド構文
GetModulePorts (full_module_name: str, scope: PortScope|str) → list[str]

このコマンドは list[str] 指定したモジュールのすべてのポートの名前が返されます。オプションパラメータ scope を使用すると、特定のポートでフィルタリングできます。

  • "Inputs": 入力ポートのみが返されます
  • "Outputs": 出力ポートのみが返されます
  • "All": モジュールのすべてのポートが返されます(デフォルト)

例

inPorts = GetModulePorts("Process0/Branch1", "inputs")

GetModulePortProperty#

コマンド構文
GetModulePortProperty (port: tuple[str,str], prop: PortProperty | str)

このコマンドは、モジュールポートの Property を取得します。以下の値が prop で使用可能です:

  • "IsConnected": ブール値を返します (True/Falseを使用します。
  • "Position": ダイアログ (デザインウィンドウ) 内の指定されたポートの位置をタプルとして返します (xPos, yPos)。もし port が階層化された内部ボックスノードを指定している場合、例えば ("Process0/HBox","INBOUND#I000")、階層化されたボックスデザインウィンドウ内におけるこのノードの位置が返されます。

GetModuleProperty#

コマンド構文
GetModuleProperty (full_module_name: str, prop: ModuleProperty | str) → varies

このコマンドは、モジュールの Property を返します。

以下の値が prop で使用可能です:

  • "Status": 整数を返します: モジュールがエラー状態でない場合は0を返します。それ以外の場合はエラーコードを返します。
  • "Operator": モジュールがインスタンスであるオペレータの名前を返します。例: BRANCH.
  • "OperatorType": オペレータタイプ (O、P、M、unknown) を返します。階層化されたボックスおよびユーザーライブラリのモジュールに対しては "Unknown" が返されます。
  • "LibraryType": オペレータの元となるライブラリのライブラリタイプを返します。以下のいずれかの値が返されます: operator, user, custom.
  • "Version": モジュールがインスタンスであるオペレータのバージョンを返します。
  • "Type": モジュールタイプを返します。以下のいずれかの値が返されます: process, hierBox, operator, user, custom.
  • "IsHierModule": 返します True 指定されたモジュールがサブモジュールを含むことができる場合は返します;返します False 指定されたモジュールがサブモジュールを持てない場合。
  • "IsProtected": 返します True モジュールが保護されたライブラリ要素のインスタンスである場合。
  • "Library": オペレータの元となるライブラリの名前を返します。
  • "Position": デザインウィンドウ内の位置をリストとして返します (xPos, yPosを使用します。
  • "Resources": タプルのリスト (ResourceName, ResourceMapping) を返します
  • "Name": モジュール名を返します。

例

operatorName = GetModuleProperty("Process0/MyModule", "Operator")
pos         = GetModuleProperty("Process0/MyModule", "Position")

GetModuleParams#

コマンド構文
GetModuleParams (full_module_name: str, select: list[str] | None = None) → dict

キーがパラメータ名で、値が値の型に応じた形式で指定される辞書を返します。

整数パラメータ:int、浮動小数点パラメータ:float、列挙型パラメータ:str、整数のフィールド:list[int]、浮動小数点パラメータのフィールド:list[float]、文字列パラメータ:str

モジュールのすべてのパラメータを現在設定されている値とともに取得するには、次のコマンドを使用します。 GetModuleParams パラメータのみ full_module_name.

例:

コマンド GetModuleParams: 例

特定のパラメータの値のみを取得する場合は、オプションのパラメータを使用して出力を制限することができます。 select.

例:

Python Command GetModuleParams: Example with {param_names}

例

allParams = GetModuleParams("Process0/MyModule")
someParams = GetModuleParams("Process0/MyLUT", ["LUTcontent","ImplementationType"])

GetModuleParamProperty#

コマンド構文
GetModuleParamProperty (full_module_name: str, param_name: str, prop: ParamProperty | str)

パラメータPropertyを取得するためのコマンドです。

パラメータ propでは、以下の値を利用できます。

  • "Status": 整数を返します: モジュールがエラー状態でない場合は0を返します。それ以外の場合はエラーコードを返します。
  • "Type": パラメータの型を返します。これは以下になります。 ParamType: パラメータが読み取り専用パラメータかどうかを返します。パラメータアクセスを以下として返します。 ParamType.Int, ParamType.Float, ParamType.Enum, ParamType.String, ParamType.IntField、または ParamType.FloatField.
  • "Access": パラメータが読み取り専用パラメータかどうかを返します。パラメータアクセスを以下として返します。 ParamTypeFlag これは以下になります。 ParamTypeFlag.Write または ParamTypeFlag.Read.
  • "Unit": パラメータの単位を返します。
  • "Range": 整数および浮動小数点のデータ型の場合、コマンドは3つのエントリを含むリストとして値の範囲を返します。 Min, Max, Step。enumパラメータの場合は、enum名とenum値のペアのリストを返します。
  • "Size": フィールドのサイズを返します。対象: IntField および FloatField パラメータ。
  • "IsDynamic": 返します True 要求されたパラメータが動的な場合は、そうでない場合は False.
  • "IsStatic": 返します True 要求されたパラメータが静的な場合は、そうでない場合は False.
  • "IsEditable": 返します True 要求されたパラメータを編集できる場合は、そうでない場合は False.
  • "Position": パラメータリスト内の位置を整数で返します。

例

rangeVal = GetModuleParamProperty("Process0/LUT1", "LUTcontent", "Range")

GetLinkParams#

コマンド構文
GetLinkParams (link: tuple[str,str], select: list[LinkParam|str]|None = None) → dict[LinkParam, (various)]

キーが次のメンバーである辞書を返します。 LinkParam また、値はキーに応じて決まるフォーマットで指定されます。

  • BitWidth : int
  • Arithmetic : Arithmetic
  • Parallelism : int
  • KernelColumns : int
  • KernelRows : int
  • ImageProtocol : ImageProtocol
  • ColorFormat : ColorFormat
  • ColorFlavor : ColorFlavor
  • MaxImageWidth : int
  • MaxImageHeight : int

オプションの select パラメータを使用して、特定のリンクパラメータのクエリ用のリンクパラメータのリストを提供します。

例:

Python Command GetLinkParams: 例

例

params = GetLinkParams(("Process0/MyModule","O"))
bw = params[LinkParam.BitWidth]  # e.g. 8

例

params = GetLinkParams(("Process0/MyModule","O"), [LinkParam.BitWidth])
bw = params[LinkParam.BitWidth]  # e.g. 8

GetLinkParamProperty#

コマンド構文
GetLinkParamProperty (link: (str, str), param: LinkParam | str, prop: ParamProperty | str) → varies

このコマンドは、特定のリンクパラメータの Property を取得します。

パラメータの以下の値 prop が可能です:

  • Status: 整数を返します: モジュールがエラー状態でない場合は0を返します。それ以外の場合はエラーコードを返します。
  • IsEditable: 返します True パラメータ値を変更できる場合、それ以外の場合は次を返します False.
  • Range:
    • For integer data types, the command returns the value range either as a tuple containing three elements (Min, Max, Step), or as a tuple containing all allowed values. You distinguish the two kinds of tuples as follows: The Min-Max-Step tuple contains 3 tuple elements; the third tuple element is smaller or equal to the second tuple element. A tuple stating all allowed values starts with the smalles value and ends with the highest value. If only one value is allowed, the value is returned in format {value value 1}, for example, { 4 4 1} for min=4, max=4, step=1.
    • 列挙型パラメータの場合、このコマンドは列挙型名と列挙型値のペアのタプルを返します。
  • Type: パラメータタイプを返します: 返します ParamType.Enum パラメータ用 LinkParam.Arithmetic, LinkParam.ImageProtocol, LinkParam.ColorFormat、または LinkParam.ColorFlavorその他のリンクパラメータについては、 ParamType.Int が返されます。

GetLinkProperty#

コマンド構文
GetLinkProperty (link: tuple[str,str], prop: LinkProperty|str) → varies

このコマンドは、特定のリンクの特定の Property を返します。パラメータを使用して階層ボックスのポートを指定した場合、 link階層ボックス内にこのポートとの間を行き来するリンクが存在する限り、コマンドは機能します。

パラメータの以下のオプション prop が利用可能であり、戻り値の型はパラメータによって異なります。

  • Status: 整数を返します: モジュールがエラー状態でない場合(つまり、リンク元とリンク先のパラメータ設定が一致し、DRCでエラーが検出されない場合)は0を返します。それ以外の場合はエラーコードを返します。
  • From: リンクの起点となる始点を返します。始点は、先行モジュールの out ポート、またはリンクが接続されている内部階層ボックスノード(INBOUND#...)のいずれかになります。このコマンドは、2つの値を含むタプルを返します。 <FullModulenname> および <PortName>.
  • To: リンクの終点を返します。終点は、後続モジュールの in ポート、またはリンクが接続されている内部階層ボックスノード(OUTBOUND#...)のいずれかになります。このコマンドは、2つの値を含むタプルを返します。 <FullModulenname> および <PortName>.
  • Source: で指定されたリンクを含むタプルを返します。 link リンクのソースに至るまでのすべての先行リンクに対して返します。リンクチェーンは階層を逆方向にたどり、で指定したモジュールから <FullModulenname> 始点まで戻ります。返されたリスト内の要素の順序は、ルックアップの逆方向の経路に対応しています(ソースモジュールがリストの最後のエントリになります)。
  • Dest: で指定されたリンクを含むタプルを返します。 link リンクのターゲットモジュールに至るまでのすべての後続リンクに対して返します。リンクチェーンは階層を順方向に進み、で指定したモジュールから <FullModulenname>終端(シンク)まで進みます。返されたリスト内の要素の順序は、ルックアップの順方向の経路に対応しており、ターゲットモジュール(送信先)がリストの最後のエントリになります。
  • HasConnectedSimModule: 返します True シミュレーションモジュールがリンクに接続されている場合は を返し、 False シミュレーションモジュールが接続されていない場合は を返します。
  • ConnectedSimModule: 接続されているシミュレーションモジュールの階層名を返します。

例

src = GetLinkProperty(("Process0/MyModule","O"), "To")

GetSimModules#

コマンド構文
GetSimModules (sim_type: SimModuleType|str, scope: SearchScope|str, specifier: str) → list[str]

指定されたタイプ/フィルターに一致するsimulationモジュールのフルネームを返します。

  • sim_type は "Source" または "Probe".
  • scope は "Hierarchy" または ""Pattern"".
  • specifier となります。はフィルターまたは階層用の文字列です。

例

simProbes = GetSimModules("Probe",""Pattern"","*")

GetCommentBoxes#

コマンド構文
GetCommentBoxes (scope: SearchScope|str, specifier: str) → list[str]

このコマンドは、デザイン内のコメントボックスを取得します。このコマンドは、パラメータで指定した特性を持つすべてのコメントボックスのリストを返します。 scope および specifierを介して指定した特性を持つモジュールのリストを返します。リストには、 FullElmentNames (ボックス名を含む階層名)。

  • scope: 次のようになります "Hierarchy" または ""Pattern"".
  • specifier: 文字列「Pattern」または階層名です。

GetCommentProperty#

コマンド構文
GetCommentProperty (full_box_name: str, prop: CommentProperty | str) → str | tuple

このコマンドは、コメントボックスの Property を取得します。

full_box_name の構文は次のとおりです。 <HierLevelPath>/<BoxName>.

  • <HierLevelPath> は、コメントボックスがあるデザイン内の階層レベルへのパスを指定します。プロセスレベルから開始してください。スラッシュを使用します。
  • <BoxName> はコメントボックスの個別の名前を指定します。

prop には次のオプションがあります:

  • Content: コメントボックスの内容が文字列として返されます。
  • Position: デザインウィンドウ内のコメントボックスの左上隅の X および Y 位置がタプルとして返されます。

デザインの編集 – その他のコマンド#

Move#

コマンド構文
Move (item: tuple[str, str]|str, pos: tuple[int, int])

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

  • item には次を指定できます:
  • 文字列 "<FullModuleName>" モジュール、コメントボックス、またはシミュレーションモジュールを識別するため。
  • タプル (<FullModuleName>, <HierNodeName>) 階層ノードを移動するため(例: ("Process0/Box1","INBOUND#I000").
  • pos です。 (x, y).

例

Move("Process0/MyModule", (100, 200))

Select#

コマンド構文
Select (item`: str|tuple[str, str])

モジュール、シミュレーションモジュール、コメントボックス、またはリンクを選択するためのコマンドです。

  • item には次のいずれかを指定できます:
  • 文字列 "<FullModuleName>" 名前でモジュール、シミュレーションモジュール、またはコメントボックスを選択するには。
  • タプル (<FullModuleName>, <PortName>) リンクを選択するには、

例

Select("Process0/MyModule")
Select(("Process0/Branch1", "O"))

ClearSelection#

コマンド構文
ClearSelection (parent_hierarchy: str)

要素の選択範囲(モジュール、階層ボックスノード、リンク、コメントボックス、またはシミュレーションモジュール)を削除するコマンド。

オプションパラメータの parent_hierarchy を使用して、階層レベル上のすべての要素の選択を解除します。 parent_hierarchy.

を使用しない場合、 parent_hierarchy要素の選択はグローバルに削除され、コマンドの実行後はデザイン内のどの要素も選択されていない状態になります。

CopySelected#

コマンド構文
CopySelected (parent_hierarchy: str)

階層レベル上の選択された要素をコピーするコマンド。 parent_hierarchy。オプションパラメータを使用しない場合、 parent_hierarchy現在アクティブなデザインウィンドウの階層レベルで選択されている要素がコピーされます。

DeleteSelected#

コマンド構文
DeleteSelected (parent_hierarchy: str)

階層レベル上の選択された要素を削除するコマンド。 parent_hierarchyで指定した階層レベルの選択されたモジュールのみが削除され、他のレベルの選択されたモジュールは保持されます。オプションパラメータを使用しない場合、 parent_hierarchy が削除されると、他のレベルで選択されたモジュールは残ります。オプションのパラメーターを使用しない場合 parent_hierarchy現在アクティブなデザインウィンドウの階層レベルで選択されている要素が削除されます。

CutSelected#

コマンド構文
CutSelected (parent_hierarchy: str)

階層レベル上の選択された要素を切り取るコマンド。 parent_hierarchy。オプションパラメータを使用しない場合、 parent_hierarchy現在アクティブなデザインウィンドウの階層レベルで選択されている要素が切り取られます。

GetSelected#

コマンド構文
GetSelected (scope: SelectionScope|str, parent_hierarchy: str) → list

階層レベル上の選択された要素のリストを返します。 parent_hierarchy経由で scope 選択されたモジュールのリストを取得するかどうかを定義します("Modules")、選択されたリンク("Links"), 選択されたシミュレーションモジュール ("SimModules")、または選択されたコメントボックス ("CommentBoxes"を使用します。

オプショナルパラメータを使用しない場合、 parent_hierarchy現在アクティブなデザインウィンドウの階層レベルにある選択された要素が返されます。

を使用する場合、 scope = SelectionScope.Modules/SimModules/CommentBoxes階層要素パスのリストが返されます。

を使用する場合、 scope = Links リンクを識別するタプルのリストを取得できます。

例

selectedModules = GetSelected("Modules")
selectedLinks = GetSelected("Links")

Paste#

コマンド構文
Paste (parent_hierarchy: str, pos: tuple[int, int] = (0,0))

クリップボードから階層レベルに要素を貼り付けるためのコマンド parent_hierarchy(つまり、以前にコピーまたは切り取られた要素を貼り付けます)。

オプショナルパラメータを使用しない場合、 parent_hierarchy、要素は現在アクティブなデザインウィンドウの階層レベルに貼り付けられます。

オプショナルな position パラメータを使用します pos デザインウィンドウ内で挿入されたコンテンツの左上の位置を定義するため。

InsertModulePort#

コマンド構文
InsertModulePort (port: tuple[str,str], where: InsertPosition|str)

ポートの隣に新しいモジュールポートを挿入するためのコマンド port.

情報

コマンドで多重度を指定できるポートのみを挿入できます CreateModule.

where には次のオプションがあります:

  • before または above: パラメータで指定されたポートの直前に新しいポートが挿入されます port.
  • after または below: パラメータで指定されたポートの直後に新しいポートが挿入されます port (デフォルト)。

オプショナルパラメータを使用しない場合、 where、新しいポートはポートの直後に挿入されます port.

RemoveModulePort#

コマンド構文
RemoveModulePort (port: tuple[str,str])

モジュールポートを削除するためのコマンドです。

例

RemoveModulePort(("Process0/BRANCH", "O001"))

情報

コマンド内で多重度を指定できるポートのみを削除できます CreateModule。指定された種類のポートの最小数は常に維持されます。最小数をさらに下回ろうとすると、対応するエラーメッセージが表示されます。例:Branchオペレーターの3番目の出力ポート(ポート名:O002)は削除できますが、最小である2つの出力ポート(O001およびO000)は削除できません: Command RemoveModulePort

AppendModulePort#

コマンド構文
AppendModulePort (full_hier_box_name: str, direction: PortDirection | str)

階層ボックスに入力ポートまたは出力ポートを追加するためのコマンドです。

directionには以下の値を使用できます:

PortDirection.Input または "Input": 入力ポートが作成されます。

PortDirection.Ouput または "Ouput": 出力ポートが作成されます。

例

AppendModulePort("Process0/MyHierBox", "Input")

Rename#

コマンド構文
Rename (full_module_name: str, new_name: str)

モジュールまたはシミュレーションボックスの名前を変更するためのコマンドです。 new_name では、階層パスを含めないインスタンス固有の新しい名前を指定します。

例

Rename("Process0/module1", "DMA")

SetActiveHierarchy#

コマンド構文
SetActiveHierarchy (hierarchy: str)

VisualAppletsで指定したデザイン階層ウィンドウを開き、アクティブにするためのコマンドです。

例

SetActiveHierarchy("Process0/MyBox")

GetActiveHierarchy#

コマンド構文
GetActiveHierarchy ( ) → str

VisualAppletsで現在開いておりアクティブになっているデザインウィンドウの階層レベルに関する情報を返します。

例

print(GetActiveHierarchy())

デザインのシミュレーション#

CreateSimSource#

コマンド構文
CreateSimSource (full_sim_module_name: str, pos: tuple[int, int] = (0,0)) → str

シミュレーションソースモジュールを作成し、デザインウィンドウ内に配置するためのコマンドです。

full_sim_module_name の構文は次のとおりです。 <HierLevelPath>/<SimModuleName>

  • <HierLevelPath> は、デザイン内の特定の階層レベルへのパスを定義します。
  • <SimModuleName> は、シミュレーションソースモジュールに設定する固有の名前を指定します。または、 <SimModuleName> を空にすることもできます。この場合、 full_sim_module_name をスラッシュで終了させる必要があります。モジュール名は自動的に割り当てられます。

を介して定義します。 CreateSimSource は、 full_module_name (モジュール名を含む、シミュレーションソースモジュールへの完全な階層パス)。

例

srcName = CreateSimSource("Process0/MySimSource", (200,200))

CreateSimProbe#

コマンド構文
CreateSimProbe (full_sim_module_name: str, pos: tuple[int, int] = (0,0)) → str

シミュレーションプローブモジュールを作成し、デザインウィンドウ内でモジュールを配置するためのコマンドです。

full_sim_module_name の構文は次のとおりです。 <HierLevelPath>/<SimModuleName>

  • <HierLevelPath> デザイン内の特定の階層レベルへのパスを定義するために使用します。
  • <SimModuleName> シミュレーションプローブモジュールに付与する名前を指定するために使用します。または、以下のようにすることもできます <SimModuleName> を空にすることもできます。この場合、 full_sim_module_name をスラッシュで終了させる必要があります。モジュール名は自動的に割り当てられます。

を介して定義します。 CreateSimProbe は、 full_module_name 新しいシミュレーションプローブモジュールの(モジュール名を含むシミュレーションプローブモジュールへの完全階層パス)。

DeleteSimModule#

コマンド構文
DeleteSimModule (full_sim_module_name: str)

シミュレーションモジュール(シミュレーションソースまたはシミュレーションプローブ)を削除するためのコマンドです。

ConnectSimModule#

コマンド構文
ConnectSimModule (full_sim_module_name: str, link: tuple[str,str], pos: tuple[int,int] = (0,0))

シミュレーションモジュールを既存のリンクに接続するためのコマンドです。

例

ConnectSimModule("Process0/MySimProbe", ("Process0/Branch1","O"))

DisconnectSimModule#

コマンド構文
DisconnectSimModule (full_sim_module_name: str)

シミュレーションモジュールをリンクから切り離すためのコマンドです。

SetSimModuleProperty#

コマンド構文
SetSimModuleProperty (full_sim_module_name: str, prop: SimProperty|str, value: bool|int|dict[str,int])

シミュレーションモジュールのPropertyを定義するためのコマンドです。

  • 共通のProperty(整数値型、 value:
  • "PixelAlignmentOffset", "ImageFileSubPixels", "ImageFilePixelBits", "CurrentImage"
  • 共通のProperty(ブール値型、 value:
  • "ImageFileNormalize" に設定できます Trueまたは False
  • 共通のProperty(辞書型、 value:
  • "CropRect": キーを持つ辞書を渡します: {"index", "x", "y", "width", "height"} ソースの画像内でROIを指定するため。

使用 prop 設定するPropertyを特定します。各Propertyを以下の形式で設定します。利用可能なPropertyと対応する値のフォーマットは以下の通りです:

pixelAlignmentOffset BITS

アライメントオフセットを整数値で指定するには、このパラメータを使用します BITS.

imageFileSubPixels NUMBER

1つのリンクピクセルに割り当てられるファイルピクセルの数を整数値で指定するには、このパラメータを使用します NUMBER.

ソース: NUMBER ピクセルが1つのピクセルに統合されます。

プローブ:1つのピクセルが以下に分割されます NUMBER ファイル内のピクセル。

imageFilePixelBits bits

このパラメータを使用して、画像ファイル内の Bit Width を整数値として指定します bits。許可される値は 1、8、および 16 です。

imageFileNormalize choice

この Property を使用して、シミュレーション結果画像を保存する方法を設定します。

1ビットのシミュレーション結果を8ビットのファイル形式で保存する場合は、 imageFileNormalize を 1 に設定します。ここでの「正規化(Normalizing)」とは、0 を 0(黒)に、1 を 255(白)にマッピングすることを意味します。

以下の値が choice が可能です: choice = "1" | "0"

cropRect [imageNr] x y width height

この Property はシミュレーションソースでのみ使用できます。画像インデックスの指定は [imageNr] 必須です。このパラメータを使用して画像を切り抜き、シミュレーションで使用する画像の領域(ROI)を指定します。 x および y を使用して、ROI の左上の角を定義します。

currentImage index

このパラメータを使用して、シミュレーションモジュール内の画像を選択します。 index を整数値として指定します。

例

SetSimModuleProperty("Process0/SimSource1", "ImageFileNormalize", True)
SetSimModuleProperty("Process0/SimSource1", "CropRect",
                     {"index": 0, "x":10, "y":20, "width":100, "height":100})

AddImage#

コマンド構文
AddImage (full_sim_module_name: str, image_file_name: str|list[str], image_lib: ImageLibrary|str)

シミュレーションsourceモジュールに画像を追加するためのコマンド。シミュレーションソースが接続されているリンクのカーネル要素数が1より大きい場合、カーネルの要素数と同数の画像を指定する必要があります。

必要に応じて、使用するイメージライブラリを指定できます( image_lib = "Native" | "ImageMagick")。

例

AddImage("Process0/MySimSource", "c:/VA_Python/testimage.tif")

RemoveImage#

コマンド構文
RemoveImage (full_sim_module_name: str, image_index: int = -1)

シミュレーションから1枚またはすべての画像を削除するためのコマンド source モジュール。オプショナルパラメータを使用してください image_index を使用して、削除する画像を指定します。 image_index を -1 に設定した場合、または image_index をまったく使用しなかった場合は、シミュレーションモジュール内のすべての画像が削除されます。

Simulate#

コマンド構文
Simulate (processing_cycles: int, save_log_file_name: str)

デザインをシミュレーションするためのコマンド。コマンドで実行する処理サイクル数を定義するには、 processing_cycles パラメータを使用します。

オプションパラメータの save_log_file_name 実行したサイクルのログをファイルに保存します。ファイルへのパスとファイル名を save_log_file_name で指定します。ログは HTML 形式で書き込まれるため、ファイル名拡張子として *.html を使用してください。パスを示すにはスラッシュを使用してください。

例

Simulate(1, "c:/temp/simlog.html")

ResetSimulation#

コマンド構文
ResetSimulation ( )

シミュレーションエンジンをリセットするためのコマンド。その結果として、デザイン内のすべてのシミュレーションプローブがクリアされます。

GetSimModuleProperty#

コマンド構文
GetSimModuleProperty (full_sim_module_name: str, prop: SimModuleProperty|str , image_index: int = -1) → varies

シミュレーションモジュールの Property を取得するためのコマンド。戻り値の型はクエリされた Property によって異なります。以下の Property が利用可能です:

  • IsConnected → bool: 返します True、シミュレーションモジュールがリンクに接続されている場合、それ以外の場合は返します False.
  • ConnectedLink → (FullModuleName, PortName): シミュレーションモジュールが接続されているリンクを特定するタプルを返します。戻り値は常に実際のモジュールポートによってリンク記述します(つまり、内部の H ボックスノードは指定されません。例: INBOUND#I000 または OUTBOUND#O000を使用します。
  • IsSource → bool: 返します True、シミュレーションモジュールが SimulationSourceの場合。それ以外の場合は返します False.
  • IsProbe → bool: 返します True、シミュレーションモジュールが SimulationProbeの場合。それ以外の場合は返します False.
  • Position → (x,y): プログラムウィンドウ内でのシミュレーションモジュールの位置をタプルとして返します。
  • ImageCount → int: シミュレーションモジュール内の画像数を返します。
  • PixelAligmentOffset → int: アライメントオフセットを整数値として返します。
  • ImageFileSubPixels → bool: リンクピクセルに割り当てられたファイルピクセル数を整数値として返します。
  • ImageFilePixelBits → int: 画像ファイル内の Bit Width の設定を整数値として返します。1、8、および 16 の値を指定できます。
  • ImageFileNormalize → bool: 返します True または False シミュレーション結果画像を保存するための設定に従います。1に設定した場合、1-bit のシミュレーション結果を 8-bit * のファイルに保存する際、 format: 0 は 0(黒)にマッピングされ、1 は 255(白)にマッピングされます。つまり、シミュレーション画像のフォーマットは「正規化」されます。
  • CropRect → dict と {"x","y","width","height"}: この Property はシミュレーションソースでのみ利用可能です。パラメータの使用 image_index は必須です。切り抜き矩形(crop rectangle)をキーを持つ辞書として返します Index, X, Y, Widthおよび Height.
  • CurrentImage → int: 現在選択されている画像を整数値として返します。

SetSimImageData#

コマンド構文
SetSimImageData (full_sim_module_name: str, image_index: int, x: int, y: int, kernel_row: int = 0, kernel_col: int = 0, component: int = 0, width: int 0 1, data: list[str])

シミュレーションモジュール(ソースまたはプローブ)内の画像内の1ピクセルまたは複数の隣接ピクセルをin memoryで上書きするためのコマンド。このコマンドは、シミュレーションを実行または保存する前のテスト変更に役立ちます。

このコマンドを使用できる場面:

  • シミュレーション用画像を加工するために SimSources で使用します。
  • 画像内の結果を可視化するために SimProbes で使用します。

  • image_index: 変更する画像(0ベース)。

  • x, y: 書き込み先の左上のピクセル座標。
  • kernel_row, kernel_col: 画像にカーネルがある場合、どのカーネル要素を変更しているかを指定します。
  • component: カラー画像の場合、設定するカラーチャネル。
  • width: 行内で連続して設定するピクセル数。 data の追加データは後続の行にはみ出す可能性があります。
  • data: ピクセル値のリスト( 16進数文字列 形式。例: ["0A","0B","FF"].

例

SetSimImageData("Process0/SimSource1", 0, 10, 10, component=0, width=3,
                data=["12","13","14"])

画像の変更は一時的なものです。同じシミュレーションモジュールの別の画像を選択するか、変更した画像を再度選択すると、変更された画像はハードディスクから新しく読み込まれ、変更内容は破棄されます。別の画像を選択するのは、Pythonコンソールで新しい画像用のコマンドを入力した場合、または VisualApplets GUIのビューアで同じシミュレーションモジュールの別の画像をクリックした場合です。 image_index ただし、アクティブな状態であれば、変更した画像を新しいファイル名で保存することで、変更内容を永続的なものにすることができます。

ただし、変更された画像がアクティブである限り、新しいファイル名で保存することで、変更を永続的なものにすることができます。

一時的に変更した画像をシミュレーションに使用できます。ただし、変更状態のままでシミュレーションに使用できるのは、SimSourceモジュールあたり1つの画像のみです。同じSimSource内の別の画像を変更すると、以前に変更した画像のピクセル値がリセットされるためです。シミュレーションモジュールごとに一時的に変更した画像を1つだけ使用する限り、必要な数だけ一時的に変更した画像をシミュレーションに使用できます。

1ピクセルにつき1つの値: コマンド SetSimImageData を使用すると、1ピクセルあたり正確に1つの値を書き込むことができます。したがって、グレースケールピクセルの場合、ピクセルごとの完全なカラー情報を書き込むには、 SetSimImageData コマンドを1回だけ実行する必要があります。カラーピクセルの場合、ピクセルあたり3つのカラーコンポーネントのうち1つのみを書き込むことができます。したがって、カラーピクセルの3つのカラーコンポーネントすべてを変更する場合は、 SetSimImageData コマンドを3回実行する必要があります。

カーネル付き画像への書き込み: カーネルを持つ画像に書き込む際は、commandを使用する際に、対象ピクセルのどのカーネル要素を上書きするかを指定する必要があります SetSimImageData (最初の)上書き対象ピクセルの正確な位置に加えて指定する必要があります。すべてのカーネル要素を上書きする場合は、次を実行する必要があります: SetSimImageData コマンドを正確に kernel_row * kernel_col 回実行します。

コマンドを使用するには:

コマンドを使用する前に、変更したい画像があるシミュレーションモジュールの画像ビューアを閉じます。

インデックスで変更する画像を特定します image_index。注意: image_index は0から始まりますが、VisualApplets GUIのシミュレーションモジュールにおける画像の番号付けは1から始まります。値は次のように対応します:

image_index = 0 は、VisualApplets GUIのビューアの画像1を指します。

image_index = 1 は、VisualApplets GUIのビューアの画像2を指します。

image_index = 2 は画像3を指します

、以下同様です。

情報

VisualAppletsのGUIでは、次のシミュレーションサイクルで使用される画像のインデックスが括弧内に表示され、プレフィックス「sim」(例: sim[2])でマークされます。

使用 kernel_row および kernel_col ピクセル値を変更するカーネル要素を指定するには、

シミュレーションモジュールが接続されているリンクのリンクプロパティで、シミュレーション画像のカーネルのサイズを確認できます。1ピクセルより大きいカーネルサイズを持つリンクの前には、常にカーネルの指定を可能にするオペレータのインスタンスが置かれます(例えば、オペレータ FIRkernelNxMを使用します。

カーネルの列と行のカウントは0から始まります。したがって、要素が1つだけのカーネルの場合は、両方の値(kernel_row および kernel_col)を0に設定します:

SetSimImageDataコマンド:Kernel ColumnsとKernel Rowsのカウント

4要素のカーネルの場合、個々のカーネル要素を次のように特定します:

SetSimImageDataコマンド:4要素におけるカーネル要素の特定

9要素のカーネルの場合、個々のカーネル要素を次のように特定します:

SetSimImageDataコマンド:9要素におけるカーネル要素の特定

設定するピクセルのカラーコンポーネントを指定するには、 component パラメータを使用します。グレースケール画像では、 component を0に設定します。マルチコンポーネント画像(カラー)では、カラーモデル内の位置によって書き込みたいコンポーネントを指定します。例:RGB画像の赤成分を指定する場合は component を0に設定し、RGB画像の緑成分を指定する場合は component を1に設定し、RGB画像の青成分を指定する場合は component を2に設定します。

位置を設定(x,y) を使用して、画像内の書き込みの開始点(最初のピクセル)を定義します。

使用 width 行ごとに上書きする隣接ピクセルの数を指定します。もし指定した数が values 1行あたりに書き込むピクセル数よりも多い場合 (width)、次の行の次の位置で書き込みが継続されます x。このようにして、以下の幅を持つROI (Region of Interest) に書き込むことができます width.

個別のピクセル値を指定します data 16進数表記で、先頭に "0x" は付けません。負の値は2の補数表現で指定します。指定する値の数は data 画像内で変更されるピクセルの数を決定します。

GetSimImageData#

コマンド構文
GetSimImageData (full_sim_module_name: str, image_index: int, x: int, y: int, kernel_row: int = 0, kernel_col: int = 0, component: int = 0, width: int = 1, height: int = 1])

シミュレーションモジュール(ソースまたはプローブ)内の画像内にある1つまたは複数の隣接ピクセルの値を読み取るためのコマンド。16進数文字列のリストを返します。

1ピクセルにつき1つの値: コマンド GetSimImageData ピクセルあたり正確に1つの値を返します。したがって、グレースケールピクセルの場合、ピクセルごとの完全なカラー情報を取得するために実行する必要があるのは GetSimImageData コマンドは1回だけです。カラーピクセルの場合、ピクセルごとに3つのカラーコンポーネントのうち1つだけを取得できます。したがって、カラーピクセルのすべてのカラーコンポーネントを読み取りたい場合は、 GetSimImageData コマンドを3回実行する必要があります。

カーネル付き画像の読み込み: カーネルを持つ画像から読み取る際は、commandを使用する際に、対象ピクセルのどのカーネル要素を読み取るかを指定する必要があります GetSimImageData 読み取り対象の(最初の)ピクセルの正確な位置に加えて。すべてのカーネル要素を読み取る場合は、実行する必要があります GetSimImageDataコマンドを正確に kernel_row * kernel_col 回実行します。

コマンドを使用するには:

インデックスを使用して画像を指定します image_index.

注意: image_index は0から始まりますが、VisualApplets GUIのシミュレーションモジュールにおける画像の番号付けは1から始まります。値は次のように対応します:

image_index = 0 は、VisualApplets GUIのビューアの画像1を指します。

image_index = 1 は、VisualApplets GUIのビューアの画像2を指します。

image_index = 2 VisualApplets GUIのビューアー内の画像3を指します。

、以下同様です。

情報

VisualAppletsのGUIでは、次のシミュレーションサイクルで使用される画像のインデックスが括弧内に表示され、プレフィックス「sim」(例: sim[2])でマークされます。

使用 kernel_row および kernel_col 読み取るカーネル要素を指定します。

シミュレーション画像のカーネルのサイズは、シミュレーションモジュールが接続されているリンクのリンクプロパティで確認できます。1要素よりも大きいカーネルサイズを持つリンクの前には常に、カーネルを指定できるオペレーターのインスタンス(例:オペレーター FIRkernelNxMを使用します。

カーネルの列と行のカウントは0から始まります。したがって、要素が1つだけのカーネルを持つ場合は、両方の値を0に設定します。

GetSimImageDataコマンド:Kernel ColumnsとKernel Rowsのカウント

4要素のカーネルの場合、個々のカーネル要素を次のように特定します:

GetSimImageDataコマンド:4要素におけるカーネル要素の特定

9要素のカーネルの場合、個々のカーネル要素を次のように特定します:

GetSimImageDataコマンド:9要素におけるカーネル要素の特定

パラメーターを使用します component ピクセルから読み取るカラーコンポーネントを指定します。グレースケール画像の場合は、次のように設定します component を 0 に設定します。マルチコンポーネント画像(カラー)の場合は、カラーモデル内の位置を介して読み取るコンポーネントを指定します。例:設定 component RGB 画像の赤コンポーネントを読み取る場合は 0 に、設定 component RGB 画像の緑コンポーネントを読み取る場合は 1 に、または設定 component RGB 画像の青コンポーネントを読み取る場合は 2 に設定します。

位置を設定(x,y) 画像内の読み取りの開始点(最初のピクセル)を定義します。

パラメータを使用しない場合 Width、正確に 1 ピクセルの値が返されます。指定するのが width, width の場合、行内の値 y が返されます。指定した場合 width および height, width * height の値が返されます。使用することで width および height 、ピクセル値(グレー)/ ピクセルコンポーネントの値(カラー)を読み取る対象の関心領域(ROI)を定義できます。

個々のピクセル値は、プレフィックス「0x」なしの16進数表記で返されます。負の値は2の補数表現で返されます。

例

vals = GetSimImageData("Process0/SimProbe1", 0, 100, 200, width=4, height=2)
# E.g., ["00","00","01","02","03","FF","7A","7B"]

CreateSimImage#

コマンド構文
CreateSimImage (full_sim_module_name: str, shape: tuple[int,int] = (-1,-1))

シミュレーションモジュール(通常はソース)内で指定された新しい画像を作成 / 割り当てするためのコマンド height および width.

いずれかの次元が -1の場合、リンクの最大次元が使用されます。

パラメータ shape は、numpy 配列で知られているような画像形状を定義します。最初のタプルエントリは height であり、2番目は width。もし shape に3つのエントリがある場合、3番目は無視されます(コンポーネントの数はリンクフォーマットによって決定されます)。

例

CreateSimImage("Process0/MySimSource", (768, 1024))

GetSimImageProperty#

コマンド構文
GetSimImageProperty (full_sim_module_name: str, image_index: int, prop: SimImageProperty|str, line_index: int = -1, line_count: int = 1) → 可変

シミュレーション画像(ソースまたはプローブモジュール内)の Property を取得するためのコマンド。

  • prop には次を指定できます:
  • "LineWidth": 行幅のリストを返します(lineCount > 1の場合)。
  • "ImageSize": dict を返します {"Width": <width>, "Height": <height>} ここで、 <width> および <height> は、画像幅および高さの整数です。

CreateImageMemory#

コマンド構文
CreateImageMemory (format_dict: dict[LinkParam|str, int|<enum>|str] = None ) → SharedImageMemory

VisualApplets の画像 Memory を作成するためのコマンド。この Memory には、次のような型のオブジェクトを介してアクセスできます。 SharedImageMemory.

  • format_dict: リンクフォーマットの指定と同等の辞書(次のようなキーを使用)を使用して、Memory フォーマットを指定します。 LinkParam.MaxImageWidth, LinkParam.MaxImageHeight, LinkParam.ColorFormatなど)。省略した場合は、次のデフォルト値が使用されます。

    • LinkParam.MaxImageHeight: 1024
    • LinkParam.MaxImageWidth: 1024
    • LinkParam.ColorFormat: VAF_GRAY
    • LinkParam.BitWidth: 8

パラメータ format_dict はオプションです。呼び出しによって画像 Memory を設定する場合 CopySimImageData, フォーマットは指定しないでください。フォーマットはその後、シミュレーションモジュールによって上書きされます。

Memory は、次のいずれかのアクションが最初に実行されたときに割り当てられます。

  • の呼び出し CopySimImageData() (シミュレーション要素からデータをコピーするため)
  • メソッドの呼び出し data() (Python バッファオブジェクトを取得するため) SharedImageMemory.

この関数は、以下で使用できる SharedImageMemory オブジェクトを返します CopySimImageData.

返された SharedImageMemory オブジェクトは、次のクラスメソッドを提供します。

  • data(): 取得します memoryview オブジェクト。コピーを行わずに Python バッファプロトコルを介した Memory アクセスを提供します。
  • shape(): 画像の形状(寸法)を次のように返します(Height, Width)グレースケールフォーマットの場合、または(Height, Width, Components)カラー画像用。
  • datatype():バッファデータに対応する numpy データ型の文字列表現を返します。この文字列は、以下の引数として使用できます。 numpy.dtype() numpy データ型を取得するための関数。
  • casttype():画像データの PEP 3118 バッファキャスト型を返します。この文字列は、以下の目的で使用できます。 memoryview.cast().

例

sharedMem = CreateImageMemory({"Max. Image Width": 100, "Max. Image Height": 100})
resultMem = CreateImageMemory({LinkParam.MaxImageWidth: 2, LinkParam.MaxImageHeight: 1, LinkParam.BitWidth: 16})

# Access the buffer sharedMem via numpy
import numpy as np

arr = np.frombuffer(sharedMem.data(0,0), dtype=np.dtype(sharedMem.datatype()))
arr = arr.reshape(sharedMem.shape())
arr[:] = 0 # initialize buffer with zeros

# Access the buffer resultMem via buffer protocol
resultData = resultMem.data(0,0).cast(resultMem.casttype())
resultData[0] = 0x1234
resultData[1] = 0x5678

CopySimImageData#

コマンド構文
CopySimImageData (full_sim_module_name: str, image_index: int, image_memory:SharedImageMemory、 copy_to_sim_module: bool = False)

データをコピーするためのコマンド の間で シミュレーションモジュールと SharedImageMemory バッファ。デフォルトでは、データはシミュレーションモジュールから画像 Memory にコピーされます。

  • もし copy_to_sim_module=False (デフォルト)、データは sim モジュールから image_memory.
  • もし copy_to_sim_module=Trueに流れ、 image_memory 内のデータが sim モジュールの画像に書き込まれます。

例

buf = CreateImageMemory()
CopySimImageData("Process0/SimProbe1", 0, buf)  # read data from probe
# ... do something in Python ...
CopySimImageData("Process0/SimProbe1", 0, buf, True)  # write it back

SaveImage#

コマンド構文
SaveImage (full_sim_module_name: str, image_index: int, image_base_name: str)

シミュレーションプローブから 1 つまたはすべての結果画像を保存するためのコマンドです。

必須パラメータを使用します。 image_index 結果画像から特定の画像を保存します。プローブのすべての画像を保存する場合は、 image_index を -1.

使用 image_base_name を設定して、画像を保存するファイルシステムのディレクトリへのパスと、画像ファイルのファイル名を指定します。指定したディレクトリがファイルシステム内にすでに存在していることを確認してください。存在しない場合は、コマンドを使用して作成できます。 MakeDirectoryPath.

例:「C:/images/testimage」。保存プロセスでは、ファイル名の拡張子(例:*.tif)が自動的に名前に追加されます。

プローブのすべての画像を保存すると、ファイル名に画像インデックスが自動的に追加されます。

例 1:

入力

SaveImage("Process0/mySimProbe", -1, "C:/images/testimage")

次のファイルを取得するには:

C:/images/testimage_0001.tif

C:/images/testimage_0002.tif

C:/images/testimage_0003.tif

…

例 2:

入力

SaveImage("Process0/mySimProbe", 4, "C:/images/testimage")

次のファイルを取得するには:

C:/images/testimage.tif

デザインのビルド#

Drc#

コマンド構文
Drc (save_log_file_name: str = " ")

デザインルールチェック(DRC 1)の第 1 レベルを開始するためのコマンド。

ログ出力を作成するには、オプションで次の中に HTML ログファイル(*.html)のパスと名前を指定できます。 save_log_file_name パラメータ。

Drc2#

コマンド構文
Drc2 (save_log_file_name: str = " ")

デザインルールチェック(DRC 2)の第 2 レベルを開始するためのコマンド。

ログ出力を作成するには、オプションで次の中に HTML ログファイル(*.html)のパスと名前を指定できます。 save_log_file_name パラメータ。

SelectBuildConfiguration#

コマンド構文
SelectBuildConfiguration (config_name: str)

保存されたビルド構成をアクティブなビルド構成として選択するためのコマンド。

パラメータで目的のビルド構成の名前を指定します config_name.

利用可能なすべてのビルド構成の概要を取得するには、次を入力します SelectBuildConfiguration("?") - 利用可能なすべてのビルド構成名のリストが返されます。現在選択されているビルド構成がリストの最初のエントリに表示されます。

例:

SelectBuildConfigurationコマンド

このコマンドは、現在選択されているビルド構成の名前を返します。この戻り値により、ビルド構成の再設定が成功したかどうかを確認できます。

例:

SelectBuildConfigurationコマンドの出力

ビルド#

コマンド構文
ビルド (save_log_file_name: str = " ", max_time: float | int = 24.0)

ビルドフローを開始するためのコマンド。

ログ出力を作成するには、パラメータでオプションとして HTML ログファイル(*.html)のパスと名前を指定できます save_log_file_name.

ビルドプロセスの制限時間を設定するには、パラメータで最大ビルド時間をオプションとして指定できます max_time (単位:時間)。パラメータ max_time の型は浮動小数点数です。これにより、時間の端数を指定できます。デフォルトの設定 max_time は 24 時間です。

ログファイルを作成するコマンドの例 build_log.html 最大ビルド時間を ½ 時間として指定します:

例

Build("build_log.html", 0.5)  # stop after 30 minutes

ファイル、パス、プログラムインスタンス、メッセージの処理#

Source#

コマンド構文
Source (file_path: str, encoding: str = utf-8)

現在の環境で別のPythonスクリプトファイルを実行するためのコマンド。パスを指定するにはスラッシュを使用します。このコマンドは、以下のプレースホルダーを自動的に置き換えます( MakeDirectoryPath:

%UserDir%: 現在のユーザーのユーザーデータディレクトリ(例: c:/Users/Smith)

%AppDataDir%: VisualAppletsのアプリケーションデータ用ディレクトリ

%VaInstallDir%: VisualAppletsのインストールディレクトリ

%UserLibDir%: ユーザーライブラリ用ディレクトリ。

%CustomLibDir%: カスタムライブラリ用ディレクトリ。

%VaVersion%: VisualAppletsのプログラムバージョン(例:"3.1")

%CurrDateTime%: ISO 8601(基本形式)に準拠した現在の日付と時刻(例:"20170530T134522")

%DateTime%: ISO 8601(基本形式)に準拠したVisualApplets起動時の日付と時刻(例:"20170530T134350")

%CurrDesignDir%: 現在読み込まれているデザインが保存されているディレクトリ。

MakeDirectoryPath#

コマンド構文
MakeDirectoryPath (full_path: str) → str

任意の深さのパス(およびそのディレクトリ)を作成するためのコマンド。

このコマンドは、以下のプレースホルダーを自動的に置き換えます:

%UserDir%: 現在のユーザーのユーザーデータディレクトリ(例: c:/Users/Smith)

%AppDataDir%: VisualAppletsのアプリケーションデータ用ディレクトリ

%VaInstallDir%: VisualAppletsのインストールディレクトリ

%UserLibDir%: ユーザーライブラリ用ディレクトリ。

%CustomLibDir%: カスタムライブラリ用ディレクトリ。

%VaVersion%: VisualAppletsのプログラムバージョン(例:"3.1")

%CurrDateTime%: ISO 8601(基本形式)に準拠した現在の日付と時刻(例:"20170530T134522")

%DateTime%: ISO 8601(基本形式)に準拠したVisualApplets起動時の日付と時刻(例:"20170530T134350")

%CurrDesignDir%: 現在読み込まれているデザインが保存されているディレクトリ。

コマンドが正常に実行されると、絶対パスが返されます。

例

absPath = MakeDirectoryPath("c:/temp/myFolder/sub")

GetAbsolutePath#

コマンド構文
GetAbsolutePath (path: str) → str

パラメータで指定したパスの絶対パスを返します path.

このコマンドは、コマンドと同じエイリアス名(プレースホルダー)を自動的に置き換えます MakeDirectoryPath.

存在しないディレクトリやファイルを path で参照することが許可されており、結果として得られるパス名が、存在しないディレクトリやファイルを指すようになります。

待機#

コマンド構文
待機 (time_in_milli_sec: int)

指定した時間待機するためのコマンド time_in_milli_sec。待機中もVisualAppletsのGUIはアクティブなままになります。

次のように設定した場合: time_in_milli_sec を 0 に設定すると、VisualApplets によって GUI のイベント ループの更新が少なくとも 1 回実行されます。これを利用して、GUI に以前のコマンドの結果が確実に表示されるようにすることができます。

メッセージ#

コマンド構文
メッセージ (msg_type: MessageType|str, code: int, text: str)

以下のものを出力するためのコマンド:

  • エラー メッセージ(msg_type=MessageType.Error または msg_type="Error")、
  • 警告(msg_type=MessageType.Warning または msg_type="Warning")、または
  • 情報メッセージ(msg_type=MessageType.Info または msg_type="Info")

では、 code)、メッセージのメッセージ コードを定義できます。 code の有効範囲は -999 から +999 です。VisualApplets の現在および将来のバージョンとの競合を避けるため、この範囲内の値のみを使用してください。

使用 text を入力してメッセージを入力します。メッセージの末尾にはドットが自動的に付加されます。

例

Message("Info", 100, "Starting build steps...")

FlushConsole#

コマンド構文
FlushConsole ( )

Python の蓄積された出力を stdout/stderr から VisualApplets コンソールに即座に転送します。

終了#

コマンド構文
終了 (discard: bool = False)

現在の VisualApplets セッションを終了するためのコマンドです。次を使用できます: Exit デザインが開いたままであっても使用できます。ただし、その前に変更内容を保存することを忘れないでください。

デザインが開いたままで、そのデザインに未保存の変更が含まれている場合:

  • オプションパラメータを設定した場合 discard を Trueまだ保存していない変更が含まれている場合でも、開いているデザインは閉じられます。未保存の変更は破棄されます。
  • オプションパラメータを設定した場合 discard を False であり、未保存の変更が存在する場合、コマンドは失敗します。
  • を使用する場合、 Exit を使用せずに discard パラメータを使用した場合で、開いているデザインに未保存の変更が含まれているときは、コマンドが終了し、対応するエラー メッセージが表示されます。