Hello, I made a HDTV patteren generator late last year for a college design project. Originally it was supposed to have a microcontroller board that would pull bitmaps from a SD card, have a CPLD or FPGA put raw color data into a bunch of SRAM then display it. However, since my partner wasn't able to do the microcontroller portion so my board had to run standalone and display patterns generated from the CPLD.
The cut down system displays on a HDTV or DVI monitor with the use of Analog Devices 9889B transmitter. In order to display correctly, the CPLD just needs to generate the correct H and V sync signals from the CEA-861 spec and provide the correct pixel clock and data enable signal.
Also the 9889B needs to be configured through I2C, once the device is configured if the CPLD switches resolutions while running the 9889B should detect this and reconfigure on its own.
Here is the 9889 data sheet its an older version but its the only one with the I2C config data.
http://www.analog.com/UploadedFiles/Dat ... AD9889.pdf
Here is an image of the board I made for the project. I didn't solder memory on to this one because of how expensive it is, and the board is 6 layers so I had very little money after getting them made:
http://img.photobucket.com/albums/v722/ ... 0188-1.jpg
I also attached my VHDL sources at the bottom. Looking back I think I could have improved on it, and I'm sure some people will cry foul and call me a heathen for using std_logic_unsigned and not numeric_std or that my code is inefficient. Granted I was trying for a simple system that I knew would work. I also included the schematics for my board, and I included the basic code I used on a atmega128 to generate the I2C signals it should be straight forward.
http://asm2750.googlepages.com/PatternGen.zip
Let me know what you all think, I really want to continue on with this project but, right now I'm busy finding a career with the degree I earned back in December.
The code might be confusing since I didn't make a block diagram of it. I kinda memorized it.