Automated Clock Gating Circuit Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual clock gating in ASIC and FPGA designs is complex and time-consuming, requiring intimate knowledge of the design, and often introduces errors due to the need for manual addition of gating logic, especially when dealing with legacy and third-party IP design cores.

Innovation Solution

A method for generating clock gating circuitry that involves determining Boolean expressions of observability conditions for interconnected gate elements, which are then used to create clock gating circuits, allowing for automated and efficient reduction of power consumption by dynamically enabling and disabling circuit elements based on observability and toggle conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If manual clock gating logic is added to ASIC and FPGA designs, then power consumption is reduced, but design complexity and time requirements increase

Engineering Contradiction:
Improvepower consumptionVSAvoiddesign complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically generating clock gating logic through software that analyzes the circuit design model, netlist, and timing constraints to produce optimized gating signals without requiring manual designer intervention for each gating decision

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of adding clock gating logic is replaced by an automated software-based system that uses algorithms to analyze circuit behavior, determine observability conditions, and generate gating logic automatically

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

2Loss of energy

If manual clock gating logic is added to legacy and third-party IP design cores, then power consumption is reduced, but error introduction risk increases

Engineering Contradiction:
Improvepower consumptionVSAvoiddesign reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system uses feedback by continuously analyzing the circuit design model, netlist, and timing constraints to verify that generated clock gating logic maintains correct circuit operation and does not introduce errors, especially important when dealing with legacy and third-party IP cores

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The software acts as an intermediary between the legacy/third-party IP design cores and the clock gating implementation, automatically analyzing and generating appropriate gating logic without requiring direct manual modification of potentially proprietary or legacy code

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated software is used to generate clock gating logic, then productivity increases, but computational complexity increases

Engineering Contradiction:
Improvedesign productivityVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The software divides the complex task of clock gating generation into manageable segments by analyzing the circuit design model, netlist, and timing constraints separately, then integrating the results to produce the final gating logic

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes parameters by accepting different input formats (circuit design model, netlist, timing constraints) and transforming them into optimized clock gating logic, adapting to various design scenarios and constraints

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8219946B1Method for clock gating circuits
Publication Date: 2012.07.10 XILINX INC
  • US8219946B1 patent drawing
  • US8219946B1 patent drawing
  • US8219946B1 patent drawing

AI summary

In one embodiment, a method is provided for generating clock gating circuitry for a circuit design model. A Boolean expression of path sensitization is determined for each gate element in the netlist of a circuit design. For each gate element, a conjunction of the Boolean expression of the path sensitization and a Boolean expression of a disjunction of the observability conditions of one or more subsequent gates is determined to produce an intermediate Boolean expression. Intermediate Boolean expressions are backward retimed to produce the respective Boolean expression of the observability conditions of the each gate element. Clock gating circuits that implement the respective Boolean expression of the observability conditions of one or more of the plurality of interconnected gate elements are generated and incorporated into the circuit design model.