操作員記憶體介面分析器

Operator Library: Debugging

「 MemoryInterfaceAnalyzer」運算子提供 有關記憶體介面資料流的資訊。它不會變更、新增或移除任何影像 資料或控制訊號。

[重要] 執行階段測試

此運算子旨在於 執行期間測試及分析您的設計。您必須先建構(合成)該設計、將其載入目標硬體, 並執行實際的影像處理,才能使用此運算子進行除錯。

該運算子並非用於 VisualApplets 內的設計模擬。

您可以使用此運算子來偵測阻塞 狀況,並觀察多個記憶體運算子如何共享可用的記憶體 頻寬。有關共享記憶體概念的更多資訊,請參閱:應用說明:共享記憶體與「共享記憶體概念」。

「 MemoryInterfaceAnalyzer」運算子僅在 附加至現有且使用類型為 RAM的資源時才有效。此運算子會將自身附加至指定的 RAM 埠(RamResourceId)並 監測資料流。每個使用 幀擷取器 RAM(DRAM) 的記憶體運算子,均具備 寫入介面與讀取介面。

  • 寫入介面:

    記憶體運算子會請求寫入存取權限,而記憶體控制器若情況允許,便會 授予存取權限。是否授予存取權限,取決於所有已連接的記憶體 運算子及其當前的讀取或寫入請求。寫入介面可能 處於以下任一狀態:

    • 寫入傳輸:

      當操作員請求寫入存取權限,且 記憶體控制器批准該請求時,即會發生寫入傳輸。

    • 寫入等待:

      若操作員請求寫入存取權限,但記憶體控制器 目前正在處理來自另一記憶體介面的請求,則該請求 將不予批准。操作員將等待寫入存取權限。

    • 寫入空閒狀態:

      該操作者並未請求寫入權限,且寫入介面 目前尚未使用。

  • 讀取介面:

    記憶體運算子會請求讀取存取權限,而記憶體控制器若情況允許,則會 授予存取權限。是否授予存取權限,取決於所有已連接的記憶體 運算子及其當前的讀取或寫入請求。讀取介面可能處於 以下任一狀態:

    • 讀取傳輸:

      當操作員請求讀取存取權限,且 記憶體控制器批准該請求時,即會發生讀取傳輸。

    • 閱讀 等待:

      若操作員請求讀取存取權限,但記憶體控制器 目前正在處理來自另一記憶體介面的請求,則該請求 將不予批准。操作員將等待讀取存取權限。

    • 讀取閒置狀態:

      該操作員並未請求讀取權限,且讀取介面 目前尚未被使用。

下圖顯示了 MemoryInterfaceAnalyzer 如何附加至指定的記憶體介面。每個介面 由以下部分組成:

  • A 請求訊號 來自記憶體操作員的,以及

  • 一個 確認訊號 來自記憶體控制器的,該訊號 會允許或拒絕存取。

每個記憶體運算子都具備寫入與讀取 介面。在以下範例中,MemoryPortId為 1。

讀取介面僅描述將讀取位址 傳送至記憶體的過程,因為可以假設,將讀取 位址傳送至記憶體控制器,將始終觸發向記憶體 操作者進行讀取資料傳輸。

如需進一步了解共享記憶體 的概念,請參閱:《應用說明:共享記憶體》及「共享記憶體概念」。

「 MemoryInterfaceAnalyzer」運算子會測量 在指定的測量期間(MeasurementPeriod)內, 該記憶體運算子在以下各狀態中所花費的時間:

  • 寫入轉帳

  • 寫 等待

  • 寫入閒置

  • 讀取轉帳

  • 閱讀 等待

  • 讀取閒置狀態

該運算子透過其 讀取參數提供這些結果。由於它僅報告測量結果而不進行資料處理,因此 MemoryInterfaceAnalyzer沒有輸入或輸出埠。

I/O Properties

Property Value
Operator Type O

Supported Link Format

無

Parameters

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]

此參數指定成功寫入傳輸與成功讀取傳輸的比率。 它有助於判斷所觀察到的記憶體運算子是否可能會發生 緩衝區溢位。

  • 寫入/讀取比≤ 1:讀取的資料量等於或多於寫入的資料量。

  • 寫入/讀取比> 1:寫入的資料量多於讀取的資料量。這可能會導致緩衝區溢出。

  • WriteReadRatio= 0:不寫入任何資料。

  • WriteReadRatio= 1000:未讀取任何資料。