[Back]


Diploma and Master Theses (authored and supervised):

C. Hermann:
"ASCARTS Design of an Asynchronous Processor using a High-Level Specification Language";
Supervisor: A. Steininger, J. Lechner; Institut für Technische Informatik, 2016.



English abstract:
The purpose of this thesis is the development of the asynchronous processor ASCARTS based on
the instruction set of the synchronous processor SCARTS. For the realization of the processor
design the open-source framework Balsa, which allows modeling asynchronous circuits at an
abstract level by hiding the actual handshake implementation, is used. The usability of the Balsa
language as well as the associated toolchain for a complex circuit design is to be evaluated.
Is the Balsa framework sophisticated enough to design and synthesize an entire asynchronous
processor? A further objective of this thesis is to identify the differences in the processor
architecture between synchronous and asynchronous processors with identical ISAs. Data and
control hazards caused by the asynchronous pipeline architecture require innovative solutions.
Data hazards are avoided by an asynchronous forwarding mechanism based on information
stored about previous instructions. To resolve control hazards, a coloring algorithm, similar to
the one used for AMULET1 and SAMIPS, is implemented. To connect the processor interface
to conventional synchronous memory, the handshake signals are transformed to synchronous
signals. The Balsa design is synthesized using the quasi delay-insensitive four-phase dual-rail
handshake implementation. The synthesized netlist is mapped to UMC´s 90 nm technology on
which timing simulations are conducted. As synchronization is achieved via the handshake
protocol the design adapts to the actual prevailing operating conditions. This results in variable,
average-case execution time of individual instructions. Consequently, real-time capability is not
evident without an accurate worst-case analysis. The timing simulation results of ASCARTS with
Average-Case-Corner synthesis are compared to the results of SCARTS with Worst-Case-Corner
synthesis. A key outcome of the presented ASCARTS implementation is the processor description
itself, written in a high-level HDL, which is independent of the actual handshake implementation.
Therefore, the Balsa description of ASCARTS might be useful for future research of different
asynchronous implementation styles.

German abstract:
Das Ziel dieser Arbeit ist die Entwicklung des asynchronen Prozessors ASCARTS basierend auf
dem Befehlssatz des synchronen Prozessors SCARTS. Für die Umsetzung des Prozessordesigns
wird das Open-Source Framework Balsa verwendet, welches die Modellierung asynchroner Schaltungen
auf einer abstrakten Ebene durch Verbergen der eigentlichen Handshake-Implementierung
erlaubt. Die Benutzerfreundlichkeit der Balsa-Sprache sowie der zugehörigen Werkzeugkette für
einen komplexen Schaltungsaufbau ist zu bewerten. Ist das Balsa-Framework ausgereift genug
um einen ganzen asynchronen Prozessor zu entwerfen und zu synthetisieren? Ein weiteres Ziel
dieser Arbeit ist es, die Unterschiede in der Prozessorarchitektur von synchronen und asynchronen
Prozessoren mit identischen ISAs zu identifizieren. Daten- und Steuerkonflikte, die durch die asynchrone
Pipeline-Architektur verursacht werden, erfordern innovative Lösungen. Datenkonflikte
werden mithilfe eines asynchronen Weiterleitungsmechanismus, basierend auf gespeicherten
Informationen über vorhergehende Befehle, vermieden. Um Steuerkonflikte zu lösen wird ein
Farbalgorithmus, ähnlich zu den in AMULET1 und SAMIPS verwendeten, implementiert. Um
die Prozessorschnittstelle zu herkömmlichen synchronen Speichern zu verbinden, werden die
Handshake-Signale in synchrone Signale transformiert. Das Balsa-Design wird mit der quasi
delay-insensitive four-phase dual-rail Handshake-Implementierung synthetisiert. Die synthetisierte
Netzliste wird auf die UMC 90 nm Technologie abgebildet, auf der Timing-Simulationen
durchgeführt werden. Da Synchronisation über das Handshake-Protokoll erreicht wird, passt
sich das Design an die tatsächlich vorherrschenden Betriebsbedingungen an. Das führt zu variablen
Average-Case-Ausführungszeiten der einzelnen Befehle. Daher ist die Echtzeitfähigkeit
ohne genaue Worst-Case-Analyse nicht klar ersichtlich. Die Timing-Simulationsergebnisse von
ASCARTS mit Average-Case-Corner Synthese werden mit den Ergebnissen von SCARTS mit
Worst-Case-Corner Synthese verglichen. Ein zentrales Ergebnis der vorgestellten ASCARTS
Implementierung ist die Prozessorbeschreibung selbst, geschrieben in einer High-Level-HDL,
die unabhängig von der tatsächlichen Handshake-Implementierung ist. Daher könnte die Balsa-
Beschreibung von ASCARTS nützlich für zukünftige Forschungsarbeiten an unterschiedlichen
asynchronen Implementierungsstilen sein.