Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Adam Taylor

Using an FPGA to Drive a VGA Test Pattern

Adam Taylor
twasiluk
twasiluk
8/3/2012 2:31:47 PM
User Rank
Beginner
Re: Yes please -- More!!!
Very useful tutorial! I really look forward to reading the memory controller guide. 

I have a Nexys 3 with a 100Mhz clock - here is some working VGA code along with clock division down to 25Mhz for 640x480: http://pastebin.com/TQ2nwref. I welcome patches related to improving the clock division code.

50%
50%
Adam Taylor
Adam Taylor
6/27/2012 12:00:27 PM
User Rank
Blogger
Re: Yes please -- More!!!
Paul,

Glad it was of use, I am just working on the memory controller (DDR2) to store the larger image in. I hope this will make an interesting series of blogs.

The schematics can be found here

http://www.xilinx.com/support/documentation/boards_and_kits/s3astarter_schematic.pdf

100%
0%
Paul Clarke
Paul Clarke
6/27/2012 6:57:50 AM
User Rank
Blogger
Re: Yes please -- More!!!
Hi Adam,

This is just what I wanted. Its now really easy to see how the signals are generated and sent to the display. I can now see that in your example I would use the v_count and h_count to address memory.

Yes I would like to see more too.

Could you post a circuit of the connectons from the FPGA to the VGA connector. I know how this is wired but may be nice for people new to this that would like to connect this up.

Great post,

Thanks

Paul

50%
50%
Adam Taylor
Adam Taylor
6/27/2012 4:35:04 AM
User Rank
Blogger
Re: Gimme more
Thanks for the kind words.

It is very true that compromise results in a win win situation as most project start off with a lot of nice to have along with we definately need and it is a fine balancing act to ensure that the nice to have's do not overly complicate the design or introduce to much risk

50%
50%
Jacek Hanke
Jacek Hanke
6/27/2012 4:30:27 AM
User Rank
Blogger
Gimme more
Hi Adam,

Great job, very interesting from start to the end. Indeed, engineering is an art of compromise - and you're prooving that compromise can win-win situation.


Of course, please give us more :)


50%
50%
Brian
Brian
6/26/2012 5:30:02 PM
User Rank
Guru
Re: Yes please -- More!!!
 

Hi Adam,

This was excellent...and, easy to understand and follow.  The YouTube output was the icing on the cake.  Nice job!

Re: "so are you interested in my taking this to the next stage?"

I agree with Max - please continue this series.  (Plus, it is so easy to say that with your time and efforts being utilized  :-)

Please keep future posts in this series in the same, byte-sized portions!  Again, thank you for this demonstration...

 

50%
50%
Adam Taylor
Adam Taylor
6/26/2012 3:29:09 PM
User Rank
Blogger
Re: Yes please -- More!!!
I intend to Max, I will be spliting it up into a few sections I think with one on chip scope next as it will be very useful in the system verification and debug.

I will then focus aspects such as memory interface generation, FIFO and VGA Video output.

 

I will also try and ensure crucial basic concepts are addressed in the Ask Adam blogs as we go along to. 

We will also have to address how we get the image into the RAM in the first place.....

50%
50%
Adam Taylor
Adam Taylor
6/26/2012 3:26:07 PM
User Rank
Blogger
Re: Another corker!
Indeed I often say that engineering is the art of compromise we the different disciplines involved in a project Systems, FPGA, Hardware, Software and even management all compromise until we are all equally unhappy....

50%
50%
Max Maxfield
Max Maxfield
6/26/2012 3:21:30 PM
User Rank
Blogger
Yes please -- More!!!
Adam -- please do carry on with this series. I agree with the comment to your previous column that it's really hard to find in-depth descriptions as to how all of this (driving a VGA display) is actually implemented. Most articles I've seen explain things at a high-level of abstraction, but they don't explain what goes on "under the hood" -- it's the nitty-gritty details that set your articles apart from the crowd.

50%
50%
Max Maxfield
Max Maxfield
6/26/2012 3:18:41 PM
User Rank
Blogger
Another corker!
Adam -- this is another corker. I particularly like the way in which you explain what you were originally planning to do, and then how your plans evolved to address limitations with the kit you have at your disposal. This reflects real-life engineering challenges and solutions.

50%
50%
More Blogs from Adam Taylor
Here we discover how to use the XADC (Xilinx Analog-to-Digital Convertor) in the Zynq All Programmable SoC to read the chip's internal temperature and voltage parameters and output them over an RS-232 link.
Now it's time to consider how we can implement and use the Xilinx Analog to Digital Convertor (XADC) within a Zynq All Programmable SoC-based system.
The Zynq All Programmable SoC comes equipped with programmable analog capabilities that can be used in a wide variety of applications, including defense, industrial, and automotive systems.
This is the blog we've all been waiting for – the point where we finally create our very first, standalone, "bare metal" Zynq application!
In the case of a real-world use model, we want to store our software program and configuration bitstream in nonvolatile memory and configure the device after the power comes on.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS