Reference | All - Docs - Libraries - Soft Processors - Cores

Hardware

The Papilio Arcade Kit is comprised of the Papilio One 500K core and an application specific Arcade Wing. The Arcade Wing is what provides all of the connectivity to the outside world such as video, audio, and joystick.

Papilio One FPGA Board

The Papilio One 500K FPGA board is a powerful and flexible platform that provides the core for exciting projects such as the Papilio Arcade Kit. It acts as the empty canvas that classic arcade motherboards can be recreated on. Its flexible nature means that it can be re-used with future Papilio projects by simply purchasing the Wing portion of a kit instead of the full kit.

Arcade Wing

The Arcade Wing provides all of the hardware needed for connectivity to the outside world in one convenient and easy to connect circuit board. It snaps into the Papilio One and gives it the necessary hardware resources to communicate with the outside world.

VGA

The current VGA Wing provides 8 colors by using three 270 ohm resistors for RGB and two 82.6 ohm resistors for hsync and vsync. The full schematics for the VGA Wing are available on the Gadget Factory website.

In the future we will offer a 12 bit VGA Wing, this next section details how that Wing will work. The proposed 12 bit VGA Wing will use 12 resistors to implement 4K color depth. VGA video is analog in nature so there needs to be some way to vary the RGB (Red, Green, Blue) signals between 0V and .7V. For each RGB signal the shade, or intensity, of the color is controlled by varying the voltage of the pin between 0 and .7V. The finer control you have over the voltage the more colors you can create. For the Arcade Wing we are able to control 4 different bits per color which allows us to generate 16 different voltage levels between 0 and .7V. This means we can generate 16 shades for each RGB color. If we add all three colors together we have 12 bit video which gives us (2^12=4096) the possibility of 4096 colors.

The usual options for controlling voltage on a pin are to use a DAC, PWM, Delta-Sigma, or a resistor ladder. For the Arcade Wing we wanted to use the lowest cost and easiest method for a hobbyist. PWM and Delta-Sigma were ruled out because we did not think we would be able to vary the voltage with these methods fast enough to keep up with the VGA timing requirements. A DAC would be a good solution but was more than we needed for our modest requirements. A resistor ladder fit the bill perfectly because it is very low cost and easy to implement. The resistor ladder is made up of 4 resistors per RGB color that all connect, in common, to the VGA connector on one side and individually to a digital I/O pin on the other side. The lowest resistor starts at ~500 ohms and each successive resistor doubles in size with the final resistor ending with ~4K ohms. Each digital I/O pin is controlled by the VGA controller inside the FPGA. Each pin can be set to either 0 or 1 with a 1 causing the resistor to contribute its voltage to the final voltage level. The voltage can be stepped up from 0 to the desired output voltage which in this case is .7V. The way the desired output voltage is accomplished is by carefully managing the parallel voltage that the 4 resistors add up to. Using a Parallel Resistance Calculator we see that 500 ohm, 1000 ohm, 2000 ohm, and 4000 ohm give a total resistance of 266 ohm. The final key bit of information is that there is a 75 ohm resistance built into VGA cables, so that means that the point where our 4 resistors come together on our VGA connector forms a Voltage divider circuit. Using a Voltage Divider calculator? with 3.3V as the Input Voltage, 266 ohm as R1, and 75 ohm as R2 we end up with an Output Voltage of .73V. The end result is that if all 4 resistors are set to ‘1’ then we will see .73V at the VGA connector. If all 4 resistors are set to ‘0’ then we will see 0V at the VGA connector, any combinations in between will give us evenly stepped voltages between 0 and .73V. The voltages will be evenly stepped because we picked resistors that double in size.

Sound

The Papilio Arcade Wing implements a 1/8th inch stereo jack with a low pass filter. Arcade projects simply implement a Delta-Sigma DAC as outlined in Xilinx App Note 154. A Delta-Sigma DAC allows high quality audio to be implemented with a minimum amount of physical hardware required. The high speed of the FPGA clock allows the FPGA to do the heavy lifting of the Digital to Analog conversion.

Joystick

The Papilio Arcade Wing supports Atari 2600, Commodore 64, classic Arcade joystick, and any joystick that uses digital inputs. The board comes with a Male DB9 connector that allows an Atari 2600 joystick to be plugged in and used without any custom wiring. For a custom Arcade style joystick it is necessary to wire the joystick to a female DB9 connector using the diagram below. Each pin of the DB9 connector is protected by a current limiting resistor to provide compatibility with 5V powered joysticks.

  

Share |