UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 47531

Zynq-7000 AP SoC、SDIO - DMA バースト トランザクションのアライメントおよび長さに関する要件

説明

DMA バッファーでデータが上書きされるのを防ぐため、DMA バーストの長さを 4 バイトの倍数でアラインさせる必要があります。

ソリューション

影響 :

深刻な問題ではありません。

回避策 :

最終バッファーを除きすべてのバッファーが 4 バイトの倍数になるようにします。最終バッファーはどのサイズでもかまいません。

対象となるコンフィギュレーション :

ADMA2 モードの SDIO コントローラーを使用するシステム

対象となるデバイス リビジョン : すべて。修正の予定はありません。Zynq-7000 AP SoC シリコン リビジョンの違いについては、(ザイリンクス アンサー 47916) を参照してください。

 

SD ホスト コントローラー仕様の v2.0 では ADMA2 バッファーの記述子およびそのポイント先のバッファーが 4 バイトの倍数でアラインされるものと定義されています。しかし、各 DMA エントリの長さは、1 から 64KB までの任意のバイト数になります。この長さが 4 バイトの倍数でないと、ホスト メモリからカードへの ADMA2 書き込みがコントローラーで正しく処理されません。次の例を参考にしてください。

記述子表 :

アドレス

長さ

データ

0x1000

4 バイト

0x0123_4567

0x2000

3 バイト

0xABCD_DEAD

0x3000

4 バイト

0x8912_2345


ADMA2 操作が開始すると、コントローラーはアドレス 0x1000 から 4 バイトのデータを取り込み、内部 FIFO のロケーション 0 にそのデータをプッシュします (各ロケーションは 32 ビット幅)。続いて、次の記述子データがアドレス 0x2000 から取り込まれ、ロケーション 1 にコピーされます。ロケーション 1 はいっぱいではないので (3 バイトのみが有効) 、ポインターがインクリメントしません。最終記述子データがアドレス 0x3000 から取り込まれ、ロケーション 1 にコピーされます。ロケーション 1 にあった 3 バイトは間違って上書きされます。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 47531
日付 05/22/2013
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス
  • Zynq-7000
  • XA Zynq-7000
  • Zynq-7000Q
このページをブックマークに追加