[Q2HB] Scatter-Gather DMA Controller Core(SG-DMA)
2008/12/04
[Altera][Q2HB][IP] Scatter-Gather DMA Controller Core(SG-DMA)
Component Overview
refer to: Section IV. Peripherals Chapter 21, Scatter-Gather DMA Controller Core
以下のデータ転送を行うことができる.
- メモリ→メモリ転送
- データストリーム→メモリ
- メモリ→データストリーム
不連続なメモリアドレスでも,転送用のデスクリプタを与えることで自発的に転送を行う.NiosII processorに対しては,HALシステムライブラリから,ドライバが提供されており,提供ドライバを使うことで当コアへのアクセスができる.
機能説明省略
Instantiating the Core in SOPC Builder
MegaWizardを使うことでインスタンス化(具体化)する.
Parameter | Legal Values | Description |
Transfer mode | Memory To Memory Memory To Stream Stream To Memory | 使い方を設定する |
Allow unaligned transfers | On/Off | @On:word alignmentされていない転送を許可する(performance劣化) |
Enable burst transfers | On/Off | Burst転送(R/W)を有効にする(@On) |
Read burstcount signal width | 1 - 16 | Burst Read時のburst幅を設定する |
Write burstcount signal width | 1 - 16 | Burst Write時のburst幅を設定する |
Data width | 8, 16, 32, 64 | Avalon-MM read/write portのバス幅 |
Source error width | 0 - 7 | Avalon-ST source portのエラー信号数 |
Sink error width | 0 - 7 | Avalon-ST sink portのエラー信号数 |
Data transfer FIFO depth | 2, 4, 8, 16, 32, 64 | burst無効時のメモリ→メモリ転送におけるDMA内部FIFOの段数 |
SG-DMAコアは,システム内で高スループットを保障するためには,高い優先度が他のコンポーネントよりも高く(IRQの値を低く)すべきである.
Software Programming Model
- altera_avalon_sgdma_regs.h\コアレジスタマップの定義.low-levelアクセスのときに参照されたい.
- altera_avalon_sgdma.h\bufferコントロール・ステータス制御用API,ビットフィールド定義?
- altera_avalon_sgdma.c\SG-DMA制御コアの関数定義と実装.
- altera_avalon_sgdma_descriptor.h\コアのデスクリプタ定義.low levelでハードアクセスするためのシンボル・ビットフィールドなどの定義.
注意事項
英語力の弱い人が適当に訳しています.
自分では意味がわかるようにとれたものと,そうでないものとがあります.概要理解の参考にしていただければ幸いですが,オリジナルの英文を参照されることを強く推奨いたします.
また,自分なりに理解して解説したり,参照した資料などへのリンクも記述していますが,ALTERA社の検閲は入っておりません.各自自己責任においてご利用ください.
入門者の敷居を下げるべく,説明文の誤り指摘や修正案等のコメントをいただけますと幸いです.