DFPMU-DP is a Floating Point Coprocessor, designed to assist CPU in performing the floating point mathematic computations. DFPMU-DP directly replaces C software functions, by equivalent, very fast hardware operations, which significantly accelerate system performance. It doesnt require any programming, so it also doesnt require any modifications made in the main software. Everything is done automatically during software compilation by the DFPMU-DP C driver.
The DFPMU-DP was designed to operate with DCD's DP8051/DP80390 microcontrollers, but can also operate with any other 8-, 16- and 32-bit processor. Drivers for all popular 8051 C compilers are delivered together with the DFPMU-DP package. The DFPMU-DP supports also a popular 32 Bit procesors: NIOS II and MicroBlaze, and the C drivers for those processors are delivered with the DFPMU-DP for free.
DFPMU-DP uses the specialized CORDIC and standard algorithms to compute math functions. It supports addition, subtraction, multiplication, division, square root, comparison, and trigonometric functions: sine, cosine, tangent and arctangent. It has built-in conversion instructions from integer type to floating point type and vice versa. The input numbers format is according to IEEE-754 standard. DFPMU-DP supports double and single precision real numbers, 8-bit, 16-bit and 32-bit integers. DFPMU-DP is prepared to use with 8-, 16- and 32-bit processors.
DFPMU-DP is a technology independent design that can be implemented in a variety of process technologies.
Features
- Direct replacement for C double, float software functions such as: +, -, *, /,==, !=,>=, <=, <, >
- Configurability of all available functions
- C interface supplied for all popular compilers: GNU C/C++, 8051 compilers
- C interface supplied for NIOS II and MICROBLAZE processors
- No programming required
- IEEE-754 Double precision real format support double type
- IEEE-754 Single precision real format support float type
- 8-bit, 16-bit 32-bit and 52-bit integers format supported integer types
- Flexible arguments and result registers location
- Performs the following functions:
- FADD, FSUB addition, subtraction
- FMUL, FDIV multiplication, division
- FSQRT square root
- FXAM examine input data
- FUCOM comparison
- FSIN, FCOS sine, cosine
- FTAN tangent
- FATAN arctangent
- FCLD, FILD 8-bit, 16-bit integer to double
- FLLD, FELD 32-bit, 52-bit integer to double
- FCST, FIST double to 8-bit, 16-bi integer
- FLST, FEST double to 32-bit, 52-bit integer
- FFLD float to double
- FFST double to float
- Exceptions built-in routines
- Masks each exception indicator:
- Precision lack PE
- Underflow result UE
- Overflow result OE
- Invalid operand IE
- Division by zero ZE
- Denormal operand DE
- Fully configurable
- Fully synthesizable
- Static synchronous design
- Positive edge clocking and no internal tri-states
- Scan test ready