Learning Material

Introduction to open source Verilog

Check out the Presentation Here!

What is Verilog?

3 hour introduction into Verilog:

Video part 1

Video part 2

Video part 3

Video about programming Verilog on Ice40:

Complete UCLA University Digital Design and Verilog course:

List of videos on youtube

Video intro into CMOS, Verilog and FPGA programming:

Intro: How CMOS Works

Intro: from CMOS to FPGA

Part 1: learning Verilog

Part 2: Flip Flops

Part 3: finally programming the FPGA



A Risc-V Processor with additional peripherals is implemented on the icoBoard, is running a simulation software written in C and does display the results on a LED framebuffer.

Clifford’s presentation of the toolchain at 32C3

The following video shows a possible use for FPGAs

The production of the icoBoard_Beta



Good Verilog Info Webpage

FPGArelated Info Webpage http://www.fpgarelated.com/blogs.php#tabs1-popular

Other FPGA board projects

Altera Mango Board

Lattice Go Board

Lattice CAT Board

Altera XLR8 https://www.kickstarter.com/projects/814866572/xlr8-arduino-compatible-fpga-based-application-acc?ref=nav_search

Xilinx Scarab


Xilinx E-ink FPGA driver board  http://www.circuitvalley.com/2015/10/fpga-board-xilinx-altera-cpld-project-breadboard-wireframe.html


Usefull tools for FPGA developers

Wave viewer  http://wavedrom.com/

HDL package manager https://github.com/olofk/fusesoc



New Design tool from Altera

General overview over the usefullness of FPGAs


Projects need to be supported by an ecosystem.

Integrated graphical development environment for simple Verilog project iceStudio

Verilog Syntax highlighting in ATOM editor

Verilog Simulation with cocotb

FuseSoC is a package manager and a set of build tools for HDL (Hardware Description Language) code and does support icoBoard as target plattform.

IP-XACT Standard and why to use it

Kactus2 IP-Xact tool

Eclipse based Verilog FPGA development environment Link

High Level Synthesis language generating Verilog SpinalHLS

Continuous integration with Jenkins

Programming environment and language MIGEN

Simple IDE for myHDL based FPGA programming

Making Interfacing CPU with FPGA easier with Connectal and their webpage

Embedded IDE with support of FPGA programming Platform.IO

Non-free C to Verilog compiler LegUp

Arduino Core extentions for Risc-V CPU

Commercial Verilog editor Sigasi

Verilog editor plug in for Eclipse with Icarus and GTKWave integration

Clifford Wolf:

“The most important thing to know about HLS tools is that imo they are marketed using a ridiculous claim: That you can simply take existing C/C++ code and convert it into an FPGA core without experience in digital design. This is of course nonsense! Like with Verilog or VHDL, you have to actually understand how the tool transforms your code into a digital circuit, and arguably this is even harder with HLS tools.”

The dependencies in the Linux ecosystem

Extra Material in English, Russian, and Spanish

Prefer English?

Basic Verilog learning material at Embedded Micro

free Verilog Online learning course 

English tutorial for beginners:


 How to build your first CPU with an FPGA

complete serices of “How to do a FPGA project”

How a computer is working on a transistor level Link

A visual CPU transistor simulator simulating the ARM1 Link

Nice tutorials and and a nice IDE:


Here’s a nice tutorial to learn Verilog

Learning FPGA design with a complete but cheap beginner board and great tutorials:

The 50 USD GO-Board

Know Russian?

Anton Pavlov put lots of Verilog material in Russian Link

Know Spanish?

Complete spanish 27 part tutorial to learn Verilog