Operator Library: Memory
FrameMemory operator 是一個記憶體區塊,使用隨機寫入存取來儲存輸入影像。 寫入位址由輸入連結 row address RowA 與 column address ColA 指定。 因此,對於每個輸入像素值,都必須指定行與列位址。
將畫格寫入記憶體後,會透過連結 O 進行讀取與輸出。 輸出影像尺寸由參數定義,且與輸入影像尺寸無關。 記憶體預設會以零值進行初始化。
有關 operator 延遲的資訊,請參閱 表 46「Library Memory 中各 operator 的個別延遲」。
記憶體大小由參數 FrameWidth 與 FrameHeight 定義。
此 operator 可以實作為兩種變體: 即單緩衝區實作與雙緩衝區實作。 第一種實作可節省 RAM,但不允許寫入與讀取的時間重疊。 因此,輸入連結 I 會在讀取狀態期間停止。 後者實作則會將 RAM 加倍,並允許在輸出畫格的同時接收輸入連結 I 上的下一個畫格。
此運算子有兩種狀態:
-
寫入狀態 (Write State):Link I 的值會儲存在由 ColA 與 RowA 指定的位址中。 只有在連結 WriteI 為 1 時才會執行此操作。 若連結 WriteI 為 0,則會略過當前像素。 可以寫入有效位址範圍內的任何位址。 不需要寫入每個記憶體儲存格。
-
讀取狀態 (Read State):系統會循序讀取記憶體,並產生具有已參數化寬度的行。 透過使用參數 XOffset、XLength、YOffset 與 YLength,可以定義讀取位址範圍,即 ROI。 讀取記憶體會將讀取位址的內容重設為零。 因此,如果讀取了先前未寫入的記憶體儲存格,將會輸出零。
這兩種狀態之間的切換是由輸入連結 I 處的畫格結束 (end-of-frame) 所觸發。 請注意,輸出連結處的畫格寬度與高度固定為由參數 XOffset、XLength、YOffset and YLength 所定義的大小,且與輸入連結的行寬與畫格高度無關。
此 operator 對於鏡射或感測器校正非常有用。
operator 使用 FPGA 的內部 block RAM memory。 因此,不會使用類型為 RAM 的 VisualApplets frame grabber 資源。 FPGA-internal block RAM 是有限的。全解析度幀可能無法放入 FPGA 內部 block RAM 中。 請考慮改用 operator FrameBufferRandomRead。
算子限制
-
不支援空白畫面。
不支援具有不同行長度的影像。
| Property | Value |
|---|---|
| Operator Type | M |
| 輸入連結 | I, 影像資料輸入 WriteI, 寫入致能輸入 ColA, I 處像素的寫入列位址 RowA, I 處像素的寫入行位址 |
| Output Link | O,資料輸入 |
同步與非同步輸入
- 所有輸入彼此同步,亦即它們必須透過任意的 O 型 operator 網路,由同一個 M 型 operator 提供來源。
| ImplementationType | |||||||
|---|---|---|---|---|---|---|---|
| Type | 靜態寫入參數 | ||||||
| Default | AUTO | ||||||
| Range | (AUTO, BRAM, LUTRAM, URAM) | ||||||
|
參數 ImplementationType 會影響運算子的實作策略, 即用於實作運算子的記憶體元素。 您可以選擇以下其中一個值: AUTO: 根據所連接連結的參數化, 自動選擇最佳的實作策略。 BRAM: Operator 使用 FPGA 的 Block RAM。 LUTRAM: Operator 使用 FPGA 的 LUT RAM。 URAM: 運算子使用 FPGA 的 UltraRAM。
|
|||||||
| 實作 | |
|---|---|
| Type | static parameter |
| Default | SingleBuffer |
| Range | {SingleBuffer, DoubleBuffer} |
|
此參數用於選擇 FrameMemory 的實作方式(見上方)。 |
|
| FrameWidth | |
|---|---|
| Type | static parameter |
| Default | 1024 |
| Range | [0, 65534] |
|
此參數以像素為單位選擇輸出 link 的影像寬度。 |
|
| FrameHeight | |
|---|---|
| Type | static parameter |
| Default | 1024 |
| Range | [0, 65534] |
|
此參數選擇輸出連結的影像高度(以行為單位)。 |
|
| XOffset | |
|---|---|
| Type | dynamic/static read/write parameter |
| Default | 0 |
| Range | [0, Max.Img Height - YLength] |
|
此參數定義 ROI 左上角的 y 座標。 |
|
| XLength | |
|---|---|
| Type | dynamic/static read/write parameter |
| Default | 1024 |
| Range | [1, Max.Img Width - XOffset] |
|
此參數定義 ROI 的寬度。 |
|
| YOffset | |
|---|---|
| Type | dynamic/static read/write parameter |
| Default | 0 |
| Range | [0, Max.Img Height - YLength] |
|
此參數定義 ROI 左上角的 y 座標。 |
|
| YLength | |
|---|---|
| Type | dynamic/static read/write parameter |
| Default | 1024 |
| Range | [1, Max.Img Height - YOffset] |
|
此參數定義 ROI 的高度。 |
|
以下範例顯示了 operator FrameMemory 的使用方式:






![[備註]](../common/images/admon/note.png)
上一頁

