Bit-Sequence Conversion Circuit for Zero-Centered Number Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware implementations for converting bit sequences to centered distributions of numbers are inefficient due to resource demands and complexity, particularly in neural network applications where software solutions are less efficient and require careful hardware circuitry design to minimize resource usage.

Innovation Solution

A hardware module comprising circuitry that stores bit sequences, generates signed integers by setting magnitude and sign bits based on the most significant bit, and converts these integers to floating-point numbers with a distribution centered on zero, using bit manipulation to avoid subtraction and optimize hardware resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software solutions are used for converting bit sequences to centered distributions, then implementation flexibility is improved, but processing efficiency deteriorates

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based conversion with a dedicated hardware circuit that directly transforms bit sequences into centered distributions. The hardware module uses bitwise operations and arithmetic logic unit operations to perform the conversion in parallel, eliminating the sequential processing bottleneck of software while maintaining implementation flexibility through configurable circuit design.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If hardware circuitry is designed to perform subtraction operations for centering, then conversion accuracy is improved, but hardware resource consumption deteriorates

Engineering Contradiction:
Improveconversion accuracyVSAvoidhardware resource consumption
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the operational parameters of the hardware circuit by using bitwise operations (XNOR gates, bit shifting) and ALU operations instead of traditional subtraction circuits. This parameter change maintains conversion accuracy by performing the same mathematical transformation (centering around zero) while reducing hardware resource consumption through more efficient logic gate utilization.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If complex hardware circuitry is used for bit sequence conversion, then conversion precision is improved, but device complexity deteriorates

Engineering Contradiction:
Improveconversion precisionVSAvoidcircuitry complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the conversion process into distinct functional stages: bit sequence storage in registers, signed integer generation through bitwise operations, and floating-point conversion via ALU operations. This segmentation allows each stage to be optimized independently, maintaining high conversion precision while reducing overall circuit complexity through modular design and efficient resource allocation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3847544B1Hardware module for converting numbers
Publication Date: 2022.08.17 GRAPHCORE LTD
  • EP3847544B1 patent drawingFigure 1
  • EP3847544B1 patent drawingFigure 1A
  • EP3847544B1 patent drawingFigure 2

AI summary

A hardware module comprising circuity configured to: store a sequence of n bits in a register of the hardware module; generate a signed integer comprising a magnitude component and a sign bit by: if the most significant bit of the sequence of n bits is equal to one: set each of the n-l of the most significant bits of the magnitude component to be equal to the corresponding bit of the n-1 least significant bits of the sequence of n bits; and set the sign bit to be zero; if the most significant bit of the sequence of n bits is equal to zero: set each of the n-l of the most significant bits of the magnitude component to be equal to the inverse of the corresponding bit of the n-1 least significant bits of the sequence of n bits; and set the sign bit to be one.