Campbell, CA, USA

Tommy Thorn

Expert
@tommythorn

Interests: speculative superscalar out-of-order cpu microarch, ISA design, memory system, ... VLSI/ASIC, sync and async (dynamic) logic

Reduceron. FPGA Haskell machine with game changing performance. Reduceron is Matthew Naylor, Colin Runciman and Jason Reich's high performance FPGA softcore for running lazy functional programs, including hardware garbage collection. Reduceron has been implemented on various FPGAs with clock frequency ranging from 60 to 150 MHz depending on the FPGA. A high degree of parallelism allows Reduceron to implement graph evaluation very efficiently. This fork aims to continue development on this, with a view to practical applications. Comments, questions, etc are welcome.

463

yarvi. Yet Another RISC-V Implementation

99

fpgammix. Partial implementation of Knuth's MMIX processor (FPGA softcore)

59

yari. YARI is a high performance open source FPGA soft-core RISC implementation, binary compatible with MIPS I. The distribution package includes a complete SoC, simulator, GDB stub, scripts, and various examples.

48

Paperlike-Raspberry-Pi-4. How to use a Dasung Paperlike HD-F, HD-FT, and Paperlike 253 with Raspberry Pi 4 [and other hosts?]

24

spleentt-5x8-font. Tiny 5x8 bitmap font based on spleen and creep, useful for low-resolution displays

21

tinytapeout-4-bit-cpu. A design for TinyTapeout

19

AliExpressXCKU5P. Collateral for an AliExpress XCKU5P dev board

16

rk-xcku5p-f-v1.2. Collateral for the RK-XCKU5P-F V1.2 FPGA development board

16

virtual-nascom. SDL-based Nascom 2 emulator

12

simmerv. Feature-rich RISC-V RVA22 SoC emulator; runs Ubuntu etc. and more

11

BeMicro-CV. A "hello world" style designs for the Cyclone V based $49 Arrow BeMicro CV

11

verilator-demo. A very simple example of how to use Verilator

8

no-time-for-squares. VGA Clock Design For Tiny Tapeout 05

4

multisim. MultiSim is Yet Another CPU Simulator which purpose in life is to allow easy experimentation with various implementation strategies, such as superscalar in-order, sscalar out-of-order, speculative sscalar out-of-order, etc.

3

NCL-examples. A collection of Null Convention Logic examples, simulated and synthesized for FPGA

3

tt08-maxbw. An experimental asynchronous sequential multiplier

3

expjit3. Proof of concept dynamic code generation

2

tinyc-in-rust. Marc Feeley's Tiny-C compiler, rewritten in Rust

2

BeMicroCV-A9-case. 3D printed case for the BeMicroCV-A9 FPGA development board

2

dirac-spec-errata. Bug-fixed version of the official specification of the Dirac wavelet based video codec

2

OrangeCrab_Hello. Simple OrangeCrab Verilog design using LED and serial IO

2

kbe. Python

2

c4. C in four functions

2

terminal-simulator. Simulation of VT52 and VT100 terminal hardware.

1

tt09-tommythorn-cgates. Test structures to verify two different ways to make c-gates and rings from them

1

tt09-something-great. It’ll be something and it’ll be great

1

sta_basics_course. Introductory course into static timing analysis (STA).

1

ttihp-tommythorn-async-mult. Bundled-data asynchronous multiplier example

1

tt09-tommythorn-workshop. Quick Workshop hack: a PDM driven my inputs from a serial UART; b+1 is echoed back

1

ttihp-no-time-for-squares. Verilog

1

tt09-sram. Just experimenting with alternative SRAM implementations

1

bemicro_cva9_jtaguart. Small example design for BeMicro CV-A9 using JTAGUART and LEDs

1

formal_timer. Verilog

1

boom-template. A template for building new projects/platforms using the BOOM core.

1

kinesis-firmware. humble hacker firmware

1

0toasic. Stuff I did for Matt Venn's Zero-to-ASIC course

1

tt06-ncl-lfsr. NCL LFSR

1

tt06-tommythorn-4b-cpu. Silly 4b CPU v2

1

gdb-duel. DUEL - A high level language for debugging C programs (by Michael Golan)

1

homekit. Monorepo for all homekit related development, including integrated firmware, PCBs, and bridges

1

riscv-isa-manual. RISC-V Instruction Set Manual

1

kintex-7-stlv7325t-board-files.

1

NCL_sandbox. Is a collection of NULL Convention Logic (NCL) circuits and libraries written in Verilog to provide the experience of logically determined design in a familiar context. The tools used are Icarus verilog and gtkwave.

1

yarvi3. Slice

1

verilog-sim-bench. Verilog simulation workload extracted from Reduceron

1

bp. Fun with branch predictors

1

lisp. A version of John McCarthy's tiny Lisp (in C) with added CDR-coding

1

compiler. The adventures of a Haskell compiler

1

tt07-more-ncl-experiments. More simple NCL circuits

1

tt08-experiments. For now, just some experiments

1

bounded-spsc-queue. A Bounded SPSC queue for Rust

1

tt07-memory. A very crazy attempt at creating memory from a22o gates (smaller than latches)

1

jsnascom. Nascom 2 emulator in the browser

1
54
Apply