Math Products
GoFast® for Altera Nios® II and GNU C
Fast Floating Point Library
Three to Six Times Better Performance of Floating Point Calculations
In Your Embedded and Real-Time Systems(1)
GoFast® for Altera's Nios® II Processors delivers high performance floating point calculations for embedded, real-time systems using the Altera Nios II processors.
Specifically designed for embedded applications; GoFast delivers for any application where floating point performance is critical to an application's success.
GoFast libraries are ANSI C compatible and directly replace the GNU C/C++ compiler's floating-point library.
Eliminate the need for an expensive floating-point coprocessor by boosting applications math calculations with GoFast.
- GoFast is fast. Delivers three to six times the performance on Altera's Nios II processors vs. GNU. (1)
- GoFast is fully reentrant, a critical requirement for embedded applications
- GoFast is ROMable
- GoFast conforms to IEEE 754
- GoFast does "Link and Go" support for GNU C/C++
- GoFast Package provides startup and initialization code
- GoFast includes complete source code, testing program and make file
- GoFast was specifically designed for use in real-time systems
- GoFast works with major Real Time Operating Systems (RTOS) and Linux
Want more information?
Click Here To Download a Free Evaluation Kit
GoFast delivers High-Performance Floating Point Routines for GNU C/C++ for Embedded and Real Time Applications.
- Intrinsic basic operations + - * /
- Intrinsic conversions
- sqrt
- sin, cos, tan
- asin, acos, atan, atan2
- sinh, cosh, atanh
- log, log10, exp, pow
- floor, ceils, fabs
- modf, fmod, frep, ldexp
- ASCII and integer conversion
GoFast routines are measured on average at three to six times faster than the GNU math routines.
|
Double-Precision |
Single-Precision |
Function |
GoFast |
GNU |
GoFast |
GNU |
add |
0.7 |
2.1 |
0.3 |
1.1 |
subtract |
0.7 |
2.1 |
0.3 |
1.1 |
multiply |
3.2 |
10.9 |
0.9 |
3.0 |
divide |
3.4 |
7.6 |
1.0 |
1.5 |
sqrt |
6.3 |
7.4 |
3.2 |
1.7 |
exp |
21.6 |
117.1 |
5.6 |
37.6 |
log |
18.2 |
182.4 |
4.0 |
54.1 |
log10 |
20.4 |
199.8 |
4.8 |
60.8 |
sin |
18.0 |
105.0 |
4.0 |
32.1 |
cos |
16.0 |
120.9 |
4.0 |
38.4 |
tan |
22.0 |
220.6 |
5.6 |
67.1 |
asin |
32.4 |
213.1 |
8.8 |
64.1 |
acos |
32.2 |
201.5 |
9.6 |
59.6 |
atan |
18.8 |
209.5 |
4.9 |
61.4 |
atan2 |
21.9 |
223.4 |
5.8 |
64.4 |
pow |
42.5 |
542.0 |
10.6 |
163.6 |
Above timings are in microseconds
A "Link and Go" Solution for GNU C/C++ on Altera Nios II Processors
GoFast libraries specifically support "link and go" operations with GNU C/C++ and other supported compilers. Two libraries are supplied, one that uses neither a multiply nor a divide instruction (for NIOSX), and the other that uses both instructions on the NIOS II processors.
GoFast Floating Point performance is based on proven technology
GoFast is based on "Architecture Independent Technology" (AIT) and proven floating-point algorithms that were developed and refined for over a decade. The algorithms were put through rigorous testing using automated procedures. Each new port is subjected to the same testing today. GoFast™ is specifically optimized and integrated for enhanced performance for each supported processor.
Customize the GoFast library with Source Code
The GoFast package includes source code to the floating point routines. With source code, a developer can customize the GoFast™ library to fit their specific application requirements.
GoFast is Available for wide range of Additional Processors
Using the Nios II processor as a coprocessor? GoFast can be used with Nios II as a coprocessor and is available on these other processor families: 68K, ColdFire, MIPS, PowerPC, SH, SPARC, V8xx, x86, Z80, 68HC, 8051, 80196.
Optimized IEEE 754 Routines
GoFast Floating Point libraries are fully IEEE 754 compliant. Provided are single precision (32-bit format) and double precision (64-bit format) floating point routines. Each routine has been optimized for speed and size.
Strict Conformance and Testing for IEEE 754 Compliance
Accuracy of each GoFast Floating point routine is within one (least significant) bit for arithmetic functions and two bits for transcendental functions for most routines. The IEEE 754 Floating Point Format defines special representations for underflow, overflow, and invalid operations. The GoFast routines specifically use these formats and adhere to the IEEE 754 error handling procedures in all applicable cases. Quality assurance and testing procedures assure proper product operation. Each delivery includes target specific test programs providing confidence in product installation and operation.
Want more information?
Click Here To Download a Free Evaluation Kit
Notes:
(1) Performance improvement in a specific application will depend on specific routines used and thread of execution.
(2) The times, given in microseconds, were measured using the "standard" reference design for the Nios II Evaluation Kit, featuring a Cyclone 1C12 FPGA. This design uses a Nios II/s core running at 80MHz, with a 4 KByte Instruction cache and no hardware multiply or divide units.
(3) GoFast is a registered trademark of Lantronix.
(4) Nios is a registered trademark of the Altera Corporation.
(5) All other product or service names are the property of their respective holders.
|