Do you know what you are doing?

I Have No Idea What I’m Doing. As of writing this, I only got my first board eleven months ago. I’m literally just making everything up as I go along. But in a very real way, the freedom that comes with being to make stuff up because you don’t know how things are supposed to be done feels amazing.


How’s it going so far?

OK, I guess. I have working DDR3 controller, rasterizers, caches, scanout, texturing, and pixel shaders. But not texture reads from pixel shaders… yet. I don’t have any current plans to do depth buffers, vertex shaders, async compute, or any other fancy features, but then again when I started I had zero intention of doing texturing and pixel shaders. Things change, people go crazy.


Why did you make bad decision X?

9 out of 10 times it’s because I didn’t know any better when I started. And as I learned fairly early on, hardware design is about making one bad initial decision, followed by a thousand bad decisions to mitigate the impact of that first one


Is this how the pros GPU?

¯\_(ツ)_/¯. I’ve never seen a professional line of RTL in my life. But given the differences between FPGAs and fancier chips, I strongly suspect I am not doing things the way the pros do.



Currently, the excellent Arty A7 from Digilent. You can get yours here. I’m not being paid by Digilent to endorse their boards, but if they want send me some free hardware, I’ll take that. Also, the boards are supported in the free version of the Vivado IDE, and trust me, you don’t want to experience what FPGA dev without Vivado is like


where’d you get that sweet HDMI PMOD?

Oh, you mean the one in the image above? That was made for me by a ridiculously talented friend who took pity on me not having a builtin HDMI connector on my board. And if you happen to be the type who likes reading about interesting projects, then I have a suggestion for you.