Data Types - 6.0 English - PG104

Complex Multiplier LogiCORE IP Product Guide (PG104)

Document ID
PG104
Release Date
2024-11-26
Version
6.0 English

The C types defined for the Complex Multiplier C model are listed in the following table.

Table 1. C Model Data Types
Name Type Description
xip_real Double Base data type for small width configurations 1
xip_complex Struct {re,im} xip_real Base element of operands for small width configurations 1
xip_uint Unsigned int

Used for configuration parameter of integer or Boolean type.

For Boolean:

0=false

1=true

xip_mpz Mpz_t 2 Base data type for larger width configurations 1
xip_mpz_complex Struct {re, im} xip_mpz Base element of operand for larger width configurations 1
xip_array_complex Struct Structure to hold data for input to the complex multiplier (A or B operands) or output for small configurations 1
xip_array_mpz_complex Struct Structure to hold data for input to the complex multiplier (A or B operands) or output for larger configurations.
xip_array_uint Struct Structure to hold data for input to the complex multiplier (ROUND operand).
xip_cmpy_v6_0_status Int Error code return from many C model functions. 0 indicates success. Any other value indicates failure.
xip_status Int Same as xip_cmpy_v6_0_status but used for functions which are not core-specific.
xip_real Double  
xip_cmpy_v6_0_config Struct The configuration of the core itself. The members of this structure are listed in the cmpy_v6_0_bitacc_cmodel file. The names closely match the same names in XCI files. The cmpy_v6_0_bitacc_cmodel file also contains #defined values for all.
xip_cmpy_v6_0 Struct Type defined which C (not C++) can use as a handle (pointer) to a C++ object – the C model itself.
  1. Small configurations are where the natural width (APortWidth+BPortWidth+1) does not exceed 53 bits.
  2. From gmp.h library

The xip_array_complex, xip_array_mpz_complex and xip_array_uint data types are structures with the following members:

data
A pointer to the array of data values.
data_size
Of type size_t, which describes the total size of the data array.
data_capacity
Also of type size_t, which describes how much of the array is currently populated.
dim
A pointer to a size_t array of values which indicate the size of each dimension.
dim_size (size_t)
Indicates the number of dimensions of the data array.
dim_capacity
Indicates how much of the dimension array is currently populated.
owner
This unsigned int member is provided as a handle for when the data structure is intended to be passed from one core to another, but is not used by any of the Complex Multiplier C model functions.