이전 섹션에서는 VisualApplets 프로젝트의 데이터 흐름 모델, 레이아웃 및 링크 규칙에 대해 설명했습니다. 본 장에서는 디자인 내 모듈 및 링크의 파라미터 설정을 개괄적으로 다룹니다.
애플리케이션 동작과 대역폭은 디자인에서 사용하는 오퍼레이터뿐만 아니라 모듈 및 링크의 파라미터 설정에도 크게 좌우됩니다. 모듈 Property는 각 모듈의 동작을 정의하는 반면, 링크 Property는 모듈 간의 프로토콜을 설명합니다. 모듈과 링크 Property는 서로 직접적으로 연관되어 있으며 가용성이나 범위에 상호 영향을 미칩니다.
파라미터 설정에 대한 실용적인 지침은 Parameterization 튜토리얼 항목을 참조하십시오.
모듈 Property는 Module Properties 대화상자 또는 Parameter Info 뷰에서 변경할 수 있습니다. Parameter Info 뷰에는 활성 디자인에 있는 모든 오퍼레이터의 모든 파라미터가 표시되므로, 설정된 모든 파라미터를 한눈에 파악하기 좋습니다. Module Properties 대화상자는 파라미터에 대한 보다 자세한 정보를 제공합니다. 두 뷰 모두에서 파라미터를 편집할 수 있지만, 메타데이터 추가는 Module Properties 대화상자에서만 가능합니다.
Parameter Info는 VisualApplets 메인 창 우측 상단의 Information Panel에 있습니다.
시작할 때 Parameter Info가 열리지 않는 경우, 메뉴 바에서 → → 를 선택하여 열 수 있습니다.

Parameter Info 뷰에는 활성 디자인의 모든 파라미터와 해당 오퍼레이터가 표시됩니다. Parameter Info 뷰에서도 파라미터를 편집할 수 있습니다.
Parameter Info 뷰는 파라미터, 파라미터 값 또는 오퍼레이터 이름을 검색할 수 있는 검색 기능을 제공합니다. Runtime Parameter Only 필터를 사용하면 동적 파라미터, 즉 런타임 중에 편집할 수 있는 파라미터만 표시할 수 있습니다.

