HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2004/08/03

スパルタン3でアーケードゲームを動かす! スパルタン3でアーケードゲームを動かす!

(XAPP694の使用例、INVADER/GALAXIAN/PACMAN/D*NKEY-K*NG/TIME PILOT)

Tags: [FPGA], [電子工作]





INVADER

GALAXIAN

PACMAN

D*NKEY-K*NG


SpartanIIでPACMAN計画さとうさんの”スパ2でパックマン”を動かしてみました。

XILINX Spartan-3 スタータ キット Board (Spartan-3 XC3S200)を使いました。



アプリケーション ノート XAPP694 を参考にしてコンフィグROMの余白領域にROMデータを格納して、パワーアップ時にSRAMに転送しています。
元のソースがVHDLだったのでVerilogに移植しようとしたのですが、プリミティブやらfor文を使っていたのでゼロからVerilogで作成しました。

コンフィグROM(XCF02S,2Mbit=256KByte)の内訳
00000h
FPGA-コンフィグ用ビットデータ
1FF87h
1FF88h
なにも使わないゴミエリア
1FFEFh
1FFF0h
頭出し用SYNCデータ
(16Byte)
1FFFFh
20000h
ユーザーが好きに使っていいエリア
(128KByte)
3FFFFh

office-DsanのXILINX SPARTAN-3版のPENGOにbit->MCS変換& ユーザーデータ混合ツール(Make_MCS.exe)が同梱しています。

※なんとなXAPP694付属の"pc.pl"で生成すると、追加したユーザーデータ部分でコンフィグの10000H以降を上書き破壊しそうだけど?


※ALTERAでもEPCSを使ったActive Serialモードで可能ではないだろうか?
※EP1C20=3559608,EPCS4=4194304,EPCS4-EP1C20=634696bit=79337Byte
※↑ 可能です。NIOSでは当たり前のようにこの機能を使っています。

2004/09/04
ALTERA EPCS Config-ROMを自在にアクセス
ALTERA EPCS Config-ROMを自在にアクセス

  JTAG経由でFPGAと通信したりEPCSを書き換えたりできます
NIOSを使わないでEPCSのアクセスに成功しました。

とりあえずパックマン動いたよ!


スプライトが化けている?(Speed/Areaの合成の違いで出たり出なかったり)





ド*キーコ*グ


出川さんのと私のと両方完璧に動く様になりました。




インベーダーも動いたよ!


これは全く問題なく動きます


これはXAPP694を使わなくても内蔵BLOCK-RAMにプログラムROMが入ります
Release 6.2.03i Par G.31a
Device utilization summary:
   Number of External IOBs            46 out of 173    26%
      Number of LOCed External IOBs   45 out of 46     97%
   Number of RAMB16s                  12 out of 12    100%
   Number of Slices                  890 out of 1920   46%
      Number of SLICEMs               32 out of 960     3%
   Number of BUFGMUXs                  1 out of 8      12%


タイムパイロット も動いたよ!


これも全く問題なく動きますが、色数が8色なので表示が悲惨。


Release 6.2.03i Par G.31a
Device utilization summary:
   Number of External IOBs            83 out of 173    47%
      Number of LOCed External IOBs   83 out of 83    100%
   Number of RAMB16s                  12 out of 12    100%
   Number of Slices                 1395 out of 1920   72%
      Number of SLICEMs               22 out of 960     2%
   Number of BUFGMUXs                  2 out of 8      25%

ギャラクシアン


ちょっと論理を変えると動いたり動かなかったり不安定





Tags: [FPGA], [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

スパルタン2で
スパルタン2で"MIDWAY 8080(TAITO インベーダ基板)"を動かす!

  ハードウェアで本物を作ります

スパルタン2で
スパルタン2で"ギャラクシアン基板"を作る!

  Verilog言語で記述してあります

スパルタン2で
スパルタン2で"パックマン"を動かす!

  FPGAでパックマンが動きます

スパルタン2で
スパルタン2で"ド*キーコ*グ"を動かす!

  これもFPGAで動いちゃいます

ヒューマンデータ製 ALTERA Cycloneボード
ヒューマンデータ製 ALTERA Cycloneボード

  AlteraのCycloneは高性能

スパルタン2ってな~に?
スパルタン2ってな~に?

  簡単な紹介

FPGA TIPs
FPGA TIPs

  開発中に疑問に思った事の解決方法

Altera/Xilinxの FPGA機能一覧表
Altera/Xilinxの FPGA機能一覧表

  PDFで調べるのが面倒な時に

Xilinx用便利ソフトのダウンロード
Xilinx用便利ソフトのダウンロード

  Xilinx WebPACK-ISE用




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2004 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/fpga/arcade_spartan3/