VHDL Tutorial 
Floating Point types in VHDL  
Introduction Fundamental concepts Modelling concepts Elements of behaviour Elements of structure Analysis elaboration Lexical elements Identifiers Numbers Characters and strings Syntax descriptions Constants and variables Scalar type Integer types Floating point types Time type Enumeration types Character types Boolean type Bits type Standard logic Sequential statements Case statements Loop and exit statements Assertion statements Array types & array operations Architecture bodies Entity declarations Behavioral descriptions Wait statements Delta delays Process statements Conditional signal assignment Selected signal assigment Structural descriptions Library and library clauses Procedures Procedure parameters Signal parameters Default values Unconstrained array parameter Functions Package declarations and bodies Subprograms in package Use clauses Resolved signals and subtypes Resolved signals and ports Parameterizing behavior Parameterizing structure 
. FloatingPoint Types
Floatingpoint types in VHDL are used to represent real numbers with a mantissa part and an exponent part. The predefined floatingpoint type real includes the greatest range allowed by the hosts floatingpoint representation. In most implementations, this will be the range of the IEEE 64bit doubleprecision representation. The operations that can be performed on floatingpoint values include the arith metic operations addition and unary identity (+), subtraction and unary negation ( ), multiplication (*), division (/), absolute value (abs) and exponentiation (**). For the binary operators (those that take two operands), the operands must be of the same type. The exception is that the right operand of the exponentiation operator must be an integer.