-
Module Properties 대화상자에 액세스하려면 모듈을 더블 클릭하거나, 모듈을 마우스 우클릭한 후 를 선택하십시오.
Module Properties 대화상자에는 모듈에 필요한 모든 설정이 나열됩니다. 모듈마다 (모듈 생성을 위해 인스턴스화된 오퍼레이터에 따라) 서로 다른 파라미터 세트가 제공된다는 점에 유의하십시오.
다음 그림은 Module Properties 대화상자에서 ImageBuffer 오퍼레이터의 파라미터를 보여줍니다.
Module Properties 창에는 모듈의 사용 가능한 모든 파라미터가 나열됩니다. 이 맥락에서 각 파라미터는 하나의 모듈 Property를 나타냅니다. 파라미터는 다음과 같은 열의 항목으로 표시됩니다.
-
Parameter Name:
파라미터의 이름입니다.
모듈에 파라미터를 추가할 때 (아래 참조), 여기에 새 파라미터의 이름을 입력할 수 있습니다.
-
Parameter Value
파라미터의 실제값입니다.
값을 변경하려면 이 필드를 편집할 수 있습니다.
-
Parameter Unit
파라미터의 단위입니다. 픽셀, 초, 라인 등이 될 수 있습니다.
-
파라미터 타입
여기서 파라미터를 정적(Static) 또는 동적(Dynamic)으로 설정할 수 있습니다. 정적 파라미터는 앱들의 빌드 프로세스 이후에는 변경할 수 없는 반면, 동적 파라미터는 프레임 그래버 하드웨어에서 이미 사용 중인 앱릿의 경우에도 변경할 수 있습니다. 대개 정적 파라미터는 동적 파라미터보다 적은 FPGA 리소스를 필요로 합니다.
-
Parameter Flag
파라미터 플래그는 해당 파라미터가
-
읽기 전용(Read)인지, 아니면
-
읽기 및 쓰기 권한(Write)이 있는지를 나타냅니다.
-
-
Value Type
파라미터 값의 유형입니다. 파라미터 값에는 다음과 같은 네 가지 유형이 있습니다.
-
String
모든 문자열(예: 파일 이름).
-
Values
다양한 유형(부호 없음, 부호 있음, 배정밀도 실수) 및 범위의 값.
-
Enumerations
Disabled 또는 Enabled과 같은 열거형 값 목록.
-
Field Parameters
필드 파라미터는 값의 배열, 목록 또는 행렬로 구성됩니다. 주로 커널 계수, 룩업 테이블 및 기타 목록에 사용됩니다. 값의 범위와 목록의 크기는 동적일 수 있습니다. 표시되는 bit width는 실제 파라미터 범위와 같지 않습니다. 게다가 파라미터는 열에 부호 있는 값으로 선언된 경우에도 항상 부호 없는 값입니다.
-
![]() |
Differences Between Modules |
|---|---|
|
특정 모듈에서 사용할 수 있는 파라미터의 수와 종류는 모듈마다 다릅니다(기반이 되는 오퍼레이터에 따라 다름). 그럼에도 각 모듈은 최소한 Name이라는 이름의 파라미터를 하나 이상 갖습니다. |
![]() |
No Undo option |
|---|---|
|
변경 사항을 취소할 수 없습니다. 모든 변경 사항이 즉시 적용됩니다. |
파라미터를 편집하려면:
-
파라미터 값을 클릭하고 새 값을 입력합니다.
일부 값 유형에는 특별한 편집 옵션이 있습니다:
String: 문자열 파라미터는 새 문자열을 직접 입력하여 편집할 수 있습니다. 일부 문자열 파라미터는 파일 이름 파라미터입니다. 이 경우 파일 선택 대화 상자가 열립니다.
Values: 값을 편집하려면 파라미터 값 옆에 있는 스핀 박스를 사용하여 값을 늘리거나 줄입니다. 파라미터의 step size에 따라 최소 증가/감소 단위가 결정됩니다.
Fields: 필드 파라미터의 경우 파라미터의 모든 필드 요소를 보여주는 편집용 새 창이 열립니다. 다음 그림은 FIRoperatorNxM 오퍼레이터의 필드를 보여줍니다.
모듈의 필드 파라미터 값을 편집하는 방법에는 다음 세 가지가 있습니다.
-
각 필드 요소를 개별적으로 직접 편집할 수 있습니다.
-
또는 파일의 리스트를 사용하여 필드 파라미터 값을 채울 수 있습니다.
-
버튼을 클릭하여 파일을 가져올 수 있습니다.
-
또한 버튼을 클릭하여 현재 필드 파라미터 설정을 파일로 내보낼 수 있습니다.
![[참고]](../common/images/admon/note.png)
가져오기 파일의 파일 형식 -
가져오기 파일에는 ASCII 값 리스트가 포함되어야 합니다.
-
각 값은 별도의 줄에 작성되어야 합니다.
-
줄은 캐리지 리턴(CR)과 라인 피드(LF)로 구분되어야 합니다.
-
파일은 텍스트 전용 형식([NameOfFile].txt)이어야 합니다.
파일에 필드에 있는 것보다 더 많은 값이 포함된 경우, 파일의 처음 값들이 사용됩니다(필드를 채우는 데 필요한 만큼). 파일의 그 이후 값들은 아무런 효과가 없습니다.
파일에 필드에 있는 것보다 더 적은 값이 포함된 경우, 파일의 모든 값이 정확히 한 번씩 사용됩니다. (파일에 값이 없는) 필드의 마지막 위치는 변경되지 않은 상태로 유지됩니다.
-
-
필드 요소를 편집하는 세 번째 방법은 Parameter function 대화상자를 사용하는 것입니다.
-
을 클릭하여 함수 대화상자를 엽니다(다음 그림 참조).
이 대화상자를 사용하여 선형 함수로 요소를 편집할 수 있습니다. 선형 함수는 a = 기울기, b = 오프셋, x = 필드 요소의 인덱스로 구성됩니다. 대화상자에서 a와 b를 편집할 수 있습니다.
-
a와 b의 값을 입력합니다.
필드의 첫 번째 요소는 인덱스 0을 가집니다. 행렬 요소의 경우, 요소들은 행 단위로 연속적으로 번호가 매겨집니다.
-
-
파라미터가 편집된 후에는 적용해야 합니다.
-
설정을 적용하려면 Module properties 창에서 를 클릭하십시오.
새 파라미터 값이 허용되는 파라미터 값 범위를 벗어나면 폐기됩니다.
![]() |
창을 닫기 전에 를 클릭하십시오. |
|---|---|
|
파라미터를 닫기 전에 Apply를 클릭하는 것이 좋습니다. 이렇게 하면 입력한 값이 허용되지 않는 경우 경고를 확인할 수 있습니다. |
-
를 클릭하여 Module properties 창을 닫습니다.
Parameters 라이브러리의 대부분의 연산자는 특정 파라미터에 대한 자동 완성 및 구문 강조 기능을 제공합니다. 다음 연산자의 다음 파라미터에서 자동 완성을 사용할 수 있습니다.
| Operators | Parameters | Activation |
|---|---|---|
| EnumParamTranslator |
WriteAction, ReadAction |
“${” 입력 |
|
DisplayHierarchy |
TAB 키 |
|
| FloatParamTranslator |
WriteAction, ReadAction |
“${” 입력 |
|
DisplayHierarchy |
TAB 키 |
|
| IntParamTranslator |
WriteAction, ReadAction |
“${” 입력 |
|
DisplayHierarchy |
TAB 키 |
|
| LinkParamTranslator |
WriteAction |
“${” 입력 |
| EnumParamReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| FloatFieldParamReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| FloatParamReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| IntFieldParamReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| IntParamReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| ResourceReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| StringParamReference |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| IntParamSelector |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| FloatParamSelector |
Reference |
TAB 키 |
|
DisplayHierarchy |
TAB 키 |
|
| EnumVariable |
DisplayHierarchy |
TAB 키 |
| FloatVariable |
DisplayHierarchy |
TAB 키 |
| IntVariable |
DisplayHierarchy |
TAB 키 |
표 5. 자동 완성 및 구문 강조 기능 가용성
레퍼런스 연산자에서 자동 완성을 사용하려면 Parameter Value 필드나 Reference 또는 DisplaHierarchy 파라미터를 클릭한 후 TAB 키를 누르세요. 그러면 VisualApplets에서 드롭다운 목록 상자에 유효한 값 선택 항목이 표시됩니다.
점 3개 버튼을 클릭하면
옆에 있는 Parameter Value 필드, 그
Enter data for <operator>/<parameter> 대화 상자가 열립니다. 이 대화 상자에서는 구문 강조 기능이 적용된 데이터를 확인할 수 있으며 자동 완성 기능을 계속해서 사용할 수 있습니다.
Module Properties에서도 구문 강조 기능이 작동합니다.
To use the autocompletion functionality in the WriteAction and ReadAction parameters of translate operators, type “${” into the Parameter Value field:
구문 강조 표시는 번역기 오퍼레이터의 WriteAction 및 ReadAction 파라미터에서도 작동합니다.
번역 오퍼레이터의 DisplayHierarchy 파라미터에 자동완성을 사용하려면 DisplaHierarchy 파라미터의 Parameter Value 필드를 클릭하고 TAB 키를 누릅니다.
링크 속성이나 다른 속성의 설정에 따라 파라미터의 허용 값 범위가 변경될 수 있습니다. 이 경우 이전 파라미터 값이 유효하지 않은 상태가 될 수 있습니다. 이 경우 현재 설정이 디자인 규칙 검사를 통과하지 못함을 나타내기 위해 파라미터가 빨간색으로 표시됩니다. 파라미터 값이 유효한 범위 내에 들어올 때까지 수정해야 합니다.
이전 그림은 유효하지 않은 상태의 파라미터 예시를 보여줍니다. 이 경우 XLength + XOffset이 입력 링크의 파라미터화된 최대 이미지 너비보다 크기 때문에 파라미터 값이 허용된 범위를 벗어납니다.
모듈 간의 각 링크는 링크 속성에 의해 정의됩니다. 링크 속성에 액세스하려면 링크를 더블 클릭하거나 마우스 우클릭 후 Properties를 선택합니다.
각 링크에는 다음과 같은 링크 속성이 있습니다.
-
Bit Width
한 픽셀에 대한 링크의 Bit Width를 정의합니다. 따라서 컬러 링크를 사용하는 경우 Bit Width는 모든 컬러 플레인을 나타냅니다. image protocol VALT_SIGNAL의 경우 Bit Width는 항상 1비트입니다. Bit Width 및 Arithmetic 처리에 대한 실용적인 지침은 Bit Arithmetic 튜토리얼 항목을 참조하십시오.
-
Arithmetic
링크의 Arithmetic입니다. Signed 또는 Unsigned일 수 있습니다. Signed로 설정된 경우 2의 보수 Signed Arithmetic이 사용됩니다. 부호 비트는 속성 bit width에 지정된 비트에 포함됩니다. image protocol VALT_SIGNAL의 경우 Arithmetic은 항상 Unsigned로 설정됩니다.
-
Parallelism
하나의 디자인 클럭 주기 내에 두 모듈 간에 병렬로 전송되는 픽셀 수를 지정합니다. image protocol VALT_SIGNAL의 경우 Parallelism은 항상 1로 설정됩니다. Parallelism에 대한 자세한 정보는 'Bandwidth of an Applet'에서 확인할 수 있습니다.
-
Kernel Columns
커널 열 수를 정의합니다. image protocol VALT_SIGNAL의 경우 커널 열 수는 항상 1로 설정됩니다.
-
Kernel Rows
커널 행 수를 정의합니다. image protocol VALT_SIGNAL의 경우 커널 행 수는 항상 1로 설정됩니다. 디자인에서 커널 작업에 대한 실용적인 지침은 Working with Kernels 튜토리얼 항목을 참조하십시오.
-
Image Protocol
Image Protocol은 링크에서 데이터를 전송하는 데 사용할 프로토콜을 정의합니다. 다음과 같은 프로토콜을 사용할 수 있습니다.
-
VALT_IMAGE2D: 2차원 이미지(예: 영역 스캔 카메라).
-
VALT_LINE1D: 1차원 이미지, 즉 이미지 높이가 제한되지 않은 이미지(예: 라인 스캔 카메라).
-
VALT_PIXEL0D: 이미지 차원 정보가 없는 단순한 픽셀 스트림.
-
VALT_SIGNAL: 모든 클럭 주기에서 유효한 1비트 신호. 트리거 시스템 같은 신호 처리에 사용됩니다.
Image Protocol에 대한 자세한 정보는 'Image Protocols, Image Dimensions and Data Structure'에 나와 있습니다.
-
-
Color Format
Color Format은 VAF_GRAY, VAF_COLOR 또는 VAF_NONE 중 하나일 수 있습니다. image protocol VALT_SIGNAL의 경우 Color Format은 항상 FL_GRAY로 설정됩니다.
-
Color Flavor
Color Format의 flavor를 정의합니다. image protocol VALT_SIGNAL의 경우 color flavor는 항상 FL_GRAY로 설정됩니다.
-
Max. Image Width
링크의 최대 이미지 너비를 정의합니다. 링크로 전송되는 이미지는 이 값을 초과할 수 없지만 값보다 작을 수는 있습니다. Max. Image Width는 Image Protocol이 VALT_PIXEL0D 및 VALT_SIGNAL인 링크에는 영향을 미치지 않습니다. 이러한 이미지 프로토콜의 경우 Max. Image Width는 무시됩니다. 자세한 내용은 'Data Flow ' 및 'Image Protocols, Image Dimensions and Data Structure'에서 확인할 수 있습니다.
-
Max. Image Height
링크의 최대 이미지 높이를 정의합니다. 링크로 전송되는 이미지는 이 값을 초과할 수 없지만 값보다 작을 수는 있습니다. Max. Image Height는 Image Protocol이 VALT_LINE1D, VALT_PIXEL0D 및 VALT_SIGNAL인 링크에는 영향을 미치지 않습니다. 이러한 이미지 프로토콜의 경우 Max. Image Height는 무시됩니다. 자세한 내용은 'Data Flow ' 및 'Image Protocols, Image Dimensions and Data Structure'에서 확인할 수 있습니다.
![]() |
GUI에서의 시각화 |
|---|---|
|
해당 링크 Property를 시각화하기 위해 VisualApplets은 프로그램 창의 툴바에 두 개의 GUI 버튼을 제공합니다:
Display Link Info
![]()
Display Link Throughput
![]()
|
각 모듈은 출력에서 링크 Property의 범위를 자체적으로 정의합니다. 일부 Property는 수정할 수 없으며, 일부 Property는 지정된 범위 내에서만 수정할 수 있고, 다른 Property는 임의로 수정할 수 있습니다. 허용되는 출력 링크 형식에 대한 자세한 설명은 Operator Reference의 해당 오퍼레이터 레퍼런스에 나와 있습니다.
파라미터를 편집하려면 링크 Property 창의 "Value" 열에서 파라미터를 클릭하기만 하면 됩니다.
링크 Property 대화 상자는 세 개의 열로 구성됩니다:
-
Value
이것은 편집 열입니다. 값을 클릭하여 이 열에서 링크 Property 값을 편집하십시오. 편집된 값이 허용되는 파라미터 범위 또는 단계 크기 내에 있지 않으면 편집된 값이 폐기되거나 삽입할 수 없습니다. 필드에서 포커스를 벗어나게 하거나 Enter 키를 눌러 새 값을 확인합니다.
-
Source Port
Value 열에 새 값이 입력되고 확인된 후, 소스 오퍼레이터는 새 값이 수락되는지 확인합니다. 새 값이 수락되지 않으면 링크 Property 충돌을 나타내기 위해 파라미터와 링크가 빨간색으로 표시됩니다. 따라서 소스 포트 열의 링크 Property가 빨간색으로 염색된 경우 소스 오퍼레이터가 해당 설정을 허용하지 않는 것입니다. 이 열의 값은 수정할 수 없습니다!
-
Destination Port
또는 또는 를 클릭하거나 Esc를 누르면 링크에 대한 새 설정이 적용됩니다. 대상 오퍼레이터 입력 포트에서 새 설정이 수락되지 않으면 충돌을 나타내기 위해 링크와 대상 포트 열의 파라미터가 빨간색으로 표시됩니다. 이 열의 값은 수정할 수 없습니다!
링크 Property를 변경하면 다른 링크 Property나 모듈 파라미터 값이 변경될 수 있습니다. 변경 사항을 취소할 수는 없습니다. 각 변경 사항은 즉시 적용됩니다.
몇 가지 예를 살펴보겠습니다. 다음 그림은 소스 포트에서의 충돌을 보여줍니다. 이 경우 CastParallel 오퍼레이터인 소스 오퍼레이터는 bit width로 인해 출력에서 3의 Parallelism을 수락하지 않습니다. 출력 Parallelism이 4, 2 또는 1로 변경되면 충돌이 해결됩니다.
스크린샷 그림 84, '잘못된 대상 포트 링크 Property'는 대상 포트에서의 충돌을 보여줍니다. 이 경우 DmaToPC 오퍼레이터인 대상 오퍼레이터는 이 Parallelism 및 bit width의 RGB 이미지를 수락하지 않습니다. Parallelism이 4 또는 5로 줄어들면 충돌이 해결됩니다.
링크 Property는 operator에 의해 정의됩니다. 일부 link Property는 operator 출력 링크에서 직접 변경할 수 있는 반면, 다른 Property는 고정되어 있거나 operator 파라미터에 의해 정의됩니다. 또한 대부분의 operator는 입력 link Property 외에도 자체 link Property를 정의합니다. 이로 인해 여러 모듈을 거치는 link Property 수정 체인이 발생할 수 있습니다. 따라서 link Property가 변경되면 후속 모듈의 파라미터와 link Property도 변경될 수 있습니다.
이 전파 체인은 다음과 같은 세 가지 결과를 초래할 수 있습니다:
-
수정이 모든 후속 모듈 및 링크에서 수락되었습니다. VisualApplets는 수정된 link Property에 대해 사용자에게 알리기 위해 변경된 모든 링크를 녹색으로 표시합니다.
-
일부 모듈의 링크에서 링크 수정이 수락되지 않았습니다. 이 경우 링크에서 오류를 확인하십시오. 허용되는 링크 형식에 대해 알아보려면 소스 또는 목적지 operator의 설명서를 읽어보십시오.
-
수정으로 인해 모듈 파라미터와 충돌이 발생합니다. 이 경우 해당 모듈 파라미터와 함께 모듈이 빨간색으로 표시됩니다. 충돌을 해결하려면 링크 및 파라미터 종속성에 대한 operator 레퍼런스를 확인하십시오.




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


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








![[팁]](../common/images/admon/tip.png)






이전

