-
Notifications
You must be signed in to change notification settings - Fork 0
/
conclusions.tex
17 lines (11 loc) · 4.67 KB
/
conclusions.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\chapter{Conclusions and Future Work}
The goal of this thesis was to provide my research team a RISC-V microcontroller written in VHDL that can be synthesized and usable on FPGA, where is possible to test, integrate and evaluate hardware and software security solutions for embedded systems. The work carried out includes all the functions necessary to automate the synthesis processes, the RTL simulations, the compilation of custom applications and a soft architecture able to run software on FPGA. The architecture designed integrates all the necessary hardware modules e their software libraries required to support all the basic I/O functionalities that permit its usage on a development board. All tests performed have demonstrated the ability of the system to perform all the functions set up, and therefore to be able to satisfy the initial requirements.
The actual state of the platform offers a good starting point for future improvements. In particular, the following are some of the most relevant features that should be included in future extensions in order to have a more complete microcontroller able to run general purpose software:
\begin{itemize}
\item \textbf{Pipelining}: Up to now, all the operations are executed and issued in sequence, thus no pipelined behavior is supported yet and so the performances are the main limitation of this device. Introducing the pipeline into core together with a proper upgrade of the bus infrastructure is indeed a precious feature to be included. This upgrade will definitely increase the computing capability of the embedded system and therefore the possibility to run a wider range of applications.
\item \textbf{ISA Extensions}: In order to support a wider range of applications, the ISA itself must be extended. In particular, for being able to support general purpose computing all the standard extensions \emph{M, A, F, D, C} should be included. Considering that \emph{I} and \emph{M} are already part of the ISA, withe the remaining three standard extensions \emph{F, D, C} the processor will be able to execute floating point single precision (\emph{F}) and double precision (\emph{D}) and also the compressed instructions (\emph{C}).\\
\item \textbf{OS Support}: Currently AFTAB is not able to support the \emph{Supervisor} mode required to run an operating system. Thus, in order to be able to support the full software stack separation required to run an operating system, the ISA must include also the \emph{S} privileged mode and all the required CSR registers. This upgrade, together with the introduction of all the ISA Standard Extensions, would allow the system to run a wide range of general purpose applications.
\item \textbf{Timer peripheral}: To extend the platform functionalities, there are a lot of peripherals that could be added. For instance, as in PULPino microcontroller, some of the peripherals missing in MC2101 are the SPI, I2C modules and the Timer. What i would suggest more is for sure the Timer peripheral, which is used to trigger periodic interrupts with a very high timing precision. A periodic interrupt can be used for example by the operating system to control the scheduling of processes with a very high timing precision, mandatory feature when real-time constrains must be met. Another example of period interrupt usage is for example the Watchdog Timer, used to generate a non-maskable interrupt that resets the entire system if not handled. This feature is a must, because allows to recover after some bad internal failure occurs and no user intervention is possible.
\item \textbf{Debug Interface}: All modern MCUs feature an on-chip debug module that opens up the access to all the addressable space, including CPU registers. This capability allows to debug the code execution, that actually in MC2101 can only be performed by dumping contents with the printf function.
\end{itemize}
To conclude, I can say I am satisfied about this thesis experience that allowed me to design the architecture of a system where it is possible to execute real software. I had the opportunity to deepen my skills into the low level design of embedded systems and complete my knowledge on microcontrollers architecture, for which i have grown a great deal of interest during my studies and which i have been able to deepen thanks to this experience. In this regard, I would like to underline the importance of the RISC-V ISA in the world of research and academia and in general the importance of having open-source materials on which is possible to learn, get inspired and create original contribute for the community. As the last thing, I would like to express my gratitude to Gianluca, who constantly supported me during my work, and to Professor Prinetto, who gave me this opportunity.