【FPGA】FPGA + Verilogでゲーム機をつくろう日記を始めてみる

投稿日:2020年10月16日
最終更新日:2020年10月16日

Verilogでゲーム機をつくる本を買った

最近は仕事でFPGAを触ることが無くなったが、趣味で何かつくることは続けたいと思っている。何かネタ無いかな~と考えて、ゲームと絡めてなんか作れたら面白いかも…と思って「FPGA ゲーム」とググってみたら発見したのがこの洋書(ちなみに日本語で同じようなテーマの本は今のところなさそうだった)。

Designing Video Game Hardware in Verilog (English Edition)


内容としてはverilogでゲームを作ろう、というコンセプト。ゲームといってもあまり複雑なものではなく、ブロック崩しとか弾除けゲームみたいな簡単なもののつくり方が紹介されている。

 

Zyboに組み込んで動かすまでの軌跡を日記に残してみる

とても面白い本なのだが、RTLを実際にFPGAに組み込んで動かす部分はあまり(というかほとんど)書かれてない。私は多少なりともFPGAの経験はあるので、サンプルコードを元に、私の手持ちのZybo(Xilinx社のFPGA・Zynqを搭載したボード)でpin制約など設定し、非同期の記述を同期に書き換えるなどして何となく動かせてはいる。以下は最初に出力してみたVGAのテストパターン。

FPGAでゲーム機をつくるってなかなか面白いと思うし、やりたい人も多いのではないかという気がするので、FPGAでゲーム機をつくるまでの軌跡を日記にしてまとめたいと思う。

当然、この本の内容を和訳してそのまま貼り付けるような書き方は著作権的に問題があるので、本のどの部分をやったかと、私の理解でzyboで実装するときのポイントだけ書いていく。詳しく理解したい人は本を買ってみてください。ゲーム機の歴史も知ることができて読みものとしても結構面白い。

ただし、サンプルとして公開されているverilogコードについてはCC0ライセンスと著者のgithubのprojectで名言されているため、zybo用にカスタマイズしたverilogコードは公開したいと思う。

できる限り他の人の参考になるように書きたいとは思うが、チュートリアルではなく、あくまで日記として書くつもりなので、一つの機能を複数の記事にまたがって実装したり、手戻りなども発生する可能性もあるのでご了承ください。また、Zyboに触ること自体が初めてな人は、まずはLチカ(LED点滅)からやってみると良いかも。以下で私がLチカをやってみたときの日記を公開してます。

【FPGA/HDL】ZYBOで遊ぼう日記 – FPGAとARMを融合させたZynqで遊ぶ。HLSやMicroblazeも

 

1+

投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください