file:///C:/Documents%20and%20Settings/cjt/Desktop/jwalden/6111-presentation/index.htmlA Floating-Point Unit for Numerical CalculationsJeff Walden6.111 Fall 2006Final Project PresentationThe GoalA partially IEEE 754-compatible FPUAddition/subtraction, multiplication, exceptions, and comparisons“Enough” functionalityHardware-based speedupThe goal of my project is to partially implement a floating-point unit, by which I mean ahardware device capable of performing a set of basic mathematical operations onnumbers which can contain fractional parts. The intent is that the final product be usablewithin the context of some other project — a device which must manipulate floating-pointnumbers, such as a CPU or a GPU, could use the unit to handle many commonfloating-point calculations.Time and complexity limitations restrict the functionality which will be implemented toaddition, subtraction, multiplication, comparison values, and support for IEEE exceptions;floating-point arithmetic is a surprisingly complex topic. The goal is “enough”functionality to do most of what you might want to do with floating-point numbers inmost situations — with the speedup afforded by implementation in hardware as amotivation.A Brief DiversionAn IEEE 754 floating-point number (Wikipedia)IEEE 754Floating-points, +/-0, +/-Infinity, NaNExceptions: invalid operation, divide by zero, overflow/underflow, inexactfile:///C:/Documents%20and%20Settings/cjt/Desktop/jwalden/6111-presentation/index.htmlFloating-point exactness and roundingFPU OverviewTest, adder, multiplier, comparison modulesUser InterfaceInputs: buttons and state machine used to modify input floating-pointsevaluating other interfaces for use after initial mockupOutputs: sign bit, exponent, and significand on labkit LEDsTime-permitting, hope to implement a VGA-based displayThe MultiplierThe Adderfile:///C:/Documents%20and%20Settings/cjt/Desktop/jwalden/6111-presentation/index.htmlImplementation StepsMultiplier module1.Concurrently:FPU container module (partial functionality)User interface, first mockup2.Concurrently:Improved user interfaceAdder module3.Other FPU operations (division,
View Full Document