Dynamic Carry-Skip Adder Blocks for FPGA Area-Speed Tradeoffs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FPGA architectures face challenges in implementing efficient adders for high bit widths, as ripple carry adders become slow due to long delays, while carry lookahead adders incur significant area overhead and require fixed block sizes, limiting flexibility and performance.

Innovation Solution

The implementation of a dynamic block size carry-skip adder structure using modified ripple carry adder circuitry with routable propagate and generate signals, allowing for variable block sizes and minimal architecture modifications, which can be optimized for area or speed based on user preferences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If ripple carry adder is used, then area overhead is reduced, but speed deteriorates due to long delays in high bit widths

Engineering Contradiction:
Improvearea overheadVSAvoidadder speed
Core Design Contradiction:
Area of stationary objectVSSpeed

Solution Approach 1:

The adder is divided into multiple blocks of varying sizes, where each block can independently compute carry signals. This segmentation allows parallel computation of carries across different blocks, reducing the overall critical path delay while maintaining reasonable area overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The block sizes in the carry-skip adder are made dynamic and variable rather than fixed, allowing the architecture to adapt to different bit widths and performance requirements. This enables optimization of the trade-off between area and speed based on specific application needs.

Inventive Principle:
Principle #15Dynamics

2Speed

If carry lookahead adder with fixed block size is used, then speed is improved, but area overhead increases significantly

Engineering Contradiction:
Improveadder speedVSAvoidarea overhead
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The carry lookahead functionality is segmented into multiple blocks of different sizes rather than using a single large fixed block. This allows the speed benefits of lookahead to be achieved in a distributed manner, reducing the area overhead compared to a monolithic carry lookahead adder.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different blocks are assigned different sizes and carry computation strategies based on local requirements. Smaller blocks use simpler logic while larger blocks employ more aggressive lookahead techniques, optimizing the area-speed trade-off locally in each region of the adder.

Inventive Principle:
Principle #3Local quality

3Speed

If complex parallel prefix adders are implemented, then speed is improved for very high bit widths, but area overhead becomes significant

Engineering Contradiction:
Improveadder speedVSAvoidarea overhead
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The parallel prefix adder functionality is broken down into smaller carry-skip blocks that are distributed throughout the adder structure. This segmentation achieves high-speed performance for very high bit widths while keeping the area overhead of each individual block manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of implementing a single large parallel prefix structure, the solution distributes carry computation across multiple dimensions and levels of the adder hierarchy, achieving the same speed benefits with reduced area concentration in any single region.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Speed

If larger block size is chosen, then speed is improved, but area overhead increases

Engineering Contradiction:
Improveadder speedVSAvoidarea overhead
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The adder is segmented into multiple blocks of varying sizes rather than using a single large block. This allows the system to achieve speed improvements from larger blocks where beneficial while avoiding the excessive area overhead that would result from uniformly large blocks throughout.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The block size parameter is varied across different blocks of the adder based on position and computational requirements. This parameter change allows optimization of speed in critical regions while controlling area overhead in less critical regions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20220244912A1Dynamic block size carry-SKIP adder construction on fpgas by combining ripple carry adders with routable propagate/generate signals
Publication Date: 2022.08.04 EFINIX INC
  • US20220244912A1 patent drawing
  • US20220244912A1 patent drawing
  • US20220244912A1 patent drawing

AI summary

An adder is implemented in a field programmable gate array (FPGA). The adder has a first ripple carry adder block, for least significant bits of the adder. The adder has a plurality of carry skip adder blocks of differing block sizes. Each block size relates to bit-width of input to a block. The carry skip adder blocks of differing block sizes are for a plurality of bits of the adder. The adder has a second ripple carry adder block, for most significant bits of the adder.