shtaxxx日記

コンピュータアーキテクチャについて研究している研究者の日記や技術紹介

Zynq+PyCoRAM(+Debian)入門

Zynq + Vivado HLS入門Zynq + Synthesijer入門に引き続き,ARMを搭載するFPGAXilinx Zynqの上でPyCoRAMを用いて生成したIPコアを利用するためのチュートリアルを作成しました.

Zynq上でLinuxを動作させることでおなじみのソフトウェアを利用できて便利なので,今回はLinuxとの連携方法についても合わせてまとめてみました.Pythonコントロールスレッド部のみを用いた設計も可能ですので,Python-Verilog HDLな高位合成としても使えます.

流れとしては,まずPyCoRAMのみでシミュレーションで動作検証し,その後VivadoでZynqに組み込みます.PyCoRAMは自動的にAXI4/AvalonのIPコアを生成するだけではなく,テストベンチなどの生成も行うため,機能検証がスムーズに行えます. ビットストリームができあがったら,U-Bootと呼ばれるブートローダを生成し,SDKでFSBLを作成します.ここで,前2つのチュートリアルと同様に,ベアメタルのアプリケーションを作成して動作させることもできます. あとは,Linuxカーネルのビルド・デバイスツリーの構築・ファイルシステムの構築を経て,最後にプログラムを書けば完成です.

なお,PyCoRAMは完全にGitHubベースのオープンソース開発に移行しました.何か提案・修正箇所等があれば,お知らせいただけますと助かります.

www.slideshare.net