User:Ranzbak

From RevSpace
Revision as of 21:13, 29 March 2019 by Ranzbak (talk | contribs) (Initial page setup)
Jump to navigation Jump to search

Ranzbak

Nerd that does things with electronics and chemistry.

Projects

FPGA Workshop

Project FPGA workshop
350px
A workshop to give people the basic knowledge needed to start developing FPGA projects.
Status Initializing
Contact Ranzbak
Last Update 2019-03-29

I would like to have the first session of the workshop at Revspace, an Saturday 13th of April. There will be space for at most 8 people.

Prerequisites:

  • Installed Icestorm toolchain, that supports the Lattice ICE40UP5K FPGA. For instructions [1]
  • A micro usb cable
  • A working laptop that can run the Icestorm toolchain (Linux or OSX should be fine, for Windows I don't know)
  • 4 hours of your time, an Saturday the 13th (There will be some breaks)
  • Some basic knowledge about programming

Appreciated:

  • Feedback

Provided: (Per person)

  • A UPDuino V2 FPGA development board [[2]]
  • Breadboard to install the UPDuino on
  • DS18B20 temperature sensor
  • some dupont wire
  • 2x 12k 1x4.7k resistor

Topics: (If I can fit them all in)

  • Basic IO
  • Modules
  • Constraint files
  • The clock
  • Using simulation
  • Module parameters
  • Wires registers and variables
  • Arrays
  • Verilog tasks, functions, if statements, and for loops.
  • Building a simple state machine using case statements


Please install the toolchain before showing up

Because the toolchain is pretty big the compiling takes a long time on my core I5 40 minutes, so having a working toolchain installed saves you a lot of frustratingly long waiting.

If the toolchain is already installed, and you would like to know if your toolchain will work with the development UPDuino V2, do the following:

$ arachne-pnr -h

This results in the help being printed, containing a list of the supported devices:


    -d <device>, --device <device>
        Target device <device>.  Supported devices:
          384 - Lattice Semiconductor iCE40LP384
           1k - Lattice Semiconductor iCE40LP/HX1K
           5k - Lattice Semiconductor iCE40UP5K
         lm4k - Lattice Semiconductor iCE40LM4K
           8k - Lattice Semiconductor iCE40LP/HX8K
        Default: 1k

Notice the line '5k - Lattice Semiconductor iCE40UP5K', this tells you that the toolchain is good to go. If not try to find a newer version and install it before the workshop.