Operator MemoryInterfaceAnalyzer

Operator Library: Debugging

MemoryInterfaceAnalyzerオペレーターは、メモリーインターフェイスのデータフローに関する情報を提供します。画像データや制御信号を変更、追加、削除することはありません。

[重要] ランタイムテスト

このオペレーターは、実行時のデザインのテストおよび分析を目的としています。オペレーターをデバッグに使用する前に、デザインをビルド(合成)し、ターゲットハードウェアにロードして、実際の画像処理を実行する必要があります。

この operator は、VisualApplets 内でのデザインシミュレーションを目的としたものではありません。

このオペレーターを使用すると、ブロッキング状態の検出や、複数のメモリーオペレーターが利用可能なMemoryの帯域幅をどのように共有しているかを監視できます。共有Memoryの概念の詳細については、Application Note: Shared Memoryおよび' Shared Memory Concept 'を参照してください。

MemoryInterfaceAnalyzerオペレーターは、RAMタイプのリソースを使用する既存のメモリーオペレーターにアタッチされている場合にのみ機能します。このオペレーターは、指定されたRAMポート(RamResourceId)にアタッチされ、データフローを監視します。Frame Grabber RAM (DRAM)を使用する各メモリーオペレーターには、書き込みインターフェイスと読み取りインターフェイスの両方があります。

  • 書き込みインターフェイス:

    メモリーオペレーターが書き込みアクセスを要求し、メモリーコントローラーが可能な場合にアクセスを許可します。アクセスが許可されるかどうかは、接続されているすべてのメモリーオペレーターと、それらの現在の読み取りまたは書き込み要求によって異なります。書き込みインターフェイスは、次のいずれかの状態になります。

    • 書き込み転送:

      オペレーターが書き込みアクセスを要求し、メモリーコントローラーがその要求を許可すると、書き込み転送が発生します。

    • 書き込み待機:

      オペレーターが書き込みアクセスを要求したが、メモリーコントローラーが現在別のメモリーインターフェイスからの要求を処理している場合、要求は許可されません。オペレーターは書き込みアクセスを待ちます。

    • 書き込みアイドル:

      オペレーターが書き込みアクセスを要求しておらず、書き込みインターフェイスが現在使用されていません。

  • 読み取りインターフェイス:

    メモリーオペレーターが読み取りアクセスを要求し、メモリーコントローラーが可能な場合にアクセスを許可します。アクセスが許可されるかどうかは、接続されているすべてのメモリーオペレーターと、それらの現在の読み取りまたは書き込み要求によって異なります。読み取りインターフェイスは、次のいずれかの状態になります。

    • 読み取り転送:

      オペレーターが読み取りアクセスを要求し、メモリーコントローラーがその要求を許可すると、読み取り転送が発生します。

    • 読み取り待機:

      オペレーターが読み取りアクセスを要求したが、メモリーコントローラーが現在別のメモリーインターフェイスからの要求を処理している場合、要求は許可されません。オペレーターは読み取りアクセスを待ちます。

    • 読み取りアイドル:

      オペレーターが読み取りアクセスを要求しておらず、読み取りインターフェイスが現在使用されていません。

下の画像は、MemoryInterfaceAnalyzerを指定されたメモリーインターフェイスにアタッチする方法を示しています。各インターフェイスは以下で構成されています。

  • メモリーオペレーターからの要求信号(request signal)、および

  • アクセスを許可または拒否する、メモリーコントローラーからの確認応答信号(acknowledge signal)。

各メモリーオペレーターには、書き込みインターフェイスと読み取りインターフェイスの両方があります。以下の例では、MemoryPortIdは1です。

読み取りアドレスをメモリーコントローラーに転送すると、常にメモリーオペレーターへの読み取りデータ転送が開始されると見なすことができるため、読み取りインターフェイスはメモリーへの読み取りアドレスの転送のみを記述します。

共有 Memory の概念の詳細については、Application Note: Shared Memoryおよび' Shared Memory Concept 'を参照してください。

