19
2048 on FPGA 高橋光輝(@hakatashi)

2048 on FPGA

Embed Size (px)

DESCRIPTION

2014年度東京大学電子情報工学科主催全学体験ゼミナール「コンピューター・マイクロチップを作ろう」研究発表スライド 2014/08/07@東京大学工学部2号館

Citation preview

Page 1: 2048 on FPGA

2048 on FPGA高橋光輝(@hakatashi)

Page 2: 2048 on FPGA

FPGA講習

Page 3: 2048 on FPGA

( ˘⊖˘) 。o(何を作ろうかな… )

Page 4: 2048 on FPGA

用件● プログラミング

● やっぱりゲームが作りたい– 面白いゲーム

● FPGA● リソースが限られている

– シンプルなゲーム● 時間がない

● 短期開発– 適当に作ってもそれっぽく遊べるゲーム

Page 5: 2048 on FPGA

( ˘⊖˘) 。o(ゲーム… )

Page 6: 2048 on FPGA
Page 7: 2048 on FPGA

_人人人人_> 2048 <

 ̄Y^Y^Y ̄

Page 8: 2048 on FPGA

製作

Page 9: 2048 on FPGA
Page 10: 2048 on FPGA

苦労した点

Page 11: 2048 on FPGA

数字の表示● 画面表示はVGAのピン出力までベタ書き● 当然APIやフォントなんてない● レジスタに数字の形を保存して描画処理も手打

ち● 座標計算をミスると…

Page 12: 2048 on FPGA
Page 13: 2048 on FPGA

_人人人人人人_> 読めない < ̄Y^Y^Y^Y^Y ̄

Page 14: 2048 on FPGA

FPGA固有の問題● FPGAに記憶可能な命令の量は限られている

● 論理回路の気持ちを考えてシビアに記述しないといけない

● 数値を5で割っただけで容量爆発– 乗算、除算、剰余はめんどくさい– 5による除算から8による除算(3ビットシフト)に置き換

えることで解決– スコア表示は断念…(10除算が必須)

● Blocking assignmentとNon-blocking assignment

Page 15: 2048 on FPGA

改善したい点

Page 16: 2048 on FPGA

改善したい(したかった)点● 新規ブロックの出現位置が固定されている

● 乱数むずかしい…● 6色しか使えないのでブロックの色がダブって

いる● アナログ放送も驚きの3ビットカラー

– ピクセル単位のブレンド● その他雑多なバグ

● 左方向に動かしたときの挙動がおかしい

Page 17: 2048 on FPGA

感想

Page 18: 2048 on FPGA

感想● プログラミング言語にはいろいろ触ってきた

が、ハードウェア記述言語に触れたのは初めてで、いろいろ悩まされた

● 記述したことが機械にすぐ反映できる楽しさ● 初日欠席してごめんなさいorz

Page 19: 2048 on FPGA

ありがとうございました