Operator ADD

Operator Library: Arithmetics

The module ADD is calculating the sum over multiple input links. The number of input links has to be selected at the instantiation of the module.

I/O Properties

Property Value
Operator Type O
Input Links I[0], data input
I[n], n > 0, data input
Output Link O, data output

Supported Link Format

Link Parameter Input Link I[0] Input Link I[n], n > 0 Output Link O
Bit Width {[1; 63] unsigned, [2; 63] signed} {[1; 63] unsigned, [2; 63] signed} auto1
Arithmetic {unsigned, signed} {unsigned, signed} auto2
Parallelism any as I[0] as I[0]
Kernel Columns any as I[0] as I[0]
Kernel Rows any as I[0] as I[0]
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I[0] as I[0]
Color Format VAF_GRAY as I[0] as I[0]
Color Flavor FL_NONE as I[0] as I[0]
Max. Img Width any as I[0] as I[0]
Max. Img Height any as I[0] as I[0]


The output bit width is automatically determined from the maximum input link bit width. The output bit width is determined by

The output bit width must not exceed 64 Bit.

If you use unsigned and signed values on the input links, you might need an extra bit on the output.


The output arithmetic is unsigned if all of the inputs are unsigned. The output arithmetic is signed if at least one of the inputs uses a signed arithmetic.


Type static write parameter
Default AUTO
Range (AUTO, EmbeddedALU, LUT)

Parameter ImplementationType influences the implementation strategy of the operator, i.e., which logic elements are used for implementing the operator.

You can select one of the following values:

AUTO: When the operator is instantiated, the optimal implementation strategy is selected automatically based on the parametrization of the connected links.

EmbeddedALU: The operator uses embedded arithmetic logic elements of the FPGA that are not LUT based.

LUT: The operator uses the LUT logic of the FPGA.

[Note] Use AUTO in General

Normally, the parameter should be set to AUTO. In special cases, i.e., if one kind of FPGA ressource runs short in a design, you can manually influence the FPGA resource management using the values EmbeddedALU and/or LUT.

Examples of Use

The use of operator ADD is shown in the following examples: