Operator ImageFifo

Operator Library: Memory

此運算子可用於在基於 FPGA 的記憶體中緩衝少量的像素。 此運算子不需要類型為 RAM 的 VisualApplets 資源。 取而代之的是,該運算子使用 FPGA 內部記憶體。 這可以是 FPGA 內部塊 RAM、FPGA 分布式 RAM (LUT RAM) 或 UltraRAM 記憶體(URAM 僅適用於 imaFlex CXP-12 Quad 與 imaFlex CXP-12 Penta 平台)。要使用哪一種,可以透過參數 ImplementationType 手動設定,或由運算子根據運算子的組態自動選擇。

ImageFifo 運算子通常用於在同步之前緩衝行或像素。 由於 FPGA 內部記憶體有限,因此在不超出可用資源的情況下緩衝全解析度畫格的可能性很小。

有關 operator 延遲的資訊,請參閱 表 46「Library Memory 中各 operator 的個別延遲」。

參數 EntitiesToStore 與 EntityType 定義了最大可用緩衝區大小。 此運算子是一個先進先出記憶體 (FIFO)。 任何輸入資料都會立即轉發到輸出端。 然而,如果輸出遭到阻塞(例如因為後續運算子無法處理輸入頻寬),運算子將會儲存資料。 因此,只有在運算子無法輸出資料時,才會填滿記憶體。

為了測量緩衝區的 Fill 程度,運算子提供了參數 FillLevel。 FillLevel 顯示 Fifo 的 Fill 百分比。

參數 InfiniteSource 用於指定運算子是直接連接到相機,還是與其他記憶體運算子串聯。 如果停用了 InfiniteSource,運算子將不會進入溢位狀態。 請參閱 'Infinite Sources / Connecting Cameras' 以取得更多資訊。

參數 ImplementationType 允許指定運算子要使用的硬體記憶體。

I/O Properties

Property Value
Operator Type M
Input Link I,影像資料輸入
Output Link O, data output

支援的 Link 格式

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

1

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

參數

EntitiesToStore
Type static parameter
Default 1
Range any

此參數定義最多必須儲存多少個像素、行或畫格。 實體類型是使用參數 EntityType 來定義的。

EntityType
Type static parameter
Default FRAME
Range {FRAME, LINE, PIXEL}

此參數定義要儲存的實體類型。 該參數可以緩衝 EntitiesToStore 個 EntityType 單位。

只有當輸入連結影像協定為 VALT_IMAGE2D 時,才能選擇 FRAME。 LINE 可用於協定 VALT_LINE2D 與 VALT_LINE1D,而 PIXEL 則始終啟用。

ImplementationType
Type 靜態寫入參數
Default AUTO
Range (AUTO, BRAM, LUTRAM, URAM)

參數 ImplementationType 會影響運算子的實作策略, 即用於實作運算子的記憶體元素。

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

AUTO: 根據所連接連結的參數化, 自動選擇最佳的實作策略。

BRAM: Operator 使用 FPGA 的 Block RAM。

LUTRAM: Operator 使用 FPGA 的 LUT RAM。

URAM: 運算子使用 FPGA 的 UltraRAM。

[備註] URAM 的可用性

ImplementationType 參數的 URAM 值 僅適用於 imaFlex CXP-12 Quad 與 imaFlex CXP-12 Penta 平台。

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

通常,該參數應設定為 AUTO。在特殊情況下,亦即當設計中的某種 FPGA 資源短缺時, 您可以使用值 BRAM、LUTRAM 或 URAM 手動影響 FPGA 資源管理 (URAM 僅適用於 imaFlex CXP-12 Quad 與 imaFlex CXP-12 Penta 平台)。

AUTO 僅在 BRAM 與 LUTRAM 之間進行選擇。

FillLevel
Type 動態讀取參數
Default 0
Range [0%, 100%]

此參數提供緩衝區的 Fill 程度。 運算子會有效率地使用 FPGA 資源。在某些組態中,可以在緩衝區中儲存超過 100%。

InfiniteSource
Type static parameter
Default ENABLED
Range {ENABLED, DISABLED}

此參數啟用對無限來源運算子(如 Camera 運算子)的支援。 如需更多資訊,請參閱 'Infinite Sources / Connecting Cameras'。

使用範例

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