Specifying flow control, Array subscript operator, Array subscript operator –26 – Altera Nios II C2H Compiler User Manual
Page 66

3–26
9.1
Altera Corporation
Nios II C2H Compiler User Guide
November 2009
Memory Accesses
connects the variable
x
in function
myfunc
to the memory
module named
sdram
with an arbitration share of 16.
Example 3–17. Pragma Specifying Arbitration Share
#pragma altera_accelerate connect_variable myfunc/x to sdram \
arbitration_share 16
Specifying Flow Control
Avalon-MM transfers with flow control force a master port to obey flow
control signals controlled by a slave port. For example, a slave FIFO might
assert flow control signals to prevent write transfers when the FIFO
memory is full. The C2H Compiler provides a flow control pragma which
enables flow control for all master ports related to a specific pointer
variable.
The flow control pragma is defined as follows:
#pragma altera_accelerate \
enable_flow_control_for_pointer \
<
function name
>/<
variable name
>
The flow control pragma must be placed in the same file as the function
to be accelerated, but outside the function. <function name> and
<variable name> are the exact names of the accelerated function and the
pointer variable.
f
Mapped Interface Specification
.
Array Subscript Operator
The C2H Compiler converts array subscript operations to equivalent
pointer dereferences, and then translates the pointer dereferences to
hardware. An array is a pointer with abstractions of length and
dimension. The value of an array type is defined to be a pointer to its first
element. The C language specification defines the array subscript
operator as follows:
The definition of the subscript operator
[]
is that
E1[E2]
is identical to
(*((E1)+(E2)))
.
By this definition, any array subscripting (indexing) operation can be
expressed in terms of an indirection (pointer dereference) operation.