日曜日 1:40 p.m.–2:10 p.m.
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda
- 対象レベル:
- 初級
- カテゴリ:
- Embedded Systems
説明
ユーザーが自由に構成を変更できる柔らかいハードウェアのFPGAが,サーバーや組み込みシステムなど幅広い用途で利用されています.また,評価ボードの低価格化・小型化に伴ってソフトウェア技術者にも広まりつつあります.このセッションでは,Pythonによる高位合成コンパイラを持つFPGAシステム設計フレームワークであるPyCoRAMを用いた,お手軽なFPGAシステムの開発方法について解説します.
概要
FPGAとは?
----------------------------------------
本発表ではまず,FPGAの基礎について解説します.FPGAはデータセンターや組み込みシステムなど幅広い応用で用いられており,FPGAでどのようなことが実現できるか具体的な例も紹介します.
FPGAシステムの開発方式
----------------------------------------
次に,FPGA・ハードウェア設計の基礎について,ソフトウェア開発と比較しながら解説します.
PyCoRAM
----------------------------------------
続いて,本発表のメインであるPyCoRAMを紹介します.PyCoRAMは,Pythonプログラムからハードウェア記述を生成する高位合成コンパイラを持つ,FPGAシステム開発フレームワークです.
発表では,Python ASTモジュールを用いた,Pythonソースコードの解析方式と高位合成コンパイラの実装,ハードウェアデザインのポータビリティのためのリソース抽象化方式などのついて解説します.
また併せて,PyCoRAMがバックエンドでVerilog HDLのコード解析・生成に利用しているオープンソースなツールキットのPyverilogについても紹介します.
PyCoRAMを用いたお手軽なFPGA開発
----------------------------------------
次に,PythonとPyCoRAMを用いたFPGAシステムの開発方法について解説します.まず,Pythonだけを用いたお手軽なハードウェア設計方法を解説します.
その後,Verilog HDLを用いた低レベルなハードウェア記述とPythonによるシンプルなハードウェア記述の連携によるハードウェア設計方式について解説します.
最後に,オープンソースのシミュレータを用いたハードウェアの動作検証方式について解説します.
まとめ
----------------------------------------
最後に,本発表のまとめと,今後の展開について述べます.