https://hgpu.org/?p=6321
Teaching graphics processing and architecture using a hardware prototyping approach