Intel® FPGA University Program
University Program Material, Education Boards, and Laboratory Exercises
1182 Discussions

UP VGA Pixel Buffer problem

Altera_Forum
Honored Contributor II
3,809 Views

Hello, 

 

I'm trying to use vga pixel buffer as a data source for the vga controller in SOPC builder on a DE2 board using Quartus 9.1. 

 

I'm not really sure what I need to use with the pixel buffer. After some reading on the altera vga note, I found that it needs the SRAM to store pixel data. I think the problem is the SRAM, I managed to output pixels to my monitor but its only garbage. Could someone enlight me on how to connect SRAM and pixel buffer in SOPC builder? 

 

Note: VGA controller, pixel buffer and SRAM components come from the University Program IP Core. 

 

I put a screen shot of my SOPC build in attachment.
0 Kudos
26 Replies
Altera_Forum
Honored Contributor II
589 Views

 

--- Quote Start ---  

Hello, 

 

I'm trying to use vga pixel buffer as a data source for the vga controller in SOPC builder on a DE2 board using Quartus 9.1. 

 

I'm not really sure what I need to use with the pixel buffer. After some reading on the altera vga note, I found that it needs the SRAM to store pixel data. I think the problem is the SRAM, I managed to output pixels to my monitor but its only garbage. Could someone enlight me on how to connect SRAM and pixel buffer in SOPC builder? 

 

Note: VGA controller, pixel buffer and SRAM components come from the University Program IP Core. 

 

I put a screen shot of my SOPC build in attachment. 

--- Quote End ---  

 

 

Thanks 

you saved me a lot of time.
0 Kudos
Altera_Forum
Honored Contributor II
589 Views

i have some questions 

 

i'm a bit confused with the relationship between the pixel buffer and the sdram 

 

1. does the sdram act as the buffer which is controlled with the pixel buffer?? 

 

2. does the "default buffer start address" in the configuration of the pixel buffer refer to the base address of the sdram controller?? 

 

i have attached the picture showing the connection between the sdram and the pixel buffer
0 Kudos
Altera_Forum
Honored Contributor II
589 Views

 

--- Quote Start ---  

I finally solved my problem! 

 

Components connections are shown in my attachment. 

I set the pixel_buffer "Default Buffer Start Address" to the base address of the SRAM (0x00900000). Plus, I added the Alpha_blender so I can display both source at the same time on my monitor. char_buffer is displayed as foreground and pixel_buffer as background. 

 

pixel_buffer is configure to work in 320x240 (width factor: 2, height factor: 2) and color space is 16-bit RGB. 

--- Quote End ---  

 

 

instead of sram, i use sdram as the buffer. i have set the "default buffer start address" to the base address of the sdram too (0x00800000). i have checked all the fpga pins assignments and they are all connected as they are supposed to. but still i cant display anything on the TRDB_LCM. did you store the pixel value to sram first before you use the funtion alt_up_pixel_buffer_draw()?? i've tried to write the color values to sdram first then i tried using the function after that. but still i cant display them. what's wrong actually?? this is frustrating me
0 Kudos
Altera_Forum
Honored Contributor II
589 Views

Hi  

I am using QII 8.1 with DE1. 

I have successfully tested pixel and character display on VGA screen independentaly. 

But when i connect Alpha blending it gives warning and SOPC builder hangs upon generation. 

Any idea??? 

 

Regards 

Ishant
0 Kudos
Altera_Forum
Honored Contributor II
589 Views

Hello everybody, 

I am using altera de0 and ltm complete waveform display experiments, encountered a problem. I use the university program ip vedio_out. Why clear screen, you can not directly display. Test code:nios c# include "altera_up_avalon_pixel_buffer.h" 

int main(void) 

alt_up_pixel_buffer_dev * pixel_buf_dev; 

// open the Pixel Buffer port 

pixel_buf_dev = alt_up_pixel_buffer_open_dev ("/dev/Pixel_Buffer"); 

if ( pixel_buf_dev == NULL) 

alt_printf ("Error: could not open pixel buffer device \n"); 

else 

alt_printf ("Opened pixel buffer device \n"); 

/* Clear and draw a blue box on the screen */ 

alt_up_pixel_buffer_clear_screen (pixel_buf_dev,0); 

alt_up_pixel_buffer_draw_box (pixel_buf_dev, 0, 0, 319, 239, 0x001F, 0); 

Hope that we can provide the solution or the views try:
0 Kudos
Altera_Forum
Honored Contributor II
589 Views

Thanks ronix for posting that. I can compile the Verilog part of it, but what do you do with the C program? Is it compiled with the Altera Monitor program? I don't see an ncf file which it would read...? 

 

Thanks for any help! 

 

Tom 

 

 

--- Quote Start ---  

Hello renaudberube! 

 

Thx for your reply! I found out what was wrong - I made some terrible mistake while adding sdram to my project (used output instead of bidirectional pin). Now everything is working like a charm :) Anyway many thx for your concern :) 

 

Regards 

 

@speak48 

Probably you pixel buffer device has different name in your sopc system, maybe "pixel_buffer_0" or something like that... 

 

Many people have problems with this VGA stuff, so I attached some basic project including pixel buffer and simple software that draws some garbage on the screen. Hope some of You will find that useful. Project is for DE-2 board 

--- Quote End ---  

0 Kudos
Reply