IP Library Granted Patent US 10,534,880
Granted Patent B2
US 10,534,880 · App. 15/239,720 · Granted Jan 14, 2020

Acceleration of voltage propagation based on local iteration

Inventors: Mark E. Hofmann (Portland, OR); Sridhar Srinivasan (Tualatin, OR); Gregory P. Hackney (West Linn, OR)
Assignee: Mentor Graphics Corporation
G06F17/5036
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,534,880
App. No.
15/239,720
Granted
Jan 14, 2020
Kind
B2
Abstract

Aspects of the disclosed technology relate to techniques of voltage propagation-based reliability verification. Voltage values are propagated across components of a circuit design through global iterations until voltage values on nets of the circuit design are not changed from one global iteration to a next global iteration or one preset condition is met. At least one of the global iterations comprises local iterations for a subcircuit of the circuit design. The local iterations suspend when voltage values on nets of the subcircuit are not changed from one local iteration to a next local iteration or one preset condition is met. The propagated voltage values are then analyzed to detect problems in the circuit design.

Claims (42)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, cause a computing system to:

propagate voltage values across components of a circuit design through global iterations until voltage values on nets of the circuit design are not changed from one global iteration to a next global iteration or a maximum number of global iterations are performed, wherein propagation of the voltage values across components of the circuit design through global iterations comprises:

inserting local iterations for a subcircuit of the circuit design into one of the global iterations, the local iterations comprising multiple iterations of voltage propagation for the subcircuit specifically without propagating voltages values for other circuits in the circuit design during the local iterations, and the local iterations suspending when voltage values on nets of the subcircuit are not changed from one local iteration to a next local iteration;

performing the local iterations for a particular instance of the subcircuit in the circuit design to determine resulting voltage values for nets of the particular instance of the subcircuit; and

setting voltage values of nets of other instances of the subcircuit in the circuit design that have same power supply and input port voltage values to resulting voltage values determined from the local iterations performed for the particular instance of the subcircuit; and

analyze the propagated voltage values to detect problems in the circuit design; and

report the detected problems in the circuit design.

2. The one or more non-transitory computer-readable media recited in claim 1 , wherein the local iterations are performed for selected subcircuits of the circuit design.

3. The one or more non-transitory computer-readable media recited in claim 1 , wherein the detected problems in the circuit design comprise electrical overstress.

4. The one or more non-transitory computer-readable media recited in claim 1 , wherein the propagation of the voltage values through the global iterations and voltage propagation for the local iterations are performed in a vectorless mode in which:

the voltage values for any nets in the circuit design connected to a power supply or ground rail is defined but other nets in the circuit design are undefined; and

the voltage values are propagated across n-type and p-type channels of transistors in the circuit design.

5. The one or more non-transitory computer-readable media recited in claim 4 , wherein the propagation of the voltage values through the global iterations and voltage propagation for the local iterations are based on at least one rule assuming transistors are “on” by default.

6. The one or more non-transitory computer-readable media recited in claim 1 , wherein the circuit design is in a hierarchical expression, each of the global iterations comprises propagation of voltage values up and down a circuit hierarchy of the hierarchical expression, and the subcircuit is one of a root cell, leaf cells and/or composition cells.

7. A method, executed by at least one processor of a computer, comprising:

propagating voltage values across components of a circuit design through global iterations until voltage values on nets of the circuit design are not changed from one global iteration to a next global iteration or a maximum number of global iterations are performed, wherein propagating the voltage values across components of the circuit design through global iterations comprises:

inserting local iterations for a subcircuit of the circuit design into one of the global iterations, the local iterations comprising multiple iterations of voltage propagation for the subcircuit specifically without propagating voltages values for other circuits in the circuit design during the local iterations, and the local iterations suspending when voltage values on nets of the subcircuit are not changed from one local iteration to a next local iteration;

performing the local iterations for a particular instance of the subcircuit in the circuit design to determine resulting voltage values for nets of the particular instance of the subcircuit; and

setting voltage values of nets of other instances of the subcircuit in the circuit design that have same power supply and input port voltage values to resulting voltage values determined from the local iterations performed for the particular instance of the subcircuit; and

analyzing the propagated voltage values to detect problems in the circuit design; and

reporting the detected problems in the circuit design.

8. The method recited in claim 7 , comprising performing the local iterations for all subcircuits of the circuit design.

9. The method recited in claim 7 , wherein the detected problems in the circuit design comprise electrical overstress.

10. The method recited in claim 7 , wherein propagating the voltage values through the global iterations and the voltage propagation for the local iterations are performed in a vectorless mode, in which:

the voltage values for any nets in the circuit design connected to a power supply or ground rail is defined but other nets in the circuit design are undefined; and

the voltage values are propagated across n-type and p-type channels of transistors in the circuit design.

11. The method recited in claim 10 , wherein propagating the voltage values through the global iterations and the voltage propagation for the local iterations are based on at least one rule assuming transistors are “on” by default.

12. The method recited in claim 7 , wherein the circuit design is in a hierarchical expression, each of the global iterations comprises propagating voltage values up and down a circuit hierarchy of the hierarchical expression, and the subcircuit is one of a root cell, leaf cells and/or composition cells.

13. A system comprising:

one or more processors, the one or more processors configured to perform a method, the method comprising:

propagating voltage values across components of a circuit design through global iterations until voltage values on nets of the circuit design are not changed from one global iteration to a next global iteration or a maximum number of global iterations are performed, wherein propagating the voltage values across components of the circuit design through global iterations comprises:

inserting local iterations for a subcircuit of the circuit design into one of the global iterations, the local iterations comprising multiple iterations of voltage propagation for the subcircuit specifically without propagating voltages values for other circuits in the circuit design during the local iterations, and the local iterations suspending when voltage values on nets of the subcircuit are not changed from one local iteration to a next local iteration;

performing the local iterations for a particular instance of the subcircuit in the circuit design to determine resulting voltage values for nets of the particular instance of the subcircuit; and

setting voltage values of nets of other instances of the subcircuit in the circuit design that have same power supply and input port voltage values to resulting voltage values determined from the local iterations performed for the particular instance of the subcircuit; and

analyzing the propagated voltage values to detect problems in the circuit design; and

reporting the detected problems in the circuit design.

14. The system recited in claim 13 , wherein the local iterations are performed for predetermined subcircuits of the circuit design or all subcircuits of the circuit design.

15. The system recited in claim 13 , wherein the detected problems in the circuit design comprise electrical overstress.

16. The system recited in claim 13 , wherein propagating the voltage values through the global iterations and the voltage propagation for the local iterations are performed in a vectorless mode, in which:

the voltage values for any nets in the circuit design connected to a power supply or ground rail is defined but other nets in the circuit design are undefined; and

the voltage values are propagated across n-type and p-type channels of transistors in the circuit design.

17. The system recited in claim 13 , wherein the circuit design is in a hierarchical expression, each of the global iterations comprises propagating voltage values up and down a circuit hierarchy of the hierarchical expression, and the subcircuit is one of a root cell, leaf cells and/or composition cells.

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 Aug 19, 2016
From: HOFMANN, MARK E.; SRINIVASAN, SRIDHAR; HACKNEY, GREGORY P.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 039480/0829 →
Continuity (1)
Related Publication 20180052950A1 · Feb 22, 2018