まずは本を読み進める
前回紹介した以下の本を読み進めている。序章はverilogのコーディングというより、基礎的な技術や著者製のIDEの紹介がメインになっている。ポイントだけ以下にメモしておく。
序盤はverilogやHDLの解説
1章~5章は論理回路やHDL、Verilogの基礎が解説されている。私はこのあたりの基本的な知識はあるので、ざっと流し読みしていく。技術的な話に加えて、ときおり書いてあるゲーム機の歴史の内容が面白い。
英語の勉強のために読んでもいいけど、懇切丁寧に書いてあるわけでもないし、探せば日本語の情報もたくさんあるので、このあたりについて初心者は「Verilog 入門」とか「HDL 入門」などでググって読んだ方が理解が早いかも。
著者製のIDE&エミュレータでサンプルコードを動かしてみる
6章では著者が公開しているエミュレータ付きのIDEについて紹介している。IDEはブラウザで動くようになっており、インターネットに接続できる環境があれば動く。
IDEはこちらで公開されている。IDEを開き、試しに左上のタブから「Verilog」→「Brick Smash Game」を選択してみる。
お~、ちゃんとブロック崩しになっている。マウスの動きがinputのhpaddleに対応しているようだ。Verilogを入力してエラーが無ければ、右側のパネルでエミュレータが動いて動作を確認できるという仕組み。
ただ、結論から言うとZyboで動かすRTLを書くときには、あまりこのIDEを使うことはなかった。FPGA用に開発ツールで論理合成した場合と、エミュレータで動かした時の動作の差が結構大きく、FPGAでの動作を検証するには向かないからだ。
IDEで動かしながら検証するというより、本で紹介されている内容をZybo向けに実装する前にエミュレータでサンプルコードを実行してみて、最終的な動作をイメージしてから実装に移るというような使い方をしている。
この日記を書いている時点で、何個かサンプルコードを実際にFPGAに実装して動かせているので、次回からVerilogをVivadoでsynthesis&Implementationして、実装する流れを書いてみたいと思う。
FPGAでゲーム機をつくろう日記まとめ
この日記は以下でまとめています。