Ruprecht-Karls-Universität Heidelberg

Design and programming of a microcode engine executing numerical operations on floating-point numbers

Bachelor Thesis by Rositsa Tinkova


This bachelor’s thesis deals with the conceptual design and the prototype implementation of a microcontroller, which can perform basic arithmetical functions on floating-point numbers. The IEEE 754 single precision format was adapted for their representation. The realized system requires two 32-bit operands as inputs, which are then manipulated in accordance to the specified numerical operation. The provided output is a bitstring consisting of 32 digits, which can be easily converted into a decimal number in scientific notation. The various features of the program were tested and and their proper functionality was verified.

The main focus of the design falls on the architecture of a microcode engine. It can be described as the core of the whole controller, since it maintains control on all other units, residing in the datapath, and keeps track on every action at each step of the operation. All the data it needs is located in a high-speed memory in the form of microprogram, that consists of series of microinstructions. The latter comprise the signals, which define the set of operations, that need to be performed at every new clock cycle, as well as their sequencing order.


« back

back to top