Main Content

High-Throughput HDL Algorithms

DSP HDL Toolbox™ provides blocks to implement high-bandwidth applications such as radar, SIGINT, and 5G FR2 wireless. To meet their bandwidth requirements, these applications need to process incoming data as multiple samples in parallel, or frame-based processing. Frame-based processing increases throughput by implementing the algorithm in parallel on each sample in the input vector. These implementations increase data throughput but use more hardware resources. The ports of blocks that support frame-based processing accept column vector input and output signals. Each element of the vector represents a sample in time. Using frame-based input can achieve gigasamples-per-second (GSPS) throughputs. These high-throughput rates are also referred to as super-sample rates.

You can also find blocks that support frame-based input and hardware-optimized algorithms in Wireless HDL Toolbox™ libraries.

Blocks that Support Frame-Based Input

Supported BlockParameters to Enable Frame InputLimitations
FFT and IFFTConnect a column vector to the input data port. The vector size must be a power of 2 between 1 and 64 and cannot be greater than the FFT length. Frame-based input is supported only when Architecture is set to Streaming Radix 2^2.
Channelizer and Channel SynthesizerConnect a column vector to the input data port. The vector size must be a power of 2 between 1 and 64 and cannot be greater than the FFT length.  
Discrete FIR FilterConnect a column vector to the input data port. The vector size must be less than or equal to 64.You cannot use frame-based input with the partly serial architecture.
Biquad FilterConnect a column vector to the input data port. The input vector size can be up to 64 samples, but large vector sizes can make the calculation of internal datatypes challenging. Vector sizes of up to 16 samples are practical for hardware implementation.Vector input is supported only when you set Filter structure to Pipelined feedback form.
FIR Decimator Connect a column vector to the input data port. The vector size must be less than or equal to 64 samples.
  • You cannot use frame-based input with Minimum number of cycles between valid input samples greater than 1.

  • When the vector size is less than the decimation factor, the decimation factor must be an integer multiple of the vector size.

  • When the vector size is greater than the decimation factor, the vector size must be an integer multiple of the decimation factor.

FIR InterpolatorConnect a column vector to the input data port. The vector size must be less than or equal to 64 samples.

You cannot use frame-based input with Minimum number of cycles between valid input samples greater than 1.

CIC DecimatorConnect a column vector to the input data port. The input vector size can be up to 64 samples.Vector input is not supported with programmable decimation rate.
CIC InterpolatorConnect a column vector to the input data port. The input vector size can be up to 64 samples.Vector input is not supported with programmable interpolation rate.
NCOSet the Samples per frame parameter to the desired output vector size. 
Complex to Magnitude-AngleConnect a column vector to the input data port. The input vector size can be up to 64 samples. 
UpsamplerConnect a column vector to the input data port. The input vector size can be up to 64 samples. 
DownsamplerConnect a column vector to the input data port. The input vector size can be up to 64 samples. 
LMS FilterConnect a column vector to the input data port. The vector size must be between 1 and 64 and must be less than the Filter length parameter value. 
Delay
  1. Connect a column vector to the input port. The input vector size can be up to 512 samples.

  2. Set the Input processing parameter to Columns as channels (frame-based).

 
NR LDPC Encoder (Wireless HDL Toolbox) Connect a column vector of 64 samples to the input data port. The pattern of input bits in the vector depends on the liftingSize, see Specifying Vector Input (Wireless HDL Toolbox). 
NR LDPC Decoder (Wireless HDL Toolbox)Connect a column vector of 64 samples to the input data port. The pattern of input bits in the vector depends on the liftingSize, see Specifying Vector Input (Wireless HDL Toolbox). 
WLAN LDPC Decoder (Wireless HDL Toolbox)Connect a column vector of 8 samples to the input data port. 
Puncturer (Wireless HDL Toolbox)

Connect a column vector of 2 to 7 samples to the input data port. If input is a vector, the size of the vector must match the Encoder rate parameter value.

 
OFDM Modulator (Wireless HDL Toolbox)Connect a column vector to the input data port. The vector size must be a power of 2 in the range from 1 to 64, and less than or equal to the FFT length. For more information on how to specify vector inputs, see Specifying Vector Input (Wireless HDL Toolbox). 
OFDM Demodulator (Wireless HDL Toolbox)Connect a column vector to the input data port. The vector size must be a power of 2 in the range from 1 to 64, and less than or equal to the FFT length.  
LDPC Decoder (Wireless HDL Toolbox)Connect a column vector to the input data port. The vector size must be factor of Block size parameter value. 
CCSDS LDPC Decoder (Wireless HDL Toolbox)Connect an eight-element row vector to the input data port. 
APP Decoder (Wireless HDL Toolbox)Connect a real-valued column vector to the input LLRc port. The vector size is the decoding rate in the range from 2 to 7. The input vector size depends on the code rate of the block, which is derived from the Code generator parameter value. 
LTE Convolutional Decoder (Wireless HDL Toolbox)Connect a three-element column vector to the input data port. 
LTE Turbo Decoder (Wireless HDL Toolbox)Connect a three-element integer vector to the input data port. 
Viterbi Decoder (Wireless HDL Toolbox)Connect a column vector to the input data port. The vector size must be equal to the length of the generator polynomial. 
LTE CRC Encoder (Wireless HDL Toolbox)Connect a binary row vector to the input data port. The vector size must be less than or equal to the length of the CRC polynomial and a factor of the CRC polynomial length. 
LTE CRC Decoder (Wireless HDL Toolbox)Connect a binary row vector to the input data port. The vector size must be less than or equal to the length of the CRC polynomial and a factor of the CRC polynomial length. 
NR CRC Encoder (Wireless HDL Toolbox)Connect a binary row vector to the input data port. The vector size must be less than or equal to the length of the CRC polynomial and a factor of the CRC polynomial length. 
NR CRC Decoder (Wireless HDL Toolbox)Connect a binary row vector to the input data port. The vector size must be less than or equal to the length of the CRC polynomial and a factor of the CRC polynomial length. 

Related Topics