2048 on FPGA
-
Upload
takahashi-koki -
Category
Technology
-
view
359 -
download
5
description
Transcript of 2048 on FPGA
![Page 1: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/1.jpg)
2048 on FPGA高橋光輝(@hakatashi)
![Page 2: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/2.jpg)
FPGA講習
![Page 3: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/3.jpg)
( ˘⊖˘) 。o(何を作ろうかな… )
![Page 4: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/4.jpg)
用件● プログラミング
● やっぱりゲームが作りたい– 面白いゲーム
● FPGA● リソースが限られている
– シンプルなゲーム● 時間がない
● 短期開発– 適当に作ってもそれっぽく遊べるゲーム
![Page 5: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/5.jpg)
( ˘⊖˘) 。o(ゲーム… )
![Page 6: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/6.jpg)
![Page 7: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/7.jpg)
_人人人人_> 2048 <
 ̄Y^Y^Y ̄
![Page 8: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/8.jpg)
製作
![Page 9: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/9.jpg)
![Page 10: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/10.jpg)
苦労した点
![Page 11: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/11.jpg)
数字の表示● 画面表示はVGAのピン出力までベタ書き● 当然APIやフォントなんてない● レジスタに数字の形を保存して描画処理も手打
ち● 座標計算をミスると…
![Page 12: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/12.jpg)
![Page 13: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/13.jpg)
_人人人人人人_> 読めない < ̄Y^Y^Y^Y^Y ̄
![Page 14: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/14.jpg)
FPGA固有の問題● FPGAに記憶可能な命令の量は限られている
● 論理回路の気持ちを考えてシビアに記述しないといけない
● 数値を5で割っただけで容量爆発– 乗算、除算、剰余はめんどくさい– 5による除算から8による除算(3ビットシフト)に置き換
えることで解決– スコア表示は断念…(10除算が必須)
● Blocking assignmentとNon-blocking assignment
![Page 15: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/15.jpg)
改善したい点
![Page 16: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/16.jpg)
改善したい(したかった)点● 新規ブロックの出現位置が固定されている
● 乱数むずかしい…● 6色しか使えないのでブロックの色がダブって
いる● アナログ放送も驚きの3ビットカラー
– ピクセル単位のブレンド● その他雑多なバグ
● 左方向に動かしたときの挙動がおかしい
![Page 17: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/17.jpg)
感想
![Page 18: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/18.jpg)
感想● プログラミング言語にはいろいろ触ってきた
が、ハードウェア記述言語に触れたのは初めてで、いろいろ悩まされた
● 記述したことが機械にすぐ反映できる楽しさ● 初日欠席してごめんなさいorz
![Page 19: 2048 on FPGA](https://reader036.fdocument.pub/reader036/viewer/2022062313/559225f71a28abb24a8b463a/html5/thumbnails/19.jpg)
ありがとうございました