Library: Memory 運算子
LineMemoryRandomRd(行記憶體隨機 讀取)運算子是一個具備隨機讀取存取功能的小型記憶體區塊。 可透過將位址傳輸至 RColA 連接埠(讀取欄位位址)來執行 資料的隨機讀取。該 運算子將利用這些位址,依據指定的座標讀取行資料。 產生的輸出幀將具有與位址輸入相同的影像寬度。
有關該運算子的延遲資訊, 請參閱表 46,「庫記憶體中各運算子的個別延遲」。
LineMemoryRandomRd 運算子用於儲存傳入的 影像行,並允許隨機讀取存取。行資料是透過連結 I 傳輸至 該運算子的。
所需的記憶體大小由 輸入幀的影像寬度(最大影像寬度)決定。
該運算子可實作為兩種 變體。即單緩衝區實作與雙緩衝區實作。 第一種實作可節省 RAM 空間,但無法讓寫入與 讀取及時重疊。 因此,在寫入 狀態期間,位址輸入鏈路 RColA 和 RRowA 將被停用。後者則將 RAM 容量加倍,並允許隨機讀取最後 一幀,同時透過輸入鏈路 I 接收下一幀。
此運算子有兩種狀態:
-
寫入狀態:連結 I 的像素以線性方式儲存於緩衝區中,也就是說, 像素的座標即構成緩衝區中的位址。
-
讀取狀態:記憶體會根據輸入端 RColA 所提供的位址進行讀取。位址數量與位址連結影像寬度共同決定 輸出影像的寬度。 例如,若在 位址輸入端輸入僅由一個像素組成的行,則輸出幀寬度將僅包含一個像素。 輸入行中的其他像素將被捨棄。
影像資料輸入與位址輸入 之間並非同步。兩者的影像尺寸可能不同。
請注意輸入連結的時序。 位址輸入絕不能由與資料連結輸入 I 相同的運算子處理,且不得 進行緩衝。這是因為在將影像資料寫入運算子期間,無法接受任何 用於讀取當前幀的位址。只有當幀已完全儲存至 緩衝區後,才可接受位址。 在許多應用中,操作元 會用於為 這些位址生成影像。
以下 圖示說明了該時序。

操作員使用 FPGA 內部的區塊 RAM 記憶體。 因此,會使用非VisualApplets 型態的RAM類別幀擷取器資源。 FPGA內建的區塊RAM容量有限。全解析度的幀可能無法完全容納於 FPGA內建的區塊RAM中。建議考慮使用運算子 FrameBufferRandomRead 運算子。
Operator Restrictions
-
不支援空影格。
-
不支援具有不同行長度的影像。
LineMemoryRandomRd模擬
執行VisualApplets 模擬有兩種方式:基於影像的模擬(在「系統設定」中:啟用」),以及逐行模擬(在「系統 設定」中:啟用」)。有關 模擬的一般資訊,請參閱「模擬」。
-
逐行模擬
在逐行模擬中,各行會分別進行處理。輸出行的數量 取決於輸入鏈路I和 RColA 上的輸入行數,以及輸入I 的影像通訊協定。
-
I.Img 協定=VALT_IMAGE2D:
只有當 位址輸入RColA上的行數足夠處理輸入I 上的整個資料影像時,才會處理輸入影像。 在此模擬中,位址輸入RColA上的影像協定將被忽略。 若 可用的位址線不足,則相應的輸入影像將不 被處理,且不會產生輸出影像,以避免在 模擬中出現不完整的幀。此模擬行為與硬體中實際的 LineMemoryRandomRd行為有所不同。 如上圖所示,硬體中的運算子會逐行處理傳入的 資料。因此,無論是否有足夠的位址線可用來處理整個輸入 影像,硬體中的任何傳入資料行都會 盡快被處理。
-
I.Img 協定=VALT_LINE1D:
輸入I上的任何傳入資料線,都會在 輸入RColA上的對應位址線可用時立即進行處理。在此模擬中, 位址輸入RColA上的影像 通訊協定將被忽略。
-
-
基於影像的模擬
輸入I上的傳入資料影像高度與輸入RColA上的 傳入位址影像高度必須相同。在此模擬中,影像 協定將被忽略,因為一維鏈路上的線序會被視為 二維影像進行處理。
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | I,影像資料輸入 RColA,讀取位於 I 處的像素之欄位位址 |
| Output Link | O,資料輸入 |
同步與非同步輸入
- 所有輸入彼此非同步。
| 實施 | |
|---|---|
| Type | 靜態參數 |
| Default | SingleBuffer |
| Range | {單一緩衝區, 雙緩衝區} |
|
此參數用於選取 FrameMemoryRandomRd 的實作(參見 上文)。 |
|
以下範例展示了運算子 LineMemoryRandomRd 的使用方式:
-
範例 - Logic Analyzer:一種便捷的類示波器信號量測與分析方式。
-
'Functional Example for Specific Operators of Library Memory and Library Signal'
範例 - operator 使用方式示範




上一頁

