FPGAで遊ぶとたのしかった

FPGAをずっと触ってみたかったんだけど、いろいろ準備するのがなーと思いつつ、本だけ買っていたのだけど、kazunori_279さんがFPGAで音をだしたりしてて、入門書というのがぼくが買った本と同じだったので、同じ学習キットを買ってみた。
「AlteraDE0 開発・学習ボード - Soliton Wave Shop」
http://solitonwave.shop-pro.jp/?pid=15835753
「DE0で音を出してみた。 - スティルハウスの書庫」
http://d.hatena.ne.jp/kazunori_279/20121204/1354631391


すぐに発送されて2日ほどで届いた。


んで、届いた日は触れなかったのだけど、昨日ちょっと触ってみました。
とりあえず電源いれてみた。

LEDがちかちかしつつ、ディスプレイになんか表示されてます。


ちゃんと動くことが確認できたので、セットアップしようと思って付属DVDからソフトいれたのだけど、どうもドライバがWindows7 64bitに対応してないようで、インストールできず。
ここから最新版の12.1というのをダウンロードしました。
「Quartus II ソフトウェア ウェブ・エディション」
http://www.altera.co.jp/products/software/quartus-ii/web-edition/qts-we-index.html


ダウンロードサイズが3.8GBとかで、ダウンロードに時間がかかってしまったけど、無事にドライバもインストールできました。


あとは、本のとおり、試しに次のようなHDLを書いてみる。

module first(switch, led);
input switch;
output led;

assign led=switch;

endmodule

読んで字のごとく、switchって入力があって、ledって出力があって、switchをledに割り当てる。
普通のプログラムと違うのは、assignというのは、ある時点でのswitchの値をledに割り当てるということではなくて、switchとledを結線するということで、常に同じ値が流れ込むことになるということ。


そしたら、本の手順どおり、switchをDE0のスイッチに割り当てて、ledを実際のLEDに割り当ててコンパイルして実行。
ほんとに、ディップスイッチをONにしたらLEDが点灯する。


非常に勝手がわからずおもしろかった。
いろいろつないでいろいろやってみよう。


ところで、なんで届いたその日に触らなかったかというと、机にスペースがないから。
やはり最初はスペースに余裕があるところで作業したい。


そんなわけで、最近うちから歩いていけるところに、とてもとても素敵な図工室がオープンしたので、そこで作業させてもらいました。はんだごてとかテスターとかもあるので、なにかあっても安心。
「博多図工室」
http://hakata.zookoo.net/
今回は使わないけど、3Dプリンタもあるよ。


あと、参考にしてた本はこれです。DE0を前提とした記述なので、独習するには とてもありがたいです。