目次 1、 2、 3、 4、 5、 背景・目的 プログラム仕様 実現のための苦労した点 デモ 考察、まとめ 1、目的・背景 目的:高位システム記述言語Handel-C とFPGA開発ボード(RC10)を用いて ハードウェア設計の基礎を学ぶ。 FPGAとは? ・Field Programmable Gate Array の略称 ・利用者が独自の論理回路を設計できるLSI Handel-Cとは? ・一般的なC言語よりもハードウェアよりの言語。 ・変数を設定するときにビット数を定義できる。 作成したプログラム説明 ・作成したプログラム トランプ「スピード」風ゲーム ・ルール 二人のプレーヤーがそれぞれ1~13の カードを2組、計26枚のカードを中央の山 に出し合い先に26枚を出し切ったほうが 勝ちとなる。 2、作成したプログラムの仕様 プログラムを転送した時点でゲームスタート 中央にある二組の山の数字の+1もしくは-1の数字 を出すことができる。 指の形をしたポインタを場札に合わせ左右どちらかク リックすると前述の条件を満たせた場合その方向の 山に手札を出すことができる。 プレーヤーは場札4枚あり、場札を出すと手札から出 した枚数を補充する。 先に手札を出し切った方にWIN、もう一方に LOST また、同時に終了する場合にはともにDRAWを表示 する。 相手の場札 ゲ ー ム の 簡 略 図 4 3 5 A 2 A 中央の山 5 2 3 自分の場札 4 3、実現のために苦労した点 場札から中央の山に出すときのアニメーション それぞれのカードを出す判定と画像の表示 の同時処理。 手札のカードの交換。 Handel-Cでの擬似乱数関数の作成 コンパイルとインプリメントの時間的長さ。 5、考察 カードの表示がときおり1色になってしまうことがある。 これは複数のループで同時にアクセスしようとするの で起こると思われる。ただ、どの関数でどのように起 こっているか理解できなかったため対処できなかった。 カードの情報を持った構造体を配列で使用してしまっ たのでプログラムがわかりにくく、また時間がかかっ た。これを線形リストで表示することでプログラム的に も時間的にも簡単にすることができると思われる。 まとめ いままでに使っていたC言語と異なるクロックサイクルと いう概念と並列処理という点で最後までてこずった。 カードをシャッフルするための擬似乱数を作成したが時 間がなく搭載することができなかった。これを使用すると もっとゲームとしておもしろくなったと思う。 表示がうまくいかずそれによりデバッグがなかなかできな かった。 処理が簡単なゲームだと思って作成を始めたが、実際に 作成してみると処理、表示、通信の三要素のハードウェ アよりのプログラムの難しさに驚いた。
© Copyright 2024 ExpyDoc