Papilio



Les cartes FPGA Papilio sont des cartes FPGA d'entrée de gamme permettant la synthèse de soft processors basiques (Z80, AVR8, 6510 (Commodore 64), ZPU, ...). Les cartes filles appélées Wings (PS/2, VGA, audio, Manettes, SDCard, ...) peuvent être ajoutées par empillement.

http://papilio.cc/index.php?n=Papilio.Buy

Papilio 250K & 500K
La Papilio 250K est programmable en AVR8 328 (Arduino Uno) ou en ZUPiuno.
 * http://papilio.cc/index.php?n=Papilio.ArduinoCore
 * http://gadgetforge.gadgetfactory.net/gf/project/avr_core/frs/

La Papilio 500K permet de réaliser les bornes d'Arcade

Ses caracteristiques:
 * Xilinx Spartan 3E XC3S500E FPGA with 500 thousand gates.
 * 48 bidirectional I/O lines.
 * Two channel USB connection for JTAG and serial communications implemented with FT2232D.
 * 32MHz oscillator that can be used by Xilinx's DCM to generate any required clock speed.

Papilio Arcade MegaWing
La Papilio Arcade MegaWing est une carte fille (appelé Wing) vers les mythiques consoles d'arcade (Z80, ...) pour rejouer à quelques jeux mythiques PacMan, Frogger, Asteroid, Space Invaders, Galaxian, ... avec des joysticks vintage.
 * http://papilio.cc/index.php?n=Papilio.ArcadeMegaWing
 * http://fpgaarcade.com/games.htm

Installation

 * Branchez la carte sur un port USB (2 ports série USB sont installés : un pour la synthèse, l'autre pour les communications du soft processor synthètisé)
 * Téléchargez et Installez le Papilio Loader

Chargement du QuickStart
Téléchargez la synthèse (.bit) du Quickstart cd "C:\Program Files (x86)\Papilio Programmer\" .\Papilio_Programmer.bat Quickstart-Papilio_One_500K-v1.5.bit

Chargement d'un jeu d'arcade
Téléchargez la synthèse (.bit) du jeu Ping Pong sur le hardware de la borne d'arcade PacMan

cd "C:\Program Files (x86)\Papilio Programmer\" .\Papilio_Programmer.bat C:\devtools\papilio\Papilio_PacMan-P1-500K-1.0-source\pacman_rel004_sp3e\ping_pong_game_on_pacman_hardware_P1_500k_1.0.bit

Chargement de l'AVR8 Soft Processor (Arduino)

 * Téléchargez et installez le Papilio Arduino IDE http://papilio.cc/index.php?n=Papilio.Download
 * Lancez le avec un schetch d'exemple
 * Sélectionnez le port et la carte cible "Gadget Factory Papilio One XXX"
 * Compilez - chargez (bouton "Upload")

Trace de la console Binary sketch size: 2058 bytes (of a 16384 byte maximum)

Converting Intel hex file to Verilog Mem format:

Selecting Papilio One 500K Bit file.

Merging Verilog Mem file with Xilinx bitstream:

Writing Bit file to the Hardware JTAG chainpos: 0 Device IDCODE = 0x41c22093	Desc: XC3S500E

Uploading "out.bit". Done. Programming time 479.0 ms USB transactions: Write 142 read 2 retries 0 Using devlist.txt

Synthèse du ZUPiuno
Téléchargez la synthèse ZUPiuno HDL Core (.bit) du ZUPiuno http://www.alvie.com/zpuino/download.html

Chargez la synthèse du ZUPiuno sur la carte avec le Papilio Loader C:\Program Files (x86)\Papilio Programmer\bin>"C:\Program Files (x86)\Papilio Programmer\Papilio_Programmer.bat" C:\devtools\papilio\zpuino-ZB2-PapilioOne-S3E500.bit Programming the FPGA - Default Using devlist.txt JTAG chainpos: 0 Device IDCODE = 0x41c22093    Desc: XC3S500E

Uploading "C:\devtools\papilio\zpuino-ZB2-PapilioOne-S3E500.bit". Done. Programming time 475.0 ms USB transactions: Write 142 read 2 retries 0

Au moyen de l'IDE Arduino modifié fourni par http://www.alvie.com/zpuino/download.html, compilez et chargez des schetchs sur la carte via le deuxieme port série USB.

Synthèse d'un Soft Processor AVR 8 Custom à partir des sources
Voir http://papilio.cc/index.php?n=Papilio.CustomAVR8SoftProcessor

Téléchargez les sources de la synthèse de l'AVR Core https://github.com/GadgetFactory/Arduino-Soft-Core/zipball/v1.6 et décompressez

Téléchargez et installer la suite ISE Design Suite http://www.xilinx.com/support/download/index.htm

TBC