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.
463yarvi. Yet Another RISC-V Implementation
99fpgammix. Partial implementation of Knuth's MMIX processor (FPGA softcore)
59yari. 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.
48Paperlike-Raspberry-Pi-4. How to use a Dasung Paperlike HD-F, HD-FT, and Paperlike 253 with Raspberry Pi 4 [and other hosts?]
24spleentt-5x8-font. Tiny 5x8 bitmap font based on spleen and creep, useful for low-resolution displays
21tinytapeout-4-bit-cpu. A design for TinyTapeout
19AliExpressXCKU5P. Collateral for an AliExpress XCKU5P dev board
16rk-xcku5p-f-v1.2. Collateral for the RK-XCKU5P-F V1.2 FPGA development board
16virtual-nascom. SDL-based Nascom 2 emulator
12simmerv. Feature-rich RISC-V RVA22 SoC emulator; runs Ubuntu etc. and more
11BeMicro-CV. A "hello world" style designs for the Cyclone V based $49 Arrow BeMicro CV
11verilator-demo. A very simple example of how to use Verilator
8no-time-for-squares. VGA Clock Design For Tiny Tapeout 05
4multisim. 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.
3NCL-examples. A collection of Null Convention Logic examples, simulated and synthesized for FPGA
3tt08-maxbw. An experimental asynchronous sequential multiplier
3expjit3. Proof of concept dynamic code generation
2tinyc-in-rust. Marc Feeley's Tiny-C compiler, rewritten in Rust
2BeMicroCV-A9-case. 3D printed case for the BeMicroCV-A9 FPGA development board
2dirac-spec-errata. Bug-fixed version of the official specification of the Dirac wavelet based video codec
2OrangeCrab_Hello. Simple OrangeCrab Verilog design using LED and serial IO
2kbe. Python
2c4. C in four functions
2terminal-simulator. Simulation of VT52 and VT100 terminal hardware.
1tt09-tommythorn-cgates. Test structures to verify two different ways to make c-gates and rings from them
1tt09-something-great. It’ll be something and it’ll be great
1sta_basics_course. Introductory course into static timing analysis (STA).
1ttihp-tommythorn-async-mult. Bundled-data asynchronous multiplier example
1tt09-tommythorn-workshop. Quick Workshop hack: a PDM driven my inputs from a serial UART; b+1 is echoed back
1ttihp-no-time-for-squares. Verilog
1tt09-sram. Just experimenting with alternative SRAM implementations
1bemicro_cva9_jtaguart. Small example design for BeMicro CV-A9 using JTAGUART and LEDs
1formal_timer. Verilog
1boom-template. A template for building new projects/platforms using the BOOM core.
1kinesis-firmware. humble hacker firmware
10toasic. Stuff I did for Matt Venn's Zero-to-ASIC course
1tt06-ncl-lfsr. NCL LFSR
1tt06-tommythorn-4b-cpu. Silly 4b CPU v2
1gdb-duel. DUEL - A high level language for debugging C programs (by Michael Golan)
1homekit. Monorepo for all homekit related development, including integrated firmware, PCBs, and bridges
1riscv-isa-manual. RISC-V Instruction Set Manual
1kintex-7-stlv7325t-board-files.
1NCL_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.
1yarvi3. Slice
1verilog-sim-bench. Verilog simulation workload extracted from Reduceron
1bp. Fun with branch predictors
1lisp. A version of John McCarthy's tiny Lisp (in C) with added CDR-coding
1compiler. The adventures of a Haskell compiler
1tt07-more-ncl-experiments. More simple NCL circuits
1tt08-experiments. For now, just some experiments
1bounded-spsc-queue. A Bounded SPSC queue for Rust
1tt07-memory. A very crazy attempt at creating memory from a22o gates (smaller than latches)
1jsnascom. Nascom 2 emulator in the browser
1