190 likes | 422 Views
CPLD によるミニゲーム集の制作. ソ 17001 相坂俊 和島研究室. http://www.aomori-u.ac.jp/staff/wajima/lab/GR_2008/aisaka/. 目次. 背景 CPLD を使ったミニゲームの制作 ハードウェア CPLD 7segLED 回路基板の設計・製作 基板の仕様 回路 CAD による基板の設計・製作 動作プログラムの開発 8 パズル 三目並べ 問題点 結果. 背景. 組み込み系の技術 スペックが限定されたハードウェア 目的に特化した専用のソフトウェア 特定のシステムを動作させる
E N D
CPLDによるミニゲーム集の制作 ソ17001 相坂俊 和島研究室 http://www.aomori-u.ac.jp/staff/wajima/lab/GR_2008/aisaka/
目次 • 背景 • CPLDを使ったミニゲームの制作 • ハードウェア • CPLD • 7segLED • 回路基板の設計・製作 • 基板の仕様 • 回路CADによる基板の設計・製作 • 動作プログラムの開発 • 8パズル • 三目並べ • 問題点 • 結果
背景 • 組み込み系の技術 • スペックが限定されたハードウェア • 目的に特化した専用のソフトウェア • 特定のシステムを動作させる • CPLD( Complex Programmable Logic Device ) • 回路の設計・テストに使われる • 回路CAD • 回路基板の設計に使われる • 回路CADを使ってCPLDを搭載した基板を製作し、VHDL( Very high-speed integrated circuit Hardware Description Language)を使ってプログラミングをすれば、これらの技術を習得することができる 企業での需要が高い
CPLDを使ったミニゲームの制作 • ハードウェア • 回路CAD EAGLEで基板を設計 • コントロールにはCPLDを使う • 入力には押しボタンスイッチ、出力には7segLEDを使う • 基板加工機で基板を製作 • ソフトウェア(8パズル、三目並べ) • 開発環境:QuartusⅡ • 使用言語:VHDL
CPLD • 電気的に書き換えることのできるロジックエレメント(論理素子)を集積したもの • 使用したCPLDの特性 • 動作電圧:3.3V • ロジックセル数:240 • 入出力:76 • 電源入力:16 • 通信用入出力:4
7segLED コモンに5Vを、a~g、DPに0Vを入れると対応したセグメントが点灯する
インターフェイスの仕様 • 操作:ボタン • 情報表示:7segLED
回路CADによる基板の設計・製作 CPLD用基板 • 回路図と基板図を設計 • 基板加工機で基板を製作 • できた基板に部品をハンダ付け 表示・入力用基板
8パズルの仕様 • 上下左右のボタンで空白を移動させる • 中央のボタンで完成状態に戻す • 未完成では右上にーを、完成したら0を表示させる。 左ボタン 完成状態
CPLDを使った8パズルの動作プログラム CPLD (8パズルの動作プログラム) 入力 出力 CPLDに動作プログラムを書き込み8パズルの動作をさせる
メインの動作 7seg デコーダ 7seg デコーダ 全体の階層構造 8パズルの動作プログラム ボタン ・ ・ ・ ・ ・ ・ クロック プログラムをメインの動作をする部分と7segLED用に変換する部分に分ける (2進数で出力)
メインの動作 メインの動作 ボタン ... • ボタン、クロックの入力を受け取る • 4本×10セットの出力 クロック
7segデコーダ 7segデコーダ 出力 入力 0000→0000001→ 0001→1001111→ 4つの入力(4桁の二進数)を7segLEDのための信号に変換する
三目並べの仕様 • 上下左右のボタンでカーソルを移動させる • カーソルの位置に空白がある時中央のボタンでそのターンの記号○( ),×( )を置く • 上下ボタン同時押しで初期状態に戻す • そのターンの記号を右上に表示させる 上ボタン 中央ボタン ×のターン ○のターン ×のターン
記号の意味 +3 -3 カーソルの移動は3の加算・減算に相当する
問題点 • 誤動作 • 時々以下の問題が起こる • 8パズル • 方向ボタンを押したときに空白がなくなり同じ数字ができる • 方向ボタンを押したときに空白が2つ以上できる • リセット後の表示が本来のものと異なる • 三目並べ • 方向ボタンを押したときにカーソルが二つ以上になる • 方向ボタンを押したときにカーソルが消える • 原因 • スイッチON・OFF時のノイズ? • プログラムの記述上の問題?
研究成果 • 回路CAD EAGLEによる回路設計・製作 • VHDL言語によるミニゲームの制作 • 8パズル • 三目並べ • 電子回路技術の基礎を学んだ • ハードウェア記述言語の考え方を理解した