zFIFO - an AXI DMA driver for Zynq and ZynqMP
[
Front page
] [
New
|
Page list
|
Search
|
Recent changes
|
Help
|
Log in
]
Start:
* zFIFO is 何 [#tf4bcd71]
zFIFO は Zynq / ZynqMP SoC むけの AXI Scatter-Gather DMA ...
こういう気持ちで作りました:
- Vivado HLS でアクセラレータを作りたい。AXI Lite とかよ...
- SDSoC とか Vitis とかよくわからないし、アクセラレータ以...
- PetaLinux はなんだかよくわからないしできれば使いたくない
- AXI-Stream は Linux から FIFO っぽく使いたい
- Linux 側に固定サイズのバッファを確保しておくのはいやだ...
- デバイスツリーとかよくわからない、DMAコントローラのレジ...
- uio はうっかりやってしまいそうで、なんか怖い
こういう人はきっと他にもいると思います。
** 動作環境とか [#w435cdc9]
- デバイス: Zynq-7000 (Zynq Soc) および Zynq Ultrascale+ ...
-- PL 側に実装した AXI DMA を動かすためのドライバです
-- ZYBO (無印および Z7-20), Eclypse Z7 と Ultra96 (無印お...
- OS: Xilinx 提供の Linux kernel (ここのところしばらく 4....
-- Root filesystem (ユーザランド) はなんでも大丈夫です。...
** 制約 [#q413c755]
- AXI DMAコアについて
-- Scatter & Gather モードに設定されていなければなりません
-- 基本的に Read と Write の両方のチャネルが必要です
-- Buffer Length Register のビット幅はドライバのコンパイ...
-- PS との AXI インタフェイスとかが変わる場合には FSBL も...
- ユーザのPL側ロジックについて
-- AXI DMAと接続するAXI StreamインタフェイスにはTLAST信号...
- ソフトウェアについて
-- ソフトウェアからみた書き込み、読み出し操作はそれぞれ1...
-- 複数のスレッドから同時に書き込んだり、同じく読み込んだ...
- ソフトウェア・ハードウェア共通
-- AXI DMAを使って PS 側へ送信するデータの (送信開始からT...
-- AXI DMAで一度に転送するサイズは scatter & gather descr...
--- ドライバ側ではサイズのチェックはしていないので、大き...
** とりあえず使ってみる [#r4e5e38b]
- [[Download]] からお手持ちのボード用のファイル一式をダウ...
- [[Getting Started]] に進むとお試しいただけます!
-- API の説明とかはもうちょっとお待ちください
- 自前でドライバをビルドしたい場合はこちら: [[How to Buil...
- PL (FPGA) のデザインから始めることもできます: [[PL Desi...
- PL の動作周波数を変えたりする話はこちら: [[Performance]]
* 更新履歴 [#bd7102d7]
- 2021.1.7
-- Kernel 5.6以降でも動作するように修正しました (trunk re...
- 2020.12.31
-- Ultra96v2 用の Vitis platform を [[Download]] に追加し...
- 2020.10.5
-- Digilent Eclypse Z7 で使うための一式を [[Download]] に...
- 2020.6.2
-- Ultra96v2 用の起動パーティションのファイル (.zip) を更...
-- Ultra96v1/v2 用の root filesystem のファイル (.tar.xz)...
- 2020.3.12
-- [[性能チューニングや測定結果の話>Performance]] を書き...
- 2020.3.9:
-- HLS のコードと PS のコードの例 ([[PL Design Primer]]) ...
--- この例題のコードは Rev.8 でリポジトリに入りました: ht...
-- [[Download]] のページで、rootfs の tar.xz がリンク切れ...
End:
* zFIFO is 何 [#tf4bcd71]
zFIFO は Zynq / ZynqMP SoC むけの AXI Scatter-Gather DMA ...
こういう気持ちで作りました:
- Vivado HLS でアクセラレータを作りたい。AXI Lite とかよ...
- SDSoC とか Vitis とかよくわからないし、アクセラレータ以...
- PetaLinux はなんだかよくわからないしできれば使いたくない
- AXI-Stream は Linux から FIFO っぽく使いたい
- Linux 側に固定サイズのバッファを確保しておくのはいやだ...
- デバイスツリーとかよくわからない、DMAコントローラのレジ...
- uio はうっかりやってしまいそうで、なんか怖い
こういう人はきっと他にもいると思います。
** 動作環境とか [#w435cdc9]
- デバイス: Zynq-7000 (Zynq Soc) および Zynq Ultrascale+ ...
-- PL 側に実装した AXI DMA を動かすためのドライバです
-- ZYBO (無印および Z7-20), Eclypse Z7 と Ultra96 (無印お...
- OS: Xilinx 提供の Linux kernel (ここのところしばらく 4....
-- Root filesystem (ユーザランド) はなんでも大丈夫です。...
** 制約 [#q413c755]
- AXI DMAコアについて
-- Scatter & Gather モードに設定されていなければなりません
-- 基本的に Read と Write の両方のチャネルが必要です
-- Buffer Length Register のビット幅はドライバのコンパイ...
-- PS との AXI インタフェイスとかが変わる場合には FSBL も...
- ユーザのPL側ロジックについて
-- AXI DMAと接続するAXI StreamインタフェイスにはTLAST信号...
- ソフトウェアについて
-- ソフトウェアからみた書き込み、読み出し操作はそれぞれ1...
-- 複数のスレッドから同時に書き込んだり、同じく読み込んだ...
- ソフトウェア・ハードウェア共通
-- AXI DMAを使って PS 側へ送信するデータの (送信開始からT...
-- AXI DMAで一度に転送するサイズは scatter & gather descr...
--- ドライバ側ではサイズのチェックはしていないので、大き...
** とりあえず使ってみる [#r4e5e38b]
- [[Download]] からお手持ちのボード用のファイル一式をダウ...
- [[Getting Started]] に進むとお試しいただけます!
-- API の説明とかはもうちょっとお待ちください
- 自前でドライバをビルドしたい場合はこちら: [[How to Buil...
- PL (FPGA) のデザインから始めることもできます: [[PL Desi...
- PL の動作周波数を変えたりする話はこちら: [[Performance]]
* 更新履歴 [#bd7102d7]
- 2021.1.7
-- Kernel 5.6以降でも動作するように修正しました (trunk re...
- 2020.12.31
-- Ultra96v2 用の Vitis platform を [[Download]] に追加し...
- 2020.10.5
-- Digilent Eclypse Z7 で使うための一式を [[Download]] に...
- 2020.6.2
-- Ultra96v2 用の起動パーティションのファイル (.zip) を更...
-- Ultra96v1/v2 用の root filesystem のファイル (.tar.xz)...
- 2020.3.12
-- [[性能チューニングや測定結果の話>Performance]] を書き...
- 2020.3.9:
-- HLS のコードと PS のコードの例 ([[PL Design Primer]]) ...
--- この例題のコードは Rev.8 でリポジトリに入りました: ht...
-- [[Download]] のページで、rootfs の tar.xz がリンク切れ...
Page: