VisualApplets VisualApplets 디자인을 Tcl 스크립트(*.tcl)로 내보낼 수 있습니다.
You can use the script format for the following purposes:
-
리비전 제어
-
버전 자동 비교 ("diff" 생성)
그러나 Tcl 스크립트로 내보내는 과정에서 일부 정보가 손실됩니다.
따라서 설계 파일은 항상 *.va 형식.
이 Tcl 파일은 주 데이터 형식으로 사용하기에 적합하지 않습니다.
![]() |
다음 형식으로 디자인 저장: *.va 형식
|
|---|---|
|
다음 명령을 사용하여 Tcl 스크립트에는 전체 디자인 정보가 포함되어 있지 않습니다. |
Tcl 스크립트로 내보내는 동안 다음 정보가 손실됩니다.
-
사용자 라이브러리 요소 인스턴스에서 (주변 설계에 맞게 인스턴스를 조정하기 위해) 수행한 로컬 수정 내용은 손실됩니다. Tcl 스크립트를 VisualApplets 로 다시 가져오면, 해당 인스턴스는 사용자 라이브러리 요소의 새로운 복사본으로 삽입됩니다. 설계 내 인스턴스의 내용은 Tcl에 저장되지 않았습니다.
-
정보 상자의 내용은 Tcl 형식으로 저장됩니다. 하지만 정보 상자의 서식은 사라집니다.
디자인도 항상 다음 형식으로 저장해야 합니다. *.va 형식도 마찬가지입니다.
Tcl 파일은 주 데이터 형식으로 사용하기에 적합하지 않습니다.
디자인을 Tcl 파일로 내보내려면(*.tcl):
이제 Tcl 파일을 버전 관리 시스템에 체크인하거나, “diff” 도구를 사용하여 설계의 서로 다른 버전 간의 차이점을 확인할 수 있습니다.
VisualApplets로 *.tcl 디자인 파일을 가져오려면:
-
메뉴에서 다음을 선택하세요 → → 선택하십시오.
-
Design이 포함된
*.tcl디자인이 포함된 파일을 열고, 다음을 선택하십시오. *.tcl 파일. -
Open을(를) 클릭합니다.
이제 Design이 VisualApplets에서 열리며,
-
VisualApplets 내에서 Design 편집을 계속하거나,
-
Design 파일을 다음 형식으로 저장할 수 있습니다.
*.va파일.
![]() |
항상 다음을 사용하십시오. *.va File Format as Primary Data Format
|
|---|---|
|
VisualApplets Design의 기본 데이터 형식으로 항상 Tcl 스크립트에는 전체 설계 정보가 포함되어 있지 않으므로, Tcl 스크립트 형식을 주 데이터 형식으로 절대 사용하지 마십시오. |
생성된 Tcl 소스 파일에서는 다음과 같은 VisualApplets 전용 명령어가 사용됩니다.
![]() |
구문 |
|---|---|
|
선택적 매개변수: 선택적 매개변수의 표기법은 Wirth 구문 표기법(괄호)을 따릅니다. 매개변수 FullModuleName: 프로세스 수준에서 시작하는 계층적 경로입니다. 각 계층은 슬래시로 구분됩니다. |
|
명령 |
Parameters |
설명 |
|---|---|---|
|
디자인 생성, 로드 및 저장 |
||
|
CreateDesign |
이름 플랫폼 |
하드웨어 플랫폼 “Platform”에 대해 “Name”이라는 이름의 새 설계를 생성하는 명령어입니다. 설계의 대상 플랫폼을 지정하려면 다음 중 하나를 사용할 수 있습니다.
이름에 대문자를 사용하는 것은 영향을 미치지 않습니다. |
|
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 설계를 생성하고 편집하기 위한 명령어

![[경고]](../common/images/admon/warning.png)


![[중요]](../common/images/admon/important.png)
이전

