Tcl Export

VisualApplets VisualApplets 디자인을 Tcl 스크립트(*.tcl)로 내보낼 수 있습니다.

You can use the script format for the following purposes:

  • 리비전 제어

  • 버전 자동 비교 ("diff" 생성)

그러나 Tcl 스크립트로 내보내는 과정에서 일부 정보가 손실됩니다. 따라서 설계 파일은 항상 *.va 형식. 이 Tcl 파일은 주 데이터 형식으로 사용하기에 적합하지 않습니다.

[경고] 다음 형식으로 디자인 저장: *.va 형식

다음 명령을 사용하여 *.va VisualApplets 설계의 기본 데이터 형식으로 이 파일 형식을 사용하십시오.

Tcl 스크립트에는 전체 디자인 정보가 포함되어 있지 않습니다.

Tcl로 내보내기

Tcl 스크립트로 내보내는 동안 다음 정보가 손실됩니다.

  • 사용자 라이브러리 요소 인스턴스에서 (주변 설계에 맞게 인스턴스를 조정하기 위해) 수행한 로컬 수정 내용은 손실됩니다. Tcl 스크립트를 VisualApplets 로 다시 가져오면, 해당 인스턴스는 사용자 라이브러리 요소의 새로운 복사본으로 삽입됩니다. 설계 내 인스턴스의 내용은 Tcl에 저장되지 않았습니다.

  • 정보 상자의 내용은 Tcl 형식으로 저장됩니다. 하지만 정보 상자의 서식은 사라집니다.

디자인도 항상 다음 형식으로 저장해야 합니다. *.va 형식도 마찬가지입니다. Tcl 파일은 주 데이터 형식으로 사용하기에 적합하지 않습니다.

디자인을 Tcl 파일로 내보내려면(*.tcl):

  1. 메뉴에서 다음을 선택하세요 '파일' → 내보내기 → ‘디자인을 스크립트로 변환...’을 선택하십시오.

    디자인 내보내기

    그림 175. 디자인 내보내기


  2. 디자인이 포함된 *.tcl 디자인이 포함된 파일을 선택한 다음, []을 클릭하세요. Save.

이제 Tcl 파일을 버전 관리 시스템에 체크인하거나, “diff” 도구를 사용하여 설계의 서로 다른 버전 간의 차이점을 확인할 수 있습니다.

Tcl에서 가져오기

VisualApplets로 *.tcl 디자인 파일을 가져오려면:

  1. 메뉴에서 다음을 선택하세요 '파일' → 가져오기 → 스크립트에서 디자인 불러오기...를 선택하십시오.

    Design 가져오기

    그림 176. 디자인 가져오기


  2. Design이 포함된 *.tcl 디자인이 포함된 파일을 열고, 다음을 선택하십시오. *.tcl 파일.

  3. Open을(를) 클릭합니다.

이제 Design이 VisualApplets에서 열리며,

  • VisualApplets 내에서 Design 편집을 계속하거나,

  • Design 파일을 다음 형식으로 저장할 수 있습니다. *.va 파일.

[경고] 항상 다음을 사용하십시오. *.va File Format as Primary Data Format

VisualApplets Design의 기본 데이터 형식으로 항상 *.va VisualApplets 설계의 기본 데이터 형식으로 이 파일 형식을 사용하십시오.

Tcl 스크립트에는 전체 설계 정보가 포함되어 있지 않으므로, Tcl 스크립트 형식을 주 데이터 형식으로 절대 사용하지 마십시오.

Tcl 가져오기/내보내기 명령어 참조

생성된 Tcl 소스 파일에서는 다음과 같은 VisualApplets 전용 명령어가 사용됩니다.

[중요] 구문

선택적 매개변수: 선택적 매개변수의 표기법은 Wirth 구문 표기법(괄호)을 따릅니다.

매개변수 FullModuleName: 프로세스 수준에서 시작하는 계층적 경로입니다. 각 계층은 슬래시로 구분됩니다.

명령

Parameters

설명

디자인 생성, 로드 및 저장

CreateDesign

이름

플랫폼

하드웨어 플랫폼 “Platform”에 대해 “Name”이라는 이름의 새 설계를 생성하는 명령어입니다. 설계의 대상 플랫폼을 지정하려면 다음 중 하나를 사용할 수 있습니다.

  • 해당 플랫폼의 VisualApplets 라이브러리 이름(예: "mE4VQ4-GE"), 또는

  • 플랫폼의 전체 이름(예: “microEnable IV VQ4-GE ”).

