콘텐츠로 바로 가기

파이썬 명령어 참조#

정보

이 문서는 임베디드 파이썬 인터프리터에서 ‘ VisualApplets ’ 설계를 설계, 시뮬레이션 및 구축하기 위한 파이썬 함수들을 설명합니다. 여기에 설명된 모든 파이썬 함수는 대소문자를 구분합니다. 슬래시(/) 파일 경로 및 디자인 요소 내의 계층적 경로를 지정할 때 사용합니다.

다이어그램의 위치 매개변수 디자인 창에서 함수가 위치를 요구할 때마다, Python 튜플 (x, y) 함수가 사용됩니다.

포트/링크 식별 링크와 모듈 포트는 튜플을 통해 식별됩니다. (full_module_name, port_name). full_module_name 다음과 같은 구문을 가집니다: <HierLevelPath>/<ModuleName>.

  • <HierLevelPath> 모듈이 위치한 설계 내 계층 수준의 경로를 지정합니다. 프로세스 수준에서 시작하십시오. 슬래시(/)를 사용하십시오.
  • <ModuleName> 모듈의 이름을 지정합니다.

반환 값 별도로 명시되지 않는 한, 함수는 다음을 반환합니다. None 반환할 특별한 내용이 없는 경우입니다. 일부는 쿼리에 대해 특정 데이터(예: 목록, 문자열)를 반환하기도 합니다.

