[~/=]

Amps <- & -> Embedded

  1. Simulator 4: The tick that was 25 times too fast

    A scrolling text demo ran too fast in simulation, which led to a timer divider that was 25 times too small and a third simulator that found it by accident.

  2. Simulator 3: A second opinion

    Using Yosys as a second simulator, independent of the Alchitry one because it reads generated Verilog, and a mutation that failed for the wrong reason.

  3. Simulator 2: A simulator that lies

    A mutation test that failed when my reasoning said it should pass, and the simulator that reported loads writing nothing to the register file.

  4. RISC-V soft core 2: Tests that can fail

    How to trust a CPU you wrote: tests you have seen fail, a single instruction encoder checked against the GNU assembler, and a RAM that was never there.