Cadence HiFi 3 DSP User Manual

Cadence HiFi 3 DSP is a highly optimized audio processor designed for efficient execution of audio and voice codecs, as well as pre- and post-processing modules. It offers enhancements over the HiFi 2/EP architecture, including four multipliers, a 64-bit data path, and native support for ITU-T/ETSI intrinsics. The optional floating point unit provides a 2-way SIMD, single-precision IEEE floating point MAC or ALU operation every cycle. HiFi 3 is backwards compatible with HiFi 2/EP at the C/C++ source level, enabling easy algorithm migration and performance improvements. Its comprehensive instruction set supports various data types and operations, including loads, stores, multiplies, accumulates, additions, subtractions, comparisons, shifts, and bitwise operations. The HiFi 3 DSP is a configuration option available with Xtensa LX 4 (and later versions) processors, allowing for integration into diverse audio systems.

PDF
Document
Cadence HiFi 3 DSP User Manual - Xtensa Audio Processor | Manualzz

Advertisement

Advertisement

/

Advertisement

Key features

  • 32-bit VLIW architecture with three slots per instruction

  • Specialized instructions for audio and video processing

  • On-chip memory with separate instruction and data caches

  • Support for multiple input and output streams

  • Low power consumption

  • Small footprint

Frequently asked questions

The HiFi 3 DSP is a newer generation of DSP that offers several advantages over the HiFi 2 DSP, including a faster clock speed, more on-chip memory, and a wider range of specialized instructions.

The HiFi 3 DSP is suitable for a wide range of audio and video applications, including audio mixing, filtering, and encoding/decoding.

Cadence provides a comprehensive set of development tools for the HiFi 3 DSP, including a compiler, assembler, and debugger. You can download these tools from the Cadence website.

User questions

O Y

Patricia O.

How to apply a 0.5 gain to a 24-bit fixed-point audio signal (ae_p24x2f)?

Use the AE_MUL24_S instruction. Initialize a constant gain variable of type ae_p24x2f with the value 0x400000 for both elements (representing 0.5 in 24.8 fixed-point format). Multiply each element in the audio data with the corresponding element in gain.

L D

John L.

How to multiply an ae_p24x2s variable by a float in Xtensa HiFi3?

Convert the float to an ae_int32x2 using _xtensa_ae_float_to_int32x2, then multiply using _xtensa_ae_mul24x2s.

E S

Robert E.

How to resolve the "xt-ar.exe: *.o: Invalid argument" error when creating an archive?

XT-AR.EXE may not support wildcards. List all .o files explicitly.

E S

Robert E.

How to create an archive with XT-AR.EXE including all .o files in the current directory?

Use the command XT-AR.EXE rcs libname.a *.o, replacing libname.a with your desired archive name. Note that wildcard support may vary.

F V

John F.

How to create a static library that includes the NNE 110 SDK?

Creating a static library that includes the NNE 110 SDK involves setting up a project, including the SDK files, and compiling the library using appropriate compiler options for static linking (e.g., -static for GCC or /MT for Visual Studio).

Preparing document for printing…
0%