Python 명령 참조#
정보
이 레퍼런스는 임베디드 Python 인터프리터에서 VisualApplets 디자인을 설계, 시뮬레이션 및 빌드하기 위한 Python 함수를 설명합니다. 여기에 문서화된 모든 Python 함수는 대소문자를 구분합니다. 슬래시(/) 파일 경로 및 디자인 요소 내 계층적 경로 지정용.
다이어그램 내의 Position Parameters 함수가 디자인 창에서 위치를 요구할 때마다 Python 튜플이 (x, y) 가 사용됩니다.
Port/Link 식별 링크와 모듈 포트는 튜플을 통해 식별됩니다. (full_module_name, port_name). full_module_name 의 구문은 다음과 같습니다: <HierLevelPath>/<ModuleName>.
<HierLevelPath>모듈이 위치한 디자인의 계층적 레벨 경로를 지정합니다. 프로세스 레벨에서 시작하십시오. 슬래시를 사용하십시오.<ModuleName>모듈의 이름을 지정합니다.
Return Values 달리 명시되지 않는 한, 함수는 다음을 반환합니다. None 반환할 특별한 내용이 없는 경우. 일부 쿼리는 특정 데이터(예: 목록, 문자열)를 반환합니다.
열거형(Enumeration-Type) Parameters 일부 함수 호출에서는 특정 파라미터가 열거형(예: LinkParam.Arithmetic, LinkParam.ColorFlavor, 등) 또는 해당 멤버의 문자열 이름. 예를 들면, SetLinkParams 열거형 멤버(예: Arithmetic.UNSIGNED) 또는 문자열(예: "UNSIGNED").
파일 덮어쓰기 동작 파일을 쓰는 함수(예: SaveDesign, ChangePlatform)에는 다음과 같은 부울 파라미터가 포함될 수 있습니다. overwrite=False. False, 기존 파일을 덮어쓰려고 하면 예외가 발생할 수 있습니다.
디자인 생성, 로드 및 저장#
LoadDesign#
| 명령 구문 |
|---|
LoadDesign (file_name: str) |
예시
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를 입력하십시오.
사용할 수 있는 키는 네 가지입니다:
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: 계층적 경로 에 모듈의 원하는 이름을 더한 것입니다(예:"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, 인스턴스가 가질 출력 포트 수를 정의할 수 있습니다:

따라서 출력 포트 O의 수는 가변적입니다. 포트 수가 가변적인 포트를 multiports라고 부릅니다.
멀티포트는 기본 이름을 통해 식별됩니다. BRANCH, 예를 들어 출력 포트의 기본 이름은 O. 기본 이름에 추가된 인덱스를 통해 특정 포트를 식별하고 지정할 수 있습니다:

명령어를 사용할 때 CreateModule, 선택적 인수를 사용할 수 있습니다 mult 키는 포트의 기본 이름이고 값은 포트 수인 딕셔너리를 사용하여 모듈의 벡터 입력 및 벡터 출력의 다중성을 지정합니다. 이를 통해 다음과 같은 가변 수의 포트를 가진 오퍼레이터의 인스턴스(모듈)에서 포트 수를 정의할 수 있습니다. BRANCH 또는 ADD.
예시
CreateModule("BRANCH", "Process0/branchz", {"O": 3}, (43, 123))

기본값: 사용하지 않는 경우 mult, 모듈은 기본 입력 포트 및 출력 포트 수로 생성됩니다. 기본적으로 생성되는 포트 수는 오퍼레이터 유형에 따라 다릅니다.
예시
CreateModule("BRANCH", "Process0/branch", {}, (43, 123))

기본 수의 포트(입력 1개, 출력 2개)가 생성됩니다.
예시
CreateModule("HierarchicalBox", "Process0/hier", {"I": 2,"O":3}, (123, 163))

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"))

선택적 파라미터를 통해 x1, y2및 x3 연결 다각형의 형상을 정의할 수 있습니다. 다음에서 수평선: from_port 위치를 지정합니다 x1, 위치까지 수직선 y2, 위치까지 수水平선 x3, 다음 높이의 수직선: to_port, 다음까지 수평선 to_port.

예제
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 유니코드 문자를 사용할 수 있습니다.
디자인 창에서 주석 상자의 위치는 다음 파라미터를 통해 정의합니다 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("Process0/module3", "LUTcontent", [12, 13, 14], 4)
결과는 다음과 같습니다.

SetModuleParamProperty#
| 명령 구문 |
|---|
SetModuleParamProperty (full_module_name: str, param_name: str, prop: ParamProperty|str, value: ParamTypeFlag|str|int|list[ParamTypeFlag]|list[str]) |
모듈 파라미터의 속성을 변경하는 명령입니다(예: dynamic 또는 static. 이 명령은 다음을 대체할 수 있습니다 SetModuleParamType). 단일 속성 이름은 여러 값을 가질 수 있습니다. 다음 속성을 변경할 수 있습니다. prop:
-
access: 다음과 같은 하나 이상의 플래그:write: 이 방향으로 파라미터를 전환할 수 있는 경우(예: 오퍼레이터LinkParamTranslator), 쓰기 가능 파라미터가 됩니다.read: 이 방향으로 파라미터를 전환할 수 있는 경우(예: 오퍼레이터LinkParamTranslator), 읽기 전용 파라미터가 됩니다.dynamic: 파라미터가 동적이거나 정적일 수 있는 경우, 이로 인해 동적 파라미터가 됩니다.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: 파라미터가 동적이거나 정적인 경우, 이 플래그는 해당 파라미터를 동적 파라미터로 만듭니다.Static: 파라미터가 동적이거나 정적인 경우, 이 플래그는 해당 파라미터를 정적 파라미터로 만듭니다.
Dynamic 및 Static 상호 배타적입니다.
예시
SetModuleParamType("Process0/MyOperator", "Threshold", "Dynamic")
SetLinkParams#
| 명령 구문 |
|---|
SetLinkParams(link: tuple[str,str], param_dict: dict[LinkParam|str, int|<enum>|str]) |
Bit Width, Arithmetic, Color Format 등의 링크 포맷을 구성하기 위한 명령입니다. 링크 파라미터는 다음을 통해 식별할 수 있습니다. LinkParam enum (예: LinkParam.BitWidth), 열거형 이름(예: "BitWidth") 또는 GUI의 이름(예: "Bit Width")을 통해 식별할 수 있습니다.
link: 연결된 모듈 포트를 통해 링크를 식별하기 위한 튜플 `(, ) param_dict: 파라미터 값 쌍을 지정하는 딕셔너리입니다. 링크 포맷 파라미터의 이름은 VisualApplets GUI와 동일합니다. 예시 키:LinkParam.BitWidth,"Arithmetic"등
예시
SetLinkParams(
("Process0/CreateBlankImage","O"),
{
"Parallelism": 4,
"ImageProtocol": "VALT_LINE1D",
"MaxImageWidth": "2048"
}
)
정보
파이썬(Python) 스크립트를 수동으로 작성할 때 이 명령은 변경 가능한 파라미터에만 적용됩니다. 변경할 수 없는 링크 파라미터를 설정하려고 하면 다음과 같은 오류 메시지가 표시됩니다.

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#
| 명령 구문 |
|---|
SplitLink (link: tuple[str,str], number: int = 2) |
모듈을 생성하기 위한 명령입니다. BRANCH. 새 분기 모듈은 다음으로 식별되는 링크에 삽입됩니다. link. 새 분기(branch) 모듈에는 다음이 있습니다. number 출력 포트. 선택적 파라미터를 사용하지 않는 경우 number, 새 분기 모듈에는 두 개의 출력 포트가 있습니다.
함수의 반환 값 SplitLink 은(는) full_module_name (모듈 이름을 포함하여 모듈에 대한 전체 계층적 경로).
예시
branchName = SplitLink(("Process0/MyModule","O"), 3)
# branchName might be "Process0/BRANCH_1"
설계 구조 및 설계 세부 정보 쿼리#
GetDesignProperty#
| 명령 구문 |
|---|
GetDesignProperty (key: DesignProperty|str) → str | bool |
이 명령은 디자인 Property를 검색합니다. 다음 값들을 사용할 수 있습니다. key:
ProjectName: 프로젝트 이름FileName: 현재 로드된 디자인 파일의 전체 경로HardwarePlatform: 대상 하드웨어 플랫폼의 라이브러리 이름 (예:iF-CXP12-QVersion: 디자인 버전Description: 프로젝트 설명TargetRuntime: 프레임 그래버에서 이 앱렛을 실행하는 호스트 PC에서 사용할 운영 체제를 지정합니다.Loaded: 디자인이 로드된 경우; 부울 값을 반환합니다(True/False)
디자인 Property Loaded 디자인이 전혀 로드되지 않은 상태에서도 요청할 수 있습니다. 이는 오류 메시지를 발생시키지 않습니다. 디자인이 로드되지 않은 상태에서 다른 Design Property을 요청하면 오류 메시지가 발생합니다.
예시
val = GetDesignProperty("ProjectName")
print(val) # e.g., "MyProject"
GetDesignClock#
| 명령 구문 |
|---|
| GetDesignClock ( ) → float |
이 명령은 MHz 단위의 FPGA 기본 클럭 주파수를 다음과 같이 반환합니다. 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특정 오퍼레이터 버전을 정의합니다. 이 버전의 오퍼레이터 인스턴스인 모든 모듈이 반환됩니다.
예시
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"이 반환됩니다."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 |
키가 parameter 이름이고 값이 값 유형에 따라 지정된 형식으로 제공되는 사전(dictionary)을 반환합니다.
Integer parameter: int Floating-Point parameter: float Enumeration parameter: str Field of integers: list[int] Field of floating-point parameters: list[float] String parameter: str
모듈의 모든 parameter와 현재 설정된 값을 함께 가져오려면 다음 명령을 사용합니다. GetModuleParams parameter만 사용 full_module_name.
예:

특정 parameter의 값만 가져오려면 선택적 parameter를 사용하여 출력을 제한할 수 있습니다. select.
예:

예시
allParams = GetModuleParams("Process0/MyModule")
someParams = GetModuleParams("Process0/MyLUT", ["LUTcontent","ImplementationType"])
GetModuleParamProperty#
| 명령 구문 |
|---|
GetModuleParamProperty (full_module_name: str, param_name: str, prop: ParamProperty | str) |
parameter Property를 검색하기 위한 명령입니다.
parameter prop의 경우 다음 값을 사용할 수 있습니다.
"Status": 정수를 반환합니다. 모듈이 오류 상태가 아니면 0을 반환하고, 그렇지 않으면 오류 코드를 반환합니다."Type": parameter 유형을 다음과 같이 반환합니다.ParamType, 다음 중 하나일 수 있음ParamType.Int,ParamType.Float,ParamType.Enum,ParamType.String,ParamType.IntField, 또는ParamType.FloatField."Access": parameter가 read-only parameter인지 여부를 반환합니다. parameter access를 다음과 같이 반환합니다.ParamTypeFlag, 다음 중 하나일 수 있음ParamTypeFlag.Write또는ParamTypeFlag.Read."Unit": parameter의 단위를 반환합니다."Range": 정수 및 부동 소수점 데이터 유형의 경우, 이 명령은 세 개의 항목을 포함하는 목록으로 값 범위를 반환합니다.Min,Max,Step. 열거형(enum) parameter의 경우, enum 이름과 enum 값의 쌍으로 이루어진 목록을 반환합니다."Size": 필드 크기를 반환합니다. 다음의 경우에만 해당됨IntField및FloatField파라미터의 상태를 업데이트합니다."IsDynamic": 반환합니다.True요청한 parameter가 동적(dynamic)인 경우; 그렇지 않으면 반환False."IsStatic": 반환합니다.True요청한 parameter가 정적(static)인 경우; 그렇지 않으면 반환False."IsEditable": 반환합니다.True요청한 parameter를 편집할 수 있는 경우; 그렇지 않으면 반환False."Position": parameter 목록에서의 위치를 정수로 반환합니다.
예시
rangeVal = GetModuleParamProperty("Process0/LUT1", "LUTcontent", "Range")
GetLinkParams#
| 명령 구문 |
|---|
GetLinkParams (link: tuple[str,str], select: list[LinkParam|str]|None = None) → dict[LinkParam, (various)] |
키가 다음의 멤버인 딕셔너리를 반환합니다. LinkParam 값은 키에 따라 다음 형식으로 제공됩니다.
BitWidth: intArithmetic: ArithmeticParallelism: intKernelColumns: intKernelRows: intImageProtocol: ImageProtocolColorFormat: ColorFormatColorFlavor: ColorFlavorMaxImageWidth: intMaxImageHeight: int
선택 사항인 select 파라미터를 사용하여 특정 링크 파라미터 쿼리에 대한 링크 파라미터 목록을 제공합니다.
예:

예시
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.
- Enum 파라미터의 경우, 명령은 Enum 이름과 Enum 값의 쌍으로 구성된 튜플을 반환합니다.
Type: 파라미터 유형을 반환합니다. 다음을 반환합니다.ParamType.Enum파라미터의 경우LinkParam.Arithmetic,LinkParam.ImageProtocol,LinkParam.ColorFormat, 또는LinkParam.ColorFlavor. 다른 모든 링크 파라미터의 경우,ParamType.Int이(가) 반환됩니다.
GetLinkProperty#
| 명령 구문 |
|---|
GetLinkProperty (link: tuple[str,str], prop: LinkProperty|str) → 다양함 |
이 명령어는 특정 링크의 특정 Property를 반환합니다. 파라미터와 함께 계층형 박스의 포트를 지정하는 경우, link, 계층형 박스 내에서 이 포트로 또는 이 포트로부터의 링크가 존재하는 한 명령어가 정상적으로 작동합니다.
파라미터에 대해 다음과 같은 옵션 prop 을(를) 사용할 수 있으며, 반환 유형은 파라미터에 따라 다릅니다.
Status: 정수를 반환합니다. 모듈이 오류 상태가 아니면(즉, 링크 소스와 링크 타겟의 Property 설정이 일치하고 DRC에서 오류를 발견하지 못한 경우) 0을 반환하고, 그렇지 않으면 오류 코드를 반환합니다.From: 링크의 시작점을 반환합니다. 시작점은 이전 모듈의 out 포트이거나, 링크가 연결된 내부 계층형 박스 노드(INBOUND#...)일 수 있습니다. 이 명령어는 두 개의 값을 포함하는 튜플을 반환합니다.<FullModulenname>및<PortName>.To: 링크의 끝점을 반환합니다. 끝점은 다음 모듈의 in 포트이거나 내부 계층형 박스 노드(OUTBOUND#...)일 수 있습니다. 이 명령어는 두 개의 값을 포함하는 튜플을 반환합니다.<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] |
이 명령어는 디자인 내의 comment box를 검색합니다. 지정한 파라미터 조건에 부합하는 모든 comment box의 목록을 반환합니다. scope 및 specifier. 이 목록에는 다음이 포함되어 있습니다. FullElmentNames (box 이름을 포함한 계층적 이름).
scope: 다음 중 하나일 수 있습니다."Hierarchy"또는""Pattern"".specifier: 문자열 "Pattern" 또는 계층적 이름입니다.
GetCommentProperty#
| 명령 구문 |
|---|
GetCommentProperty (full_box_name: str, prop: CommentProperty | str) → str | tuple |
이 명령어는 comment box의 Property를 검색합니다.
full_box_name 의 구문은 다음과 같습니다: <HierLevelPath>/<BoxName>.
<HierLevelPath>주석 상자가 위치한 디자인의 계층 수준에 대한 경로를 지정합니다. 프로세스 수준에서 시작합니다. 슬래시(/)를 사용하세요.<BoxName>comment box의 개별 이름을 지정합니다.
prop 다음과 같은 옵션이 있습니다.
Content: comment box의 콘텐츠가 문자열로 반환됩니다.Position: 디자인 창에서 comment box의 좌측 상단 모서리 X 및 Y 위치가 튜플로 반환됩니다.
Design 편집 – 추가 명령어#
Move#
| 명령 구문 |
|---|
Move (item: tuple[str, str]|str, pos: tuple[int, int]) |
모듈, 계층형 box 노드, comment box 또는 시뮬레이션 모듈을 디자인 창 내의 새로운 위치로 재배치하기 위한 명령어입니다.
item은(는) 다음과 같을 수 있습니다.- 문자열
"<FullModuleName>"모듈, comment box 또는 시뮬레이션 모듈을 식별하기 위한 것입니다. - 튜플
(<FullModuleName>, <HierNodeName>)예를 들어 계층형 노드를 이동하기 위한 것입니다.("Process0/Box1","INBOUND#I000"). pos인 경우(x, y).
예시
Move("Process0/MyModule", (100, 200))
Select#
| 명령 구문 |
|---|
Select (item`: str|tuple[str, str]) |
모듈, 시뮬레이션 모듈, comment box 또는 링크를 선택하기 위한 명령어입니다.
item다음 중 하나일 수 있습니다.- 문자열
"<FullModuleName>"이름으로 모듈, 시뮬레이션 모듈 또는 comment box를 선택합니다. - 튜플
(<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, 현재 활성화된 디자인 창의 계층 수준에 요소가 붙여넣어집니다.
선택적 위치 파라미터 사용 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 오퍼레이터의 세 번째 출력 포트(포트 이름: O002)는 삭제할 수 있지만, 최소 출력 포트 두 개(O001 및 O000)는 삭제할 수 없습니다. 
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())
Design 시뮬레이션#
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를 정의하기 위한 명령입니다.
- Common props (with integer as
value): "PixelAlignmentOffset","ImageFileSubPixels","ImageFilePixelBits","CurrentImage"- Boolean 유형을 포함하는 공통 Property(
value): "ImageFileNormalize"로 설정할 수 있습니다.True또는False- Common props (with dict as
value): "CropRect": 키가 포함된 딕셔너리를 전달합니다:{"index", "x", "y", "width", "height"}소스 이미지에서 ROI를 지정하기 위한 항목입니다.
사용 prop 설정하려는 Property를 식별합니다. 아래에 명시된 형식으로 개별 Property를 설정하십시오. 사용 가능한 Property 및 해당 값 형식은 다음과 같습니다.
pixelAlignmentOffset BITS
정수 값으로 정렬 오프셋을 지정하려면 이 parameter를 사용하십시오. BITS.
imageFileSubPixels NUMBER
이 파라미터를 사용하여 링크 픽셀에 할당된 파일 픽셀의 수를 정수 값으로 지정합니다. NUMBER.
소스: NUMBER 픽셀들이 하나의 픽셀로 병합됩니다.
프로브: 하나의 픽셀이 다음과 같이 분할됩니다. 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] 필수 항목입니다. 이 파라미터를 사용하여 이미지를 자르고 시뮬레이션에 사용할 Image 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) |
시뮬레이션에서 이미지 하나 또는 모든 이미지를 삭제하기 위한 명령 source 모듈입니다. 선택적 매개변수를 사용하세요. image_index 삭제하려는 이미지를 지정합니다. 설정하는 경우 image_index 을(를) -1로 설정하거나 사용하지 않는 경우, image_index 전혀 지정하지 않으면 시뮬레이션 모듈의 모든 이미지가 삭제됩니다.
Simulate#
| 명령 구문 |
|---|
Simulate (processing_cycles: int, save_log_file_name: str) |
디자인을 시뮬레이션하기 위한 Command입니다. 다음을 사용하십시오. processing_cycles 명령어로 수행할 처리 사이클 수를 정의하는 파라미터입니다.
선택적 매개변수 save_log_file_name 실행된 사이클의 로그를 파일에 저장하려면, 다음에서 지정하십시오. save_log_file_name 파일 경로와 파일 이름 자체입니다. 로그가 HTML 형식으로 작성되므로 파일 이름 확장자로 *.html을 사용하십시오. 경로를 지정할 때는 슬래시(/)를 사용하십시오.
예시
Simulate(1, "c:/temp/simlog.html")
ResetSimulation#
| 명령 구문 |
|---|
| ResetSimulation ( ) |
시뮬레이션 엔진을 재설정하기 위한 Command입니다. 이로 인해 디자인의 모든 시뮬레이션 프로브가 지워집니다.
GetSimModuleProperty#
| 명령 구문 |
|---|
GetSimModuleProperty (full_sim_module_name: str, prop: SimModuleProperty|str , image_index: int = -1) → varies |
시뮬레이션 모듈의 Property를 검색하기 위한 Command입니다. 반환 유형은 조회된 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비트 시뮬레이션 결과를 8비트 * 파일로 저장하는 동안format: 0은 0(검은색)에 매핑되고 1은 255(흰색)에 매핑됩니다. 즉, 시뮬레이션 이미지의 포맷이 "정규화(normalized)"되어 있음을 의미합니다.CropRect→ dict 유형의{"x","y","width","height"}: 이 Property는 시뮬레이션 소스에서만 사용할 수 있습니다. 파라미터 사용은image_index필수입니다. 자르기(crop) 사각형을 다음 키를 가진 딕셔너리로 반환합니다.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]) |
시뮬레이션 모듈(소스 또는 프로브) 내 이미지의 단일 픽셀 또는 여러 인접 픽셀을 memory 상에서 덮어쓰기 위한 명령어입니다. 이 명령어는 시뮬레이션을 실행하거나 저장하기 전에 테스트 수정을 수행할 때 유용합니다.
다음 명령어를 사용할 수 있습니다:
- SimSources에서 시뮬레이션을 위한 이미지를 변경할 때 사용합니다.
-
이미지 내 결과를 시각화하기 위한 SimProbes에서의 기능입니다.
-
image_index: 변경할 이미지(0부터 시작). x,y: 쓰기를 수행할 좌상단 픽셀 좌표입니다.kernel_row,kernel_col: 이미지에 커널이 있는 경우 수정 중인 커널 요소를 식별합니다.component: 컬러 이미지의 경우 설정할 색상 채널입니다.width: 한 행에서 연속으로 설정할 픽셀 수입니다. 추가 데이터 위치:data다음 행으로 넘쳐 흐를 수 있습니다.data: 다음 형식의 픽셀 값 목록: hex string 형식(예:["0A","0B","FF"].
예시
SetSimImageData("Process0/SimSource1", 0, 10, 10, component=0, width=3,
data=["12","13","14"])
이미지 변경 사항은 휘발성입니다. 동일한 시뮬레이션 모듈의 다른 이미지를 선택하거나 변경된 이미지를 다시 선택하는 즉시, 변경된 이미지가 하드 디스크에서 새로 로드되며 기존 변경 사항은 폐기됩니다. 새 이미지에 대한 명령어를 입력하면 다른 이미지가 선택됩니다. image_index (동일한 시뮬레이션 모듈) Python 콘솔에서 수행하거나, VisualApplets GUI의 뷰어에서 동일한 시뮬레이션 모듈의 다른 이미지를 클릭하는 경우입니다.
그러나 변경된 이미지가 활성화되어 있는 동안 새 파일 이름으로 저장하면 변경 사항을 영구적으로 유지할 수 있습니다.
휘발성으로 변경된 이미지를 시뮬레이션에 사용할 수 있습니다. 그러나 동일한 SimSource 내에서 다른 이미지를 변경하면 이전에 변경했던 이미지의 픽셀 값이 재설정되므로, 시뮬레이션 모듈당 변경된 이미지는 하나만 사용할 수 있습니다. 시뮬레이션 모듈당 하나의 휘발성 변경 이미지만 사용하는 한, 시뮬레이션에 원하는 만큼의 휘발성 변경 이미지를 사용할 수 있습니다.
픽셀당 하나의 값: 명령어 SetSimImageData 픽셀당 정확히 하나의 값을 쓸 수 있도록 합니다. 따라서 그레이스케일 픽셀에서는 SetSimImageData 명령은 픽셀당 전체 색상 정보를 한 번만 기록합니다. 컬러 픽셀의 경우 픽셀당 세 가지 색상 성분 중 하나만 기록할 수 있습니다. 따라서 컬러 픽셀의 모든 색상 성분을 변경하려면 다음을 수행해야 합니다. SetSimImageData 명령어를 세 번 실행해야 합니다.
커널이 있는 이미지에 쓰기: 커널이 있는 이미지에 쓸 때, 명령어 사용 시 각 픽셀의 어떤 커널 요소를 덮어쓸 것인지 지정해야 합니다. 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 픽셀 값을 변경할 커널 요소를 지정하려면
시뮬레이션 모듈이 연결된 링크의 링크 Property에서 시뮬레이션 이미지의 커널 크기를 확인할 수 있습니다. 커널 크기가 1픽셀보다 큰 링크에는 항상 커널을 지정할 수 있는 오퍼레이터 인스턴스가 선행됩니다(예: FIRkernelNxM).
커널 열과 커널 행의 카운팅은 0부터 시작합니다. 따라서 요소가 하나만 있는 커널이 있는 경우 두 값 모두 (kernel_row 및 kernel_col)을(를) 0으로 설정:

요소가 4개인 커널의 경우 개별 커널 요소를 다음과 같이 식별합니다.

9개의 요소로 구성된 커널의 경우 개별 커널 요소를 다음과 같이 식별합니다.

다음을 사용하십시오. component 매개변수를 사용하여 설정할 픽셀의 색상 성분을 지정합니다. 그레이스케일 이미지의 경우, component 을(를) 0으로 설정합니다. 다중 성분 이미지(컬러)의 경우 색상 모델 내 위치를 통해 기록할 성분을 지정합니다. 예: component RGB 이미지에서 빨간색 요소를 지정하려면 0으로 설정하고, component RGB 이미지에서 초록색 성분을 지정하려면 1로 설정하고, component RGB 이미지에서 파란색 요소를 지정하려면 2로 설정합니다.
위치 설정 (x,y)을(를) 사용하여 이미지 내에서 쓰기를 시작할 지점(첫 번째 픽셀)을 정의합니다.
사용 width 을(를) 사용하여 행당 덮어쓸 인접 픽셀 수를 지정합니다. 더 많이 지정하는 경우 values 한 행에 쓰는 픽셀 수보다 (width), 쓰기 작업이 다음 행의 위치에서 계속됩니다. x. 이를 통해 너비가 width.
개별 픽셀 값 지정 data 앞에 "0x"가 없는 16진수 표기법으로 작성합니다. 음수 값은 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진수 문자열 목록을 반환합니다.
픽셀당 하나의 값: 명령어 GetSimImageData 픽셀당 정확히 하나의 값을 반환합니다. 따라서 그레이스케일 픽셀에서는 다음을 수행해야 합니다. GetSimImageData 픽셀당 전체 색상 정보를 검색하려면 명령을 한 번만 실행하십시오. 컬러 픽셀에서는 픽셀당 세 가지 색상 성분 중 하나만 검색할 수 있습니다. 따라서 컬러 픽셀의 세 가지 색상 성분을 모두 읽으려면 다음을 수행해야 합니다. GetSimImageData 명령어를 세 번 실행해야 합니다.
커널이 있는 이미지 읽기: 커널이 있는 이미지에서 읽을 때, 명령어 사용 시 각 픽셀의 어떤 커널 요소를 읽을 것인지 지정해야 합니다. 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 읽어올 커널 요소를 지정합니다.
시뮬레이션 이미지의 커널 크기는 시뮬레이션 모듈이 연결된 링크의 링크 Property에서 확인할 수 있습니다. 1개보다 큰 커널 크기를 가진 링크 앞에는 항상 커널을 지정할 수 있는 오퍼레이터의 인스턴스가 옵니다(예: 오퍼레이터). FIRkernelNxM).
커널의 열과 행 세기는 0부터 시작합니다. 따라서 요소가 하나만 있는 커널의 경우 두 값 모두 0으로 설정하십시오.

