Library: Memory 運算子
FrameMemory 運算子是一個記憶體區塊,用於透過隨機寫入存取來儲存輸入影像。 寫入位址由輸入連結的行位址 RowA 和欄位址 ColA 指定。 因此,對於每個輸入像素值,都必須指定一個行位址和一個欄位址。
將一幀影像寫入記憶體後,便會透過連結 O 讀取並輸出。 輸出影像的尺寸由參數定義,且與輸入影像的尺寸無關。 記憶體預先初始化為全零。
有關運算子延遲的資訊,請參閱 表 46「Library Memory 中各運算子的個別延遲」。
記憶體大小由參數FrameWidth和FrameHeight 所定義。
該運算子可實作為兩種變體。 即單緩衝區實作與雙緩衝區實作。 第一種實作可節省 RAM,但無法讓寫入與讀取及時交錯進行。 因此,在讀取狀態期間,輸入鏈路 I 會被暫停。 後一種實作將 RAM 容量加倍,並允許在輸入鏈路 I 接收下一幀的同時,輸出當前幀。
此運算子有兩種狀態:
-
寫入狀態:Link I 的值會儲存至由 ColA 和 RowA 指定的位址。 此操作僅在 Link WriteI 為 1 時執行。 若連結 WriteI 為零,則跳過當前像素。 可寫入有效位址範圍內的任何位址。 無需寫入每個記憶體單元。
-
讀取狀態:記憶體將依序讀出,並產生一行參數化寬度的資料。 透過參數 XOffset、XLength、YOffset 和 YLength,可定義讀取位址範圍,即 ROI。 讀取記憶體會將讀取位址的內容重設為零。 因此,若讀取尚未寫入過的記憶體單元,則會輸出零。
這兩種狀態之間的切換是由輸入鏈路 I 上的幀結束信號觸發的。 請注意,輸出鏈路上的幀寬度和高度固定為由參數 XOffset、XLength、 YOffset 以及 YLength 所定義的大小,且與輸入鏈路的線寬和幀高度無關。
此運算子可用於鏡射或感測器校正。
此 operator 使用 FPGA 內部的區塊 RAM 記憶體。 因此,不會使用類型為 RAM 的 VisualApplets 取像卡資源。 FPGA 內部區塊 RAM 是有限的。完整解析度的訊框可能無法容納於 FPGA 內部區塊 RAM 中。 請考慮改用 operator FrameBufferRandomRead。
Operator Restrictions
-
不支援空影格。
不支援具有不同行長度的影像。
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | I,影像資料輸入 WriteI,寫入使能輸入 ColA,寫入位於 I 處的像素之欄位位址 RowA,寫入位於 I 處的像素之行位址 |
| Output Link | O,資料輸入 |
Synchronous and Asynchronous Inputs
- 所有輸入彼此同步,亦即它們必須透過任意的 O 型運算子網路,由相同的 M 型運算子提供來源。
| ImplementationType | |||||||
|---|---|---|---|---|---|---|---|
| Type | 靜態寫入參數 | ||||||
| Default | AUTO | ||||||
| Range | (AUTO, BRAM, LUTRAM, URAM) | ||||||
|
參數 ImplementationType 會影響運算子的實作策略,也就是用於實作運算子的記憶體元件。 您可以選擇下列其中一個值: AUTO: 根據所連接連結的參數設定,自動選擇最佳的實作策略。 BRAM: 運算子使用 FPGA 的 Block RAM。 LUTRAM: 運算子使用 FPGA 的 LUT RAM。 URAM: 運算子使用 FPGA 的 UltraRAM。
|
|||||||
| 實作 | |
|---|---|
| Type | 靜態參數 |
| Default | SingleBuffer |
| Range | {SingleBuffer, DoubleBuffer} |
|
此參數用於選取 FrameMemory 的實作方式(參見上文)。 |
|
| FrameWidth | |
|---|---|
| Type | 靜態參數 |
| Default | 1024 |
| Range | [0, 65534] |
|
This parameter selects the image width of the output link in pixels. |
|
| FrameHeight | |
|---|---|
| Type | 靜態參數 |
| Default | 1024 |
| Range | [0, 65534] |
|
此參數用於設定輸出連結的圖片高度(以行數為單位)。 |
|
| XOffset | |
|---|---|
| Type | 動態/靜態讀寫參數 |
| Default | 0 |
| Range | [0, Max.Img Height - YLength] |
|
此參數定義 ROI 左上角的 Y 座標。 |
|
| XLength | |
|---|---|
| Type | 動態/靜態讀寫參數 |
| Default | 1024 |
| Range | [1, 最大影像寬度 - XOffset] |
|
此參數定義 ROI 的寬度。 |
|
| YOffset | |
|---|---|
| Type | 動態/靜態讀寫參數 |
| Default | 0 |
| Range | [0, Max.Img Height - YLength] |
|
此參數定義 ROI 左上角的 Y 座標。 |
|
| YLength | |
|---|---|
| Type | 動態/靜態讀寫參數 |
| Default | 1024 |
| Range | [1, Max.Img Height - YOffset] |
|
此參數定義 ROI 的高度。 |
|
以下範例展示了 FrameMemory 運算子的使用方式:
-
'Functional Example for Specific Operators of Library Memory and Library Signal'
範例 - operator 使用方式示範






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

