Pipeline Bubble Removal via Clock Signal Blocking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for removing pipeline bubbles in ASIC designs require significant changes to the pipeline architecture, leading to increased area and reduced clock rates, compromising performance.

Innovation Solution

A system that detects stalls in the pipeline, replaces invalid data with valid data from adjacent registers, and manipulates clock signals to prevent bubbles from propagating, without altering the pipeline architecture, using a bubble-removal circuit that synthesizes and stitches into the pipeline netlist.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If additional logic (DMUX) is inserted between pipeline stages to remove bubbles, then bubble removal capability is improved, but device area increases significantly

Engineering Contradiction:
Improvebubble removal capabilityVSAvoidpipeline area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent extracts the bubble removal function from the data path and implements it through clock signal control. Instead of adding DMUX logic to manipulate data, the invention removes bubbles by selectively blocking clock signals to downstream registers, thereby preventing propagation of invalid data without adding data path complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces clock signal control as an intermediary mechanism between pipeline stages. The bubble removal logic acts as a mediator that monitors data validity and controls clock signal propagation accordingly, enabling bubble removal without direct modification of the data path architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If additional logic (DMUX) is inserted between pipeline stages to remove bubbles, then bubble removal capability is improved, but maximum clock rate decreases

Engineering Contradiction:
Improvebubble removal capabilityVSAvoidclock rate
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent extracts the bubble removal function from the data path and implements it through clock signal control. Instead of adding DMUX logic to manipulate data, the invention removes bubbles by selectively blocking clock signals to downstream registers, thereby preventing propagation of invalid data without adding data path complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses periodic clock signal control to manage bubble propagation. By enabling or disabling clock signals at specific periods based on data validity detection, the system achieves bubble removal while maintaining the original pipeline timing and maximum clock rate capability.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If pipeline bubbles are allowed to propagate, then architecture remains simple, but data latency increases

Engineering Contradiction:
Improvepipeline architecture complexityVSAvoiddata latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent detects pipeline stalls and identifies bubbles in advance before they can propagate through the entire pipeline. By detecting when downstream memory is full and identifying registers containing invalid data, the system takes preliminary action to block clock signals and prevent bubble propagation, thereby reducing latency without complex architectural changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where bubble removal logic continuously monitors the pipeline state, detects invalid data in registers, and dynamically controls clock signal propagation. This feedback-driven approach enables the system to adaptively remove bubbles as they are detected, reducing latency while maintaining simple architecture.

Inventive Principle:
Principle #23Feedback

4Device complexity

If pipeline bubbles are allowed to propagate, then no additional control logic is needed, but power consumption increases

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent detects pipeline stalls and identifies bubbles in advance before they can propagate through the entire pipeline. By detecting when downstream memory is full and identifying registers containing invalid data, the system takes preliminary action to block clock signals and prevent bubble propagation, thereby reducing latency without complex architectural changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The bubble removal logic serves itself by automatically detecting bubbles and controlling clock signals without requiring external intervention. The system monitors its own pipeline state and autonomously blocks clock signals to prevent bubble propagation, achieving power savings through self-managed bubble removal.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7653807B2Removing a pipeline bubble by blocking clock signal to downstream stage when downstream stage contains invalid data
Publication Date: 2010.01.26 SYNOPSYS INC
  • US7653807B2 patent drawing
  • US7653807B2 patent drawing
  • US7653807B2 patent drawing

AI summary

One embodiment of the present invention provides a system that removes a bubble from a pipeline. During operation, the system first detects a stall in the pipeline. The system next determines whether a first register contains invalid data, which is associated with a bubble. Next, the system determines whether a second register contains valid data, wherein the second register is adjacent to and upstream from the first register. If the first register contains invalid data and the second register contains valid data, the system replaces the invalid data of the first register with valid data based on the valid data in the second register without propagating the invalid data to a downstream register. As a result, the system removes the invalid data from the pipeline.