Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vhpidirect: add 'arrays/matrices/framebuffer' #20

Merged
merged 5 commits into from
May 3, 2020

Conversation

umarcor
Copy link
Member

@umarcor umarcor commented Apr 29, 2020

This PR is work in progress to extend example 'matrices' with an RGB24 framebuffer. A 2D array of integers is allocated and used in VHDL to represent a virtual screen. The buffer can be either saved to PNGs/GIF or shown in an X11 window in "real-time".

A subexample is included where a synthesisable VGA pattern generator is instantiated in a testbench along with a "Virtual VGA screen" module. The virtual screen captures the VGA signals (hsync, vsync, R, G and B), a draws the frames using one of the aforementioned methods. See the figure and explanations added to the docs.


To run all the subexamples locally, packages imagemagick and libx11-dev are required on Debian. On Windows, x11docker can be used along with a docker container:

x11docker --runx --no-auth --user=0 -i -- -v /$(pwd)://src -- ghdl/ext bash


These sources are inspired by http://ygdes.com/GHDL/fb/ and hackfin/ghdlex.


Pending enhancements:

Future work/ideas: #22

@umarcor umarcor force-pushed the matrices-framebuffer branch from 2ad23d9 to 39eab35 Compare April 30, 2020 08:35
@umarcor umarcor mentioned this pull request May 3, 2020
15 tasks
@umarcor umarcor force-pushed the matrices-framebuffer branch from 39eab35 to 34ca82a Compare May 3, 2020 10:11
@umarcor umarcor marked this pull request as ready for review May 3, 2020 10:12
@eine eine merged commit 8d8e8bf into ghdl:master May 3, 2020
@umarcor umarcor deleted the matrices-framebuffer branch May 3, 2020 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants