IPTR-C2H-NIOS Altera, IPTR-C2H-NIOS Datasheet - Page 53

no-image

IPTR-C2H-NIOS

Manufacturer Part Number
IPTR-C2H-NIOS
Description
IP CORE Renewal Of IPT-C2H-NIOS
Manufacturer
Altera
Datasheet

Specifications of IPTR-C2H-NIOS

Software Application
IP CORE, NIOS Processor And Functions
Core Architecture
Nios II
Features
ANSI C Compliance, Straightforward C-to-Hardware Mapping, Reporting Of Generated Results
Core Sub-architecture
Cyclone
Rohs Compliant
NA
Lead Free Status / RoHS Status
na
Variable
Declarations
Example 3–4. Local vs. Non-Local Variables
int my_global;
int mac(int *src, int *dst, int len)
{
}
Altera Corporation
November 2009
int res = 0;
while (len--)
{
}
return res;
int product = (*src++) * (*dst++);
res += product;
// src, dst, and len are local to mac().
// my_global is not local to mac().
// res is local to mac().
The Nios II C2H Compiler does not perform any type of inline
substitution. It ignores the inline function specifier. You can achieve the
effect of an inline function through the use of preprocessing macros. If
you wish to call a function for which accelerated hardware is replicated
for each call, then you must define a macro containing the logic for this
function. Before parsing the accelerated code, the C2H Compiler calls the
GNU GCC preprocessor, which evaluates the macro and replaces each
macro call with your macro definition.
Macros and Preprocessing Directives
Any preprocessing directives in your code are processed before
translation to hardware. In order to ensure identical interpretation
between software and hardware, the C2H Compiler operates on the
output of the nios2-elf-gcc preprocessor.
This section describes how the C2H Compiler translates variable
declarations and other C elements that define data storage.
Local vs. Non-Local Variables
The C2H Compiler treats variables differently, depending on the scope of
the variable. In general, local variables translate to memory elements
inside the accelerator hardware; non-local variables translate to Avalon-
MM master ports capable of accessing memory outside of the accelerator.
For the purposes of this document, any variable declared within the scope
of an accelerated function is considered to be local.
illustrates locality of variables to a function mac(). In this example, only
int my_global is not local, and all other variables are local.
9.1
// product is local to mac().
C-to-Hardware Mapping Reference
Nios II C2H Compiler User Guide
Example 3–4
3–13

Related parts for IPTR-C2H-NIOS