Will Green Bluesky: @willflux.bsky.social Discord: willflux GitHub: projf Mastodon: @WillFlux@mastodon.social Go home for FPGA and RISC-V tutorials.| Project F
Sponsor me on GitHub for early access to my new projects and blog posts. An FPGA is like a giant virtual breadboard or Lego for electronics: if you can imagine it, you can probably build it. So why isn’t everyone designing with FPGAs? There are good dev boards and development tools, but we’re missing accessible and exciting resources to learn from and build on. In 2020, I started working on Project F to provide these missing FPGA resources.| Project F
People who are really serious about software should make their own hardware. Alan Kay, Creative Think seminar (1982) There’s something profoundly satisfying about designing at the hardware level, be it creating your own arcade game, handling unusual hardware interfaces, building your own robot, creating art, analysing oodles of data, or even developing your own CPU. Working with FPGAs gives me a sense of delight so often lacking in modern software development.| Project F
Tutorials to get you started and improve your design skills. See also Recommended FPGA sites. FPGA Graphics Learn graphics at the hardware level and improve your FPGA design skills. Beginning FPGA Graphics - video signals and basic graphics Racing the Beam - simple demo effects with minimal logic FPGA Pong - recreate the classic arcade on an FPGA Display Signals - revisit display signals and meet colour palettes Hardware Sprites - fast, colourful graphics for games Framebuffers - bitmap graph...| Project F
I’ve decided to focus on other content for now. I may return to this topic in future. In the meantime, check out my FPGA and RISC-V tutorials.| Project F
My collection of demo effects and quick demos; useful building blocks for full prods. Castle Drawing - draw a castle and rainbow in 16 colours Life on Screen - Conway’s Game of Life in logic Mandelbrot - the fractal classic with fixed-point multiplication Rasterbars - classic animated colour bars Sine Scroller - greet your viewers in style You might also like to check out my graphics tutorials. Demo Prods Ad Astra - my first FPGA demo from 2018: greetings with starfields and hardware sprite...| Project F
The How To list has moved to Tutorials.| Project F
FPGA development and testing tools. See also Tutorials. Vivado Tcl Build Script - quick and easy Vivado builds with Tcl Verilog Simulation with Verilator and SDL - blazingly fast way to simulate your designs Verilog Lint with Verilator - quickly check your Verilog designs iCE40 FPGA Toolchain on Linux - building an open source FPGA toolchain for iCE40 FPGA Tooling on Ubuntu 20.04 - testing FPGA tools with Ubuntu 20.04 Focal Fossa| Project F
This page collects some of my favourite FPGA resources from across the Internet. FPGA Learning Resources Black Mesa Labs FPGA Tutorial Bruno Levy’s Learn FPGA fpga4fun.com fpgacpu.ca Nandland Project F Tutorials Sutherland HDL Verilog Pro Discussion 1BitSquared Discord (iCEBreaker) Digilent Forums (Arty and Nexys) Project F Discussions Radiona Discord (ULX3S) FPGA Reddit Interesting Sites Adiuvo Engineering Blog benjamin.computer Beyond Circuits Bits’n’Bites Black Mesa Labs Control Path...| Project F
I’ve divided the site map across separate pages: About - about Project F Demos - exploring the possibilities of FPGAs Lib - handy Verilog designs for everyone News - project news (quarterly) Recommended FPGA sites - great content for beginners and experienced designers Tools - FPGA development and testing tools Tutorials - for beginners and anyone looking to develop their hardware design skills| Project F
I like to learn by doing, by trying things out and experimenting. However, this is hard with FPGAs; there’s a significant lack of practical Verilog designs online. The Project F Library is the latest part of my attempt to make things a little better for FPGA hackers and beginners. Over the last few years, I’ve built up a small collection of handy Verilog modules. The Library brings these modules together with documentation and test benches to make them more accessible.| Project F
This series will help you learn and understand 32-bit RISC-V instructions and programming. The first part looks at load immediate, addition, and subtraction. We’ll also cover sign extension and pseudoinstructions.| Project F