Parallel Trailing Zero Counter Using OR Reduction Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing zero counters for binary numbers are inefficient in calculating the number of trailing or leading zeros, particularly in applications like subtraction and floating-point normalization, as they often require sequential processing of bits and do not adapt well to the timing profiles of preceding logic blocks.

Innovation Solution

A trailing/leading zero counter design utilizing a plurality of hardware logic blocks that recursively split the input string into non-overlapping sections, allowing parallel processing and incorporating OR reduction stages to combine adjacent bits, thereby optimizing the calculation of zero counts and matching the timing profile of preceding logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If sequential processing of bits is used in existing zero counters, then the device complexity is reduced, but the processing speed and productivity deteriorate

Engineering Contradiction:
Improvedevice complexityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the input binary string into multiple non-overlapping sections and uses separate hardware logic blocks to process each section in parallel. Each hardware logic block contains section hardware logic that processes a specific section independently, and combining logic that merges the results. This segmentation enables simultaneous processing of multiple bit sections, dramatically improving processing speed while maintaining manageable device complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel processing is implemented to improve processing speed, then the productivity increases, but the device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a hierarchical structure where hardware logic blocks are nested within arrays, and combining logic is nested within each hardware logic block to merge section results. The OR reduction stages are nested within the section hardware logic. This nested organization allows parallel processing at multiple levels while reusing logic structures, thereby improving processing speed without proportionally increasing device complexity.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Adaptability or versatility

If OR reduction stages are added to match timing profiles, then the adaptability improves, but the device complexity increases

Engineering Contradiction:
Improvetiming profile matchingVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the number of OR reduction stages dynamic by configuring each hardware logic block to have a specific number of OR reduction stages based on the desired timing profile. This allows the system to adapt to different timing requirements of preceding logic blocks by adjusting the depth of OR reduction in each hardware logic block, providing timing flexibility without requiring complete redesign for different applications.

Inventive Principle:
Principle #15Dynamics

4Productivity

If more hardware logic blocks are used to improve processing parallelism, then the productivity increases, but the loss of time in coordinating the blocks increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcoordination time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-configuring the number of OR reduction stages in each hardware logic block to match the timing profile of preceding logic. This preliminary timing alignment ensures that results from different parallel hardware logic blocks become available simultaneously, eliminating coordination delays and maximizing the efficiency of parallel processing without time loss in synchronization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10185545B2Trailing or leading zero counter having parallel and combinational logic
Publication Date: 2019.01.22 IMAGINATION TECH LTD
  • US10185545B2 patent drawing
  • US10185545B2 patent drawing
  • US10185545B2 patent drawing

AI summary

A trailing/leading zero counter is described which comprises a plurality of hardware logic blocks, each of which calculates one bit of the output value (i.e. the number of trailing/leading zeros depending on whether it is a trailing/leading zero counter). Each hardware logic block comprises two blocks of section hardware logic which each receive a section of an input string and generate one or two outputs from this section of bits. Combining logic then combines the outputs of the section hardware logic to generate the bit of the output value. For hardware logic blocks which calculate bits other than the least significant bit of the output, the hardware logic blocks also comprise one or more OR reduction stages which reduces the length of the input string by pairwise combining of bits using OR gates before the resultant string is divided into two sections and input to the section hardware logic.