Back to Registry

wave.dsp.fir

stable

v3.2.1

Author: WaveForm DSP
License: LGPL-3.0

Parameterized FIR filter with configurable taps and coefficients. Supports fixed-point and floating-point arithmetic.

Interfaces
NameTypeRoleWidth
s_axis_dataAXI4-Streamslave32
m_axis_dataAXI4-Streammaster32
s_axis_coeffAXI4-Streamslave32
ctrlAXI-Liteslave32
Parameters
NameTypeDefaultConstraints
NUM_TAPSinteger324-256
DATA_WIDTHinteger168, 16, 24, 32
COEFF_WIDTHinteger168, 16, 24, 32
ARITHMETICstringFIXEDFIXED, FLOAT
Compatibility

Clock Domains

  • Single clock domain

Reset Semantics

Synchronous active-high reset

Tool Support

Vivado 2022.2+Quartus 22.1+
Verification

Tests

  • Impulse response
  • Frequency response
  • Coefficient reload

Simulators

VCSQuestaVerilator

Coverage

96% functional coverage

Build Proof
TargetToolStatusFmaxResources
Xilinx Zynq-7000Vivado 2023.2Pass200 MHz2,450 LUTs + 32 DSPs
Intel Cyclone VQuartus 23.1Pass185 MHz2,800 ALMs + 32 DSPs

Manifest

ip.yaml
name: wave.dsp.fir
version: 3.2.1
license: LGPL-3.0
author: WaveForm DSP

description: >
  Parameterized FIR filter with configurable
  taps and coefficients.

interfaces:
  s_axis_data:
    type: axi4-stream
    role: slave
    width: DATA_WIDTH
  m_axis_data:
    type: axi4-stream
    role: master
    width: DATA_WIDTH
  s_axis_coeff:
    type: axi4-stream
    role: slave
  ctrl:
    type: axi-lite
    role: slave

parameters:
  NUM_TAPS:
    type: integer
    default: 32
    range: [4, 256]
  DATA_WIDTH:
    type: integer
    default: 16
    values: [8, 16, 24, 32]

targets:
  - vivado
  - quartus