Back to Registry
wave.dsp.fir
stablev3.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
| Name | Type | Role | Width |
|---|---|---|---|
| s_axis_data | AXI4-Stream | slave | 32 |
| m_axis_data | AXI4-Stream | master | 32 |
| s_axis_coeff | AXI4-Stream | slave | 32 |
| ctrl | AXI-Lite | slave | 32 |
Parameters
| Name | Type | Default | Constraints |
|---|---|---|---|
| NUM_TAPS | integer | 32 | 4-256 |
| DATA_WIDTH | integer | 16 | 8, 16, 24, 32 |
| COEFF_WIDTH | integer | 16 | 8, 16, 24, 32 |
| ARITHMETIC | string | FIXED | FIXED, 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
| Target | Tool | Status | Fmax | Resources |
|---|---|---|---|---|
| Xilinx Zynq-7000 | Vivado 2023.2 | Pass | 200 MHz | 2,450 LUTs + 32 DSPs |
| Intel Cyclone V | Quartus 23.1 | Pass | 185 MHz | 2,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