요소가 4개인 커널의 경우 개별 커널 요소를 다음과 같이 식별합니다.

9개의 요소로 구성된 커널의 경우 개별 커널 요소를 다음과 같이 식별합니다.

Parameter 사용 component 픽셀에서 읽어올 색상 성분을 지정합니다. 그레이스케일 이미지에서는 다음을 설정하세요. component 을(를) 0으로 설정합니다. 다중 성분 이미지(컬러)에서는 색상 모델에서의 위치를 통해 읽으려는 성분을 지정합니다. 예: 설정 component RGB 이미지에서 빨간색 성분을 읽으려면 0으로 설정하고, 다음을 설정하세요. component RGB 이미지에서 녹색 성분을 읽으려면 1로 설정하고, component RGB 이미지에서 파란색 성분을 읽으려면 2로 설정합니다.
위치 설정 (x,y) 이미지 내에서 읽기 시작점(첫 번째 픽셀)을 정의합니다.
Parameter을(를) 사용하지 않는 경우 Width, 정확히 하나의 픽셀에 대한 값이 반환됩니다. 다음만 지정하는 경우 width, width 라인의 값 y 가 반환됩니다. 다음을 지정하는 경우 width 및 height, width * height 값이 반환됩니다. 사용 width 및 height 픽셀 값(그레이)/픽셀 성분 값(컬러)을 읽어올 Image 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 이며 두 번째는 width. shape 항목이 세 개 있는 경우 세 번째 항목은 무시됩니다(성분 수는 링크 형식에 따라 결정됨).
예시
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) → varies |
시뮬레이션 이미지(소스 또는 프로브 모듈 내)의 Property를 검색하기 위한 명령어입니다.
prop은(는) 다음과 같을 수 있습니다."LineWidth": 줄 수(lineCount)가 1보다 클 경우, 줄 너비 목록을 반환합니다."ImageSize": 딕셔너리를 반환합니다.{"Width": <width>, "Height": <height>}여기서<width>및<height>은 이미지 너비와 높이를 위한 정수입니다.
CreateImageMemory#
| 명령 구문 |
|---|
CreateImageMemory (format_dict: dict[LinkParam|str, int|<enum>|str] = None ) → SharedImageMemory |
다음 유형의 객체를 통해 액세스할 수 있는 VisualApplets 이미지 메모리를 생성하는 명령 SharedImageMemory.
-
format_dict: (다음과 같은 키를 사용하여 링크 포맷을 지정하는 것과 동등한 딕셔너리로 Memory 포맷을 지정합니다.LinkParam.MaxImageWidth,LinkParam.MaxImageHeight,LinkParam.ColorFormat등). 생략할 경우 다음과 같은 기본값이 사용됩니다:LinkParam.MaxImageHeight:1024LinkParam.MaxImageWidth:1024LinkParam.ColorFormat:VAF_GRAYLinkParam.BitWidth:8
파라미터는 format_dict 은(는) 선택 사항입니다. 다음을 호출하여 image 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 버퍼입니다. 기본적으로 데이터는 시뮬레이션 모듈에서 image 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) |
시뮬레이션 프로브에서 하나 또는 모든 결과 이미지를 저장하기 위한 명령입니다.
필수 매개변수 사용 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
…
Example 2:
입력합니다
SaveImage("Process0/mySimProbe", 4, "C:/images/testimage")
다음 파일을 얻으려면:
C:/images/testimage.tif
설계 빌드 중#
Drc#
| 명령 구문 |
|---|
Drc (save_log_file_name: str = " ") |
Design Rule Check 1단계(DRC 1)를 시작하기 위한 명령입니다.
로그 출력을 얻으려면 선택적으로 에 html 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다. save_log_file_name 파라미터.
Drc2#
| 명령 구문 |
|---|
Drc2 (save_log_file_name: str = " ") |
Design Rule Check 2단계(DRC 2)를 시작하기 위한 명령입니다.
로그 출력을 얻으려면 선택적으로 에 html 로그 파일(*.html)의 경로와 이름을 지정할 수 있습니다. save_log_file_name 파라미터.
SelectBuildConfiguration#
| 명령 구문 |
|---|
SelectBuildConfiguration (config_name: str) |
저장된 빌드 구성을 활성 빌드 구성으로 선택하기 위한 명령입니다.
매개변수에서 원하는 빌드 구성 이름을 지정합니다. config_name.
사용 가능한 모든 빌드 구성의 개요를 보려면 다음을 입력하십시오. SelectBuildConfiguration("?") - 사용 가능한 모든 빌드 구성 이름 목록이 반환됩니다. 현재 선택된 빌드 구성은 목록의 첫 번째 항목에 표시됩니다.
예:

