[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [video] VGA controller implementation




> On Tue, 2002-07-09 at 14:43, Richard Herveille wrote:
> > CPU from drawing GUI related stuff. Like drawing lines and (filled)
> > boxes. Just implementing these two functions should reduce CPU overhead
> > considerably.
>
> Yup, that would be nice.. the anti-aliasing thing I suggested was just a
> suggestion.. (: But my question is this: What is the ultimate objective
> of adding all the functionality?? Would it be used somewhere?? Would
> someone else learn from it?? The important thing is that someone should
>
> benefit from any effort used.. (:

That's true of course. But I figured it would be a first step to a decend 
open-source video system. There are a few around, and I subscribed to many of 
the mailing lists. But just like this list they are kinda dead.

I also want to provide a port for direct video access. This would allow an 
outside source (a mpeg decoder for example) to display data. All the video 
stuff would be handled by the vga card, the outside-source just has to 
provide the data.

> > Cool, is the system working? What are you doing with it? Are you running
> > uclinux (or similar). If so, did you write a device driver for the vga
> > adapter? I am asking this because I still need to write a device driver
> > for it. You work might be a good starting point.
>
> Yup the system is working.. (: That's how I could tell you that it was
> running at 25MHz showing 640x480x16 graphics.. (: But there are
> problems.. (: but minor ones only.. there are some hor. lines after the
> 640 margin.. it's supposed to be blank right?? it's maybe because I
> didn't connect the /BLANK signal line.. (: The XESS board only allowed
> me to connect the /HSYNC and /VSYNC lines.. I didn't have time to fully
> play around with all the configurations..

The vga card doesn't set the data-lines to zero, it presents the next pixel's 
data. The blank signal blanks the screen. There's an intensity difference 
between black and blank (black is less black than blank).

>
> But unfortunately I didn't write any device driver.. because I didn't
> use any OS.. I coded the software in assembly.. It was just a learning
> project.. I used assembly to access the VGA registers to configure it
> for 640x480 using the information at the back of the documentation..
> Then, to show a picture, I just fiddled around with the ram on the XESS
> board.. (:
>
> Oh.. there was one thing that I had to change.. the Internal Block RAMS
> for the Virtex chip.. they were not instantiated with your code.. even
> with the 'define XILINXxxxxx thingy.. I used FC2 for synthesis and it
> didn't use the Block RAM.. So, I had to map it to the Virtex RAM.. I
> just wrote a wrapper to wrap the ram to the RAMBxxxxxx modules of RAM..

For FPGAs I always use the VENDOR_FPGA setting. I use Leonardo Spectrum and 
Synplicity as synthesizers/compilers. They both 'understand/recognize' the 
structure described and generate RAM blocks for it.

>
> This is also my very first real coding project.. So, i'll have to clean
> up my code a little before uploading it to OpenCores.. everything is in
> disarray.. (: I'll have to do some documentation too first..
>
> with metta,
> Shawn Tan.


Richard

--
To unsubscribe from video mailing list please visit http://www.opencores.org/mailinglists.shtml