Operator Register

Operator Library: Accumulator

Register 是一個資料儲存元件。 當 Capture 輸入設定為 1 時,輸入像素會被儲存並轉發至輸出。 如果 Capture 設定為 0,則會保留先前儲存的值。

可以在行結尾、影格結尾或永不重設時,將 Register 重設為初始值。 此行為透過參數 AutoClear 來控制。 可以使用參數 Init 定義初始值。 此初始值會在啟動時套用。

Register 運算子常用於儲存中間結果。

[備註] 資源消耗

此運算子的 FPGA 資源消耗會隨著 Parallelism 大幅增加。 建議在此運算子中使用較低的 Parallelism。

在此運算子的許多使用情境中, 可以透過在此運算子之前使用 運算子 SelectFromParallel 來選擇最後一個並行元件,以降低 Parallelism。

I/O Properties

Property Value
Operator Type O
輸入連結 I, Image Input
Capture, 用於控制 Register 的二進位輸入
Output Link O, Data Output

支援的 Link 格式

Link Parameter Input Link I Input Link Capture Output Link O
Bit Width [1, 64]1 1 as I
Arithmetic {unsigned, signed} unsigned as I
Parallelism any as I 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 as I
Color Format any VAF_GRAY as I
Color Flavor any FG_NONE as I
Max. Img Width any as I as I
Max. Img Height any as I as I

1

輸入 Bit Width 的範圍是 [1, 64]。 對於帶號輸入,範圍是 [2, 64]。 對於不帶號彩色輸入,範圍是 [3, 63],對於帶號彩色,範圍是 [6, 63]。

參數

AutoClear
Type static parameter
Default EoL
Range {EoL, EoF, None}

此參數用於選擇是否在行結尾 (EoL)、影格結尾 (EoF) 或 永不 (None) 時將 Register 重設為初始值。

如果使用影像協定 VALT_LINE1D,則無法在影格結尾處進行自動清除。 對於 VALT_PIXEL0D 或 VALT_SIGNAL,此參數會被停用。

Init
Type static parameter
Default 0
Range [0, 2^InputBitWidth-1]

此參數定義了 Register 運算子在設計啟動時、設計重設後 或自動清除事件後的初始化值。 最小值为 0。 最大值可以從輸入端的像素 Bit Width 推導得出。 目前無法編輯帶符號的值。若要將參數設定為帶符號的值,請輸入不帶符號的二補數 表示法。 對於色彩和其他多元件格式,參數 Init 定義了所有元件的初始化值, 亦即所有元件將會以相同的值進行初始化。

使用範例

以下範例展示了 Register 運算子的使用方式:

  • 「Blob2D ROI 選擇」

    範例 - 將 blob 分析運算子套用至輸入相機影像。 此 applet 顯示了 applet 中 blob 資料的使用方式。 在此情況下,會定位出具有最大面積的物件,並使用其座標從原始影像中裁切出該物件。