연산자 생성

Operator Library: Signal

이 연산자는 출력에서 주기적인 신호를 생성합니다. 또한, 입력 신호를 통해 펄스 생성을 제어할 수 있습니다. 주기 시간과 생성될 펄스의 개수는 매개변수를 사용하여 정의할 수 있습니다.

주기는 Period 매개변수를 사용하여 정의됩니다. 주기는 동적입니다. 주기의 범위는 PeriodBits 매개변수로 정의됩니다. 다음 그림에서는 주기가 8과 4인 펄스의 생성이 표시되어 있습니다.

‘기간’ 매개변수의 변경 사항은 현재 기간의 생성이 완료된 후에야 연산자에 적용됩니다. 이를 통해 매개변수로 지정된 기간 길이 내에서만 기간이 보장됩니다.

펄스 생성은 주기의 끝에서 이루어질 수도 있고, 시작에서 이루어질 수도 있으며, 이는 PulsePosition 매개변수를 사용하여 제어됩니다. 다음 그림은 시퀀스 시작 시점에서의 펄스 생성을 보여줍니다.

게이트 입력 링크를 사용하여 생성을 제어할 수 있습니다. 입력 게이트가 활성 상태(High)일 때만 주기가 생성됩니다. 게이트 입력의 상승 에지가 나타나면 주기 생성이 시작됩니다. 게이트 입력 링크에서 하강 에지가 나타나면 생성이 즉시 중단됩니다. 이 경우 현재 처리 중인 주기가 완료되지 않을 수 있습니다. 또한, 새로운 상승 에지가 나타나면 짧은 주기가 생성될 수 있습니다. 이는 다음 파형에서 확인할 수 있습니다.

SequenceLength 매개변수는 시퀀스 생성을 용이하게 합니다. 앞서 살펴본 그림들에서 이 매개변수는 0으로 설정되어 있어 시퀀스 길이가 무한대가 되었습니다. 이 매개변수를 0보다 큰 값으로 설정하면, 연산자는 매개변수로 지정된 주기 수만큼만 시퀀스를 생성합니다. 다음 파형에서는 시퀀스 길이를 3으로, 주기를 4로 설정했습니다. 파형에서 볼 수 있듯이, 세 번째 주기가 끝난 후 주기 생성이 중단됩니다. Gate 입력에 새로운 상승 에지가 발생하면 새로운 시퀀스가 시작됩니다. Gate가 0으로 전환되면 시퀀스를 중단할 수 있습니다.

많은 응용 분야에서 연산자의 무한 시퀀스 생성이 필요합니다. 이 경우, SequenceLength 매개변수를 0으로 설정하고 연산자 VCC를 Gate 입력에 연결하십시오. 그러면 연산자는 프로세스 시작(예: 데이터 수집 시작) 시점에 주기 생성을 시작합니다.

주기 시간은 ‘Tick’이 ‘High’ 상태인 시간으로 측정됩니다. ‘Tick’은 신호 입력으로, 프리스케일러처럼 사용할 수 있습니다. ‘Tick’ 입력에서 ‘High’ 값이 나타날 때마다 주기 시간이 카운트됩니다. 다음 파형은 주기 생성에 대한 틱 입력의 동작을 보여줍니다. 대부분의 경우 틱 입력은 필요하지 않습니다. 이 경우 틱 입력을 연산자 VCC에 연결하십시오.

리셋 입력 링크는 오퍼레이터를 리셋하는 데 사용됩니다. 이는 긴 기간이나 시퀀스를 취소해야 할 때 유용합니다. 다음 그림에서는 리셋 기능의 사용 방법을 보여줍니다.

[참고] ‘Period’를 0으로 설정하는 대신 ‘Reset’ 입력을 사용하십시오.

Period가 0으로 설정된 경우, 주기를 다시 활성 상태로 전환하는 데 매우 오랜 시간(2^PeriodBit-1 클럭 사이클)이 소요될 수 있습니다. 따라서 이러한 경우에는 Reset 입력을 사용하는 것이 좋습니다.

이 operator는 VisualApplets 기능 시뮬레이션에서 제외됩니다.

I/O Properties

Property Value
Operator Type O
Input Links 틱, 신호 입력
게이트, 신호 입력
리셋, 신호 입력
출력 링크 O, 신호 입력

지원되는 Link Format

Link Parameter Input Link Tick 입력 링크 게이트 Input Link Reset Output Link O
Bit Width 1 1 1 1
Arithmetic unsigned unsigned unsigned unsigned
Parallelism 1 1 1 1
Kernel Columns 1 1 1 1
Kernel Rows 1 1 1 1
Img Protocol VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL
Color Format VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width any any any Gate로서
Max. Img Height any any any Gate로서

Parameters

PeriodBits
Type static parameter
Default 16
Range [1, 64]

Period로 지정된 값을 인코딩하는 데 필요한 비트 수. 이 매개변수는 Period 매개변수가 동적인 경우에만 활성화됩니다.

기간
Type static/dynamic 읽기/쓰기 파라미터
Default 65535
Range 동적일 경우 [0, 2^PeriodBits-1], 정적일 경우 [1, 2^64-1]

생성된 펄스의 주기를 정의합니다. 다음과 같은 경우에는 사용하지 마십시오: 주기를 1로 설정하면, 연산자는 간격 없이 일정한 1을 출력합니다. 지정된 값을 인코딩하는 데 필요한 비트 수 0으로 설정하면, 연산자는 펄스를 출력하지 않습니다.

SequenceBits
Type static parameter
Default 16
Range [1, 64]

Sequence에 지정된 값을 인코딩하는 데 필요한 비트 수입니다. 이 매개변수는 Sequence 매개변수가 동적인 경우에만 활성화됩니다.

순서
Type static/dynamic 읽기/쓰기 파라미터
Default 0
Range 동적일 경우 [1, 2^SequenceBits-1], 정적일 경우 [1, 2^64-1]

시퀀스 길이, 즉 게이트 입력 링크의 각 펄스에 대해 생성되는 펄스의 수를 정의합니다.

펄스 위치
Type static parameter
Default 기간 종료 시
Range {기간 시작 시, 기간 종료 시}

출력 펄스는 각 주기의 시작 시점이나 끝 시점에 발생할 수 있습니다.

사용 예

다음 예제에서는 Generate 연산자의 사용법을 보여줍니다: