2020-03-30 14:44:38 +02:00
|
|
|
In early 2018, more than a year before the official start of the project, after
|
|
|
|
searching for a subject for the diploma thesis, the idea of building a computer
|
2020-03-31 12:33:08 +02:00
|
|
|
from scratch had come up. Multiple suggestions on how to implement it and the
|
|
|
|
scope of the project were gathered. Originally, the goal was to
|
|
|
|
design a computer consisting of seperate plug-in cards, one instruction would
|
|
|
|
residing on each. This would open up the ``black box`` of modern processor
|
|
|
|
design, showing the basic components at a macroscopic scale.
|
2020-03-30 14:44:38 +02:00
|
|
|
|
2020-03-31 12:33:08 +02:00
|
|
|
For most of today's processors, documentation only exists for the execution of
|
|
|
|
programs (the runtime), not for their internals. The project's aim was later
|
|
|
|
redirected due to concerns about difficulty, and an FPGA-based design was opted
|
|
|
|
for instead. After
|
|
|
|
several months of implementation time, the project was split into two parts: the
|
|
|
|
peripherals and the core processor. During the development process, and to get
|
|
|
|
back to the original goal of making a processor understandable, the
|
|
|
|
peripherals changed from being implemented in VHDL back to hardware.
|
|
|
|
This increased the required effort, but would result in a far more
|
|
|
|
understandable final product.
|
2020-03-30 14:44:38 +02:00
|
|
|
|
2020-03-31 12:33:08 +02:00
|
|
|
The decision to use a RISC-V based processor was made at the beginning of the
|
|
|
|
project because the core architecture is well documented and modular, and because
|
|
|
|
almost any feature not implemented inside the processor can be emulated using
|
|
|
|
software instead.
|