FPGAテトリス(オンライン実験)

2020年度のテトリス実験はオンラインで行いました。

実験にはJ1実験で利用したリモート操作可能なFPGAボードを使用しています。テトリス実験は課題の中で音声出力モジュール、映像出力モジュールを作ります。しかし、リモート操作用FPGAボードには映像や音声を出力するための端子がありませんでした。そこで、VGAや音声出力用の端子を利用するために拡張基板をFPGAボードに接続して使用しました。また、リモート操作アプリケーションは実験室の音声を聞ける機能が追加されました。

授業では例年通り1-6回目の授業でテトリスの作成をして、7回目の授業にプレゼン発表をしました。

今年は実験室の開室時間外でもFPGAボードの実機動作確認(遠隔)ができるようになったこともあり、手の込んだ作品が多く見られました。(昨年までは実験室が空いてないと実機動作は出来ませんでした)

また、昨年と使用するFPGAボードが変わり、使用できる回路資源が減ってしまったことから、リソースの少ない回路を作る必要がありました。そのため、テトリミノの形や色、ドット絵、ゲーム性、音など人によって力を入れる場所が異なっていました。

FPGAテトリス(2020/2/5)

情報数理工学/コンピュータサイエンス実験第二の4ラウンド目には「FPGAテトリス」と呼ばれる課題があります。この課題は名前の通りFPGA(書き換え可能なハードウェア)でテトリスをつくる課題です!

テトリス課題ではVerilogと呼ばれる言語を使って、音を生成するモジュール、画面に映像を映す信号を生成するモジュールを作り、それらが完成してからFPGAボードのボタンで操作できるテトリスを作ります。

課題は全7回の授業から構成されていて、最初の1、2回目で音声モジュールの設計をし、3、4回目では映像出力モジュールの設計、5、6回目でテトリスのゲームを実装して、最終回では学生がそれぞれ自分の作ったテトリスについて発表をします。

テトリス課題では下の写真のFPGAボード(Xilinx社のBasys 3)とサウンドブザーを使用します。

Verilogのコードを書いたら専用のツールを使ってコンパイルします。コンパイルして出来たファイルはPCと接続したFPGAに書き込むことで動かすことができます。

発表は一人10分程度で行い、学生はデモ発表に加えて、自分のFPGAテトリスで工夫した部分や、FPGAテトリスを作る上で頑張ったこと、苦労したことについて発表します。

この課題は音楽モジュール、映像信号モジュール、テトリス回路を6回の授業で実装するので、学生はハードなスケジュールでテトリスを作る必要がありましたが、発表の時点では個性的な作品が多くみられました。

テトリス課題はFPGA初心者でも楽しめる課題です。これから実験第二を履修する方は是非テトリス課題を選んでみてはいかがでしょうか?