diff --git a/index.html b/index.html index 0e9f768..3095da1 100644 --- a/index.html +++ b/index.html @@ -118,15 +118,28 @@
  • Blinkenlights
  • +

    Workshop Outline

      +
    1. What do I need to get started?
    2. What is Fomu, and what is an FPGA?
    3. What can I do with Fomu?
    4. What makes Fomu special?
    +
    +
    +

    What do I need to get started?

    +
      +
    1. Synthesis
    2. +
    3. Place-and-Route
    4. +
    5. Packer
    6. +
    +
    +
    +

    What is an FPGA?

    @@ -137,6 +150,7 @@ FPGAs are measured in resources called LUTs or LCs.

    +

    What is Fomu?

    @@ -145,6 +159,15 @@ Unlike many other PCBs, Fomu does not have a separate USB controller chip. This means that any projects that want to use the USB port must include a USB softcore.

    + +
    +

    Fomu Block Design Diagram

    +
    + +
    +

    ICE40 Features

    +
    +

    What is this PCB?

    @@ -168,16 +191,113 @@ * Swap PMODa pins for I3C

    +
    -

    Levels of Fomu

    -

    - Fomu aims to be accessable on three levels: -

      -
    1. Python / Interpreted
    2. -
    3. RISC-V
    4. -
    5. Verilog / FPGA
    6. -
    -

    +

    What modifications does it have?

    + +
    + +
    + +
    +

    Levels of Fomu

    +

    + Fomu aims to be accessable on three levels: +

      +
    1. Python / Interpreted
    2. +
    3. RISC-V
    4. +
    5. Verilog / FPGA
    6. +
    +

    +
    +
    +
    +

    Python / Interpreted

    +
      +
    1. Goal: Multiple interpreters, auto-reload, USB disk interface
    2. +
    3. Now: MicroPython binary
    4. +
    +
    + +
    +

    Loading Programs onto Fomu

    + dfu-util -l + dfu-util -D update.bin +
    + +
    +

    Loading MicroPython

    + dfu-util -D micropython.dfu +
    + +
    +

    Connecting via serial

    +
    + +
    +

    Interacting with Fomu

    +
    + +
    +

    RGB LEDD reference

    +
    + +
    +

    Future Work

    + CircuitPython, etc. +
    +
    +
    +
    +

    RISC-V code

    +
    + +
    +

    LiteX Machine Model

    +
    + +
    +

    Wishbone Interface

    +
    + +
    +

    Wishbone Bridge

    +
    + +
    +

    Interacting with LEDD directly

    +
    + +
    +

    Writing RISC-V Code

    +
    +
    + +
    +
    +

    Hardware Description Language

    +
    + +
    +

    Yosys and NextPNR

    +
    + +
    +

    Blinking an LED

    +
    + +
    +

    LiteX and MiGen

    +
    + +
    +

    VexRiscv