35 lines
2 KiB
TeX
35 lines
2 KiB
TeX
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
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
\subsection{Free software}
|
|
\label{sec:free-software}
|
|
|
|
For most of today's processors, documentation only exists on the execution of
|
|
programs (the runtime), not for their internals. In order the have the biggest
|
|
possible educational potential, this project is entirely "Free as in speech":
|
|
All involved software and hardware designs, as well as all the tools and
|
|
utilities required to create them, comply with the Free Software Foundation's
|
|
definition for Free software~\cite{fsf-definition}. They give the users the
|
|
rights to share, study and modify them at their will. In this thesis, the
|
|
capital-F ``Free'' is used to refer to this definition rather than the
|
|
meaning of ``free of charge'' or ``gratis''.
|