運算子 ImageFifo

操作員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 的內部記憶體有限,若要緩衝全解析度的影像幀, 幾乎不可能不超出可用資源的範圍。

有關運算子的延遲資訊,請參閱表 46,「庫記憶體中各運算子的個別延遲」。

參數EntitiesToStore和EntityType定義了可用的最大緩衝區大小。 該運算子採用先入先出(FIFO)的記憶體機制。 任何輸入資料都會立即轉發至輸出端。 然而,若輸出端因後續運算子無法處理該輸入頻寬等原因而受阻,該運算子 便會將資料儲存起來。 因此,只有當運算子無法輸出資料時,記憶體才會被填滿。

要測量緩衝區的填滿程度,操作員需提供「FillLevel」參數。 「FillLevel」顯示 FIFO 的填滿百分比。

參數InfiniteSource用於指定該運算子是直接連接至攝影機,還是與其他記憶體運算子以序列方式串接。 若停用 InfiniteSource,該運算子將不會發生溢出狀況。 請參閱「無限來源/連接攝影機」以獲取更多資訊。

「ImplementationType」參數可指定操作員將使用的硬體記憶體。

I/O Properties

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

Supported Link Format

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]。

Parameters

待儲存的實體
Type 靜態參數
Default 1
Range any

此參數定義最多需儲存多少像素、行或幀。 實體類型是透過參數EntityType 來定義的。

實體類型
Type 靜態參數
Default FRAME
Range {幀、線、像素}

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

僅當輸入連結的影像協定為 VALT_IMAGE2D 時,才可選擇「FRAME」。 在 VALT_LINE2D 和 VALT_LINE1D 協定下,可選擇「LINE」;而「PIXEL」則始終啟用。

實作類型
Type 靜態寫入參數
Default AUTO
Range (AUTO、BRAM、LUTRAM、URAM)

參數ImplementationType會影響 運算子的實作策略,亦即會使用哪些記憶體元素 來實作該運算子。

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

AUTO: 系統會根據相連鏈結的參數設定, 自動選取最佳的實作策略。

BRAM: 該運算元使用 FPGA 的區塊 RAM。

LUTRAM: 該運算子使用 FPGA 的 LUT RAM。

URAM: 操作員使用 FPGA 的 UltraRAM。

[注意] URAM 的供應狀況

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

[注意] 在「一般」設定中使用「自動」

通常,此參數應設定為「AUTO」。 在特殊情況下,也就是當 設計中某種 FPGA 資源不足時,您可以透過設定 BRAM、LUTRAM 或 URAM 值來手動調整 FPGA 資源管理(URAM 僅 適用於 imaFlex CXP-12 Quad 及imaFlex CXP-12 Penta 平台)。

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

填充水準
Type 動態讀取參數
Default 0
Range [0%,100%]

此參數指定緩衝區的填充程度。 該運算子能有效率地運用 FPGA 資源。在某些配置下, 緩衝區的儲存量可能超過 100%。

InfiniteSource
Type 靜態參數
Default 已啟用
Range {啟用、停用}

此參數可啟用對「無限光源運算子」(例如相機運算子)的支援。 更多資訊請參閱「無限光源/連接相機」。

Examples of Use

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