열거형 매개변수 일부 함수 호출에서 특정 매개변수는 열거형일 수 있습니다(예: LinkParam.Arithmetic, LinkParam.ColorFlavor, 등) 또는 해당 멤버의 문자열 이름을 지정할 수 있습니다. 예를 들어, SetLinkParams enum 멤버(예: 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")

플랫폼 변경#

명령어 구문
플랫폼 변경 (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")

디자인 닫기#

명령어 구문
디자인 닫기 (discard: bool = False)

현재 열려 있는 설계를 닫는 명령입니다.

선택적 매개변수를 설정하면 discard 에서 True, 아직 저장하지 않은 변경 사항이 포함되어 있더라도 디자인이 닫힙니다. 저장되지 않은 변경 사항은 모두 취소됩니다.

만약 매개변수가 discard 이 다음으로 설정된 경우 False, 그리고 디자인에 아직 저장하지 않은 변경 사항이 포함되어 있는 경우, 명령이 중단되고 이에 상응하는 오류 메시지가 표시됩니다.

예시

CloseDesign(discard=True)

SetDesignProperty#

명령어 구문
SetDesignProperty (key: DesignProperty | str, value: str)

이 명령을 사용하여 현재 로드된 설계의 설계 속성을 입력하십시오.

사용할 수 있는 키는 네 가지가 있습니다:

  • ProjectName (프로젝트에서 지정할 이름)
  • Version (디자인 버전)
  • Description (프로젝트 설명).
  • TargetRuntime (프레임 그래버에서 이 애플릿을 실행할 호스트 PC에 사용될 운영 체제를 여기에 명시하십시오.)

    다음 값을 사용할 수 있습니다:

    • Win64
    • Win32
    • Linux64
    • Linux32

의 다른 열거형들은 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, 그리고 디자인 창에서 모듈의 위치를 지정하기 위해.

이 명령어에는 필수 인자 두 개와 선택적 인자 두 개가 있습니다:

  • 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, 인스턴스에 포함될 출력 포트의 수를 정의할 수 있습니다:

CreateModule 명령어: 출력값 입력

따라서 출력 포트 O의 개수는 가변적이다. 포트 개수가 가변적인 것을 멀티포트라고 부른다.

멀티포트는 기본 이름을 통해 식별됩니다. 에서 BRANCH예를 들어, 출력 포트의 기본 이름은 O. 기본 이름에 인덃을 추가함으로써 특정 포트를 식별하고 지정할 수 있습니다:

CreateModule 명령어: 멀티포트

명령을 사용할 때 CreateModule, 선택적 인수를 사용할 수 있습니다 mult 모듈의 벡터 입력 및 벡터 출력의 다중도를, 키가 포트의 기본 이름이고 값이 포트 수인 사전(dictionary)을 사용하여 지정합니다. 이렇게 하면, 예를 들어 다음과 같은 가변 개수의 포트를 갖는 연산자 인스턴스(모듈)에서 포트 수를 정의할 수 있습니다. 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: 튜플[str, str], to_port: 튜플[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"))

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)

모듈 분리#

명령어 구문
모듈 분리 (port: 튜플[str, str])

포트에 연결된 링크를 삭제하는 명령어 port.

예시

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

댓글 작성#

명령어 구문
댓글 작성 (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 (댓글 입력란의 이름을 포함한 댓글 입력란까지의 전체 계층적 경로).

댓글 삭제#

명령어 구문
댓글 삭제 (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 매개변수를 반드시 지정해야 합니다.

필드 매개변수 편집 예시:

명령을 입력하기 전, ‘값 입력’ 대화 상자는 다음과 같이 표시됩니다:

SetModuleParam 명령어: 매개변수 편집 예시

명령어 입력

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

다음과 같은 결과가 나옵니다:

SetModuleParam 명령어: 값 입력 예시

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: 튜플[str, str], param_dict: dict[LinkParam|str, int|<enum>|str])

비트 폭, 산술 모드, 색상 형식 등과 같은 링크 형식을 구성하는 명령어입니다. 링크 매개변수는 다음 중 하나를 통해 식별할 수 있습니다. LinkParam 열거형 (예: 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"
    }
)

정보

파이썬 스크립트를 수동으로 작성할 때, 이 명령어는 변경 가능한 매개변수에만 적용됩니다. 변경할 수 없는 링크 매개변수를 설정하려고 하면 다음과 같은 오류 메시지가 표시됩니다:

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: 튜플[str, str], number: int = 2)

모듈 생성 명령어 BRANCH. 새로운 분기 모듈은 다음으로 식별되는 링크에 삽입됩니다. link. 새로운 브랜치 모듈에는 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

이 명령은 설계 속성을 가져옵니다. 다음 값을 사용할 수 있습니다. key:

  • ProjectName:프로젝트 이름
  • FileName: 현재 로드된 설계 파일의 전체 경로
  • HardwarePlatform: 대상 하드웨어 플랫폼의 라이브러리 이름. 예를 들어 iF-CXP12-Q
  • Version: 디자인 버전
  • Description: 프로젝트 설명
  • TargetRuntime: 프레임 그래버에서 이 애플릿을 실행하는 호스트 PC에서 사용될 운영 체제를 지정합니다.
  • Loaded: 디자인이 불러왔습니다; 부울 값을 반환합니다 (True/False)

디자인 속성 Loaded 디자인이 전혀 로드되지 않은 상태에서도 요청할 수 있습니다. 이 경우 오류 메시지가 표시되지 않습니다. 디자인이 로드되지 않은 상태에서 다른 디자인 속성을 요청하면 오류 메시지가 표시됩니다.

예시

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 정렬 “패턴”을 정의하려면 다음 옵션을 사용할 수 있습니다:
    • "path": 모듈은 설계 그래프 내에서의 위치에 따라 정렬됩니다(즉, 시뮬레이션 중에 데이터 스트림이 모듈을 통과하는 순서대로 정렬됩니다).
    • "name": 모듈은 다음 기준에 따라 알파벳순으로 정렬됩니다. full_module_name.
  • "OperatorType": 사용법 specifier 찾고 있는 모듈의 연산자 유형을 지정하려면 (“O”, “M”, “P”, “O+P”, “M+P”, “알 수 없음”).
  • "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: 튜플[str, str], prop: PortProperty | str)

이 명령어는 모듈 포트의 속성을 가져옵니다. 다음 값들은 prop 다음과 같은 항목이 제공됩니다:

  • "IsConnected": returns는 부울 값을 반환합니다 (True/False).
  • "Position": 다이어그램(디자인 창)에서 지정된 포트의 위치를 튜플로 반환합니다 (xPos, yPos). 만약 port 내부 계층적 상자 노드를 지정합니다. 예를 들어, 예를 들어, ("Process0/HBox","INBOUND#I000"), 계층적 상자 디자인 창 내에서 이 노드의 위치가 반환됩니다.

GetModuleProperty#

명령어 구문
GetModuleProperty (full_module_name: str, prop: ModuleProperty | str) → varies

이 명령어는 모듈의 속성을 반환합니다.

다음과 같은 값에 대해 prop 다음과 같은 항목이 제공됩니다:

  • "Status": 정수를 반환합니다. 모듈이 오류 상태가 아닐 경우 0을 반환하고, 그렇지 않은 경우 오류 코드를 반환합니다.
  • "Operator": 해당 모듈이 인스턴스인 연산자의 이름을 반환합니다. 예를 들어 BRANCH.
  • "OperatorType": 연산자 유형(O, P, M, 알 수 없음)을 반환합니다. 계층적 박스 및 사용자 라이브러리 모듈의 경우 “알 수 없음”이 반환됩니다.
  • "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)

매개변수 속성을 가져오는 명령어.

매개변수에 대해서는 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": 정수 및 실수 데이터 유형의 경우, 이 명령어는 세 개의 항목으로 구성된 목록 형태로 값의 범위를 반환합니다. Min, Max, Step. 열거형 매개변수의 경우, 열거형 이름과 열거형 값의 쌍으로 구성된 목록을 반환합니다.
  • "Size": 필드의 크기를 반환합니다. 다음의 경우에만 적용됩니다. IntField 및 FloatField 매개변수.
  • "IsDynamic": 반품 True 요청된 매개변수가 동적인 경우; 그렇지 않으면 다음을 반환합니다. False.
  • "IsStatic": 반품 True 요청된 매개변수가 정적일 경우; 그렇지 않으면 다음을 반환합니다. False.
  • "IsEditable": 반품 True 요청된 매개변수를 편집할 수 있는 경우; 그렇지 않은 경우 다음을 반환합니다. False.
  • "Position": 매개변수 목록 내의 위치를 정수 값으로 반환합니다.

예시

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

GetLinkParams#

명령어 구문
GetLinkParams (link: 튜플[str, str], select: list[LinkParam|str]|None = None) → dict[LinkParam, (다양한)]

키가 다음의 요소들로 구성된 딕셔너리를 반환합니다. LinkParam 그리고 값은 키에 따라 다른 형식으로 제공됩니다:

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

선택 사항을 사용하려면 select 해당 매개변수 중 특정 쿼리에 대한 링크 매개변수 목록을 제공하기 위한 매개변수입니다.

예:

Python 명령어 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: (문자열, 문자열), param: LinkParam | str, prop: ParamProperty | str) → varies