이 명령은 현재 선택된 빌드 구성의 이름을 반환합니다. 이 반환 값을 통해 빌드 구성 재설정이 성공했는지 확인할 수 있습니다.
예:

빌드#
| 명령 구문 |
|---|
빌드 (save_log_file_name: str = " ", max_time: float | int = 24.0) |
빌드 플로우를 시작하기 위한 명령입니다.
로그 출력을 얻으려면, 파라미터에 HTML 로그 파일(*.html)의 경로와 이름을 선택적으로 지정할 수 있습니다. save_log_file_name.
빌드 프로세스의 시간 제한을 설정하려면 매개변수에서 최대 빌드 시간을 선택적으로 지정할 수 있습니다. max_time (시간 단위). 파라미터 max_time 은(는) 부동 소수점 형식입니다. 이를 통해 1시간 미만의 시간 단위를 지정할 수 있습니다. 기본 설정은 다음과 같습니다. max_time 은 24시간입니다.
로그 파일을 생성하는 명령의 예 build_log.html 그리고 최대 빌드 시간을 0.5시간으로 지정합니다:
예시
Build("build_log.html", 0.5) # stop after 30 minutes
파일, 경로, 프로그램 인스턴스 및 메시지 처리#
Source#
| 명령 구문 |
|---|
Source (file_path: str, encoding: str = utf-8) |
현재 환경에서 다른 Python 스크립트 파일을 실행하기 위한 명령어입니다. 경로를 지정할 때는 슬래시(/)를 사용하십시오. 이 명령어는 다음과 같은 플레이스홀더를 자동으로 교체합니다(명령어 MakeDirectoryPath):
%UserDir%: 현재 사용자의 User data directory (예: 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 |
원하는 깊이의 경로(및 그 하위 디렉터리)를 생성하기 위한 명령어입니다.
이 명령은 다음 자리표시자(place holder)를 자동으로 대체합니다.
%UserDir%: 현재 사용자의 User data directory (예: 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 존재하지 않는 디렉터리나 파일로 지정하여, 결과 경로 이름이 존재하지 않는 디렉터리나 파일을 가리키도록 합니다.
Wait#
| 명령 구문 |
|---|
Wait (time_in_milli_sec: int) |
지정된 시간 동안 대기하기 위한 명령어 time_in_milli_sec. 대기 시간 동안 VisualApplets GUI는 활성 상태로 유지됩니다.
설정하는 경우 time_in_milli_sec 0인 경우, GUI의 이벤트 루프 업데이트가 VisualApplets에 의해 최소 한 번 수행됩니다. 이를 사용하여 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")
In code, 메시지 코드를 정의할 수 있습니다. code 값 범위는 -999에서 +999 사이입니다. 현재 및/또는 향후 VisualApplets 버전과의 충돌을 방지하려면 이 범위의 값만 사용하십시오.
사용 text 메시지를 입력합니다. 메시지는 마침표로 자동 완성됩니다.
예시
Message("Info", 100, "Starting build steps...")
FlushConsole#
| 명령 구문 |
|---|
| FlushConsole ( ) |
Python의 누적된 출력을 전송합니다. stdout/stderr VisualApplets 콘솔에 즉시 표시됩니다.
Exit#
| 명령 구문 |
|---|
Exit (discard: bool = False) |
현재 VisualApplets 세션을 종료하기 위한 명령입니다. 다음을 사용할 수 있습니다. Exit 디자인이 열려 있는 상태에서도 마찬가지입니다. 단, 변경 사항은 미리 저장하는 것을 잊지 마세요.
아직 디자인이 열려 있고 해당 디자인에 저장되지 않은 변경 사항이 있는 경우:
- 선택적 파라미터를 설정하는 경우
discard(으)로True, 저장하지 않은 변경 사항이 포함되어 있더라도 열려 있는 디자인이 닫힙니다. 저장되지 않은 변경 사항은 취소됩니다. - 선택적 파라미터를 설정하는 경우
discard(으)로False저장되지 않은 변경 사항이 존재하면 명령이 실패합니다. - 사용하는 경우
Exit다음을 사용하지 않고discard열려 있는 디자인에 저장되지 않은 변경 사항이 포함되어 있는 상태에서 파라미터를 설정하면 명령이 중단되고 관련 오류 메시지가 표시됩니다.