IP Library Granted Patent US 12,524,596
Granted Patent B2
US 12,524,596 · App. 17/900,508 · Granted Jan 13, 2026

Clock domain crossing verification with setup assistance

Inventors: Kurt Takara (Fremont, CA); Sulabh Kumar Khare (Noida, IN); Kaushal Viral Shah (Khamgaon, IN); Debraj Ganguly (Kadamtala, IN)
Assignee: Siemens Industry Software Inc.
G06F30/396G06F30/392G06F2111/04G06F2117/04G06F2119/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,524,596
App. No.
17/900,508
Granted
Jan 13, 2026
Kind
B2
Abstract

A computing system can perform static verification operations on a circuit design with a first set of design constraints characterizing portions of an electronic device described by the circuit design and identify one or more violations associated with clock domain crossings in the circuit design. The computing system can analyze the circuit design and the first set of the design constraints to determine at least one of the violations associated with the clock domain crossings in the circuit design corresponds to the first set of the design constraints, and generate one or more additional design constraints to integrate into the first set of the design constraints based on the analysis of the circuit design and the first set of the design constraints. The computing system can re-perform the static verification operations on the circuit design based on a second set of the design constraints that includes the additional design constraints.

Claims (27)

1 . A method comprising:

identifying, by a computing system, one or more violations associated with clock domain crossings in a circuit design based, at least in part, on static verification operations performed on the circuit design with a set of design constraints characterizing portions of an electronic device described by the circuit design;

analyzing, by the computing system, the circuit design and the set of the design constraints by grouping clock signals in the circuit design into multiple asynchronous clock groups or by grouping the clock domain crossings in the circuit design based on a commonality of transmission registers for the clock domain crossings to determine at least one of the violations associated with the clock domain crossings in the circuit design corresponds to the set of the design constraints; and

generating, by the computing system, one or more additional design constraints to integrate into the set of the design constraints based on the asynchronous clock groups and the violations associated with the clock domain crossings in the circuit design or a presence of synchronizing circuitry utilized in the clock domain crossings for the groups and the violations associated with the clock domain crossings in the circuit design.

2 . The method of claim 1 , further comprising performing, by the computing system, static verification operations on the circuit design based, at least in part, on the set of the design constraints having been integrated with the additional design constraints.

3 . The method of claim 1 , further comprising consolidating the violations associated with at least one of the groups of the clock domain crossings into a single violation.

4 . The method of claim 1 , wherein analyzing the circuit design and the set of the design constraints further comprises analyzing input signals received by a reception register of a clock domain crossing, and wherein generating the one or more additional design constraints to report the input signals as a possible enable signal or to gray-code the input signals as a synchronized convergence.

5 . The method of claim 1 , wherein analyzing the circuit design and the set of the design constraints further comprises analyzing combinational logic driving synchronization circuitry in the clock domain crossing paths, and wherein generating the one or more additional design constraints based on which clock domain associated with the combinational logic.

6 . A system comprising:

a memory device configured to store machine-readable instructions; and

a computing system including one or more processing devices, in response to executing the machine-readable instructions, configured to:

identify one or more violations associated with clock domain crossings in a circuit design based, at least in part, on static verification operations performed on the circuit design with a set of design constraints characterizing portions of an electronic device described by the circuit design;

analyze the circuit design and the set of the design constraints by grouping clock signals in the circuit design into multiple asynchronous clock groups or by grouping the clock domain crossings in the circuit design based on a commonality of transmission registers for the clock domain crossings to determine at least one of the violations associated with the clock domain crossings in the circuit design corresponds to the set of the design constraints; and

generate one or more additional design constraints to integrate into the set of the design constraints based on the asynchronous clock groups and the violations associated with the clock domain crossings in the circuit design or a presence of synchronizing circuitry utilized in the clock domain crossings for the groups and the violations associated with the clock domain crossings in the circuit design.

7 . The system of claim 6 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to perform static verification operations on the circuit design based, at least in part, on the set of the design constraints having been integrated with the additional design constraints.

8 . The system of claim 6 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to consolidate the violations associated with at least one of the groups of the clock domain crossings into a single violation.

9 . The system of claim 6 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to:

analyze the circuit design and the set of the design constraints by analyzing input signals received by a reception register of a clock domain crossing, and

generate the one or more additional design constraints to report the input signals as a possible enable signal or to gray-code the input signals as a synchronized convergence.

10 . An apparatus comprising at least one computer-readable memory device storing instructions configured to cause one or more processing devices to perform operations comprising:

identifying, one or more violations associated with clock domain crossings in a circuit design based, at least in part, on static verification operations performed on the circuit design with a set of design constraints characterizing portions of an electronic device described by the circuit design;

analyzing the circuit design and the set of the design constraints by grouping clock signals in the circuit design into multiple asynchronous clock groups or by grouping the clock domain crossings in the circuit design based on a commonality of transmission registers for the clock domain crossings to determine at least one of the violations associated with the clock domain crossings in the circuit design corresponds to the set of the design constraints; and

generating one or more additional design constraints to integrate into the set of the design constraints based on the asynchronous clock groups and the violations associated with the clock domain crossings in the circuit design or a presence of synchronizing circuitry utilized in the clock domain crossings for the groups and the violations associated with the clock domain crossings in the circuit design.

11 . The apparatus of claim 10 , wherein the instructions are configured to cause the one or more processing devices to perform operations further comprising performing static verification operations on the circuit design based, at least in part, on the set of the design constraints having been integrated with the additional design constraints.

12 . The apparatus of claim 10 , wherein the instructions are configured to cause the one or more processing devices to perform operations further comprising consolidating the violations associated with at least one of the groups of the clock domain crossings into a single violation.

13 . The apparatus of claim 12 , wherein analyzing the circuit design and the set of the design constraints further comprises analyzing input signals received by a reception register of a clock domain crossing, and wherein generating the one or more additional design constraints to report the input signals as a possible enable signal or to gray-code the input signals as a synchronized convergence.

14 . The apparatus of claim 10 , wherein analyzing the circuit design and the set of the design constraints further comprises analyzing combinational logic driving synchronization circuitry in the clock domain crossing paths, and wherein generating the one or more additional design constraints based on which clock domain associated with the combinational logic.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: TAKARA, KURT
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 064905/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: KHARE, SULABH KUMAR; SHAH, KAUSHAL VIRAL; GANGULY, DEBRAJ
To: SIEMENS EDA (INDIA) PRIVATE LIMITED
Reel/Frame 064905/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: SIEMENS EDA (INDIA) PRIVATE LIMITED
To: SIEMENS INDUSTRY SOFTWARE LIMITED
Reel/Frame 064906/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2023
From: SIEMENS INDUSTRY SOFTWARE LIMITED
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 064906/0289 →
MERGER AND CHANGE OF NAME Recorded Sep 14, 2023
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 064906/0458 →
Continuity (1)
Related Publication 20240070370A1 · Feb 29, 2024
References Cited (20)
US 8209648B1 · Ku · 2012 [cited by examiner]
US 8631364B1 · Dobkin · 2014 [cited by examiner]
US 10204201B1 · Loh · 2019 [cited by examiner]
US 10935595B1 · Vimjam · 2021 [cited by examiner]
US 20050273741A1 · Lahner · 2005 [cited by examiner]
US 20100242003A1 · Kwok · 2010 [cited by examiner]
US 20120151425A1 · Appleton · 2012 [cited by examiner]
US 20120180015A1 · Mneimneh · 2012 [cited by examiner]
US 20150026654A1 · Kwok · 2015 [cited by examiner]
US 20150347652A1 · DiLullo · 2015 [cited by examiner]
US 20160259879A1 · Ganai · 2016 [cited by examiner]
US 20170091361A1 · Mautner · 2017 [cited by examiner]
US 20200257332A1 · Sawada · 2020 [cited by examiner]
US 20200401749A1 · Malani · 2020 [cited by examiner]
US 20210209279A1 · Malani · 2021 [cited by examiner]
US 20210350053A1 · Ahuja · 2021 [cited by examiner]
US 20220327266A1 · Narwade · 2022 [cited by examiner]
US 20220327269A1 · Seo · 2022 [cited by examiner]
US 20230205969A1 · Surendran · 2023 [cited by examiner]
US 20230244841A1 · Surendran · 2023 [cited by examiner]