Portfolio Noah Vawter. NTSC Video Signal Generation from an FPGA

How to Generate High-Quality NTSC Video From Programmable Logic or CPU/DSP

Recently a friend of mine came to me with an idea for an invention. I don't want to disclose what it was, but I will say that it involved video output. I offered to collaborate with him on the project. I took over the video output generation, an interesting topic to me. I looked up all the different specs and tried to put together a cohesive picture of how it actually works. Believe it or not, since it's such an old specification, there is little info around on it. Also, you would think I could simply borrow the ideas from some of the various PIC projects recently, however, I did not find them suitable. You see, they all things which were slightly spurious, such as only generating even fields!

Anyway, I finally got all the specs together, and my next challenege was to design a piece of programmable logic which would produce the proper output signals. It was very tedious to convert all the microsecond specifications into numbers of clock cycles. When the clock speed for the project changed, I had to recompute all of them! So, I got wise and implemented this spreadsheet for it. I placed it on the world wide web so others could benefit from it.

Here are two example jpg snapshots of the spreadsheet, with different clock speeds. Maybe you can use it for one of your projects! Cell B2 is where you enter the clock speed. Cell C6 contains the number of horizontal pixels you would like to draw. Everything else is automatically generated for you!

This first example is for the common 14.31818 MHz clock which is often used for video circuits:

This next example is for a 33.333 MHz Digital Signal Processor chip, which could be coaxed into generating video!


Back to Portfolio Noah Vawter
Next Project