Papilio Plus/VGA

From Hamsterworks Wiki!

Jump to: navigation, search

Papilio Plus has 12 bit VGA output, requiring 14 signals to drive. See Papilio Plus/Hello World and Papilio Plus/Colour Test for projects that tests this feature



NET Blue(0)     LOC="P99"  | IOSTANDARD=LVTTL;  # B0
NET Blue(1)     LOC="P97"  | IOSTANDARD=LVTTL;  # B1
NET Blue(2)     LOC="P92"  | IOSTANDARD=LVTTL;  # B2
NET Blue(3)     LOC="P87"  | IOSTANDARD=LVTTL;  # B3
NET Green(0)    LOC="P84"  | IOSTANDARD=LVTTL;  # B4
NET Green(1)    LOC="P82"  | IOSTANDARD=LVTTL;  # B5
NET Green(2)    LOC="P80"  | IOSTANDARD=LVTTL;  # B6
NET Green(3)    LOC="P78"  | IOSTANDARD=LVTTL;  # B7

NET Red(0)      LOC="P118" | IOSTANDARD=LVTTL;  # C4
NET Red(1)      LOC="P119" | IOSTANDARD=LVTTL;  # C5
NET Red(2)      LOC="P120" | IOSTANDARD=LVTTL;  # C6
NET Red(3)      LOC="P121" | IOSTANDARD=LVTTL;  # C7

NET vSync       LOC="P116" | IOSTANDARD=LVTTL;  # C2
NET hSync       LOC="P117" | IOSTANDARD=LVTTL;  # C3

A useful VGA mode - 800x600x60Hz

The good thing about this mode is that the 40MHz signal can be hit dead on by using a DCM to divide the clock by 4, then multiplying by 5.

It also just fits into a 512KB (4Mb) SRAM chip if you use an 8bit colour mapping.

General timing

Here are the specs for SVGA Signal 800 x 600 @ 60 Hz timing from

Screen refresh rate60 Hz
Vertical refresh37.878787878788 kHz
Pixel freq.40.0 MHz

Horizontal timing

Polarity of horizontal sync pulse is positive.

Scanline part PixelsTime [┬Ás]
Visible area 800 20
Front porch 40 1
Sync pulse 128 3.2
Back porch 88 2.2
Whole line 1056 26.4

Vertical timing (frame)

Polarity of vertical sync pulse is positive.

Frame part Lines Time [ms]
Visible area 600 15.84
Front porch 1 0.0264
Sync pulse 4 0.1056
Back porch 23 0.6072
Whole frame 628 16.5792
Personal tools