karvin89
Newbie level 3
- Joined
- Sep 4, 2009
- Messages
- 4
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Location
- Philadelphia
- Activity points
- 1,313
Hi,
Problem: Monitor displays blank state
I am trying to display images on a monitor. I am using the VGA controller code provided by Digilent that uses a 25Mhz from a DCM and outputs HS and VS signals (which I tested for correct timing). The controller also provides two 11bit horizontal (vecHcount_640_60) and vertical (vecVcount_640_60) pixel address counter buses. I have instantiated this controller in a main VHDL module that communicates with the Microblaze and also provides a 6336 (88 x 72) 8bit byte array which I intend to use as Video ram. The board has termination resistors for 8-bit RGB data. Digilent's built in test code works and displays some psychedelic stuff.
As you can see, I even tried setting RGB_OUT to some random color and the monitor is still blank. Monitor seems to recognize HS and VS which I already verified on an oscilloscope.
Is there something fundamental I am missing here? I looked into a couple of other example codes but did not notice anything odd.
Regards,
Karthik
Problem: Monitor displays blank state
I am trying to display images on a monitor. I am using the VGA controller code provided by Digilent that uses a 25Mhz from a DCM and outputs HS and VS signals (which I tested for correct timing). The controller also provides two 11bit horizontal (vecHcount_640_60) and vertical (vecVcount_640_60) pixel address counter buses. I have instantiated this controller in a main VHDL module that communicates with the Microblaze and also provides a 6336 (88 x 72) 8bit byte array which I intend to use as Video ram. The board has termination resistors for 8-bit RGB data. Digilent's built in test code works and displays some psychedelic stuff.
Code:
type ram_type is array (0 to 2** 13) of std_logic_vector( 0 to 7) ;
signal video_ram : ram_type;
----- I use the following code bit to map the 11 bit buses to the video ram.
RGB_OUT_temp <= video_ram(conv_integer(conv_integer(vecHcount_640_60)+(88*conv_integer(vecVcount_640_60))))
when ((vecHcount_640_60 < 88) AND (vecVcount_640_60 < 72)) else (others => '0');
--RGB_OUT <= RGB_OUT_temp when bitBlank640_60 = '1' else (others => '0');
RGB_OUT <= "10100100";
As you can see, I even tried setting RGB_OUT to some random color and the monitor is still blank. Monitor seems to recognize HS and VS which I already verified on an oscilloscope.
Is there something fundamental I am missing here? I looked into a couple of other example codes but did not notice anything odd.
Regards,
Karthik