RTL Clock-Gating Insertion via Term Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing IC design automation tools defer clock-gating insertion to later stages, losing designer control and making it difficult to measure and optimize power effectiveness early in the design process.

Innovation Solution

A computer-implemented method for inserting clock-gating in RTL designs by flattening the design, identifying modules and state elements, computing clock-gating expressions, selecting traceable terms, determining equivalent terms, clustering state elements, and inserting clock-gating logic into the RTL design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If clock-gating insertion is deferred to later stages by existing EDA tools, then the design process follows conventional automation flow, but designer control is lost and power optimization effectiveness cannot be measured early

Engineering Contradiction:
Improveautomation flowVSAvoiddesigner control
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent performs clock-gating insertion at RTL design stage rather than deferring to later stages. By computing clock-gating expressions and inserting logic early in the design flow, the system enables designer control and early power optimization measurement while maintaining automation through systematic algorithms for expression computation and logic insertion.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If clock-gating insertion is deferred to later stages, then conventional EDA tool flow is maintained, but power effectiveness measurement and optimization become difficult early in design

Engineering Contradiction:
ImproveEDA tool flowVSAvoidpower effectiveness measurement
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The system inserts clock-gating logic at RTL stage to enable early power effectiveness measurement. By computing clock-gating expressions and inserting logic before implementation stages, the system allows power optimization to be measured and adjusted early in the design process while maintaining compatibility with subsequent EDA tool flows.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If clock-gating is optimized at backend stages, then implementation constraints are better known, but optimization scope is limited and control is reduced

Engineering Contradiction:
Improveimplementation constraints accuracyVSAvoidoptimization scope
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent performs clock-gating optimization at RTL design stage with full design scope visibility. By computing clock-gating expressions across the entire RTL design before implementation, the system achieves broader optimization scope and greater adaptability, while still accommodating implementation constraints through iterative refinement and verification in later stages.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250124201A1Automatic clock-gating insertion in register-transfer level design
Publication Date: 2025.04.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250124201A1 patent drawing
  • US20250124201A1 patent drawing
  • US20250124201A1 patent drawing

AI summary

A computer-implemented method for inserting clock-gating in a register-transfer level (RTL) design is provided. The computer-implemented method includes flattening the RTL design, identifying modules and state elements in the RTL design, computing a clock-gating expression for each of the state elements of the RTL design, selecting terms of the clock-gating expression for each one of the state elements that is traceable to signals in a same one of the modules as the one of the state elements, determining which clock-gating terms are equivalent to those of other state elements in the RTL design, clustering state elements with equivalent clock-gating terms into clusters and inserting clock-gating logic, which equates to the equivalent clock-gating terms, into the RTL design for each cluster.