Playing with TinyFPGA BX

Ben Clifford
www.hawaga.org.uk/ben/tech/raspberry-pint-fpga

Press 'S' for speaker notes

Field
Programmable
Gate
Array

CryptoMuseum / SparkFun / Intel

By inductiveload - Own work, Public Domain, Link

AB=>A AND BA XOR B
0000
0101
1001
1110

Practical uses

  • Mobile phones (target of this FPGA)
  • Specialised compute hardware - in the cloud
  • LHC triggers at CERN
Field(my couch)
Programmable
Gate(AND, OR, NOT, XOR, etc...)
Array(lots ofg gates in regular layout)

https://www.crowdsupply.com/tinyfpga/tinyfpga-bx

Flash an LED - Verilog

input CLK,    // 16MHz clock
output LED   // User/boot LED next to power LED

reg [23:0] blink_counter;

always @(posedge CLK)
    blink_counter <= blink_counter + 1;

assign LED = blink_counter[23];

CPUs

  • Retrocomputing:
    BBC Micro (1980s)
    PDP/11 (1970s)
  • Modern CPUs: picorv32 - RISC V

Timing sensitive protocols

Vocabulary

bits byte = 8 bits
Hardware description language (HDL) programming language
Intellectual property core (IP core) library
register variable
synthesis / place-and-route compiling / linking
bitstream compiled code
Demo 1

Demo 2

More info

www.hawaga.org.uk/ben/tech/raspberry-pint-fpga