FFT Processor Architecture with Shared ROM for Silicon Area Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern wideband communication systems and radar systems that employ fast Fourier transform (FFT) processors face challenges with silicon area occupation and memory access conflicts due to the large number of twiddle factors required for long FFT algorithms, especially in parallel computation scenarios.

Innovation Solution

A parallel memory-based FFT processor architecture that includes multiple processing units, data memory banks, and coefficient memory banks for efficient twiddle factor storage and retrieval, utilizing a burst-based data processing scheme and a ROM address generator to avoid memory access conflicts and reduce silicon area usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a plurality of processing elements and ROM memories are used for parallel FFT computation, then processing throughput is improved, but silicon area occupation increases significantly

Engineering Contradiction:
Improveprocessing throughputVSAvoidsilicon area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

Multiple processing elements share a single ROM memory resource instead of each having dedicated ROM. The ROM is time-multiplexed among processing elements through coordinated address generation, reducing total ROM quantity while maintaining parallel processing capability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single ROM memory serves multiple processing elements simultaneously by generating different address sequences for different PEs. The same physical ROM resource performs the twiddle factor storage function for multiple processing units through universal address mapping

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

2Reliability

If multiple dedicated ROM memories are provided for each processing element, then memory access conflicts are avoided, but device complexity increases

Engineering Contradiction:
Improvememory access conflict avoidanceVSAvoidnumber of ROM memories
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

An address generator circuit acts as an intermediary between processing elements and the shared ROM memory. This mediator generates distinct address sequences for each processing element, enabling conflict-free access to the shared ROM resource without requiring dedicated ROM for each PE

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If a large number of twiddle factors are stored in ROM memories, then FFT computation accuracy is maintained, but silicon area occupation increases

Engineering Contradiction:
ImproveFFT computation accuracyVSAvoidROM memory area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The large set of twiddle factors is segmented into smaller subsets that are accessed by different processing elements at different times. Each processing element receives only the specific twiddle factors it needs for its current computation stage, reducing total ROM storage requirements while maintaining computational accuracy

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11675720B2Digital signal processing circuit and corresponding method of operation
Publication Date: 2023.06.13 STMICROELECTRONICS SRL
  • US11675720B2 patent drawing
  • US11675720B2 patent drawing
  • US11675720B2 patent drawing

AI summary

An embodiment circuit comprises a plurality of processing units, a plurality of data memory banks configured to store data, and a plurality of coefficient memory banks configured to store twiddle factors for fast Fourier transform processing. The processing units are configured to fetch, at each of the FFT computation stages, input data from the data memory banks with a burst read memory transaction, fetch, at each of the FFT computation cycles, different twiddle factors in a respective set of the twiddle factors from different coefficient memory banks of the coefficient memory banks, process the input data and the set of twiddle factors to generate output data, and store, at each of the FFT computation stages, the output data into the data memory banks with a burst write memory transaction.