注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第18回では、筆者の今岡氏が他連載でも活用しているFPGA評価ボード「Tang Nano 9K」に、ファミコンで広く知られるようになった十字キーとA/BボタンのUIを搭載する。
みなさんこんにちは。この連載の記事を書くのもしばらくぶりなのでこのようなあいさつとなってしまいました(編注:2023年9月公開の前回記事は夏前の入稿)。筆者は発作的に原稿を書くタイプなので、その発作が来ないと全く原稿もコードも回路図も書きませんし、そういった創作系の作業は一切手につかないのです。この秋になってその時期が3カ月ぶりに巡ってきたので今回の原稿を書いています。そこで、このシリーズ復帰第1作目のテーマですが「FPGA評価ボードに十字キーを付けてみた」となります。
⇒連載「注目デバイスで組み込み開発をアップグレード」のバックナンバー
それがどれだけうれしいのかということですが、筆者はこれ以外にMONOistで2つの連載を持っています。1つは「オリジナルCPUでバイナリコード入門」、もう1つは秋の終わりごろには始められるであろうFPGAにおけるニューラルネットワーク活用の連載で、いずれもFPGAを用いたテーマになっています。
バイナリコード入門では、FPGAにオリジナルCPUを実装して機械語のプログラミングのトレーニングを行っています。ニューラルネットワークの方をもう少し詳しく説明すると、PCであらかじめ構築した学習済みモデルを基に、5×5の手書き文字をFPGAで推論させるというものです。
これら2つの連載には課題がありまして、どんな作業を行うときでもPCベースのFPGAの開発環境が必要なのです。例えば、ニューラルネットワークの方であれば、手書き文字をいろいろ変えて推論させたい場合、PCのFPGA開発環境のIDE(統合開発環境)に戻って手書き文字のドット列を編集して再シンセサイズ(プログラマー的にはコンパイルかもしれませんが、FPGAで用いるHDLの場合はシンセサイズになります)する必要があります。バイナリコーディング入門も、プログラムを書き直したい場合には、これもPC側のIDEでコードを編集して再シンセサイズしなければなりません。
いずれもPCがないと、FPGA評価ボードを用いた演習機材だけではプログラミングの演習もニューラルネットワークのテストもできないのです。この演習機材は、モバイルバッテリーなどを利用すれば出先や移動中でも利用可能なのですが、結果としていちいちPCのお世話にならないといけないのは大変不便です。
つまり、PCなしでプログラミングしたり、推論させる文字編集を演習機材単独で行ったりしたいわけですが、そのためには何らかのUI(ユーザーインタフェース)が必要です。そこで目を付けたの十字キーです。海外では「D-Pad(Directional Pad)」ともいうようです。いわゆるファミコンなどのゲームコントローラーのことですね。
今回は、この十字キーをFPGA評価ボードを用いた演習機材に付けて、より便利に使ってもらうための試みになります。前編では、FPGAに十字キーを付けてから、簡単な接続テストまでを行います。十字キーは、ファミコンやそれ以前のゲームのUIとして既にあったのかもしれませんが、いずれにしても40年以上前の代物(デバイス)ですよね。ですからこの連載でいうような「注目デバイス」というわけではありませんが、FPGAに接続してみれば存外新鮮であり、いろいろと気付きもあったので、そのあたりを読者の皆さんと共有できればと思います。
Copyright © ITmedia, Inc. All Rights Reserved.