相坂 俊 : CPLDによるミニゲーム集の制作

CPLDから入出力を取りだす基板、デジタル数字を表示するLEDを搭載する基板を制作しました。そのCPLDにVHDL言語で組んだプログラムを書き込み、8パズルや三目並べなどのゲームができるシステムを開発しました。

資料


コンセプト

  • 出力 : 10個の7seg.LED
  • 入力 : 5個の押しボタン
  • コントロール : 240のロジックセルと76の入出力を持つCPLD
  • VHDL言語でプログラムを制作する

動画

    VHDL言語で8パズルと三目並べのゲームプログラムを組み、CPLDに書き込んで動作させました。

  1. 8パズルです。上下左右のボタンで空白を移動し、中央のボタンでリセットします。完成すると右上に数字の0が表示されます。


  2. 三目並べです。上下左右のボタンでカーソルを移動し、中央のボタンで○か×の記号を配置します。上と下を同時に押すとリセットします。右上には現在のターンの記号が表示されます。


  3. 空白 × カーソル カーソル + ○ カーソル + ×

動作テスト用基板


    テスト用基板です。PLDの動作確認のために製作したものです。基板左側にあるボタンを押すと7seg.LEDに表示される数字が1ずつ増えていくプログラムを書き込み、動作を確認しました。基板の設計には回路CAD EAGLEを使用しました。

基板

    完成した基板です。フリーウェア版のEAGLEではすべての素子を搭載できるサイズの回路を作ることはできないため、CPLDとの入出力用の基板と表示・入力用の基板の2つを2本の40pinケーブルでつないで動作させました。

    CPLDを搭載する回路基板(上の写真の左側)の回路設計図です。回路CADの部品ライブラリにCPLDのボードを部品として追加し、それを含んだ回路図を設計しました。

    上の回路図を元にした基板設計図です。外部電源とスイッチ、電源確認用LED以外の入出力は全てもう一方の基板にコネクタでつながります。端子数は多いですが、単純な回路なので片面基板で設計できました。

    LED・ボタンを搭載する回路基板(上の写真の右側)の回路設計図です。デジタル数字の8が書いてある部品は情報表示に使う10個の7seg.LEDです。

    上の回路図を元にした基板設計図です。どうしても7seg.LEDの電源系の配線が他の配線と交わってしまうため、両面基板にして、電源だけを基板の表側を通す形にしました。

リンク

卒業研究 (2008)

創作ゼミナール (2007)


inserted by FC2 system