Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FPGA based VGA controller

Not open for further replies.


Member level 3
Jul 29, 2009
Reaction score
Trophy points
Activity points

I've been working on a small hobby system of mine that I have been creating from scratch and I have got to the point where I'd like to put some sort of VGA display controller into my system. I have seen several basic samples created using FPGA's and I'm thinking that this might be the way to go, as most Discreet components are either nolonger made or are don't appear to work with more than 8bit colour. I have never had anything to do with FPGA's before so I was looking for some ideas on where to start. I have already downloaded a copy of Xilinx ISE Webpack and the Altera software and started to have a play designing and simulating some basic designs, so far so good.

My idea for the FPGA is that I would like to invest in one that I can work with at home and place on to homemade PCBs, so I'm guessing the package would have to be something like a PLCC etc, no fine pitched SMD. I would also like the chip to be able to handle my final dream setup which is to be able to drive a monitor at upto 1024x768 at 32bit colour, may be higher if the FPGA could handle the speed. My thoughts for the dream circuit would be to have my system processor provide data and graphics commands to the FPGA via a 16bit data bus, and the FPGA would then do the graphics work storing the results into some duel port RAM ( can these be obtained in no SMD packaging), the FPGA would also be providing the pixel clock and sync signals to drive a video DAC ( this maybe something like the AD7125). To do this I'm thinking I would need something with more than 60 I/O pins.

What I am after is some ideas on what chip I should be looking to use. would something like the Xilinx XC9500 family chips or the Altera MAX 7000S Family do the job?

Also I have seen that some FPGA's seam to require ROM to provide the programming at power up, is this the case with all FPGA's? I haven't yet found any basic FPGA circuits that show the ROM, so is there some FPGA's that have internal ROM. All the diagrams I have seen have at least an external clock and the JTAG connector to program the device with.

Thanks for any help.
Kenneth Keeley
Last edited:

I think, that reviewing some of the existing video controller designs quickly reveals, that small CPLDs like XC9700 or MAX7000 don't have the required amount of logic cells and registers. So you clearly have to go for a small FPGA. There are some including nonvolatile configuration memory, e.g. XILINX Spartan-3AN, Altera MAX II, more devices from Lattice and Actel. Configuration memory can be a single 8 pin IC connected to the FPGA, in so far, it shouldn't be a problem to use "volatile" devices as well.

The clock input requirement isn't specific to FPGA, I guess, you'll remember it from legacy video controllers.

The graphic controller designs I know are basic, memory mapped controllers, you'll find them with development kit reference designs from FPGA vendors or Performing complex "graphic commands" is another thing. Even simple drawing commands can already require a considerable amount of logic cells.
Thanks for the reply FvM,

Also What other packages are suitable for hand soldering. I know that the PLCC type package can be placed into a socket that converts it to a 100mil PGA, which aren't to hard to hand solder on to homemade PCB's, are there any other packages that can be placed in sockets? I have noticed that most of the FPGA's are available in Quad Flat Packs, are these ok to hand solder?


---------- Post added at 08:42 ---------- Previous post was at 08:03 ----------

you can get a full example here :
ELM - General purpose display controller

hope this helps !

Thank you for the link, although I have already looked at this site a couple of times. I was looking to follow this basic design with only small changes to the data bus width and use a DAC for the RGB generataion.


Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to