Working through Nand to Tetris — building a computer from logic gates up.
Based on The Elements of Computing Systems by Nisan & Schocken — nand2tetris.org.
Each gate includes .hdl (implementation), .tst (test script), .cmp (expected output), and .out (actual output).
nand2tetris Software Suite — Hardware Simulator for Parts I & II.