Presented by Maxim Blinov
The Intel 8080 microprocessor was one of the first widely available general-purpose microprocessors. Given its historic significance and relatively straightforward ISA, I implemented a binary compatible softcore variant using VHDL, targeting the Artix7 100T FPGA. Accompanying the softcore CPU is a PS2 keyboard controller, VGA text buffer, and 7-segment display driver. These components are accessible from the 8080 through memory mapping, which is realized by a central memory access controller. Hence, software can read scan codes from the keyboard controller, and writes text to the VGA terminal, which is enough for a simplistic but nonetheless curious software platform.
The hardware description source can be found at https://github.com/mablinov/intel-8080.
Maxim is currently working at Embecosm, helping to develop and support open-source GCC-based toolchains. His last major work was to benchmark and debug the experimental GCC support for the draft RISC-V bitmanip ISA extension, using both software simulation and verilated IP cores.
Maxim is also interested in FPGA hardware design, and embedded software development.