MemoryInterfaceAnalyzer オペレーターは、指定された測定期間(MeasurementPeriod)内において、Memory オペレーターが次の各状態に費やした時間を測定します:

  • Write Transfer

  • Write Wait

  • Write Idle

  • Read Transfer

  • Read Wait

  • Read Idle

このオペレーターは、read パラメーターを通じてこれらの結果を提供します。測定値をレポートするだけでデータの処理を行わないため、MemoryInterfaceAnalyzer には入力ポートも出力ポートもありません。

I/O Property

Property 値
オペレータータイプ O

サポートされているリンクフォーマット

None

パラメーター

RamResourceId
タイプ static write parameter
Default 0
範囲 [0, 利用可能な RAM インターフェイスの数 - 1]

このパラメータは、Memory インターフェイスが監視されている Memory オペレーターの RAM リソース ID を指定します。

指定された RAM リソース ID に Memory オペレーターが割り当てられていない場合、デザインは無効になります。

MeasurementPeriod
タイプ dynamic/static write parameter
Default 1000
範囲 [1, 1000]

このパラメータは、パフォーマンス測定期間の時間をミリ秒単位で計算します。

測定期間の定義は、時間の割合を分析し、平均値を計算するうえで重要です。

WriteTransferFraction
タイプ 動的リードパラメータ
Default 0
範囲 [0, 100]

このパラメータは、MeasurementPeriod 内でデータが Memory に書き込まれるサイクルの割合を計算します。

ライト転送は、オペレーターが書き込みアクセスを要求し、Memory コントローラーがその要求を許可したときに発生します。

WriteWaitFraction
タイプ 動的リードパラメータ
Default 0
範囲 [0, 100]

このパラメータは、Memory オペレーターが書き込みアクセスを要求しているにもかかわらず、Memory コントローラーによって拒否された MeasurementPeriod 内のサイクルの割合を計算します。

ライト転送は、オペレーターが書き込みアクセスを要求し、Memory コントローラーがその要求を許可した場合にのみ発生します。

WriteIdleFraction
タイプ 動的リードパラメータ
Default 0
範囲 [0, 100]

このパラメータは、ライトインターフェイスが使用されていない MeasurementPeriod 内のサイクルの割合を計算します。書き込み要求が発行されないため、許可されることもありません。

ReadTransferFraction
タイプ 動的リードパラメータ
Default 0
範囲 [0, 100]

このパラメータは、MeasurementPeriod 内でデータが Memory から読み取られるサイクルの割合を計算します。

リード転送は、オペレーターがMemoryへのアクセスを要求し、Memoryコントローラーがその要求を許可したときに発生します。

ReadWaitFraction
タイプ 動的リードパラメータ
Default 0
範囲 [0, 100]

このパラメーターは、MeasurementPeriod内のサイクルのうち、MemoryオペレーターがMemoryへのアクセスを要求したにもかかわらず、Memoryコントローラーによって拒否されたサイクルの割合を計算します。

リード転送は、オペレーターがMemoryへのアクセスを要求し、Memoryコントローラーがその要求を許可した場合にのみ発生します。

ReadIdleFraction
タイプ 動的リードパラメータ
Default 0
範囲 [0, 100]

このパラメーターは、MeasurementPeriod内のサイクルのうち、リードインターフェイスが使用されていないサイクルの割合を計算します。リード要求が発行されないため、許可される要求もありません。

WriteReadRatio
タイプ 動的リードパラメータ
Default 0.0
範囲 [0.0, 1000.0]

このパラメーターは、成功したライト転送と成功したリード転送の比率を指定します。監視対象のMemoryオペレーターでバッファオーバーフローが発生する可能性があるかどうかを示すのに役立ちます。

  • WriteReadRatio ≤ 1:書き込まれたデータ量と同等かそれ以上のデータが読み出されています。

  • WriteReadRatio > 1:読み出されたデータよりも多くのデータが書き込まれています。これによりバッファオーバーフローが発生する可能性があります。

  • WriteReadRatio = 0:データは書き込まれていません。

  • WriteReadRatio = 1000:データは読み出されていません。