DesignWare ARC FPX Floating Point Extensions

Search Tools

Silicon-Efficient Floating Point Extensions for DesignWare ARC Processor Cores
Synopsys' DesignWare® ARC® FPX Floating Point Extensions add high performance single and double precision math instructions to the configurable DesignWare ARC 600, ARC 700 and ARC EM processor families. DesignWare ARC FPX dramatically accelerates computations where data sets have a large dynamic range and when high precision is required.

When used with DesignWare ARC's MetaWare, DesignWare ARC FPX complies with the IEEE-754 Standard for Binary Floating Point Arithmetic. DesignWare ARC cores with DesignWare ARC FPX provide an ideal solution for system-on-chips (SoCs) that perform graphics and image processing, complex computations or control algorithms, especially where power and area budgets are constrained.

DesignWare ARC's Extendible Architecture
Extendibility is designed into the DesignWare ARC 600, ARC 700 and ARC EM processor core architectures. It provides the flexibility to add instructions, registers, flags and condition codes to create a processor that is highly tuned for specific applications. Synopsys makes this powerful feature, along with ARC Processor EXtension (APEX) technology, available to SoC designers, to simplify and automate the process of designing and verifying extensions.

Instead of taking the conventional coprocessor approach, Synopsys chose to use extendibility and the APEX wizard to implement hardware floating point instructions. A coprocessor is essentially a second processor core, with its own pipeline, data paths, registers and ALU. In contrast, DesignWare ARC FPX makes use of the main processor pipeline and data paths, adding only the minimum registers and logic required for the floating point instructions.

The resulting design is much smaller and lower power. It is also much more flexible and further extendible. The advantages of DesignWare ARC's configurable design approach can be seen by comparing DesignWare ARC FPX with a competitor's floating point coprocessor with similar performance as shown in the table below.

DesignWare ARC FPX vs. Traditional FP Coprocessor

  DesignWare ARC FPX Floating Point Coprocessor
Size in gates Single Precision: 13 K - 22 K
Double Precision: 26 K - 31 K
100 K - 130 K
Performance 1.0 Mflops / MHz 1.3 Mflops / MHz
Additional Power None (confirmed with customer benchmarks) 0.4 mW / MHz typical (130nm, G process)
Configurability options Flexible - SP, DP or both None, monolithic design
Additional math instructions Can be implemented by the user Fixed design, not extendible

DesignWare ARC Floating Point Extensions Datasheet

Very small die area and power
  • DesignWare ARC FPX is implemented using the extendibility feature of the DesignWare ARC 600, ARC 700 and ARC EM configurable architectures.
  • In contrast to the very large floating point co-processors required by competitive cores, DesignWare ARC FPX instructions are integrated into the the DesignWare ARC CPU core.
  • Synopsys' approach achieves similar floating point performance to a co-processor, but with smaller die are and power.
Flexible configuration options
  • SoC designers can specify single precision extensions only, double precision only, or both, as required in their application.
Compiler math library optimizes performance
  • DesignWare ARC's compiler takes full advantage of DesignWare ARC FPX instructions to accelerate transcendental and other functions specified in IEEE-754.
  • Single Precision Instructions
    • MUL, ADD, SUB implemented directly in hardware
    • 3 CPU cycles latency per instruction, pipelined
    • 13 - 23X faster than optimized software library
    • Peak performance 1.0 Mflops / MHz
    • 13 K - 22 K gates
  • Double Precision Instructions
    • MUL, ADD, SUB implemented directly in hardware
    • 5 CPU cycles per ADD or SUB instruction, 7 CPU cycles per MUL instruction
    • 9X - 19X faster than optimized software library
    • Peak performance: 200 Kflops / MHz
    • 26 K - 31 K gates
  • DesignWare ARC MetaWare Math Library
    • Optimized for DesignWare ARC FPX hardware
    • Provides additional arithmetic and transcendental functions
    • Complies with IEEE-754
    • Allows relinking of existing object files
ARC FPX, optional Floating Point Unit, with single precision, double precision or bothSTARsSubscribe

  Description ARC FPX, optional Floating Point Unit, with single precision, double precision or both
  Name dwc_arc_fpx
  Version 2.2.5
  STARs Open and/or Closed STARs
  myDesignWare Subscribe for Notifications
  Product Type DesignWare Cores
  Download arc_ARC_FPX
  Product Code 8032-0