Introduction

Aims of the class

Introduce the basics of FPGA programming using Verilog on an Open Source and Free toolchain. Boards used will be the readily available Colorlite i5, which use the Lattice ECP5 FPGA. We will end with examples that utilize LiteX, which can be thought of as “IP cores” (but with more Python) and allow things like HDMI, ethernet, and even entire CPU cores to be synthesized in the FPGA.

You will not be an expert in FPGAs but you should be able to create simple programs and build more complex things over time. This is not a class about learning how to use a computer or learning the deep intricacies of Verilog and LUTs. This is a practical class where you get your hands dirty trying to make your board do cool things. And we will sparkle a little bit of theory so you get a sense of what is happening.

Organization

The class will happen on May, 27th 2023 at PS1 and start promptly at 11AM, you can come a bit earlier if you think you need more time to setup.

Attention

You need to come with a computer already setup with all the tools. See the Requirements

This is the program of the day, this will obviously depends greatly on what you want to do, how fast you advance etc:

journey title FPGA Class-Workshop 11AM Presentation of the participants and the class: 0 11.5AM What are FPGAs: 1 12AM First lessons: 2 01PM BYO Food break: 3 01.5PM Last cycle of the lessons: 5 03PM Hack your own stuff: 7 05PM Show your stuff: 9

So we will have a tiny formal introduction but we will jump really quickly into the practical work directly on your boards and you will learn things as you do.

The second part of the day will be about you hacking things together with the electronic components we have in the electronics area or the ones you or others did bring.

And the last part will be about you showing the group what you’ve achieved.

Disclaimer

We are not responsible for any damage, anywhere and on anything. You are connecting electronic devices to your computer and this comes with risks that you need to evaluate for yourself. Make sure you have backups and that you don’t use a computer that you can’t replace.

You are also going to install quite a lot of software from various places, so make sure you are using appropriate protections against the threats you fear the most.