Programmable DSP Filter Block with Synchronized Coefficient Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Digital Signal Processor (DSP) architectures in FPGA systems are inefficient in terms of space usage, energy consumption, and clock distribution due to their reliance on external logic for implementing specific DSP operations, which limits their optimal performance.

Innovation Solution

A programmable Digital Signal Processor is designed with a digital filter, a Shift Register Lookup table, and a filter memory, where the Shift Register Lookup table provides input data and the filter memory supplies filter coefficients, synchronized to implement desired filter configurations, and a state machine coordinates the operation, allowing for efficient Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filter operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If DSP functionality is implemented using external logic blocks in FPGA, then versatility is improved, but device complexity and space usage increase

Engineering Contradiction:
ImproveDSP operation flexibilityVSAvoidFPGA resource usage
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple DSP components (multiplier, adder, shift registers, lookup tables) into a single integrated DSP block. This merging reduces the number of separate logic blocks needed in the FPGA, thereby reducing device complexity and space usage while maintaining the ability to perform various DSP operations through internal configuration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The integrated DSP block is designed to perform multiple DSP functions (multiplication, addition, shifting, filtering) within a single unit. By making the DSP block universal and multi-functional, the system achieves versatility without requiring separate dedicated blocks for each operation, thus reducing overall FPGA resource usage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If DSP operations use standard logic blocks with programmable routing, then adaptability is improved, but energy consumption increases

Engineering Contradiction:
ImproveFilter configuration flexibilityVSAvoidFPGA energy consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

By merging DSP-specific functions into a dedicated integrated block, the patent eliminates the need for signal to traverse multiple general-purpose logic blocks and programmable routing layers. This direct internal connectivity reduces the number of switching operations and inter-block communications, thereby reducing energy consumption while maintaining filter configuration flexibility through internal programmability.

Inventive Principle:
Principle #5Merging (Combining)

3Area of stationary object

If DSP blocks are highly integrated, then space efficiency is improved, but clock distribution complexity increases

Engineering Contradiction:
ImproveFPGA space usageVSAvoidClock distribution system
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The integrated DSP block consolidates multiple timing-critical operations (multiplication, addition, shifting) into a single synchronized unit. This merging allows for a unified clock distribution system within the block, reducing the complexity of coordinating clocks across multiple separate blocks while achieving compact space usage.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11354382B2Digital signal processor and method of operation
Publication Date: 2022.06.07 MENTA
  • US11354382B2 patent drawing
  • US11354382B2 patent drawing
  • US11354382B2 patent drawing

AI summary

A flexible Digital Signal Processor module includes a Filter unit comprising a multiplier and an adder, where the multiplier receives input from a memory and a Shift Register Lookup table. The Digital Signal Processor module may implement digital filters such as FIR or IIR filters by providing suitable filter coefficients from the memory and data values from the Shift Register Lookup table. An optional state machine may ensure synchronisation of addressing of the memory Shift Register Lookup table, and between multiple instances of the Digital Signal Processor module where these are required for a particular filter implementation. The proposed architecture offers additional modes of operation wherein operations other than filter implementations are supported.