Operator MemoryInterfaceAnalyzer

Operator Library: Debugging

MemoryInterfaceAnalyzer operator 可提供有關 memory 介面資料流的資訊。它不會變更、新增或移除任何影像資料或控制信號。

[重要] 執行階段測試

此 operator 旨在用於在執行階段測試與分析您的設計。您必須先建置(綜合)設計、將其載入目標硬體,並執行實際的影像處理,然後才能使用該 operator 進行偵錯。

此 operator 並非用於 VisualApplets 內的設計模擬。

您可以使用該 operator 來偵測阻塞狀況,並觀察多個 memory operator 如何共用可用的 memory 頻寬。如需有關共用 memory 概念的詳細資訊,請參閱:Application Note: Shared Memory 與 ' Shared Memory Concept '。

MemoryInterfaceAnalyzer operator 僅在附加至使用類型為 RAM 之資源的現有 memory operator 時才能運作。該 operator 會附加至指定的 RAM 連接埠 (RamResourceId) 並觀察資料流。每個使用 Frame Grabber RAM (DRAM) 的 memory operator 同時具有寫入介面與讀取介面。

  • 寫入介面:

    Memory operator 會要求寫入存取權,而 memory 控制器會在可能的情況下授予存取權。是否授予存取權取決於所有連接的 memory operator 及其目前的讀取或寫入要求。寫入介面可能處於以下狀態之一:

    • 寫入傳輸:

      當 operator 要求寫入存取權且 memory 控制器授予該要求時,就會發生寫入傳輸。

    • 寫入等待:

      如果 operator 要求寫入存取權,但 memory 控制器目前正在處理來自其他 memory 介面的要求,則不會授予該要求。Operator 將等待寫入存取權。

    • 寫入閒置:

      Operator 未要求寫入存取權,且寫入介面目前未使用。

  • 讀取介面:

    Memory operator 會要求讀取存取權,而 memory 控制器會在可能的情況下授予存取權。是否授予存取權取決於所有連接的 memory operator 及其目前的讀取或寫入要求。讀取介面可能處於以下狀態之一:

    • 讀取傳輸:

      當 operator 要求讀取存取權且 memory 控制器授予該要求時,就會發生讀取傳輸。

    • 讀取等待:

      如果 operator 要求讀取存取權,但 memory 控制器目前正在處理來自其他 memory 介面的要求,則不會授予該要求。Operator 將等待讀取存取權。

    • 讀取閒置:

      Operator 未要求讀取存取權,且讀取介面目前未使用。

下圖顯示 MemoryInterfaceAnalyzer 如何附加至指定的 memory 介面。每個介面包含:

  • 來自 memory operator 的 request signal,以及

  • 來自 memory 控制器的 acknowledge signal,用於授予或拒絕存取權。

每個 memory operator 同時具有寫入與讀取介面。在以下範例中,MemoryPortId 為 1。

讀取介面僅描述將讀取位址傳輸至 Memory 的過程,因為可以假設,將讀取位址傳輸至 Memory 控制器將一律會觸發對 Memory 運算子的讀取資料傳輸。

如需關於 Shared Memory 概念的詳細資訊,請參閱:Application Note: Shared Memory 與 ' Shared Memory Concept '。

MemoryInterfaceAnalyzer 運算子會測量在指定的測量週期(MeasurementPeriod)內,Memory 運算子處於以下各狀態的時間比例:

  • Write Transfer

  • Write Wait

  • Write Idle

  • Read Transfer

  • Read Wait

  • Read Idle

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

I/O Properties

Property Value
Operator Type O

支援的 Link 格式

無

參數

RamResourceId
Type 靜態寫入參數
Default 0
Range [0, 可用 RAM 介面數量 - 1]

此參數指定正在觀察其 Memory 介面的 Memory 運算子的 RAM 資源 ID。

如果未將 Memory 運算子指派給指定的 RAM 資源 ID,則設計無效。

MeasurementPeriod
Type 動態/靜態寫入參數
Default 1000
Range [1, 1000]

此參數以毫秒為單位計算效能測量週期的時間。

測量週期的定義對於分析時間比例和計算平均值非常重要。

WriteTransferFraction
Type 動態讀取參數
Default 0
Range [0, 100]

此參數計算在 MeasurementPeriod 內向 Memory 寫入資料的週期百分比。

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

WriteWaitFraction
Type 動態讀取參數
Default 0
Range [0, 100]

此參數計算在 MeasurementPeriod 內,Memory 運算子要求寫入存取但 Memory 控制器拒絕的週期百分比。

只有當運算子要求寫入存取且 Memory 控制器授予該要求時,才會發生寫入傳輸。

WriteIdleFraction
Type 動態讀取參數
Default 0
Range [0, 100]

此參數計算在 MeasurementPeriod 內寫入介面未使用的週期百分比。此時不會發出寫入要求,因此也不會授予任何要求。

ReadTransferFraction
Type 動態讀取參數
Default 0
Range [0, 100]

此參數會計算在 MeasurementPeriod 內從記憶體讀取資料的週期百分比。

當運算子要求讀取存取權且記憶體控制器核准該要求時,即會發生讀取傳輸。

ReadWaitFraction
Type 動態讀取參數
Default 0
Range [0, 100]

此參數會計算在 MeasurementPeriod 內,記憶體運算子要求讀取存取權但記憶體控制器予以拒絕的週期百分比。

唯有當運算子要求讀取存取權且記憶體控制器核准該要求時,才會發生讀取傳輸。

ReadIdleFraction
Type 動態讀取參數
Default 0
Range [0, 100]

此參數會計算在 MeasurementPeriod 內讀取介面未使用的週期百分比。不會發出讀取要求,因此也不會核准任何要求。

WriteReadRatio
Type 動態讀取參數
Default 0.0
Range [0.0, 1000.0]

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

  • WriteReadRatio ≤ 1:讀取的資料量等於或大於寫入的資料量。

  • WriteReadRatio > 1:寫入的資料量大於讀取的資料量。這可能會導致緩衝區溢位。

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

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