LogicStart Shield

The LogicStart Shield provides everything needed to get started with VHDL and FPGA development on the Papilio with one convenient and easy to connect circuit board.

Learn VHDL with Mike Field's free book written specifically for the Papilio and to be updated for the LogicStart Shield soon.

Dive into the exciting world of customizable Soft Processor's with the ZPUino. Custom peripheral's such as a ZX Spectrum compatible VGA adapter and classic audio chips are just a few of the exciting possibilities. The LogicStart gives you peripherals to experiment with!

Explore the VHDL source code of classic video games such as Pac-Man! The LogicStart's VGA output and Micro-Joystick allow all of the Papilio Arcade games to be synthesized.

Snap off the specially designed VGA Wing along the V-Score groove and you can free up two 8-bit Wing slots!


  • 7 Segment Display - 4 Character
  • VGA Port - 4r,4g,4b VGA Output
  • Stereo Audio Jack - 1/8" Jack, Low Pass Filter
  • 4 Directional Buttons
  • 6 Analog Channels connected to ATmega32U4 on Papilio DUO
  • 8 LED's - User Feedback
  • 8 Slide Switches - User Input
  • Snap off the VGA portion of the circuit to free up two 8-bit Wing Slots



LogicStart Shield 7 Segment Display

The 7 Segment Display provides 4 character displays with a dot between each character. It is great for displaying anything from high speed debugging data to a low speed alarm clock.

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
AOutputA SegmentD18BL3 P105
BOutputB SegmentD14BL7B6P115
COutputC SegmentD16BL5C7P112
DOutputD SegmentD24CL1 P97
EOutputE SegmentD19BL2 P102
FOutputF SegmentD17BL4 P111
GOutputG SegmentD15BL6C6P114
DPOutputData Point SegmentD22CL0 P99
AN0OutputAN0D40CH1 P67
AN1OutputAN1D38CH0 P75
AN2OutputAN2D34CL6 P81
AN3OutputAN3D32CL5 P83
AN4OutputAN4D36CL7 P79

LogicStart Shield VGA

The VGA section of the LogicStart Shield uses 12 resistors to implement 4096 color depth. VGA video is analog in nature so there needs to be some way to vary the RGB (Red, Green, and 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 LogicStart Shield we are able to control 4 Red, 4 Green, and 4 Blue bits which allows us to generate 16 different voltage levels between 0 and .7V for Red and Green and Blue. 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 LogicStart MegaWing 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 4r, 4g, 4b resistors that all connect, in common, to the VGA connector on one side and individually to a digital I/O pin on the other side. 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.

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
Red1OutputRed Bit 1D23DH7 P98
Red2OutputRed Bit 2D25DH6 P95
Red3OutputRed Bit 3D27DH5 P92
Red4OutputRed Bit 4D29DH4 P87
Green1OutputGreen Bit 1D37DH0 P78
Green2OutputGreen Bit 2D35DH1 P80
Green3OutputGreen Bit 3D33DH2 P82
Green4OutputGreen Bit 4D31DH3 P84
Blue1OutputBlue Bit 1D49DH3 P51
Blue2OutputBlue Bit 2D43DH5 P61
Blue3OutputBlue Bit 3D41DH6 P66
Blue4OutputBlue Bit 4D39DH7 P74
VSyncOutputVertical SyncD51DH1 P48
HSyncOutputHorizontal SyncD53DH0 P39

LogicStart Shield Sound

The sound section implements a 1/8th inch mono jack with a low pass filter. 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.

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
Audio-LeftOutputAudio Output LeftD21BL0 P100
Audio-RightOutputAudio Output RightD20BL1 P101

LogicStart Shield Directional Buttons

The LogicStart Shield has 4 momentary switches arranged in a plus configuration that can be used for user input or video games!

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
UpInputDirectional Button UpD11 B2P132
DownInputDirectional Button DownD12 B3P133
LeftInputDirectional Button LeftD13 B1P134
RightInputDirectional Button RightD10 B0P131

LogicStart Shield Analog

The Analog connections allows pots, pot slides, temp sensors, and many more analog devices to be connected, up to 6 devices at once.

The Analog header is connected to the Analog pins of the ATmega32u4 chip on the Papilio DUO.

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
A0InputAnalog Bit 0A0 F0 
A1InputAnalog Bit 1A1 F1 
A2InputAnalog Bit 2A2 F4P81
A3InputAnalog Bit 3A3 F5P83
A4InputAnalog Bit 4A4 F6P85
A5InputAnalog Bit 5A5 F7P88

LogicStart Shield LEDís and Switches

The LogicStart Shield provides 8 LEDís and 8 Slide Switches.

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
Led0OutputLed 0D48CH5 P55
Led1OutputLed 1D50CH6 P50
Led2OutputLed 2D52CH7 47
Led3OutputLed 3D5AL5D6P121
Led4OutputLed 4D6AL6D4P123
Led5OutputLed 5D7AL7D1P124
Led6OutputLed 6D8 D0P126
Led7OutputLed 7D9 B7P127
SW0InputSwitch 0D0AL0D2P116
SW1InputSwitch 1D1AL1D3P117
SW2InputSwitch 2D2AL2B5P118
SW3InputSwitch 3D3AL3B4P119
SW4InputSwitch 4D4AL4D7P120
SW5InputSwitch 5D42CH2 P62
SW6InputSwitch 6D44CH3 P59
SW7InputSwitch 7D46CH4 P57

LogicStart Wing Slot

One of the most often requested features for the original LogicStart MegaWing was the ability to expand it with Wings. We listened and updated the LogicStart Shield with a Wing that shares the Switch pins. The Switches are configured so that when they are in the "Up" position they are not directly connected to 3.3V. Instead they are connected to a weak pullup resistor that "pulls" the voltage up to 3.3V. This weak pullup can be overridden by something connected to the Wing Slot. So in order to use the Wing Slot you will need to insure that all of the switches are in the "Up" position. If they are in the down position they will be connected to ground and the Wing will not be able to override that state.

NameDirectionFunctionArduino PinPapilio Wing PinATmega32U4 PinSpartan 6 FPGA Pin
WING1_7INOUTSwitch 0D0 D2P116
WING1_6INOUTSwitch 1D1 D3P117
WING1_5INOUTSwitch 2D2 B5P118
WING1_4INOUTSwitch 3D3 B4P119
WING1_3INOUTSwitch 4D4 D7P120
WING1_2INOUTSwitch 5D42  P62
WING1_1INOUTSwitch 6D44  P59
WING1_0INOUTSwitch 7D46  P57


LogicStart Shield High Resolution Image

Click the image to load a High Resolution image of the LogicStart Shield

LogicStart Shield Schematics

Click the image to load a PDF version of the LogicStart Shield Schematics

Papilio DUO Pinouts

Click the image to load a PDF version of Papilio DUO pinouts diagram


Share |