> Related: https://electronics.stackexchange.com/questions/15811/where-to-start-when-considering-making-a-gpu 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: 1. Receive a frame of pixel data on a bus 2. Store frame in a stack on the hardware 3. 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.