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

Page 66

Advertising
background image

3–26

9.1

Altera Corporation

Nios II C2H Compiler User Guide

November 2009

Memory Accesses

Example 3–17

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

For details about Avalon-MM flow control, refer to the

Avalon Memory-

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.

Advertising