Operator ImageValve

Operator Library: Synchronization

此運算子可用作閥門,以控制輸入鏈結的資料流。 訊號輸入 OpenValve 用於控制此閥門。 因此,此運算子可影響 I 與 O 之間像素、行和影格的資料流。 限制最大頻寬是此運算子的主要目的。 廣義而言,此運算子用於封鎖並控制影像處理的速度。 例如,此運算子可結合 CreateBlankImage 使用,以實作具有可控制輸出影格速率的 影像產生器。

如果閥門關閉,VisualApplets 流量控制將封鎖所有傳入的資料。 輸入管線隨後將被封鎖。 若使用的運算子無法停止其處理作業,請確保使用大小足夠的緩衝區。 連接至擷取卡的自由執行相機即為一個範例。 如果運算子的輸出遭到任何後續運算子封鎖,運算子 將會把此封鎖傳遞至輸入。 在此情況下,開啟閥門將不會產生任何影響。 切勿將閥門與閘道混淆。閘道運算子會在關閉時捨棄輸入資料。

此閥門由訊號輸入 OpenValve 以及運算子的參數進行控制。 如果 OpenValve 設定為 1,則根據 Mode 的參數設定,運算子允許通過 SequenceLength 個像素、行或影格。

如果 OpenValve 設定為常數 1,則運算子允許影像資料從輸入鏈結 I 不受封鎖地傳遞至輸出鏈結 O,亦即閥門隨時保持開啟。

如果在運算子的閥門仍處於開啟狀態且正在處理序列時,將第二個脈衝設定至 OpenValve,則該脈衝將被忽略。 如果在目前正在處理序列的同時使用參數 SequenceLength 變更序列長度, 運算子將先完成先前的序列, 並在之後使用新的數值。

由於未模擬時間,VisualApplets 中的高階模擬將直接把所有輸入影像傳遞至輸出。 輸入鏈結 OpenValve 上的任何數值都會被忽略。

I/O Properties

Property Value
Operator Type M
輸入連結 I,資料輸入
OpenValve,控制訊號輸入
Output Link O, data output

支援的 Link 格式

Link Parameter Input Link I 輸入鏈結 OpenValve Output Link O
Bit Width [1, 64]1 1 as I
Arithmetic {unsigned, signed} unsigned as I
Parallelism any 1 as I
Kernel Columns any 1 as I
Kernel Rows any 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} VALT_SIGNAL as I
Color Format any VAF_GRAY as I
Color Flavor any FL_NONE as I
Max. Img Width any any as I
Max. Img Height any any as I

1

無號輸入的 Bit Width 範圍為 [1, 64]。 針對有號輸入,範圍為 [2, 64]。 針對無號彩色輸入,範圍為 [3, 63],而針對有號彩色輸入,範圍為 [6, 63]。

同步與非同步輸入

  • 所有輸入彼此皆為非同步。

參數

模式
Type dynamic/static read/write parameter
Default FRAME
Range {PIXEL, LINE, FRAME}

設定運算子的模式。 根據此參數,閥門會開啟 SequenceLength 個像素、行或影格。

模式 LINE 和 FRAME 的可用性取決於輸入鏈結 I 的影像協定。

SequenceLengthBits
Type static parameter
Default 10
Range [1, 64]

設定用於表示序列長度的位元數。

此參數僅在參數 SequenceLength 設定為動態 (dynamic) 時才會啟動。

SequenceLength
Type dynamic/static read/write parameter
Default 1
Range dynamic: [1, 2^SequenceLengthBits - 1], static: [1, 2^64 - 1]

設定序列的長度。 若運算子處於開啟狀態,運算子將根據參數 Mode 輸出指定數量的像素、 行或影格。

如果 Mode 設定為 PIXEL,該數值必須能被 parallelism 整除。

ImplementationType
Type 靜態寫入參數
Default AUTO
Range (AUTO, EmbeddedALU, LUT)

參數 ImplementationType 會影響運算子的實作策略,亦即 使用哪些邏輯元件來實作運算子。

您可以選擇以下其中一個值:

AUTO: 當具現化運算子時,系統會根據參數 SequenceLengthBits 自動選擇最佳的實作策略。

EmbeddedALU:此運算子使用 FPGA 中非基於 LUT 的內嵌算術邏輯元素。

LUT:此運算子使用 FPGA 的 LUT 邏輯。

[備註] 一般情況下請使用 AUTO

通常此參數應設定為 AUTO。 在特殊情況下,亦即如果設計中的某種 FPGA 資源短缺, 您可以使用數值 EmbeddedALU 或 LUT 手動影響 FPGA 資源管理。 如果您的設計有時序問題,請使用 LUT 來改善時序。

使用範例

以下範例顯示了 ImageValve 運算子的使用方式:

  • 「Hardware Test」

    用於 DMA、RAM、GPIO、Trigger 和 LED 的硬體自我測試範例。

  • 'Image Flow Control'

    範例 - 用於偵錯硬體中設計的內部資料流控制以及可能的補償。