Formal Gated Clock Conversion for FPGA Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Field Programmable Gate Array (FPGA) synthesis for ASIC prototyping faces challenges in minimizing the number of unique clock signals, as hardware designers often create numerous unique clock signals due to embedded clock gating, which is not optimized for FPGA resources.

Innovation Solution

The method involves formal gated clock conversion, where a gated clock function is analyzed to separate enable functions from clock functions, allowing the derivation of a primary clock signal and enable signals, which are then attached to dedicated pins, reducing the number of unique clock signals through structural and functional analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hardware designers create numerous unique clock signals with embedded clock gating for ASIC designs, then the design can achieve fine-grained control and power management, but the number of unique clock signals increases beyond FPGA capabilities

Engineering Contradiction:
Improveclock control flexibilityVSAvoidnumber of unique clock signals
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the clock control function by separating the clock signal generation from the enable control. Instead of creating multiple unique clock signals, the system uses a single primary clock signal combined with separate enable signals to achieve fine-grained control. This segmentation allows the clock and enable functions to be independently optimized and managed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the enable function from the gated clock function. By taking out the enable control logic from the clock generation, the system can use a single primary clock signal and attach enable signals to dedicated enable pins of target registers. This extraction reduces the number of unique clock signals while preserving the fine-grained control capability through separate enable mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

2Device complexity

If FPGA synthesis supports a limited number of unique clock signals, then the device complexity is reduced and resources are optimized, but the ability to support complex clocking schemes is limited

Engineering Contradiction:
Improveclock signal managementVSAvoidclocking scheme support
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal clocking approach where a single primary clock signal serves multiple functions through combination with enable signals. The same primary clock can be used to clock different registers and memory elements, with the enable signals providing the necessary control for each component. This multi-functionality allows the limited FPGA clock resources to support complex clocking schemes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces enable signals as intermediary components between the primary clock signal and the target registers. These enable signals act as mediators that control when the clock signal is active for each register, allowing fine-grained control without requiring multiple unique clock signals. The enable signals bridge the gap between the limited clock resources and the complex clocking requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If gated clock conversion separates enable functions from clock functions, then the number of unique clock signals is minimized, but the complexity of the conversion process increases

Engineering Contradiction:
Improvenumber of unique clock signalsVSAvoidgated clock conversion process
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of the gated clock functions during the synthesis process. By analyzing the enable functions and clock functions separately in advance, the system can identify opportunities for optimization and automatically generate the appropriate enable signals and clock assignments. This preliminary action simplifies the overall conversion process by planning the optimization strategy before implementation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11526641B2Formal gated clock conversion for field programmable gate array (FPGA) synthesis
Publication Date: 2022.12.13 SYNOPSYS INC
  • US11526641B2 patent drawing
  • US11526641B2 patent drawing
  • US11526641B2 patent drawing

AI summary

Some aspects of this disclosure are directed to implementing formal gated clock conversion for field programmable gate array (FPGA) synthesis. For example, some aspects of this disclosure relate to a method, including receiving network representation of a circuit design, determining a gated clock function corresponding to a target component of the network representation, and constructing an edge function based at least in part on the gated clock function. The method further includes performing a minimization of the edge function, and in response to a determination that the minimization of the edge function comprises a first term and a second term, providing a clock enable signal to the target component based on the first term, and providing a clock signal to the target component based on the second term.