・2004/08/03
スパルタン3でアーケードゲームを動かす!
(XAPP694の使用例、INVADER/GALAXIAN/PACMAN/D*NKEY-K*NG/TIME PILOT)
Tags: [FPGA], [電子工作]
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を自在にアクセス
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で"MIDWAY 8080(TAITO インベーダ基板)"を動かす!
ハードウェアで本物を作ります
スパルタン2で"ギャラクシアン基板"を作る!
Verilog言語で記述してあります
スパルタン2で"パックマン"を動かす!
FPGAでパックマンが動きます
スパルタン2で"ド*キーコ*グ"を動かす!
これもFPGAで動いちゃいます
ヒューマンデータ製 ALTERA Cycloneボード
AlteraのCycloneは高性能
スパルタン2ってな~に?
簡単な紹介
FPGA TIPs
開発中に疑問に思った事の解決方法
Altera/Xilinxの FPGA機能一覧表
PDFで調べるのが面倒な時に
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/