The E80 is an open-source, 8-bit, single-cycle soft processor written in VHSIC Hardware Description Language (VHDL) from gates, multiplexers, and flip-flops, without an arithmetic package. Its 39 instructions were derived from a survey of eight sources of introductory computer architecture material. A toolchain takes an assembly program to a simulation waveform with one keystroke. It includes presets for three field-programmable gate array (FPGA) boards, one of which is supported by a fully open-source flow. This extended version removes a false combinational loop from the datapath, so the design passes timing analysis on all three flows without workarounds. A serial light-emitting diode (LED) matrix mirrors the simulation signals on the board. Execution can be slowed or stepped one instruction at a time. A self-checking suite was added to test the instruction set. Two recursive programs were run on the E80 and checked against analytical predictions: a Fibonacci computation that follows Dijkstra’s method of recursive programming, and the largest program in the surveyed material, namely a maze search written for a 16-bit machine and ported in full into the E80’s memory. The effect on learning remains unmeasured.
The E80 is an open-source, 8-bit, single-cycle soft processor written in VHSIC Hardware Description Language (VHDL) from gates, multiplexers, and flip-flops, without an arithmetic package. Its 39 instructions were derived from 371 program samples in eight sources of introductory computer architecture material. They cover almost 80% of the operations recorded, averaged per source. A toolchain takes an assembly program to a simulation waveform with one keystroke. Presets cover three low-cost field-programmable gate array (FPGA) boards, one on a fully open-source flow. This extended version removes a false combinational loop from the datapath, so the design passes timing analysis on all three flows without workarounds. A serial light-emitting diode (LED) matrix mirrors the simulation signals on the board. Execution can be slowed or stepped one instruction at a time. A self-checking program decides the conformance of every instruction from the final program counter alone. The largest program in the surveyed material, a recursive maze search written for a 16-bit machine, was ported without abridgement into 208 of the 255 memory words. The effect on learning remains unmeasured.