IPT-C2H-NIOS Altera, IPT-C2H-NIOS Datasheet - Page 17

no-image

IPT-C2H-NIOS

Manufacturer Part Number
IPT-C2H-NIOS
Description
C2H COMPILER FOR NIOS II
Manufacturer
Altera
Series
Nios®IIr
Type
Nios IIr
Datasheet

Specifications of IPT-C2H-NIOS

Function
C to Hardware Compiler
License
Initial License
Software Application
IP CORE, NIOS Processor And Functions
Core Architecture
FPGA
Core Sub-architecture
Cyclone
Rohs Compliant
NA
Lead Free Status / RoHS Status
Not applicable / Not applicable
Altera Corporation
November 2009
The software wrapper, executing on the Nios II processor, controls the
accelerator by reading and writing the register interface. From the
perspective of the calling function, the result of calling the software
wrapper is functionally the same as calling the original C function. The
basic operation of the software wrapper is as follows:
1.
2.
3.
4.
5.
One-to-One Mapping From C Syntax to Hardware Structure
The C2H Compiler maps each element of C syntax to an equivalent
hardware structure using straightforward translation rules that directly
instantiate hardware resources based on the input C code. Once familiar
with the C2H Compiler mappings, you can control the generated
hardware structure with simple changes to your C source.
The following are examples of how the C2H Compiler translates C to
hardware:
Sets up parameters for the accelerator, similar to passing variables to
the original, unaccelerated function.
Optionally flushes the processor's data cache to avoid cache
coherency problems. Flushing the data cache might be necessary if
the accelerator accesses the same memory that the processor does.
Starts the accelerator. Once an accelerator is running, it can return a
value, terminate, or run continuously, depending on the design of
the C source code.
Polls registers in the accelerator hardware to determine when the
task completes.
If the function returns a result, reads the result value, and returns it
to the calling function.
Mathematical operators (such as +, -, *, >>) become direct hardware
equivalent circuits (such as add, subtract, multiply and shift circuits).
These circuits might be shared between operations, depending on
the degree of parallelism inherent in the C code.
Loops (such as for, while, do-while) become state machines that
iterate over the operations inside the loop, until the loop condition is
exhausted.
Pointer dereferences and array accesses (such as *p, array[i][j])
become Avalon-MM master ports that access the same memory that
the processor does.
Statements not dependent on the result of a previous operation are
scheduled as early as possible, allowing parallel execution to the
extent possible.
9.1
Introduction to the C2H Compiler
Nios II C2H Compiler User Guide
1–11

Related parts for IPT-C2H-NIOS