インテルのみ表示可能 — GUID: jbm1511908294784
Ixiasoft
2.3.2. DMA BBB
DMA BBBサブシステムは、メモリー・マップ・トランザクションを使用して、ソースから宛先アドレスにデータを転送します。 DMA AFUは、DMA BBBサブシステムの制御およびステータスレジスターにアクセスします。 DMA BBBは、次の図に示すプラットフォーム・デザイナー IPカタログでの5つのIPコアで構成されます 。
図 2. DMA BBBプラットフォーム・デザイナーのブロック図このブロック図には、一部の内部Pipeline Bridge IPコアが含まれていません。
DMA BBBのコンポーネントはプラットフォーム・デザイナー次の機能を実装します。
- Modular Scatter-Gather DMA(MSGDMA):このIPコアは、転送の送信元と送信先のアドレス間でメモリーマップ転送を実行します。 MSGDMAは、クロックサイクルごとに64バイトを転送します。データは64バイト境界に揃える必要があります。転送長は64バイトの倍数でなければなりません。 MSGDMAは50ビットのアドレス指定をサポートし、記述子ごとに最大16,777,152バイトを転送できます。この実装では、ドライバーは転送サイズを記述子ごとに1,047,552バイトに制限します。
- Address Span Extender:このIPコアは、64バイト境界で整列されていないメモリー転送を実装します。ホストはこれを使用して、64バイト境界に位置合わせされていないFPGAデバイスメモリーへのMMIOアクセスを実行します。 Address Span Extenderは、4キロバイト(4 KB)のウィンドウにアクセスして、ローカル・デバイス・メモリーにアクセスします。制御ポートは、 (4 KB)ウィンドウのベースアドレスを設定します。ベースアドレスは、ウィンドウがウィンドウサイズに合わせられるように、 4 KBの境界に揃える必要があります。たとえば、FPGAメモリーアドレス0xF340にアクセスするには、ウィンドウアドレスを0xF000に設定してから、アドレス・スパン・エクステンダー・データ・ウィンドウ内のオフセット0x0340にアクセスします。
- BBB ID:このコンポーネントは、64ビットのデバイス機能ヘッダー(DFH)とUUIDを保存します。BBB_ID_Lレジスターは、BBB IDの下位32ビットを格納します。 BBB_ID_Hレジスターには、BBB IDの上位32ビットが格納されます。ソフトウェア・ドライバーはBBB IDをスキャンして、このDMAサブシステムの機能を識別します。
- Magic Number ROM:このIPコアには、リード専用の64バイト値が1つ含まれています。 DMAはこの値を使用して、ホストメモリーにライトフェンスを作成します。このROMはMSGDMAにのみ表示されます。ホストはアクセスできません。
- Pipeline Bridge: パイプライン・ブリッジはパイプライン・ステージを挿入して、レイテンシーを犠牲にしてシステムFMAX を改善します。