이 명령어는 특정 링크 매개변수의 속성을 가져옵니다.

다음과 같은 매개변수 값 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: 튜플[str, str], prop: LinkProperty|str) → varies

이 명령은 특정 링크의 특정 속성을 반환합니다. 매개변수를 사용하여 계층적 박스의 포트를 지정하면 link, 이 명령은 계층적 상자 내에서 이 포트로 연결되거나 이 포트에서 연결되는 링크가 있는 한 정상적으로 작동합니다.

다음은 해당 매개변수에 대한 옵션입니다. prop 다음과 같은 함수들이 있으며, 반환 유형은 매개변수에 따라 달라집니다:

  • Status: 정수를 반환합니다. 모듈이 오류 상태가 아닐 경우(즉, 링크 원본과 링크 대상의 매개변수 설정이 일치하고 DRC에서 오류를 발견하지 못한 경우) 0을 반환하며, 그렇지 않은 경우 오류 코드를 반환합니다.
  • From: 링크의 시작점을 반환합니다. 시작점은 앞선 모듈의 출력 포트이거나, 내부 계층적 박스 노드일 수 있습니다 (INBOUND#...) 링크가 연결된 대상입니다. 이 명령어는 두 값을 포함하는 튜플을 반환합니다. <FullModulenname> 및 <PortName>.
  • To: 링크의 종단점을 반환합니다. 종단점은 다음 모듈의 입력 포트이거나, 내부 계층적 박스 노드일 수 있습니다 (OUTBOUND#...) 링크가 연결된 대상입니다. 이 명령어는 두 값을 포함하는 튜플을 반환합니다. <FullModulenname> 및 <PortName>.
  • Source: 다음에서 지정한 링크를 포함하는 튜플을 반환합니다. link 앞서 언급된 모든 링크에 대해 링크의 출처까지. 링크 체인은 귀하가 지정한 모듈을 기점으로 하여 계층 구조를 거슬러 올라가며 추적됩니다. <FullModulenname> 시작점으로 돌아갑니다. 반환된 목록 내 요소들의 순서는 조회의 역순과 일치합니다(소스 모듈은 목록의 마지막 항목입니다).
  • Dest: 에 명시된 링크를 포함하는 튜플을 반환합니다. link 링크의 대상 모듈에 이르기까지 이어지는 모든 링크에 대해. 링크 체인은 귀하가 지정한 모듈을 시작으로 계층 구조를 따라 앞으로 진행되며, <FullModulenname>끝(sink)까지. 반환된 목록 내 요소들의 순서는 조회를 진행하는 순서와 일치하며, 대상 모듈(목적지)은 목록의 마지막 항목입니다.
  • HasConnectedSimModule: 반품 True 시뮬레이션 모듈이 링크에 연결되어 있는 경우; 다음을 반환합니다. False 시뮬레이션 모듈이 연결되어 있지 않은 경우.
  • ConnectedSimModule: 연결된 시뮬레이션 모듈의 계층적 이름을 반환합니다.

예시

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

GetSimModules#

명령어 구문
GetSimModules (sim_type: SimModuleType|str, scope: SearchScope|str, specifier: str) → list[str]

지정된 유형/필터에 일치하는 시뮬레이션 모듈의 전체 이름을 반환합니다.

  • 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 | 튜플

이 명령은 주석 상자의 속성을 가져옵니다.

full_box_name 다음과 같은 구문을 가집니다: <HierLevelPath>/<BoxName>.

  • <HierLevelPath> 디자인 내에서 주석 상자가 위치한 계층적 수준의 경로를 지정합니다. 프로세스 수준에서 시작하십시오. 슬래시를 사용하십시오.
  • <BoxName> 댓글 입력란의 개별 이름을 지정합니다.

prop 다음과 같은 옵션이 있습니다:

  • Content: 댓글 입력창의 내용이 문자열로 반환됩니다.
  • Position: 디자인 창에서 댓글 입력창의 왼쪽 상단 모서리의 X 및 Y 좌표가 튜플로 반환됩니다.

디자인 편집 – 추가 명령어#

이동#

명령어 구문
이동 (item: 튜플[str, str]|str, pos: 튜플[int, int])

모듈, 계층적 상자 노드, 주석 상자 또는 시뮬레이션 모듈을 디자인 창 내의 새로운 위치로 재배치하는 명령입니다.

  • item 다음이 될 수 있습니다:
  • 문자열 "<FullModuleName>" 모듈, 주석 상자 또는 시뮬레이션 모듈을 식별하기 위해.
  • 튜플 (<FullModuleName>, <HierNodeName>) 계층적 노드를 이동할 때, 예를 들어 ("Process0/Box1","INBOUND#I000").
  • pos 은(는) (x, y).

예시

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

Select#

명령어 구문
Select (항목`: str|tuple[str, str])

모듈, 시뮬레이션 모듈, 주석 상자 또는 링크를 선택하는 명령입니다.

  • item 다음 중 하나일 수 있습니다:
  • 문자열 "<FullModuleName>" 이름을 지정하여 모듈, 시뮬레이션 모듈 또는 주석 상자를 선택합니다.
  • 튜플 (<FullModuleName>, <PortName>) 링크를 선택하려면.

예시

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

선택 내용 지우기#

명령어 구문
선택 내용 지우기 (parent_hierarchy: str)

선택한 요소(모듈, 계층적 상자 노드, 링크, 주석 상자 또는 시뮬레이션 모듈)를 삭제하는 명령입니다.

선택적 매개변수를 사용하십시오 parent_hierarchy 계층 구조의 해당 수준에 있는 모든 요소의 선택을 해제하려면 parent_hierarchy.

만약 사용하지 않는다면 parent_hierarchy, 요소 선택이 전체적으로 해제되며, 명령을 실행한 후에는 설계 내의 어떤 요소도 선택된 상태가 아닙니다.

선택 항목 복사#

명령어 구문
선택 항목 복사 (parent_hierarchy: str)

계층 수준에서 선택한 요소를 복사하는 명령 parent_hierarchy. 선택적 매개변수를 사용하지 않는다면 parent_hierarchy, 현재 활성화된 디자인 창의 계층 구조 수준에서 선택된 요소들이 복사됩니다.

선택 항목 삭제#

명령어 구문
선택 항목 삭제 (parent_hierarchy: str)

계층 수준에서 선택한 요소를 삭제하는 명령 parent_hierarchy. [ ] 아래에서 지정한 계층 구조 수준의 선택된 모듈만 parent_hierarchy 삭제되더라도 다른 레벨에서 선택된 모듈은 그대로 유지됩니다. 선택적 매개변수를 사용하지 않으면 parent_hierarchy, 현재 활성화된 디자인 창의 계층 구조 수준에서 선택된 요소들이 삭제됩니다.

선택 항목 잘라내기#

명령어 구문
선택 항목 잘라내기 (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")

붙여넣기#

명령어 구문
붙여넣기 (parent_hierarchy: str, pos: 튜플[int, int] = (0, 0))

클립보드의 요소를 계층 구조의 해당 레벨에 붙여넣기 위한 명령 parent_hierarchy. (즉, 이전에 복사하거나 잘라낸 요소를 붙여넣는 것).

선택적 매개변수를 사용하지 않는다면 parent_hierarchy, 요소들은 현재 활성화된 디자인 창의 계층 구조 수준에 붙여넣어집니다.

선택적 위치 매개변수 사용 pos 디자인 창에서 삽입된 콘텐츠의 왼쪽 상단 위치를 지정하기 위해.

InsertModulePort#

명령어 구문
InsertModulePort (port: 튜플[str, str], where: InsertPosition|str)

포트 옆에 새 모듈 포트를 삽입하는 명령어 port.

정보

명령어에서 다중성을 지정할 수 있는 포트만 삽입할 수 있습니다. CreateModule.

where 다음과 같은 옵션을 제공합니다:

  • before 또는 above: 새 포트가 매개변수에 지정된 포트 바로 앞에 삽입됩니다. port.
  • after 또는 below: 새 포트가 매개변수에 지정된 포트 바로 뒤에 삽입됩니다. port (기본값).

선택적 매개변수를 사용하지 않는다면 where, 새로운 포트가 port 바로 뒤에 삽입됩니다 port.

RemoveModulePort#

명령어 구문
RemoveModulePort (port: 튜플[str, str])

모듈 포트를 삭제하는 명령어.

예시

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

정보

명령어에서 다중성을 지정할 수 있는 포트만 삭제할 수 있습니다. CreateModule. 특정 종류의 포트는 항상 최소 개수만큼 유지됩니다. 최소 개수 이하로 더 줄이려고 하면 해당 오류 메시지가 표시됩니다. 예: Branch 연산자의 세 번째 출력 포트(포트 이름: O002)는 삭제할 수 있지만, 최소 개수인 두 개의 출력 포트(O001 및 O000)는 삭제할 수 없습니다: RemoveModulePort 명령어

AppendModulePort#

명령어 구문
AppendModulePort (full_hier_box_name: str, direction: PortDirection | str)

계층적 상자에 입력 포트 또는 출력 포트를 추가하는 명령입니다.

방향에 대해 다음과 같은 값을 사용할 수 있습니다:

PortDirection.Input 또는 "Input": 입력 포트가 생성됩니다.

PortDirection.Ouput 또는 "Ouput": 출력 포트가 생성됩니다.

예시

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

이름 변경#

명령어 구문
이름 변경 (full_module_name: str, new_name: str)

모듈 또는 시뮬레이션 박스의 이름을 변경하는 명령어입니다. In 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: 튜플[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])

시뮬레이션 모듈의 속성을 정의하는 명령어.

  • 일반적인 소품 (정수를 value):
  • "PixelAlignmentOffset", "ImageFileSubPixels", "ImageFilePixelBits", "CurrentImage"
  • 일반적인 소품 (부울 값을 value):
  • "ImageFileNormalize" 다음과 같이 설정할 수 있습니다. True또는 False
  • 일반적인 소품 (dict를 사용하여 value):
  • "CropRect": 키가 포함된 딕셔너리를 전달합니다: {"index", "x", "y", "width", "height"} 소스 이미지의 관심 영역(ROI)을 지정하기 위해.

사용법 prop 설정하려는 속성을 식별합니다. 아래에 명시된 형식에 따라 개별 속성을 설정하십시오. 사용 가능한 속성과 해당 값 형식은 다음과 같습니다:

pixelAlignmentOffset BITS

이 매개변수를 사용하여 정수 값으로 정렬 오프셋을 지정합니다. BITS.

imageFileSubPixels NUMBER

이 매개변수를 사용하여 링크 픽셀에 할당되는 파일 픽셀의 수를 정수 값으로 지정합니다. NUMBER.

출처: NUMBER 픽셀들이 하나의 픽셀로 합쳐집니다.

조사: 하나의 픽셀이 다음과 같이 나뉘어집니다. NUMBER 파일 내의 픽셀 수.

imageFilePixelBits bits

이 매개변수를 사용하여 이미지 파일의 비트 폭을 정수 값으로 지정합니다. bits. 허용되는 값은 1, 8, 16입니다.

imageFileNormalize choice

이 속성을 사용하여 시뮬레이션 결과 이미지가 저장되는 방식을 설정할 수 있습니다.

1비트 시뮬레이션 결과를 8비트 파일 형식으로 저장하려면 다음을 설정하십시오. imageFileNormalize 1. 이 맥락에서 “정규화”란 0을 0(검정색)으로, 1을 255(흰색)으로 매핑하는 것을 의미합니다.

다음과 같은 값에 대해 choice 다음과 같은 경우가 있습니다: choice = "1" | "0"

cropRect [imageNr] x y width height

이 속성은 시뮬레이션 소스에서만 사용할 수 있습니다. 이미지 인덱스 지정 [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})

이미지 추가#

명령어 구문
이미지 추가 (full_sim_module_name: str, image_file_name: str|list[str], image_lib: ImageLibrary|str)

시뮬레이션 소스 모듈에 이미지를 추가하는 명령어입니다. 시뮬레이션 소스가 연결된 링크의 커널 요소 수가 1보다 큰 경우, 커널의 요소 수만큼 이미지를 지정해야 합니다.

선택적으로, 사용하고자 하는 이미지 라이브러리를 명시할 수 있습니다 ( image_lib = "Native" | "ImageMagick").

예시

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

이미지 제거#

명령어 구문
이미지 제거 (full_sim_module_name: str, image_index: int = -1)

시뮬레이션에서 하나 또는 모든 이미지를 삭제하는 명령어 출처 모듈. 선택적 매개변수를 사용하십시오 image_index 삭제할 이미지를 지정하려면. 만약 image_index -1로 설정하거나, 사용하지 않는다면 image_index 이 경우, 시뮬레이션 모듈에 있는 모든 이미지가 삭제됩니다.

시뮬레이션#

명령어 구문
시뮬레이션 (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 ( )

시뮬레이션 엔진을 재설정하는 명령어입니다. 이 명령을 실행하면 설계 내의 모든 시뮬레이션 프로브가 지워집니다.

GetSimModuleProperty#

명령어 구문
GetSimModuleProperty (full_sim_module_name: str, prop: SimModuleProperty|str , image_index: int = -1) → 다양함

시뮬레이션 모듈의 속성을 가져오는 명령어입니다. 반환 유형은 쿼리된 속성에 따라 다릅니다. 다음과 같은 속성을 사용할 수 있습니다:

  • 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: 이미지 파일의 비트 폭 설정을 정수 값으로 반환합니다. 가능한 값은 1, 8, 16입니다.
  • ImageFileNormalize → bool: 반환값 True 또는 False 시뮬레이션 결과 이미지 저장 설정에 따라 다릅니다. 1로 설정된 경우, 1비트 시뮬레이션 결과를 8비트 * 파일로 저장하는 동안 format: 0은 0(검정)으로, 1은 255(흰색)으로 매핑되며, 즉 시뮬레이션 이미지의 형식이 “정규화”됩니다.
  • CropRect → {...} {"x","y","width","height"}: 이 속성은 시뮬레이션 소스에만 적용됩니다. 매개변수 image_index 필수 항목입니다. 자르기 사각형을 키가 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])

메모리 내의 시뮬레이션 모듈(소스 또는 프로브)에서 이미지의 한 픽셀 또는 인접한 여러 픽셀을 덮어쓰는 명령어입니다. 이 명령어는 시뮬레이션을 실행하거나 저장하기 전에 테스트 내용을 수정할 때 유용합니다.

다음 명령어를 사용할 수 있습니다:

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

이미지의 변경 내용은 일시적입니다. 동일한 시뮬레이션 모듈의 다른 이미지를 선택하거나 변경된 이미지를 다시 선택하면, 변경된 이미지가 하드 디스크에서 새로 불러오며 변경 내용은 모두 취소됩니다. 새 이미지에 대한 명령을 입력하면 다른 이미지가 선택됩니다. image_index (동일한 시뮬레이션 모듈의) Python 콘솔에서, 또는 VisualApplets GUI의 뷰어에서 동일한 시뮬레이션 모듈의 다른 이미지를 클릭하면.

하지만, 수정된 이미지가 활성 상태인 동안에는 새로운 파일 이름으로 저장하여 수정을 영구적으로 적용할 수 있습니다.

시뮬레이션에는 휘발성 변경 이미지가 사용될 수 있습니다. 단, 동일한 SimSource 모듈 내에서 변경된 상태로 시뮬레이션에 사용할 수 있는 이미지는 하나뿐입니다. 동일한 SimSource 내에서 다른 이미지를 변경하면 이전에 변경했던 이미지의 픽셀 값이 재설정되기 때문입니다. 시뮬레이션 모듈당 휘발성 변경 이미지가 하나만 있는 한, 시뮬레이션에 원하는 만큼의 휘발성 변경 이미지를 사용할 수 있습니다.

픽셀당 하나의 값: 명령 SetSimImageData 픽셀당 정확히 하나의 값만 기록할 수 있습니다. 따라서 그레이스케일 픽셀의 경우, 다음 작업을 수행해야 합니다. SetSimImageData 이 명령을 한 번만 실행하면 픽셀당 전체 색상 정보를 기록할 수 있습니다. 색상 픽셀의 경우, 픽셀당 세 가지 색상 구성 요소 중 하나만 기록할 수 있습니다. 따라서 색상 픽셀의 세 가지 색상 구성 요소를 모두 변경하려면 다음을 수행해야 합니다. SetSimImageData 명령을 세 번 실행하십시오.

커널을 이용한 이미지 쓰기: 커널이 설정된 이미지에 데이터를 기록할 때, 해당 명령어를 사용할 때는 어떤 픽셀의 커널 요소를 덮어쓸지 지정해야 합니다. SetSimImageData 또한 덮어쓰고 싶은 (첫 번째) 픽셀의 정확한 위치도 지정해야 합니다. 커널의 모든 요소를 덮어쓰려면 다음을 수행해야 합니다. SetSimImageData 명령을 정확히 kernel_row * kernel_col 횟수.

이 명령을 사용하려면:

명령을 실행하기 전에, 변경하려는 이미지가 있는 시뮬레이션 모듈의 이미지 뷰어를 닫으십시오.

index를 사용하여 수정할 이미지를 지정하세요. 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부터 시작합니다. 따라서 요소가 하나뿐인 커널의 경우, 두 값 모두 (kernel_row 및 kernel_col)에서 0:

SetSimImageData 명령어: 커널 열과 행의 개수 계산

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

SetSimImageData 명령어: 4개의 요소 내에서 커널 요소 식별하기

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

SetSimImageData 명령어: 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])

시뮬레이션 모듈(소스 또는 프로브) 내에서 이미지의 인접한 하나 또는 여러 픽셀의 값을 읽기 위한 명령어입니다. 16진수 문자열 목록을 반환합니다.

픽셀당 하나의 값: 명령 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 읽을 커널 요소를 지정하려면.

시뮬레이션 이미지의 커널 크기는 시뮬레이션 모듈이 연결된 링크의 속성에서 확인할 수 있습니다. 커널 크기가 1개 요소보다 큰 링크 앞에는 항상 커널을 지정할 수 있는 연산자 인스턴스가 위치합니다(예를 들어, 연산자 FIRkernelNxM).

커널의 열과 행을 세는 것은 0부터 시작합니다. 따라서 요소가 하나뿐인 커널의 경우, 두 값 모두 0으로 설정하십시오.

GetSimImageData 명령어: 커널 열과 행의 개수 계산

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

GetSimImageData 명령어: 4개의 요소 내에서 커널 요소 식별하기

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

GetSimImageData 명령어: 9개 요소 중 커널 요소 식별

매개변수 사용 component 픽셀에서 읽을 색상 성분을 지정하려면. 그레이스케일 이미지의 경우, 다음을 설정하십시오. component 0으로 설정합니다. 다중 구성 요소 이미지(컬러)의 경우, 컬러 모델 내의 위치를 통해 읽을 구성 요소를 지정하십시오. 예: 다음을 설정하십시오. component RGB 이미지의 적색 성분을 읽으려면 0으로 설정하십시오. component RGB 이미지의 녹색 성분을 읽으려면 1로 설정하거나, component RGB 이미지의 청색 성분을 읽으려면 2로 설정하십시오.

위치 설정 (x,y) 이미지 내에서 읽을 부분의 시작점(첫 번째 픽셀)을 지정합니다.

매개변수를 사용하지 않는다면 Width, 정확히 하나의 픽셀에 해당하는 값이 반환됩니다. 만약 오직 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: 튜플[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) → 다양함

(소스 또는 프로브 모듈 내) 시뮬레이션 이미지의 속성을 가져오는 명령어.

  • prop 다음이 될 수 있습니다:
  • "LineWidth": 줄 수(lineCount)가 1보다 클 경우, 줄 너비 목록을 반환합니다.
  • "ImageSize": 딕셔너리를 반환합니다 {"Width": <width>, "Height": <height>} where <width> 및 <height> 는 이미지의 너비와 높이를 나타내는 정수입니다.

CreateImageMemory#

명령어 구문
CreateImageMemory (format_dict: dict[LinkParam|str, int|<enum>|str] = None ) → SharedImageMemory

다음 유형의 객체를 통해 액세스할 수 있는 VisualApples 이미지 메모리를 생성하는 명령어 SharedImageMemory.

  • format_dict: 메모리 형식을 지정하며, 이는 링크 형식을 지정하는 것과 동일한 방식의 사전(다음과 같은 키를 사용하여)을 사용합니다. LinkParam.MaxImageWidth, LinkParam.MaxImageHeight, LinkParam.ColorFormat, 등). 생략할 경우 다음의 기본값이 사용됩니다:

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

함수에 전달되는 format_dict 선택 사항입니다. 다음을 호출하여 이미지 메모리를 설정하려면 CopySimImageData, 형식을 지정하지 마십시오. 그러면 시뮬레이션 모듈에서 해당 형식을 재정의합니다.

다음 작업 중 하나가 처음 수행될 때 메모리가 할당됩니다:

  • 콜 오브 CopySimImageData() 시뮬레이션 요소에서 데이터를 복사하기 위해
  • 메서드 호출 data() 다음에서 Python 버퍼 객체를 가져오려면 SharedImageMemory.

이 함수는 다음을 반환합니다. SharedImageMemory 다음과 함께 사용할 수 있는 객체 CopySimImageData.

반환된 SharedImageMemory 이 객체는 다음과 같은 클래스 메서드를 제공합니다:

  • data(): 다음을 얻습니다. memoryview 복사 없이 파이썬 버퍼 프로토콜을 통해 메모리 액세스를 제공하는 객체입니다.
  • 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 버퍼. 기본적으로 데이터는 시뮬레이션 모듈에서 이미지 메모리로 복사됩니다.

  • 만약 copy_to_sim_module=False (기본값), 데이터는 시뮬레이션 모듈에서 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

이미지 저장#

명령어 구문
이미지 저장 (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

…

예 2:

다음과 같이 입력합니다.

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

다음 파일을 얻으려면:

C:/images/testimage.tif

디자인 구축하기#

Drc#

명령어 구문
Drc (save_log_file_name: str = " ")

디자인 규칙 검사(DRC 1)의 첫 번째 단계를 시작하는 명령어입니다.

로그 출력을 받으려면, 선택적으로 save_log_file_name 매개변수.

Drc2#

명령어 구문
Drc2 (save_log_file_name: str = " ")

디자인 규칙 검사(DRC 2)의 두 번째 단계를 시작하는 명령어입니다.

로그 출력을 받으려면, 선택적으로 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

파일, 경로, 프로그램 인스턴스 및 메시지 처리#

출처#

명령어 구문
출처 (file_path: str, encoding: str = utf-8)

현재 환경에서 다른 파이썬 스크립트 파일을 실행하는 명령어입니다. 경로를 지정할 때는 슬래시(/)를 사용하십시오. 이 명령어는 뒤에 오는 자리 표시자(예: command)를 자동으로 대체합니다. 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.

이 명령어는 'command'와 동일한 별칭 이름(자리 표시자)을 자동으로 대체합니다. MakeDirectoryPath.

다음 내용을 인용할 수 있습니다. path 존재하지 않는 디렉터리나 파일로 연결되도록 하여, 결과적인 경로 이름이 존재하지 않는 디렉터리나 파일을 가리키게 합니다.

잠깐만요#

명령어 구문
잠깐만요 (time_in_milli_sec: int)

지정된 시간 동안 대기하는 명령어 time_in_milli_sec. 대기 시간 동안에도 ‘ VisualApplets ’ GUI는 활성화된 상태를 유지합니다.

만약 다음을 설정하면 time_in_milli_sec 0일 경우, VisualApplets 에 의해 GUI의 이벤트 루프 업데이트가 적어도 한 번 수행됩니다. 이를 활용하면 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까지입니다. 현재 및 향후 버전의 VisualAppets와 충돌을 방지하려면 이 범위 내의 값만 사용하십시오.

사용법 text 메시지를 입력하려면 여기를 누르세요. 메시지는 마침표로 자동으로 완성됩니다.

예시

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

FlushConsole#

명령어 구문
FlushConsole ( )

Python의 누적된 출력을 stdout/stderr VisualApplets 콘솔에 즉시 표시됩니다.

종료#

명령어 구문
종료 (discard: bool = False)

현재 VisualApplets 세션을 종료하는 명령어입니다. 다음을 사용할 수 있습니다. Exit 비록 현재 열려 있는 디자인이 있더라도 상관없습니다. 다만, 그 전에 변경 내용을 저장하는 것을 잊지 마세요.

아직 열려 있는 디자인 파일이 있고, 해당 디자인 파일에 저장되지 않은 변경 사항이 포함된 경우:

  • 선택적 매개변수를 설정하면 discard 에서 True, 열려 있는 문서는 아직 저장하지 않은 변경 사항이 포함되어 있더라도 닫히게 됩니다. 저장되지 않은 변경 사항은 모두 삭제됩니다.
  • 선택적 매개변수를 설정하면 discard 에서 False 저장되지 않은 변경 사항이 있는 경우, 명령이 실패합니다.
  • 사용하는 경우 Exit ~를 사용하지 않고 discard 매개변수: 열려 있는 디자인에 저장되지 않은 변경 사항이 포함되어 있는 경우, 명령이 종료되고 이에 상응하는 오류 메시지가 표시됩니다.