I'm a pretty strong programmer, but I'm very new to hardware design, so apologies if I use strange terminology.
My long-term goal is to write a custom GPU, but I'm starting out with a basic framebuffer to get comfortable with hardware design. Here's a rundown of what I'm expecting to do with my project:
- Receive a frame of pixel data on a bus
- Store frame in a stack on the hardware
- Output frames at the monitor refresh rate
I can figure out #1 and #2, but I've never done anything like #3. I'm thinking the optimal development setup would be to have a virtual display that connects to the output pins of my design (VGA or DVI) and displays it in a window on my computer. I could probably do this with an FPGA and a small LCD, but I'm thinking it will be easier for development (esp. travelling) to have it all simulated.
Is there already a solution for this? If so, what can I search for to get more information about it? If not, what is the usual development setup for something like this?
I'm developing on Linux using Icarus Verilog, so a solution that works with that would be preferred.