Operator Library: Memory
LineMemoryRandomRd(線內存隨機讀取)運算子是一個具備隨機讀取存取功能的微型內存塊。資料的隨機讀取可透過將位址傳輸至連接埠 RColA(讀取列位址)來執行。運算子將使用這些位址透過給定座標讀取線資料。產生的輸出影格將具有位址輸入的圖像寬度。
有關運算子延遲的資訊,請參見 表 46「Library Memory 中運算子的各別延遲」。
LineMemoryRandomRd 運算子用於儲存傳入的圖像行並支援隨機讀取存取。線資料會透過連結 I 傳輸至運算子中。
所需的內存大小由輸入影格的圖像寬度(Max. Img Width)來定義。
該運算子可實作為兩種變體,即單緩衝區實作與雙緩衝區實作。第一種實作可節省 RAM,但不允許寫入與讀取的時間重疊。因此,位址輸入連結 RColA 與 RRowA 在寫入狀態期間會停止。後一種實作將 RAM 加倍,並允許在接收輸入連結 I 上的下一影格的同時,對上一影格進行隨機讀取。
此運算子有兩種狀態:
-
寫入狀態:連結 I 的像素以線性方式儲存於緩衝區中,亦即像素的座標構成緩衝區中的位址。
-
讀取狀態:使用在輸入 RColA 處給定的位址讀出內存。位址數量與位址連結圖像寬度定義了圖像輸出寬度。例如,如果在位址輸入端輸入僅包含一個像素的行,則輸出影格寬度將僅包含一個像素。輸入行的其他像素將被丟棄。
圖像資料輸入與位址輸入彼此不同步。它們可能具有不同的圖像尺寸。
請注意輸入連結的時序。在未經緩衝的情況下,位址輸入不得由與資料連結輸入 I 相同的運算子提供來源。這是因為在將圖像資料寫入運算子的過程中,無法接受用於讀取目前影格的位址。唯有當影格完全儲存至緩衝區後,才能接受位址。在許多應用中,運算子 用於為位址產生圖像。
時序顯示於下圖中。

該運算子使用 FPGA 內部塊 RAM 內存。因此會使用類型為 RAM 的非 VisualApplets 擷取卡資源。FPGA 內部塊 RAM 是有限的。全解析度影格可能無法容納於 FPGA 內部塊 RAM 中。請考慮改用運算子 FrameBufferRandomRead。
算子限制
-
不支援空白畫面。
-
不支援具有不同行長度的影像。
LineMemoryRandomRd 模擬
執行 VisualApplets 模擬有兩種方式:基於圖像的模擬(在系統設定中:啟用 ),以及逐行模擬(在系統設定中:啟用 )。有關模擬的整體更多資訊,請參見 「模擬」。
-
逐行模擬
在逐行模擬中,行會被個別處理。輸出行的數量取決於兩個輸入連結 I 和 RColA 上的輸入行數量,以及輸入 I 的圖像協定。
-
I.Img Protocol = VALT_IMAGE2D:
唯有當位址輸入 RColA 上有足夠的行來處理輸入 I 上的整個資料圖像時,才會處理輸入圖像。在此模擬中,會忽略位址輸入 RColA 上的圖像協定。如果沒有足夠的位址行可用,則不會處理對應的輸入圖像,且不會產生輸出圖像,以避免模擬中出現不完整的影格。此模擬行為與硬體中的實際 LineMemoryRandomRd 行為不同。如上圖所示,硬體中的運算子會逐行處理傳入的資料。因此,硬體中的任何傳入行都會儘快處理,而不管是否有足夠的位址行來處理整個輸入圖像。
-
I.Img Protocol = VALT_LINE1D:
輸入 I 上的任何傳入資料行,只要對應的位址行在輸入 RColA 上可用,就會立即被處理。在此模擬中,會忽略位址輸入 RColA 上的圖像協定。
-
-
基於圖像的模擬
輸入 I 上的傳入資料圖像高度與輸入 RColA 上的傳入位址圖像高度必須相同。在此模擬中會忽略圖像協定,因為一維連結上的行序列會被當作二維圖像來處理。
| Property | Value |
|---|---|
| Operator Type | M |
| 輸入連結 | I,圖像資料輸入 RColA,I 處像素的讀取列位址 |
| Output Link | O,資料輸入 |
同步與非同步輸入
- 所有輸入彼此皆為非同步。
| 實作 | |
|---|---|
| Type | static parameter |
| Default | SingleBuffer |
| Range | {SingleBuffer, DoubleBuffer} |
|
此參數用於選擇 FrameMemoryRandomRd 的實作方式(請參閱上述內容)。 |
|
下列範例展示了 LineMemoryRandomRd 運算子的使用方式:
-
範例 - Logic Analyzer:一種便捷且類似示波器的訊號量測與分析方式。
-
'Functional Example for Specific Operators of Library Memory and Library Signal'
範例 - 如何使用此運算子的示範




上一頁

