Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com 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.

Help with the Verification of a Verilog DVI Controller

Status
Not open for further replies.

vjabagch

Member level 1
Joined
Jun 26, 2009
Messages
35
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,288
Activity points
1,665
I am working on a DVI controller that will display a color bar pattern on a computer monitor with DVI input.

I have been able to simulate the transmission of the Horizontal Synchronization Pulses and Vertical Synchronization Pulses using Modelsim. In addition I can send out I2C commands through a pullup wire (in simulation only) which will initialize the Chrontel 7301C DVI transmitter chip.

I am using a 100MHz LVDS clock for the input and feeding the signals from the clock into an IBUFGDS (a library component that outputs a single clock signal from the LVDS signal). From this output signal I am deriving a 40MHz signal to serve as the pixel clock for a 800 X 600 monitor at 60Hz. The way I derive the 40MHz clock is through the DCM libary component that realizes clock signals of custom frequencies from an input.


Question 1.

Is it possible run a behavioral or post synthesis simulation on the top level design that has the DCM components in Xilinx so that I can observe the derived clock signal at different frequency (40MHz) compared to the input clock signal (100MHz)? When I behaviorally simulate I only get one type of clock frequency and do not see any difference between the input clock and the pixel clock.

Question 2.

When I attempt to run the design through chipscope I can see constant valued signals but do not see anything changing on the data ports. Though this is unrelated to my first question I need to be able to debug my design at run time. I have actually only seen the constant values without any changes.

I have a clock input set and my data ports set which are considerably slower than the clock input. In fact, the clock input is my pixel clock, which does not even change. Maybe the problem lies somewhere else.

Thank you for taking the time to read the post.

Kind Regards
 

Help Needed With DVI Monitor Color Bars

After many trial and error steps I finally managed to display custom color bars on a computer monitor using the DVI protocol. The primary difference between VGA and DVI is not in the input data and synchronization signals but in the setup of what type of data to output. The type of data to output is determined in the Chrontel 7301C registers which specify first of all the mode of output (DVI or VGA Passthough). The mode of output determines how the data is encoded to be sent across the DVI bus.

I face a minor problem currently and that is how to remove the black vertical "bars" that appear on every color displayed except for the white and black color.

Also the actual colors displayed are somewhat different from what I am expecting on the color input that I sent in.

The first three color bars are Red Green Blue which do not match with what my monitor is outputting (Yellow Red Blue). With exception of the Black White and Blue colors the rest of the colors are noticeably off from what I am expecting.

Please advise what can be done to remove the black stripes. I will be happy to provide assistance to anyone who is working on a similar project.

I am using the Xilinx University Program board V5LX110T and my FPGA is outputting to my Acer P244W monitor with a pixel clock of 83.9MHz and 1280 x 800 with a refresh rate of 60 Hz.
 

Attachments

  • SDC17743.JPG
    SDC17743.JPG
    5.5 MB · Views: 137

If it is possible, try to feed the monitor with it's native resolution, 1920 x 1080.
 
Thank you for the suggestion. I have tried to drive the monitor at 1920 X 1080 60Hz, which is the maximum refresh rate for this resolution, but no signal is captured on the monitor. I am driving the monitor with the following modeline which I have used to calculate the sync parameters.


ModeLine "1920x1080" 138.5 1920 1968 2000 2080 1080 1082 1087 1111

The Chrontel datasheet says that I need to run at a reduced blanking but I do not know what my pixel clock is or my sync parameters are. In other words what is the correct modeline to run the Chrontel chip at 1920 X 1080 reduced blanking while running XCLK at 2 times the pixel rate (which is 138.5Mhz times 2) and adhering to the maximum DVI Rating of 165MHz.

Thanks.
 

I am currently supplying a 1280 X 800 @60Hz and am completely at a loss why in DVI mode I am not receiving any signal on my monitor currently. I have found several issues that I have corrected after the first working case which needed to be corrected. I am left with trying modifications and uploading to the FPGA.

My register settings are listed below

Note at Data<N>a is for pixel clock frequencies <= 65Mhz
and Data<N>b is for pixel clock frequencies > 65Mhz (I have selected > 65 MHz because the pixel clock is > 65MHz)


I have double checked the register settings and finally even enabled Hsync Vsync outputs and yet I see no signal reported by the monitor. Am I overlooking something else? If needed I will post the I2C code or the waveforms in Modelsim for both the I2C initialization and the DVI pixel data transmission.


REG_ADDR0 = 8'h49, DATA0 = 8'hC0,
REG_ADDR1 = 8'h1D, DATA1 = 8'h48,
REG_ADDR2 = 8'h23, DATA2 = 8'h00,
REG_ADDR3 = 8'h48, DATA3 = 8'h18,
REG_ADDR4 = 8'h33, DATA4a = 8'h08, DATA4b = 8'h06,
REG_ADDR5 = 8'h34, DATA5a = 8'h16, DATA5b = 8'h26,
REG_ADDR6 = 8'h36, DATA6a = 8'h60, DATA6b = 8'hA0,
REG_ADDR7 = 8'h35, DATA7 = 8'h30,
REG_ADDR8 = 8'h21, DATA8 = 8'h08,
REG_ADDR9 = 8'h1F, DATA9 = 8'h80,
REG_ADDR10 = 8'h1C, DATA10 = 8'h01,


Please help.
 

i am doing a similar project , i have to display colour bars using Dvi interfacing . can anyone send me the code written in verilog so that i can compare it with mine ! please post
thanks alot
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top