Operator Library: Debugging
「 MemoryInterfaceAnalyzer」運算子提供 有關記憶體介面資料流的資訊。它不會變更、新增或移除任何影像 資料或控制訊號。
![]() |
執行階段測試 |
|---|---|
|
此運算子旨在於 執行期間測試及分析您的設計。您必須先建構(合成)該設計、將其載入目標硬體, 並執行實際的影像處理,才能使用此運算子進行除錯。 該運算子並非用於 VisualApplets 內的設計模擬。 |
您可以使用此運算子來偵測阻塞 狀況,並觀察多個記憶體運算子如何共享可用的記憶體 頻寬。有關共享記憶體概念的更多資訊,請參閱:應用說明:共享記憶體與「共享記憶體概念」。
「 MemoryInterfaceAnalyzer」運算子僅在 附加至現有且使用類型為 RAM的資源時才有效。此運算子會將自身附加至指定的 RAM 埠(RamResourceId)並 監測資料流。每個使用 幀擷取器 RAM(DRAM) 的記憶體運算子,均具備 寫入介面與讀取介面。
-
寫入介面:
記憶體運算子會請求寫入存取權限,而記憶體控制器若情況允許,便會 授予存取權限。是否授予存取權限,取決於所有已連接的記憶體 運算子及其當前的讀取或寫入請求。寫入介面可能 處於以下任一狀態:
-
寫入傳輸:
當操作員請求寫入存取權限,且 記憶體控制器批准該請求時,即會發生寫入傳輸。
-
寫入等待:
若操作員請求寫入存取權限,但記憶體控制器 目前正在處理來自另一記憶體介面的請求,則該請求 將不予批准。操作員將等待寫入存取權限。
-
寫入空閒狀態:
該操作者並未請求寫入權限,且寫入介面 目前尚未使用。
-
-
讀取介面:
記憶體運算子會請求讀取存取權限,而記憶體控制器若情況允許,則會 授予存取權限。是否授予存取權限,取決於所有已連接的記憶體 運算子及其當前的讀取或寫入請求。讀取介面可能處於 以下任一狀態:
-
讀取傳輸:
當操作員請求讀取存取權限,且 記憶體控制器批准該請求時,即會發生讀取傳輸。
-
閱讀 等待:
若操作員請求讀取存取權限,但記憶體控制器 目前正在處理來自另一記憶體介面的請求,則該請求 將不予批准。操作員將等待讀取存取權限。
-
讀取閒置狀態:
該操作員並未請求讀取權限,且讀取介面 目前尚未被使用。
-
下圖顯示了 MemoryInterfaceAnalyzer 如何附加至指定的記憶體介面。每個介面 由以下部分組成:
-
A 請求訊號 來自記憶體操作員的,以及
-
一個 確認訊號 來自記憶體控制器的,該訊號 會允許或拒絕存取。
每個記憶體運算子都具備寫入與讀取 介面。在以下範例中,MemoryPortId為 1。

讀取介面僅描述將讀取位址 傳送至記憶體的過程,因為可以假設,將讀取 位址傳送至記憶體控制器,將始終觸發向記憶體 操作者進行讀取資料傳輸。
如需進一步了解共享記憶體 的概念,請參閱:《應用說明:共享記憶體》及「共享記憶體概念」。
「 MemoryInterfaceAnalyzer」運算子會測量 在指定的測量期間(MeasurementPeriod)內, 該記憶體運算子在以下各狀態中所花費的時間:
-
寫入轉帳
-
寫 等待
-
寫入閒置
-
讀取轉帳
-
閱讀 等待
-
讀取閒置狀態
該運算子透過其 讀取參數提供這些結果。由於它僅報告測量結果而不進行資料處理,因此 MemoryInterfaceAnalyzer沒有輸入或輸出埠。
| RamResourceId | |
|---|---|
| Type | 靜態寫入參數 |
| Default | 0 |
| Range | [0, 可用 RAM 介面數量 - 1] |
|
此參數指定 其記憶體介面正在被監控的記憶體運算子的RAM資源 ID。 若未為指定的 RAM資源 ID 指派任何記憶體運算子,則該設計即為無效。 |
|
| 測量期間 | |
|---|---|
| Type | 動態/靜態寫入參數 |
| Default | 1000 |
| Range | [1, 1000] |
|
此參數用於計算效能 測量期間的時間(單位:毫秒)。 測量期間的定義對於分析時間 比例以及計算平均值而言至關重要。 |
|
| WriteTransferFraction | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 100] |
|
此參數用以計算在 「測量週期」內,資料寫入 記憶體的時間所佔的百分比。 當操作員請求寫入存取權限,且 記憶體控制器批准該請求時,即發生寫入傳輸。 |
|
| WriteWaitFraction | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 100] |
|
此參數用來計算在 「測量期間」內,記憶體 運算子請求寫入存取權限,但記憶體控制器予以拒絕的週期所佔的百分比。 寫入傳輸僅在操作員請求寫入存取權限,且 記憶體控制器批准該請求時才會發生。 |
|
| WriteIdleFraction | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 100] |
|
此參數用於計算在 「測量期間」內,寫入 介面未被使用的週期所佔的百分比。此期間未發出任何寫入請求,因此也沒有 任何請求獲得批准。 |
|
| ReadTransferFraction | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 100] |
|
此參數用於計算在 「測量期間」內,從記憶體中讀取資料的 週期所佔的百分比。 當操作員請求讀取權限,且 記憶體控制器批准該請求時,即發生讀取傳輸。 |
|
| 讀取等待比例 | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 100] |
|
此參數用來計算在 測量期間內,記憶體 運算子請求讀取存取權限,但遭記憶體控制器拒絕的週期所佔的百分比。 讀取傳輸僅在操作員請求讀取存取權限,且 記憶體控制器批准該請求時才會發生。 |
|
| ReadIdleFraction | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | [0, 100] |
|
此參數用以計算在 「測量期間」內,讀取介面 未被使用的週期所佔的百分比。此期間未發出任何讀取請求,因此亦無任何請求獲得核准。 |
|
| 寫入讀取比 | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0.0 |
| Range | [0.0, 1000.0] |
|
此參數指定成功寫入傳輸與成功讀取傳輸的比率。 它有助於判斷所觀察到的記憶體運算子是否可能會發生 緩衝區溢位。
|
|

![[重要]](../common/images/admon/important.png)
上一頁

