User guide
18-86
DirectC Interface
extern_func_type ::= void | reg | bit |
DirectC_primitive_type | bit_vector_type
bit_vector_type ::= bit [ constant_expression :
constant_expression ]
list_of_extern_func_args ::= extern_func_arg
( , extern_func_arg ) *
extern_func_arg ::= arg_direction ? arg_type
optional_arg_name ?
Note:
Argument direction, i.e. input, output, inout applies to all
arguments that follow it until the next direction occurs; default
direction is input.
arg_direction ::= input | output | inout
arg_type ::= bit_or_reg_type | array_type |
DirectC_primitive_type
bit_or_reg_type ::= ( bit | reg ) optional_vector_range ?
optional_vector_range ::= [ ( constant_expression :
constant_expression ) ? ]
array_type ::= bit_or_reg_type array [ ( constant_expression
: constant_expression ) ? ]
DirectC_primitive_type ::= int | real | pointer | string
In this specification extern_function_name and
optional_arg_name are user defined identifiers.