8-bit computer system with CP/M

Short Name
8-Bit Computersystem mit
Module Code
Module Coordinator
  • Prof. Dr. Hellwig Geisse
  • Prof. Dr. Hellwig Geisse
Short Description
This course comprises the implementation of a complete 8-bit computer system with the microprocessor 8080 on a modern FPGA, with CP/M as the operating system.
Learning Objectives

The students know in all detail the inner working of a microcomputer system, starting with the structure and operation of the CPU, the function and implementation of an assembler, up to boot-loading an operating system, which has been customized to work with a given hardware. They know how simulators (for hardware as well as software) are used to enable the development of a complex system. They learn to estimate the necessary manpower for such a project.

The course comprises the implementation of the 8-bit microprocessor Intel 8080 with memory (RAM, ROM) and peripherals (keyboard, character display, serial line interface) on a modern FPGA. The ROM contains a machine monitor with simple debugging commands. A PC simulates floppy disk drives, which the FPGA can access over the serial line.
Early in the project the students write an assembler and an instruction set simulator. When the project is finished, the operating system CP/M can be loaded from the simulated disks and is executed by the soft-core processor. The project is split in a few sub-projects, which are worked on by small groups of students.
Duration in Semester
Instruction Language
Total Effort
9.0 CrP; an estimated 270 hours, of which approximately 60 are spent in class.
Weekly School Hours
Method of Instruction

Practical Course 4 SWS

Requirements for the awarding of Credit Points

Examination prerequisite: Successful co-operation within the project

Examination: Responsible and successful implementation of a specific subproject

Evaluation Standard
according to examination regulations (§ 9)
As Needed
  • D.Patterson, J.Hennessy:: Computer Organization & Design
  • D.Thomas, P.Moorby:: The Verilog Hardware Description Language