Forum: FPGA, VHDL & Verilog VGA signal generation

von Nikolay (Guest)

Rate this post
0 useful
not useful
Hello! My task is creation of real-time system which can draw simple 
graphics figure on monitor (VGA) when the system register input pulse. 
The main difficulty is to draw this image only once (for measuring man's 
reaction time: time between image drawing and the button pressing). I 
think it'll possible to use FPGA to register input pulse and to generate 
VGA signal with required parameters. But I don't undestand can the ONLY 
ONE image frame be drawn at input pulse interrupting or not?
The main task is to minimize time delays and in this case I can't use 
the standart solutions.
For example, using Raspberry Pi or a similar device is accompanied by 
the necessary of screen refreshing and image drawing binding. This adds 
a random time delay from 0ms (if the screen refresh time coincides with 
time of input external pulse which starts drawing figures) to 
I need your advices or suggestions. Thanks!

von matzetronics (Guest)

Rate this post
0 useful
not useful
Probably the simplest solution would be to synchronize drawing of the 
picture with vertical blanking. You'd switch to a framebuffer holding 
the graphics in the vsync period which garantees a full video frame and 
start time is determined at the same time - e.g. by starting a clock or 
timer. User then stops the timer or clock which contains his reaction 
I do not think you will need a FPGA for this - even something simple 
like the AVGA library will be fast enough to cope with the timing.


von displ (Guest)

Rate this post
0 useful
not useful
Even then, given enough samples, you should be able to get an accurate 
representation of reaction times by subtracting 8.3ms.

von Jürgen S. (engineer)

Rate this post
0 useful
not useful
With an FPGA you are not limited to the common frame rates. If the 
display can handle it, you can drive VGA-like images with speeds up to 
300fps. My current monitor here handles dynamic frame rate up 188 fps 
and operates with 1920x1080.


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.