Table-Based State Machine Pipelining for Faster Parallel Input Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Table-based state machines face performance limitations due to sequential processing and slow memory access, which hinder parallelization and high clock frequency operations.

Innovation Solution

The implementation of a high-performance table-based state machine that reduces dependence on the current state by using a state table circuit to read all possible current states and an output multiplexer to select the next state and output, allowing pipelining of state table reads and enabling parallel processing of multiple inputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional table-based state machine uses sequential processing with current state dependence, then implementation is simple, but performance is limited and clock frequency is slow

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

Solution Approach 1:

The patent segments the state machine processing into multiple parallel input units, where each unit independently processes inputs without depending on the current state. This segmentation allows simultaneous processing of multiple inputs, dramatically improving productivity while distributing the complexity across modular units rather than concentrating it in a single sequential path.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-computing and storing all possible next states and outputs for each input in state table circuits before processing begins. This eliminates the need for sequential lookup during operation, allowing all possible transitions to be evaluated in parallel and the correct one selected immediately, thus improving processing speed without proportionally increasing circuit complexity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If table lookup is performed for each iteration depending on current state, then implementation is straightforward, but latency is high and parallelization is hindered

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

Solution Approach 1:

The patent divides the state machine into multiple independent input units that can process inputs in parallel. Each input unit has its own state table circuit that can be read simultaneously with other units, enabling true parallel processing. This segmentation eliminates the sequential dependency that caused latency in traditional designs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-loading all possible state transitions into state table circuits before processing begins. This allows the system to quickly select the correct next state and output through simple multiplexer selection rather than performing sequential table lookups during operation, significantly reducing latency while enabling parallel processing across multiple input units.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If all possible current states are read from state table circuit, then pipelining is enabled and latency is hidden, but output multiplexer size increases

Engineering Contradiction:
Improveclock frequencyVSAvoidmultiplexer size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing all possible next states and outputs for each input combination in the state table circuits before processing begins. This allows the system to read all possible current states in parallel and use simple multiplexer selection to choose the correct next state and output, enabling extensive pipelining and hiding latency without requiring excessively large multiplexers during operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism where state table circuits pre-compute and store transition information, acting as a buffer between the input and the multiplexer. This intermediary layer allows the multiplexer to simply select from pre-computed values rather than performing complex real-time calculations, enabling high clock frequencies while keeping multiplexer size manageable through efficient encoding.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11863182B2High-performance table-based state machine
Publication Date: 2024.01.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11863182B2 patent drawing
  • US11863182B2 patent drawing
  • US11863182B2 patent drawing

AI summary

A table-based state machine is improved by reducing critical dependence path. In one aspect, all current states for a given input are read from a state table circuit, and the next state and output are then selected therefrom by an output multiplexer based on the current state, removing dependence on the current state from the table read, and allowing the read(s) to be pipelined. In a further aspect, multiple input units are configured to operate on multiple inputs in parallel, with each input unit propagating its state table circuit for its current input to the next downstream input unit. Each downstream input unit is configured to use the propagated state table circuit to provide the state table circuit reads to the proper output multiplexer input. The number of possible output states for a given input may be dynamically reduced, reducing the size of the output multiplexer selecting the next state.