June 10, 2020

FPGA Ad Astra

In this series, we’ll be exploring FPGA graphics of all kinds, from the simplest static square, through Pong and the Mandelbrot set, to bitmaps, text scrollers, and even 3D modelling. There’s no microcontroller in any of these designs: they’re simple logic described in SystemVerilog. New to the series? Start with Exploring FPGA Graphics. Before framebuffers were ubiquitous, it was necessary to generate your graphics a line, or even a pixel, at a time. Read more

May 20, 2020

Exploring FPGA Graphics

In all beginnings dwells a magic force Herman Hesse, Stages from The Glass Bead Game Welcome to Exploring FPGA Graphics with Project F. In this series, we’ll be experimenting with FPGA graphics of all kinds, from a static square, through Pong and the Mandelbrot set, to bitmaps, text scrollers, and even 3D modelling. There’s no microcontroller in any of these designs: they’re simple logic described in SystemVerilog. This post is a quick introduction to generating graphics with FPGAs: you’ll learn about display signals and simple colour graphics. Read more

May 6, 2020

Hello Arty - Part 2

Welcome back to our three-part FPGA tutorial with SystemVerilog and the Digilent Arty A7. In part two, we’re going to learn about clocks and counting. Along the way, we’ll cover maintaining state with flip-flops, timing things with clock dividers, creating our first Verilog module, and controlling LEDs with pulse width modulation. You might be surprised how far counting takes you: by the end of this tutorial, you’ll be creating RGB lighting effects worthy of a cheesy gaming PC. Read more

April 24, 2020

Hello Arty - Part 1

People who are really serious about software should make their own hardware. Alan Kay, Creative Think seminar, 1982 This three-part tutorial provides a quick introduction to FPGA development with SystemVerilog and the Digilent Arty A7 board. No prior experience of FPGA development is required, but basic knowledge of programming concepts is assumed. If you can write a simple program in Arduino, Python, or JavaScript, then you shouldn’t have any trouble. Read more

©2020 Will Green, Project F