Handel-Cを用いた パックマンの設計 XXXXXXXX XX XX XXXXXXXX XX XX 2015/9/30 1 発表項目 1.目的 2.FPGAとHandel-Cの説明 3.仕様 4.アルゴリズム 5.問題と解決法 6.考察 7.デモ 2015/9/30 2 目的 高位システム記述言語Handel‐C とFPGA開発ボードを用いたハード ウェアの設計方法を学ぶ 2015/9/30 3 FPGAとHandel-Cの説明 FPGA(Field Programmable Gate Array) ・・・ハードウェアを設計データによって、 動的に作り変えることができるゲート・ アレイ Handel-C ・・・ハードウェアをC言語ベースで設計 することのできるプログラミング言語。 並列処理、ビット幅などの概念がC言語 に加わっている 2015/9/30 4 パックマンの仕様 エサを一つ取るごとに1ポイント加算 パックマンがパワーエサを取ると、逆襲モード に入り、敵とパックマンの関係が逆転する パックマンの行動はマウスによって制御し、操 作性を高めるために、予約入力を受け付ける 1面クリアするごとに逆襲モードの時間が短縮 敵とパックマンはアニメーションする 2015/9/30 5 敵の動きアルゴリズム (追跡モード、巡回モード、逆襲モード) 追跡モード・・・ 1.敵を3方向(Uターン禁止)に1歩ずつ進めて、 その時のパックマンとの距離を計算 2.1で計算した距離が最小になる方向に進む 巡回モード・・・ある4点との距離が最小に なる方向に進む 逆襲モード・・・追跡モードと逆の方向へ進む 2015/9/30 6 問題点とその解決法1 (問題点)FPGAのハードウェアリソースが限られている (解決法) パックマンの画像は1枚を回転させることによって、4方 向分表示 乗算・除算をビット操作によって行う 各変数のビット幅を使用する最小の幅にする 2015/9/30 7 問題点とその解決法2 (問題点)並列プロセスはRAMに同時アクセスできない (解決法) 画像表示プロセスとゲーム管 理プロセスが並列実行されて いるが、画像表示の走査線が Blank期間に入っている間に ゲーム管理プロセスがRAM にアクセスを行うことによって、 同時にはアクセスしないように した。 2015/9/30 8 考察 FPGAの設計においては、よりコンパクトな 設計を求められるため、データの効率的利 用、乗算・除算の排除、ビット幅の最小化な どの手段が有効 並列プロセスを同期させることにより、同時 にメモリアクセスしないようすることが可能 である 2015/9/30 9 それではデモをご覧ください 2015/9/30 10 以下は質問用 2015/9/30 11 パックマン動作アルゴリズムは? (予約入力) 1.入力された方向を予約方向として記憶 (入力されない場合は前回の予約方向 を維持) 2.予約方向が壁でなければ進む 3.2で進めなかった場合は1フレーム前と同じ方向 が壁でなければ進む 4.3で進めなかった場合は停止 2015/9/30 12 課題は? Handel-CとFPGA開発ボードを用いて、ハードウェア を設計すること 設計条件は、ディスプレイに出力すること、マウスを使 用すること、自分で設計したプロセッサをシステムに 導入すること パックマンに類似したゲームを設計 2015/9/30 13 パックマンの仕様は?1 10×10マスのマップを使用 エサを一つ取るごとに1ポイント加算 パックマンがパワーエサを取ると、逆襲モード に入り、敵とパックマンの関係が逆転する 逆襲モードで敵を食べると20点追加 敵は1匹とし、追跡モード、巡回モード、逆襲 モードの3種類の動作をする。(動作選択に設 計したプロセッサを使用) 2015/9/30 14 パックマンの仕様は?2 パックマンの行動はマウスによって制御し、操 作性を高めるために、予約入力を受け付ける 1面クリアするごとに逆襲モードの時間が短縮 敵とパックマンはアニメーションする パックマンと敵が衝突した場合に特殊アニメ が動作 2015/9/30 15 ゲートアレイとは? 論理ゲート(基本セル)が格子(アレイ)状に 配列されており, 実現すべき回路が決まっ たあとに,相互に配線されておらず電気的 に独立している基本セルを組み合わせて, 希望のディジタル回路を実現します。 長所:設計が簡単 短所:設計自由度の制限 2015/9/30 16 今回使用したFPGAは? RC100・・・ Celoxica社が開発したスタンドアロンのFPGAボー ド。 ゲート数は20万ゲート。 LUTは約4500個。 80MHzクリスタルからクロックを生成。 2015/9/30 17 Demo画像 2015/9/30 18 画像の表示は? 32×32配列 PACMAN[Y座標@X座標]でアクセス 2015/9/30 19
© Copyright 2025 ExpyDoc