I'm working on a personal project that uses an FPGA to convert YCbCr to RGB and control the sync timing for a 640x480 LCD. I would like to reuse this display and a couple of buttons for a graphics user interface. I've got things that I'd like to control at run time like sound, display adjustment, battery status etc...
Currently, my design has no frame buffer and I do not have any kind of external DRAM controller.
What I was thinking is I could insert a small BRAM buffer and have the internal CPU populate that based on a few parameters, then the LCD controller simply pulls from that buffer (and scales to minimize ram usage) in addition to the YCbCr channel.
This is probably the simplest method I could think of because then I can handle all the text generation and primitives in firmware. The GUI doesn't need to be fast, just usable.
I'm wondering if there are any open-source projects out there that do something like this? Or maybe there are some industry standards for embedded display graphics? I have a feeling that embedded graphics depend heavily on the available hardware, and there's probably not much available for standards?
This is a personal project so I'm looking to balance some learning with actually getting the project done.
I've been looking at high and low level projects as examples.
What I think is high level:
https://littlevgl.com/What I think is low level:
https://www.academia.edu/7652720/Design_of_VGA_Controller_using_VHDL_for_LCD_Display_using_FPGAI'm not new to FPGAs, but I am new to embedded graphics. Most of my graphics background was on full Linux workstations using easy things like java and python.
Any direction to save me some time would be very much appreciated! Cheers!