이름에 대문자를 사용하는 것은 영향을 미치지 않습니다.

SetDesignProperty

키 값

이 명령을 사용하여 디자인 속성을 입력하세요. 키로 사용할 수 있는 값은 세 가지가 있습니다:

  • 프로젝트 이름 (프로젝트에 지정할 이름)

  • 버전 (설계 버전)

  • >설명 (프로젝트 설명).

SetDesignClock

NewFrequency

Command for setting the basic clock frequency of the FPGA (in MHz).

디자인 설정하기

CreateProcess

-

새로운 프로세스를 생성합니다

CreateModule

연산자 유형

FullModuleName

[ InPortMultiplicity

[ OutPortMultiplicity

{NamedPortMultiplicity}

] ]

xPos

yPos

연산자(OperatorType)의 인스턴스(Module)를 생성합니다.

디자인 창에서 모듈의 위치는 xPos 및 yPos 매개변수를 통해 정의합니다.

FullModuleName을 사용하면 설계 내에서 모듈의 계층적 위치와 인스턴스화 후의 이름을 정의할 수 있습니다(예: Process0/branch).

선택적으로, InPortMultiplicity 및 OutPortMultiplicity 값 쌍을 사용하여 모듈의 벡터 입력 및 벡터 출력의 다중성을 지정할 수 있습니다.

이 값 쌍을 사용하면, 해당 모듈(연산자의 특정 인스턴스)에 대해 (BRANCH와 같이 포트 번호가 가변인 연산자에서) 포트 수를 정의하게 됩니다.

또한, 개별 벡터 포트의 다중도(NamedPortMultiplicity)를 지정할 수 있습니다. NamedPortMultiplicity는 하나의 명령줄에서 여러 번 사용할 수 있습니다.

형식은 PortGroup:Number입니다.

예시: CreateModule BRANCH Process0/branch 0 0 O:3 100 100

ConnectModules

FromModule

FromModulePort

ToModule

ToModulePort

[ x1 [y2 x3] ]

모듈을 연결하기 위한 명령어입니다. FromModule 및 ToModule의 경우 계층적 이름을 사용하십시오. (설계 내 모듈의 계층적 위치와 실제 모듈 이름이 포함된 이름, 예: Process0/branch).

Nodes within hierarchical boxes are identified via the prefix "INBOUND#" or "OUTBOUND#". Example: "OUTBOUND#O001".

선택적 매개변수 x1, y2 및 x3은 연결 다각형의 형상을 정의하는 데 사용됩니다. (FromModuleOutputPort에서 x1까지의 수평선, y2까지의 수직선, x3까지 이어지는 수평선, ToModulePort의 높이까지 이어지는 수직선, ToModulePort까지 이어지는 수평선).

CreateComment

FullModuleName

텍스트

xPos

yPos

text의 내용에는 유니코드 문자가 포함될 수 있습니다. ASCII에 포함되지 않은 문자를 사용하는 경우, 유니코드를 표현하기 위해 해당 Tcl 구문을 사용하십시오. 예를 들면 다음과 같습니다.

[UTF-8에서 "A-Umlaut: \xc3\x84"로 인코딩 변환]

SetParamInt

FullModuleName

ParameterName

Value

정수 매개변수를 설정하는 명령어.

SetParamFloat

FullModuleName

ParameterName

Value

부동 소수점 매개변수를 설정하는 명령어.

SetParamEnum

FullModuleName

ParameterName

Value

주소가 지정된 열거형 매개변수를 설정하는 명령어입니다. 값은 열거형 값의 문자열입니다.

예: Process0/module1 (SetSignalStatus), "SetParamEnum Process0/module1 Mode High"는 Mode 매개변수를 High로 설정합니다.

SetParamString

FullModuleName

ParameterName

Value

문자열 매개변수를 설정하는 명령어입니다.

SetParamIntField

FullModuleName

ParameterName

Index

값1

{기타값}

Command for setting integer field entries starting with index "Index" for the following values.

SetParamFloatField

FullModuleName

ParameterName

Index

Value

{기타값}

다음 값들에 대해 인덱스 “Index”부터 시작하는 부동 소수점 필드 항목을 설정하는 명령어입니다.

SetParamStatic

FullModuleName

ParameterName

매개변수가 정적일 수도 있고 동적일 수도 있는 경우, 대부분의 경우 해당 매개변수는 기본적으로 동적으로 설정됩니다. 이 명령을 사용하여 해당 매개변수를 정적으로 설정하십시오.

SetParamDynamic

FullModuleName

ParameterName

이 함수를 사용하면 매개변수를 동적으로 설정할 수 있습니다(해당 매개변수가 동적으로 설정될 수 있는 경우에 한함).

SetLinkParam

FullModuleName

PortName

ParameterName

Value

{ 기타 매개변수 이름

OtherParameterValue }

링크를 구성하는 명령어입니다. 연결은 모듈의 연결 노드를 통해 식별됩니다.

SetResourceMapping

FullModuleName

리소스 이름

[목차]

NewMapping

모듈에 대한 리소스 매핑을 변경하는 명령어입니다. 리소스 ResourceName은 새로운 인덱스 NewMapping에 매핑됩니다. 모듈이 동일한 유형의 리소스를 여러 개 할당하는 경우, 선택적 매개변수 Index를 사용하여 리소스를 선택하십시오.

기타 편집 명령어

Move

FullModuleName

[HierNodeName]

PosX

PosY

Command for re-positioning a module, a H-Box node, a comment box, or a simulation module to a new position within the design window.

[HierNodeName] 매개변수는 H-Box 노드를 선택할 때만 사용하십시오. 계층적 박스 내의 노드는 접두사 "INBOUND#" 또는 "OUTBOUND#"(명령어 ConnectModules를 사용할 때와 마찬가지로)을 통해 식별되며, 예를 들어 "INBOUND#I000"과 같습니다.

CreateSimSource

FullSimModuleName

xPos

yPos

지정된 위치에 시뮬레이션 소스를 생성하는 명령입니다.

CreateSimProbe

FullSimModuleName

xPos

yPos

지정된 위치에 시뮬레이션 프로브를 생성하는 명령입니다.

ConnectSimModule

FullSimModuleName

대상 모듈 이름

대상 모듈 포트 이름

[ xPos yPos ]

시뮬레이션 모듈을 링크로 연결하는 명령어입니다. 연결은 지정된 모듈(TargetModuleName)과 포트(TargetModulePortName)를 통해 식별됩니다. TargetModuleName은 FullSimModuleName과 동일한 계층 구조 내에 위치해야 합니다. 선택적으로, xPos 및 yPos 매개변수를 사용하여 링크상의 연결 위치를 정의할 수 있습니다.

SetSimModuleProperty

FullSimModuleName

Key

Value

{OtherValue}

시뮬레이션 모듈을 구성하기 위한 명령어입니다. 다음 매개변수를 설정할 수 있습니다(아래 목록에서 키워드 Key 뒤에는 매개변수 값 Value가 이어집니다):

PixelAlignmentOffset 비트

ImageFileSubPixels 숫자

ImageFilePixelBits BITS

ImageFileNormalize 선택

여기서 CHOICE = "1" | "0" | "yes" | "no" | "on" | "off" | "true" | "false"

CropRect [이미지 번호] X Y 너비 높이

CurrentImage 색인

AddImage

FullSimSourceName

이미지 파일 이름 1

{OtherImageFileName}

[이미지 라이브러리]

시뮬레이션 소스에 이미지를 추가하는 명령어입니다. 링크의 커널 요소 수가 1보다 큰 경우, 링크에 있는 커널 요소 수만큼 이미지를 지정해야 합니다. 선택적으로, 사용할 이미지 라이브러리를 지정할 수 있습니다(ImageLibrary = "Native" | "ImageMagick").

User Libraries

InstUserLibOperator

라이브러리 이름

운영자 이름

FullModuleName

XPos

YPos

사용자 라이브러리 요소를 인스턴스화하는 명령어.

사용자 정의 라이브러리 처리

InstCustomLibOperator

LibName

운영자 이름

FullModuleName

XPos

YPos

사용자 정의 라이브러리 요소를 인스턴스화하는 명령어.

표 13. Tcl에서 VA 설계를 생성하고 편집하기 위한 명령어