IP Library Granted Patent US 10,635,767
Granted Patent B2
US 10,635,767 · App. 15/885,117 · Granted Apr 28, 2020

Glitch detection at clock domain crossing

Inventors: Sulabh Kumar Khare (Noida, IN); Ashish Hari (Noida, IN)
Assignee: Mentor Graphics Corporation
G06F17/5031G06F17/504G06F2217/02G06F2217/84
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 10,635,767
App. No.
15/885,117
Granted
Apr 28, 2020
Kind
B2
Abstract

This application discloses a computing system to perform one or more static checks on clock domain crossings in a circuit design to detect combinational logic configured to generate output signals having glitches that cross clock domains in a circuit design. The computing system can identify the combinational logic is configured to generate the output signal based, at least in part, on an input signal and an inversion of the input signal. The computing system can identify conditions that, when satisfied, allow the combinational logic to generate the output signal based, at least in part, on the input signal and the inversion of the input signal, and generate a glitch expression based, at least in part, on the identified conditions. The computing system can determine the combinational logic is configured to generate at least one glitch in the output signal based, at least in part, on the glitch expression.

Claims (36)

1. A method comprising:

identifying, by a computing system, combinational logic in a circuit design, which is configured to generate an output signal based, at least in part, on an input signal received by the combinational logic and an inversion of the input signal, wherein the output signal generated by the combinational logic is configured to cross between clock domains in the circuit design;

generating, by the computing system, a glitch expression based, at least in part, on a configuration of the combinational logic, wherein the glitch expression includes conditions, the satisfaction of which causes the combinational logic to generate the output signal using both the input signal and the inversion of the input signal; and

determining, by the computing system, the combinational logic is configured to generate at least one glitch in the output signal based, at least in part, on the glitch expression.

2. The method of claim 1 , wherein generating the glitch expression further comprises identifying the conditions, the satisfaction of which causes the combinational logic to generate the output signal using both the input signal and the inversion of the input signal, wherein generating the glitch expression is based, at least in part, on the identified conditions.

3. The method of claim 2 , wherein determining the combinational logic is configured to generate at least one glitch in the output signal further comprises:

performing formal verification operations on the glitch expression; and

determining the combinational logic is configured to generate at least one glitch in the output signal when the formal verification operations indicate the conditions in the glitch expression are capable of being satisfied.

4. The method of claim 1 , further comprising generating, by the computing system, a cover expression representing additional logic that, when combined to the combinational logic, eliminates glitches introduced by the combinational logic in the output signal.

5. The method of claim 4 , further comprising modifying, by the computing system, the circuit design to combine the additional logic with the combinational logic.

6. The method of claim 1 , wherein the glitch in the output signal is an unintended value-level in the output signal due to differences in signal propagation delay through the combinational logic.

7. 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 combinational logic in a circuit design, which is configured to generate an output signal based, at least in part, on an input signal received by the combinational logic and an inversion of the input signal, wherein the output signal generated by the combinational logic is configured to cross between clock domains in the circuit design;

generate a glitch expression based, at least in part, on a configuration of the combinational logic, wherein the glitch expression includes conditions, the satisfaction of which causes the combinational logic to generate the output signal using both the input signal and the inversion of the input signal; and

determine the combinational logic is configured to generate at least one glitch in the output signal based, at least in part, on the glitch expression.

8. The system of claim 7 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to generate the glitch expression by:

identifying the conditions, the satisfaction of which causes the combinational logic to generate the output signal using both the input signal and the inversion of the input signal; and

generating the glitch expression based, at least in part, on the identified conditions.

9. The system of claim 8 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to determine the combinational logic is configured to generate at least one glitch in the output signal by:

performing formal verification operations on the glitch expression; and

determining the combinational logic is configured to generate at least one glitch in the output signal when the formal verification operations indicate the conditions in the glitch expression are capable of being satisfied.

10. The system of claim 7 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to generate a cover expression representing additional logic that, when combined to the combinational logic, eliminates glitches introduced by the combinational logic in the output signal.

11. The system of claim 10 , wherein the one or more processing devices, in response to executing the machine-readable instructions, are further configured to modify the circuit design to combine the additional logic with the combinational logic.

12. 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 combinational logic in a circuit design, which is configured to generate an output signal based, at least in part, on an input signal received by the combinational logic and an inversion of the input signal, wherein the output signal generated by the combinational logic is configured to cross between clock domains in the circuit design;

generating a glitch expression based, at least in part, on a configuration of the combinational logic, wherein the glitch expression includes conditions, the satisfaction of which causes the combinational logic to generate the output signal using both the input signal and the inversion of the input signal; and

determining the combinational logic is configured to generate at least one glitch in the output signal based, at least in part, on the glitch expression.

13. The apparatus of claim 12 , wherein generating the glitch expression further comprises identifying the conditions, the satisfaction of which causes the combinational logic to generate the output signal using both the input signal and the inversion of the input signal, wherein generating the glitch expression is based, at least in part, on the identified conditions.

14. The apparatus of claim 13 , wherein determining the combinational logic is configured to generate at least one glitch in the output signal further comprises:

performing formal verification operations on the glitch expression; and

determining the combinational logic is configured to generate at least one glitch in the output signal when the formal verification operations indicate the conditions in the glitch expression are capable of being satisfied.

15. The apparatus of claim 12 , wherein the instructions are configured to cause the one or more processing devices to perform operations further comprising generating a cover expression representing additional logic that, when combined to the combinational logic, eliminates glitches introduced by the combinational logic in the output signal.

16. The apparatus of claim 15 , wherein the instructions are configured to cause the one or more processing devices to perform operations further comprising modifying the circuit design to combine the additional logic with the combinational logic.

17. The apparatus of claim 12 , wherein the glitch in the output signal is an unintended value-level in the output signal due to differences in signal propagation delay through the combinational logic.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 28, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056688/0930 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: KHARE, SULABH KUMAR; HARI, ASHISH
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 046047/0881 →
Priority Claims (1)
IN 201741003545 · Jan 31, 2017 · national
Continuity (1)
Related Publication 20180225400A1 · Aug 9, 2018