FIR II IP Intel® FPGA IP: User Guide

ID 683208
Date 5/10/2024
Public
Document Table of Contents

4.4.1. Vectorized Inputs

The data inputs and outputs for the FIR II IP blocks can be vectors. Use this capability when the clock rate is insufficiently high to carry the total aggregate data. For example, 10 channels at 20 MSPS require 10 × 20 = 200 MSPS aggregate data rate. If you set the system clock rate to 100 MHz, two wires are required to carry this data, and so the FIR II IP uses a vector of width 2.

This approach is unlike traditional methods because you do not need to manually instantiate two FIR filters and pass a single wire to each in parallel. Each FIR II IP block internally vectorizes itself. For example, a FIR II IP block can build two FIR filters in parallel and wire one element of the vector up to each FIR. The same paradigm is used on outputs, where high data rates on multiple wires are represented as vectors.

The input and output wire counts are determined by each FIR II IP based on the clock rate, sample rate, and number of channels.

The output wire count is also affected by any rate changes in the FIR II IP. If there is a rate change, such as interpolating by two, the output aggregate sample rate doubles. The output channels are then packed into the fewest number of wires (vector width) that will support that rate. For example, an interpolate by two FIR II IP filters might have two wires at the input, but three wires at the output.

Any necessary multiplexing and packing is performed by the FIR II IP. The blocks connected to the inputs and outputs must have the same vector widths. Vector width errors can usually be resolved by carefully changing the sample rates.