記事 ID: 000084785 コンテンツタイプ: トラブルシューティング 最終改訂日: 2012/09/11

DMA がバックツーバック転送を実行する代わりに停止するのはなぜですか?

環境

  • DMA
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    SOPC Builder で利用可能な DMA コントローラーは、ソース・コンポーネントまたはデスティネーション・コンポーネントのいずれかが waitreが発生すると停滞し、DMA コントローラーの FIFO が空または完全なステータスに達します。 また、DMA が SSRAM やオンチップメモリーなどの低レイテンシー・コンポーネントからの読み出しを実行する際にも既知の問題があります。 DMA コントローラーの内部レイテンシーが DMA リードマスターに接続されているコンポーネントの読み込みレイテンシーより大きくなることがあり、転送スループットが低下します。

    この問題は、DMA リードマスターに接続されているコンポーネントのレイテンシーが 0 ~ 3 クロックサイクルの場合に発生します。 転送スループットを向上させるために、DMA リードマスターに接続されているコンポーネントの読み込みレイテンシーを増加させます。 コンポーネントに読み取りレイテンシー設定がない場合、DMA リードマスターとコンポーネントの間にパイプライン・ブリッジを挿入することで、レイテンシーを増加させることができます。 パイプライン・ブリッジを連結して、1 つのコンポーネントに複数のリード・レイテンシーのクロックサイクルを追加できます。

    パイプライン・ブリッジを追加する場合、ブリッジ・スレーブ・アドレスを 0x0 に設定することをお勧めします。 これにより、システムのアドレス空間が変更できなくなります。 トライステート・ブリッジに接続されているコンポーネントの読み込みレイテンシーを高めるために、トライステート・ブリッジ設定で追加のレジスターを有効にして、リード・レイテンシーを 1 クロックサイクル増加させることができます。

    関連製品

    本記事の適用対象: 1 製品

    インテル® プログラマブル・デバイス

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。