Operator Generate

Operator Library: Signal

該運算器在其輸出端產生週期性訊號。 此外,脈衝的產生可透過輸入訊號進行控制。 週期時間及待產生的脈衝數量均可透過參數進行設定。

週期是透過參數Period 來定義的。 該週期是動態的。 其範圍由參數PeriodBits 定義。 下圖顯示了週期長度分別為八和四的脈衝產生過程。

對「週期」參數所做的變更,僅會在 當前週期的生成完成後,才會套用至運算子。 這可確保週期僅以參數化長度為準。

脈衝的產生時間可以設定在週期的末端,也可以設定在週期的起始處,這由 參數PulsePosition 來控制。 下圖顯示了在序列起始處產生脈衝的情況。

透過「閘」輸入連結,可控制週期的產生。 僅當輸入「閘」處於有效狀態(高電平)時,才會產生週期。 Gate輸入端的上升沿會啟動週期產生。 若Gate輸入端出現下降沿,將立即中止週期產生。 在此情況下,目前正在處理的週期可能無法完成。 此外,新的上升沿可能會產生一個短週期。 如下圖波形所示。

參數SequenceLength有助於產生序列。 在前幾張圖中,該參數設定為 0,導致序列長度為無限大。 若將該參數設定為大於 0 的數值,運算子將僅產生參數化週期數量的序列。 在下圖的波形中,序列長度設定為 3,週期設定為 4。 如波形所示,週期生成會在第三個週期後停止。 當Gate輸入端出現新的上升沿時,將啟動新的序列。 若Gate轉為 0,則可中止序列。

在許多應用中,需要由該運算子產生無限序列。 在此情況下,請將參數SequenceLength設為 0,並將運算子 VCC 連接至Gate輸入端。 如此一來,該運算子將在流程開始時(例如:資料擷取開始時)開始產生週期訊號。

週期時間是以「Tick」處於高電平的狀態來計量的。 Tick是一個訊號輸入,可作為預分頻器使用。 每當Tick輸入出現一次高電平,週期時間便會被計數一次。 以下波形顯示了Tick輸入對週期產生行為的影響。 在大多數情況下,不需要使用Tick輸入。在此情況下,請將其連接至運算子 VCC。

「重設」輸入連結用於重設操作器。 當需要取消一段較長的時間段或序列時,此功能便十分實用。 下圖說明了「重設」的功能。

[注意] 請使用「重設」輸入,而非將「週期」設為 0

若將Period設定為 0,則將週期恢復至有效狀態可能需要非常長的時間(2^PeriodBit-1 個時鐘週期)。 因此,建議在此類情況下使用Reset輸入端。

此 operator 不包含在 VisualApplets 功能模擬中。

I/O Properties

Property Value
Operator Type O
Input Links 時鐘,訊號輸入
閘極,訊號輸入
重置,訊號輸入
Output Link O,訊號輸入

Supported Link Format

Link Parameter Input Link Tick 輸入連結閘 Input Link Reset Output Link O
Bit Width 1 1 1 1
Arithmetic 無號數 無號數 無號數 無號數
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 靜態參數
Default 16
Range [1, 64]

編碼「週期」所指定的值所需的位元數。 此參數僅在「週期」參數為動態時才會啟用。

時期
Type static/dynamic 讀寫參數
Default 65535
Range [0, 2^PeriodBits-1](若為動態),[1,2^64-1](若為靜態)

定義所產生脈衝的週期時間。 請勿在以下情況下使用: 若週期設定為 1,該運算子將輸出一個恆定值,且無任何間隙。編碼該值所需的位元數 由 若設定為 0,該運算子將不會輸出任何脈衝。

SequenceBits
Type 靜態參數
Default 16
Range [1, 64]

編碼由Sequence 指定的值所需的位元數。 此參數僅在參數Sequence為動態時才啟用。

序列
Type static/dynamic 讀寫參數
Default 0
Range 若為動態,則為 [1, 2^SequenceBits-1];若為靜態,則為 [1, 2^64-1]

定義序列長度,即針對閘極輸入鏈路上每個脈衝所產生的脈衝數。

脈衝位置
Type 靜態參數
Default 期末
Range {期初, 期末}

輸出脈衝可以出現在每個週期的起始處,也可以出現在每個週期的結束處。

Examples of Use

以下範例展示了 Generate 運算子的用法: