Internals of Combine-Split-Unit - 2024.1 English

Vitis Libraries

Release Date
2024-08-06
Version
2024.1 English

This document describes the structure and execution of a Combine-Split-Unit, implemented as a combineCol function and splitCol function.

Combine Unit Structure Split Unit Structure

The Combine Unit primitive is used to combine two or more streams into one wider stream, and the Split Unit is used to split one big stream into several thinner streams. Because of the different numbers of input streams of combineUnit/output streams of spiltUnit, four versions of the combine/split unit are provided, including:

  • 2-stream-input combine unit
  • 3-stream-input combine unit
  • 4-stream-input combine unit
  • 5-stream-input combine unit
  • 2-stream-output split unit
  • 3-stream-output split unit
  • 4-stream-output split unit
  • 5-stream-output split unit

For the combine unit, the input streams are combined from left to right, with the corresponding inputs from stream1 to streamN. (also known as, output stream = [input stream1, input stream2, …, input streamN]).

For the split unit, the output streams are split from right to left, with the corresponding inputs from stream1 to streamN. (also known as, [output streamN, …, output stream2, output stream1] = input stream).

Caution

  • All input/output streams are an ap_uint<> data type.
  • The maximum number of supported streams are five for both the combine and split unit. When the input/output stream numbers are more than five, the combination of two or more combine/split unit are required.