Single Buffer FFT Circuit for Address Order Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional FFT circuit designs require dual buffering and additional logic to handle natural and bit-reversed address orders, leading to inefficient resource utilization, especially in programmable logic devices where resource efficiency is crucial.

Innovation Solution

A method and circuit that uses a single buffer to store and read data in alternating address orders, employing a read-before-write operation and a multiplexer controlled by a counter and bit reversal circuit to switch between natural and modified address orders, reducing the need for dual buffering and associated logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dual buffering is used to handle natural and bit-reversed address orders in FFT circuits, then data processing capability is improved, but device complexity and resource utilization deteriorate

Engineering Contradiction:
Improvedata processing capabilityVSAvoidbuffering logic requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the functionality of two separate buffers into a single buffer by implementing alternating buffer modes. The single buffer alternates between operating as a first buffer for natural address order data and a second buffer for bit-reversed address order data, eliminating the need for dual buffering infrastructure while maintaining the same data processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent employs periodic action by alternating the buffer's operational mode between natural address order and bit-reversed address order in a cyclic manner. The buffer toggles between serving as the first buffer and second buffer in alternating periods, allowing the same physical buffer to fulfill the roles of two separate buffers through time-division multiplexing.

Inventive Principle:
Principle #19Periodic action

2Productivity

If dual buffering is implemented in programmable logic devices, then FFT processing is enabled, but resource efficiency deteriorates

Engineering Contradiction:
ImproveFFT processing capabilityVSAvoidlogic resources consumed
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements universality by designing a single buffer that can perform multiple functions - it can operate as either the first buffer for natural address order data or the second buffer for bit-reversed address order data depending on the operational phase. This multi-functionality allows the same logic resources to be reused alternately for different buffering tasks, significantly reducing the total quantity of logic resources required compared to dedicated dual buffering.

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

Solution Approach 2:

The patent combines the functionality of two separate buffers into one unified buffer structure, reducing the logic resources consumed by eliminating redundant buffering infrastructure. The merged buffer uses control logic to alternately serve both buffering roles, achieving FFT processing capability with fewer logic resources than traditional dual buffering approaches.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7669017B1Method of and circuit for buffering data
Publication Date: 2010.02.23 XILINX INC
  • US7669017B1 patent drawing
  • US7669017B1 patent drawing
  • US7669017B1 patent drawing

AI summary

A method of buffering data in a circuit processing data in both a natural address order and a modified address order is described. The method comprises the steps of storing a first block of data according to a first addressing order of a natural address order or a modified address order; reading the first block of data stored in a buffer according to the other addressing order of the natural address order and the modified address order; and simultaneously writing a second block of data to the buffer in the other addressing order while reading the first block of data stored in a buffer according to the other addressing order.