User guide
18-26
DirectC Interface
Here the parameters in and out are pointers to type U. Pointers
because their corresponding arguments are larger than 32 bits and
type U because the corresponding arguments are type bit.
Example 7
Consider the following C/C++ function declared in the Verilog source
code:
extern void passbig2 (input reg [63:0] r10,
output reg [63:0] r11);
Here the function named passbig2, that does not return a value,
has input and output arguments declared as non-scalar reg. The
header of the C/C++ function is as follows:
void passbig2(vec32 *in, vec32 *out)
Here the parameters in and out are pointers to type vec32. They
are pointers because their corresponding arguments are non-scalar
type reg.
Example 8
Consider the following C/C++ function declared in the Verilog source
code:
extern void reality (input real real1, output real real2);
Here the function named reality, that does not return a value, has
input and output arguments of declared type real. The header of
the C/C++ function is as follows:
void reality (double *in, double *out)