pico-ice/Docs/learn.md
2024-02-10 13:20:42 +01:00

12 KiB
Raw Permalink Blame History

Learning FPGA Design

A large number of resources exists for learning FPGA design.

Some of them have been collected and aggregated on this page.

An online class was held by tinyVision.ai, and is available freely:

Video format

  • Digi-Key Intro to FPGA Starts with defining FPGA and covers HDLs, programming flow etc. New to FPGAs? Start here!

  • SystemVerilog in 5 minutes Serie of concise and focused descriptions of the SystemVerilog language.

  • VLSI Chaps Discussion and explanation of ASICs, VLISI, but also SystemVerilog.

  • Digital to FPGA 101 design a circuit in digital convert into verilog and run it on an ice40 FPGA (like Upduino_v3.1).

Examples

General tutorials

Specific topic

Wiki

  • VHDL Wiz Terminology Glossary of many concepts.

  • VHDL Wiz Terminology Glossary of many concepts.

  • Hamsterworks wiki Introduction to FPGAs focused on VHDL. The site is offline, but an archive of the content is still available.

  • VerilogGuide Wiki/Book for learning Verilog from the ground up. Uses Quartus and ModelSim-Altera Starter instead of the open source toolchain

  • Chipress Collection of explanations targetted at aspiring ASICs engineers. Many of the topics are related

  • ChipVerify Wiki covering much of Verilog and SystemVerilog syntax.

  • FPGA key Community focused on providing resources to learn FPGAs.

Simulators

Toolchains

  • oss-tabby-cad A complete toolchain based on top of Yosys.

  • Yosys The central tool connecting the languages front-end and back-ends.

  • GHDL Simulator for VHDL code.

  • MixedSim Tool building on top of ngspice for simulating circuits.

  • verilog to routing Open-Source toolchain alternative to YoSys.

  • open FPGA Older toolchain for CPLD.

  • FASM Low-level format aiming to be a de-facto industry standard for FPGA toolchains.

Courses

  • Hands-on FPGA class A 8-week class was given by tinyVision.ai for getting started with FPGAs.

  • Intel FPGA Academy Digital logic/FPGA courses by Intel. requires .edu email (contact intel for access without .edu email but response may vary)

  • fpga4fun FPGAs 1 - What are they? Intro to FPGA lesson 1. Link is forr lesson 1 of intro to FPGA but the entire site is dedicated to learning FPGAs

  • WTFpga Workshop Guided discovery of FPGA through the IceBreaker board.

  • IceBreaker Workshop Course focused on getting started through the IceBreaker board.

  • Intro to Digital Logic Circuits University course by Steven Bell that assumes little/no prior knowledge of FPGAs. Features the Upduino v3 and "Digital Design and Computer Architecture arm edition"

  • Digital System Design (DSD) Spring 2009 Course introducing FPGAs to students.

  • MIT 6.205 Course Requires log-in to access the whole content, but good introductory text.

  • ECE 5760 Course A class that widely publishes their teaching material, allowing 3rd-party students to attempt it on their own.

Other lists

  • F4PGA Link list Another project aiming to collect links.

  • FPGA Design Elements coding style and notes about various building blocks/design principles. Fantastic list of resources/code examples etc

  • HDL Simulators Wikipedia list of simulators for HDLs.

  • sv-tests results Table summarizing support for all SystemVerilog (and Verilog) features support in various tool.. Useful to check compatibility of a toolchain

Books

Organizations

Research papers

Games

  • NandGame Browser based puzzle game about logic gates. serves as litmus test to determine familiarity with digital logic. Good for visual learners