PYNQ

21Q1.01B

自作回路を PYNQ につなぐ様々な方法 (5)

自作回路を PYNQ から使うための設計・開発法に関するコースの最終回になります。今回の設計も、対象のアプリケーションがステンシル計算であること、IP コアがフル機能の AXI をもつ場合を取り上げることは変わりません。異なるのは、IP コアを Vitis HLS (2019.2 以前の Vivado では Vivado HLS とよばれていました) による高位合成で作成する点です。 本コースで使用したハードウェア記述 (一部ソフトウェアも含む) は、GitHub リポジトリ上で公開して...
21Q1.01B

自作回路を PYNQ につなぐ様々な方法 (4)

自作回路を PYNQ から使うための設計・開発法に関するコースの第4回です。今回は、「AXI でプロセッサとつながる IP コアを作る (5)」で紹介したステンシル計算コプロセッサを再び取り上げ、IP コアがフル機能の AXI をもつ場合の設計のポイントを確認します。前述の記事でも、ハードウェア実装とソフトウェア実装 (C 言語による) とを比較してみましたが、Python ではどうでしょうか。 本コースで使用したハードウェア記述 (一部ソフトウェアも含む) は、GitHub リポジトリ...
21Q1.01B

自作回路を PYNQ につなぐ様々な方法 (3)

自作回路を PYNQ から使うための設計・開発法に関するコースの第3回です。ここからは、PS と多量のデータのやりとりを必要とする回路を含んだ設計例の説明に入ります。今回は、AXI-Stream で回路からデータを PS に流し込み、そのデータをファイルに保存する、という例を取り上げます。今回の例は、「PYNQ を使って Python で手軽に FPGA を活用 (5)」の後半で紹介されている、AXI-Stream で来たデータを加工して AXI-Stream で返す、といった回路にも応用でき...
21Q1.01B

自作回路を PYNQ につなぐ様々な方法 (2)

自作回路を PYNQ から使うための設計・開発法に関するコースの第2回です。今回は、第1回で作成したナイトライダー回路の IP コアに少し手を加えることで、自身が制御用の AXI Lite インタフェースを持っている場合の設計例を説明したいと思います。また、自作の IP コア専用のドライバクラスを Python で作成する方法についても取り上げます。 本コースで使用したハードウェア記述は、GitHub リポジトリ上で公開しています。今回の関連するファイルは、knight2 フォルダ内にあ...
21Q1.01B

自作回路を PYNQ につなぐ様々な方法 (1)

愛知工業大学の藤枝です。この度また ACRi ブログでの執筆の機会をいただきました。今回は、2020年第1クォーター (20Q1) で三好さんが執筆された、「PYNQ を使って Python で手軽に FPGA を活用」の内容を補完するコースとなります。 FPGA や Zynq での設計にそれなりに慣れた人であれば、上記のコースを読んだあと少しばかり試行錯誤をすれば、すぐに自分の設計した回路を PYNQ 上で動かせるかもしれません。ただ、FPGA 開発に関する初級~中級レベルのコースで、...
20Q3.02A

高位合成で加速するアクセラレータ開発 (1) ~ ACRi ルームで体験してみよう

この記事では、ACRi ルーム と PYNQ で、高位合成を使った FPGA 開発フローを「超」お手軽に体験してみましょう。C と Python しか出てきませんので FPGA 初心者の方もご安心ください。
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (5)

みなさんこんにちは。このコースでは、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。ゴールは、Jupyter Notebook の環境を使って Python から手軽に FPGA を利用できるようになることです。前回は、自分で設計したロジックを PYNQ 上で利用する開発手順を紹介しました。 最終回となる今回は、PYNQ を使って本格的なアプリケーションを実装するために必須の PS (プロセッサ)と PL(プログラマブルロジック) でのデータ共...
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (4)

みなさんこんにちは。このコースでは、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。ゴールは、Jupyter Notebook の環境を使って Python から手軽に FPGA を利用できるようになることです。 前回は、いくつかの例を交えて PYNQ を使った FPGA の操作方法を紹介しました。今回は、自分で設計したロジックを PYNQ 上で利用する開発手順を紹介します。 開発の手順 自分で設計したロジックを PYNQ の上で...
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (3)

みなさんこんにちは。このコースでは、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。ゴールは、Jupyter Notebook の環境を使って Python から手軽に FPGA を利用できるようになることです。 前回は、PYNQ の紹介とセットアップ方法を紹介しました。第 3 回となる今回は、PYNQ を使った FPGA の操作をいくつかの例を交えて紹介します。 PYNQ が提供する環境 PYNQ では、ZYNQ の PS (ar...
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (2)

みなさんこんにちは。このコースでは、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。ゴールは、Jupyter Notebook の環境を使って Python から手軽に FPGA を利用できるようになることです。前回は、「そもそも FPGA ってなに?」というタイトルで FPGA の紹介をしました。第2回の今回は、本題の PYNQ を紹介します。 PYNQ って何? - Python による FPGA 操作 PYNQ は、PythonでF...
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (1)

みなさんこんにちは。ACRi ブログの1番目のコースでは5回にわたるブログ記事を通して、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。扱いやすい Jupyter Notebook の環境を使いながら、Python で手軽に FPGA の開発を体験するのがゴールです。 第1回のこの記事では「そもそも FPGA ってなに?」という疑問に答えていきます。 FPGAって何? FPGA こと Field Programmable Gate ...
タイトルとURLをコピーしました