操作員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」參數可指定操作員將使用的硬體記憶體。
| 待儲存的實體 | |
|---|---|
| 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。
|
|||||||
| 填充水準 | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0%,100%] |
|
此參數指定緩衝區的填充程度。 該運算子能有效率地運用 FPGA 資源。在某些配置下, 緩衝區的儲存量可能超過 100%。 |
|
| InfiniteSource | |
|---|---|
| Type | 靜態參數 |
| Default | 已啟用 |
| Range | {啟用、停用} |
|
此參數可啟用對「無限光源運算子」(例如相機運算子)的支援。 更多資訊請參閱「無限光源/連接相機」。 |
|
以下範例展示了 ImageFifo 運算子的使用方式:
-
同步 — 避免死鎖。
-
範例 — 使用運算子將一行資料緩衝,以便進行行複製。
-
範例 — 拉羅什-拜耳去馬賽克濾波器
-
範例 — 資源最佳化拉羅什-拜耳去馬賽克濾波器
-
Color plane 的循序 (sequential) DMA 輸出。 色彩分離是透過 ImageBufferMultiROI operator 來執行。 額外的預先排序 (pre-sorting) 可最佳化頻寬和資源。
-
範例——測量了影像的尺寸,並可藉此分析設計流程。
-
範例 — 用於除錯設計中硬體內部資料流控制,以及可能的補償措施。
-
範例 — 示範如何分割與合併影像串流。在影像後方附加一個尾碼。
-
範例 - Scaling Line Scan 影像
-
範例——根據德貝維克(Debevec)的高動態範圍
-
範例 — 採用線性方法的高動態範圍
-
範例 - 移動平均 - 迴圈


![[注意]](../common/images/admon/note.png)
上一頁

