Half adder
A two-gate half adder in SHDL, its flattened Base SHDL netlist, and an exhaustive simulation from Python.
Full adder
A full adder built from two half adders and an OR gate, showing component hierarchy, flattened names and gate-level timing.
8-bit adder
Ripple-carry adders built from full adders with generators, a width parameter with when/else, and named constants, with the carry ripple traced cycle by cycle.
Multiplexer
A one-bit 2-to-1 multiplexer, a width-parameterized MuxN and a 4-way Mux4N composed from three MuxN instances, with a static-hazard trace.
Decoder
Binary-to-one-hot decoders, from the Dec2, Dec3 and Dec4 parts of the SR16 CPU to a 3-to-8 decoder with enable written with generators and conditional emission.
Comparator
An N-bit equality comparator built from XNOR gates and an AND-reduction chain, its data-dependent delay, and an unsigned less-than comparator built from a subtractor.
Register
An N-bit load-enable register built from D latches with a generator, its load and hold behavior over cycles, its power-on state, and the edge-triggered master-slave register the SR16 CPU uses instead.
Latches
An SR latch from cross-coupled gates and a gated D latch built on it, with power-on state from init, why settle() is refused, and cycle-by-cycle traces of setting, holding and a too-short enable pulse.
ALU
A parameterized 8-bit ALU that combines bitwise lanes, an adder, a 4-way mux and a Zero-flag reduction chain, with an exhaustive check of all four operations and a trace of the Zero flag settling.
Ring oscillator
A ring of N buffers that circulates a pulse with period N, traced cycle by cycle, with the effect of the seed pulse width, how to clear it, and other ring lengths.
SR16 CPU
A 16-bit load-store RISC processor built from 42,530 primitive gates, with its architecture, instruction set and two-phase clock, how to build it and run programs on it, and how it is verified in lockstep against a Python golden model.
Game of Life
Conway's Game of Life as a 32×32 grid of gate-level cells, packaged as an shdl project with a registry dependency, with how it is built, tested, run and generated.