Operator Generate

Operator Library: Signal

이 오퍼레이터는 출력에서 Periodic Signal을 생성합니다. 또한 펄스 생성은 입력 신호를 통해 제어할 수 있습니다. 주기 시간과 생성할 펄스 수는 매개변수를 사용하여 정의할 수 있습니다.

주기는 Period 매개변수를 사용하여 정의됩니다. 주기는 동적입니다. 해당 범위는 PeriodBits 매개변수에 의해 정의됩니다. 다음 그림에서는 길이 8과 4의 주기를 가진 펄스 생성을 보여줍니다.

Period 매개변수의 변경 사항은 현재 주기의 생성이 완료된 경우에만 오퍼레이터에 적용됩니다. 이를 통해 매개변수로 설정된 길이의 주기만 보장됩니다.

펄스 생성은 PulsePosition 매개변수를 사용하여 제어되는 바와 같이 주기의 끝 또는 시작 부분에서 수행될 수 있습니다. 다음 그림은 시퀀스 시작 부분에서의 생성을 보여줍니다.

Gate 입력 링크를 사용하여 생성을 제어할 수 있습니다. 주기는 Gate 입력이 활성화(High)된 경우에만 생성됩니다. Gate 입력의 상승 에지는 주기 생성을 시작합니다. Gate 입력 링크의 하강 에지는 즉시 생성을 중단합니다. 이 경우 현재 처리 중인 주기가 완료되지 않을 수 있습니다. 또한 새로운 상승 에지로 인해 짧은 주기가 발생할 수 있습니다. 이는 다음 파형에 나와 있습니다.

SequenceLength 매개변수는 시퀀스 생성을 용이하게 합니다. 이전 그림에서 이 매개변수는 0으로 설정되어 무한 시퀀스 길이를 초래했습니다. 매개변수를 0보다 큰 값으로 설정하면 오퍼레이터는 매개변수로 설정된 수의 주기만 생성합니다. 다음 파형에서는 시퀀스 길이가 3으로 설정되어 있고 주기는 4로 설정되어 있습니다. 파형에서 볼 수 있듯이 세 번째 주기 후에 주기 생성이 중단됩니다. Gate 입력의 새로운 상승 에지는 새 시퀀스를 시작합니다. Gate가 0이 되면 시퀀스가 중단될 수 있습니다.

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

주기 시간은 Ticks가 High 상태인 동안 측정됩니다. Tick은 신호 입력이며 프리세스케러처럼 사용할 수 있습니다. Tick 입력의 모든 High 값에 대해 주기 시간이 카운트됩니다. 다음 파형은 주기 생성에 대한 Tick 입력의 동작을 보여줍니다. 대부분의 경우 Tick 입력은 필요하지 않습니다. 이 경우 오퍼레이터 VCC에 연결하십시오.

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

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

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

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

I/O Properties

Property Value
Operator Type O
Input Links Tick, signal input
Gate, signal input
Reset, signal input
Output Link O, signal input

Supported Link Format

Link Parameter Input Link Tick Input Link Gate 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 as Gate
Max. Img Height any any any as Gate

Parameters

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

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

Sequence
Type static/dynamic 읽기/쓰기 매개변수
Default 0
Range dynamic인 경우 [1, 2^SequenceBits-1], static인 경우 [1, 2^64-1]

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

PulsePosition
Type static parameter
Default AtPeriodEnd
Range {AtPeriodStart, AtPeriodEnd}

출력 펄스는 각 주기의 시작점 또는 종료점에 위치할 수 있습니다.

사용 예제

Generate operator의 사용법은 다음 예시와 같습니다: