Maker Pro
Maker Pro

SVGA over UDP

A

AlbertCo

Hello

I need to design a "VTerm" simple terminal based on Xilinx, Lattice or
Altera
my pc will send screen from the network .
this Vterm will get the data from the 10/100 UDP and will display in
SVGA screen
my max resolution 800x600 16colors 30fps
 
J

John_H

AlbertCo said:
Hello

I need to design a "VTerm" simple terminal based on Xilinx, Lattice or
Altera
my pc will send screen from the network .
this Vterm will get the data from the 10/100 UDP and will display in
SVGA screen
my max resolution 800x600 16colors 30fps


That's great to hear. Good luck :) I hope it goes well.
 
AlbertCo said:
I need to design a "VTerm" simple terminal based on Xilinx, Lattice or
Altera
my pc will send screen from the network .
this Vterm will get the data from the 10/100 UDP and will display in
SVGA screen
my max resolution 800x600 16colors 30fps

Learn how to generate an SVGA display from an FPGA (it's a common
project on many development boards)

Make sure your FPGA or its board has enough memory

Learn how to receive UDP packets (see www.fpga4fun.com)

Put the two together.

Something interesting to think about is where the video frame timing
and dot clock are going to come from, and how you will synchronize
them. Will you buffer one or more frames or will you somehow keep the
network streaming data just a bit before the electron gun needs it (or
overwiting memory just after it's been read).

Also do you have the network to yourself or must you share it? How
will you handle lost or corrupted packets? (simply displaying the old
image segment in place of a lost/failed checksum packet might work)
 
T

Tim Auton

AlbertCo said:
I need to design a "VTerm" simple terminal based on Xilinx, Lattice or
Altera
my pc will send screen from the network .
this Vterm will get the data from the 10/100 UDP and will display in
SVGA screen
my max resolution 800x600 16colors 30fps

800x600x4x30 = 57600000.

That's 5.76 times as many bits per second as you can fit down your
100Mbps network, ignoring protocol overhead, network congestion...

I'd have a look at VNC if I were you, to see how that 'solves' the
problem (search for "VNC", there are many variants and some source
code is available). Perhaps you could even use a subset of the VNC
protocol as your protocol.


Tim
 
H

Hlrsr

VNC is a good solution, but in the case of Tim it might not be feasable.
Various methods are used like compression. In some cases the interface is
emulated at the end machine, so the server has to send info for window
positions etc, and not a picture of the remote screen. For example the
desktop background doesn't change (when we don't do any alterations), so it
doesn't have to send that all the time. Only moving parts of the image could
be send like the cursor or the image of a newly opened window.

Regards
GM

PS:Sorry for my English
 
Z

Zak

Tim said:
800x600x4x30 = 57600000.

That's 5.76 times as many bits per second as you can fit down your
100Mbps network, ignoring protocol overhead, network congestion...

I'd have a look at VNC if I were you, to see how that 'solves' the
problem (search for "VNC", there are many variants and some source
code is available). Perhaps you could even use a subset of the VNC
protocol as your protocol.

Or look at this product:

http://www.linuxdevices.com/articles/AT3888835064.html

Uses a Spartan 3 and more parts, but does video-type compression (mpeg4
like performance) for 1280x1024@30 FPS. Still a tiny board.

They promise source code for the Spartan as well.


Thomas
 
Tim said:
800x600x4x30 = 57600000.

That's 5.76 times as many bits per second as you can fit down your
100Mbps network, ignoring protocol overhead, network congestion...

Care to recount the zeros?

I'll admit I mixed up bits and bytes in my first analysis (and thought
10Mbpss would do it) but your number is 57.6 million, which is only
about half the capacity of a 100Mbps wire. If this is the only thing
being sent over the network it should fit with careful implementation,
especially of the sender (might be interesting to do the sender in an
FPGA, mooching off the SVGA feature connector)

Or am I missing something?
 
T

Tim Auton

Care to recount the zeros?

Well, counting all the digits is more useful :)
I'll admit I mixed up bits and bytes in my first analysis (and thought
10Mbpss would do it) but your number is 57.6 million, which is only
about half the capacity of a 100Mbps wire. If this is the only thing
being sent over the network it should fit with careful implementation,
especially of the sender (might be interesting to do the sender in an
FPGA, mooching off the SVGA feature connector)

Or am I missing something?

Nope, I was off by an order of magnitude. Thanks for spotting it.


Tim
 

Similar threads

A
Replies
2
Views
1K
Martin Griffith
M
S
Replies
2
Views
1K
Dr. Anton Squeegee
D
Top