Fomu Workshop
workshop.fomu.im
Please download toolchain while waiting!
(from workshop.fomu.im)
I'm Fomu
Fitting an FPGA in your USB port...
Download toolchain!
Step 1
Tim
"mithro"
Ansell
I'm the "manager"
Michael
"many hats"
Gielda
Sean
"xobs"
Cross
Tomu FPGA
^kilobytes
I'm Tomu
An MCU inside a USB port
Download toolchain!
Step 1
Assembly Fomu
Step 2
Awesome Plastic Case
Awesome Plastic Case
Download toolchain!
Step 1
Assembly Fomu
Step 2
Do workshop!
Step 3
An Introduction
Python in your USB Port
Tomu FPGA
FPGA µPython
I'm Tomu
An MCU inside a USB port
Circuit Python
I'm Tomu
An MCU inside a USB port
RISC-V in your USB Port
Tomu FPGA
^kilobytes
I'm Tomu
An MCU inside a USB port
Tomu FPGA
Tools
Could use it just as �
CPU!
I'm Tomu
An MCU inside a USB port
RISC-V - VexRiscv
Debugging through USB
Debugging through USB
GDB over USB
[Run gdb over Wishbone over USB]
$ riscv64-unknown-elf-gdb riscv-blink.elf -ex 'target remote localhost:1234'
GNU gdb (GDB) 8.2.90.20190228-git
...
Reading symbols from .\riscv-blink.elf...
Remote debugging using localhost:1234
csr_writel (addr=3758106660, value=1) at ./include/hw/common.h:41
41 *((volatile uint32_t *)addr) = value;
(gdb) bt
#0 0x2004014c in csr_readl (addr=3758106664) at ./include/hw/common.h:46
#1 timer0_value_read () at ./include/generated/csr.h:242
#2 0x200401dc in msleep (ms=ms@entry=80) at ./include/hw/common.h:41
#3 0x20040074 in main () at ./src/main.c:45
(gdb)
FPGA in your USB Port
Tomu FPGA
Tools
Fully
open source
toolchain
�Verilog → Bitstream
Lattice iCE40UP5K
I'm Tomu
An MCU inside a USB port
Open source tools
Simple installation: just set PATH
Migen - Write Python hardware
transfer = FSM(reset_state="WAIT_TOKEN")
self.submodules.transfer = transfer
transfer.act("ERROR",
self.error.eq(1),
If(self.reset, NextState("WAIT_TOKEN"))
)
transfer.act("WAIT_TOKEN",
If(rx.o_pkt_start, NextState("RECV_TOKEN"))
)
Emulating the Fomu in your USB Port...
Renode Fomu Support!
Renode + Fomu via bridge
Gives you;
Example;� - Control an LED on Fomu� - Step-by-step tutorial
USB
Renode + Fomu via bridge
The Tomu family!
Somu
Security Tomu
Femu
The Femto ESP32 Tomu
Femu
Wireless Tomu
Womu
Bomu
Bluetooth Tomu
Doesn't exist yet...
?omu
????? Tomu
What
about
you?
FPGA Tomu
Tomu