IP Library Granted Patent US 8,566,765
Granted Patent B1
US 8,566,765 · App. 12/871,734 · Granted Oct 22, 2013

In-hierarchy circuit analysis and modification

Inventor: Ping-San Tzeng (Fremont, CA)
Assignee: Atoptech, Inc.
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 8,566,765
App. No.
12/871,734
Granted
Oct 22, 2013
Kind
B1
Abstract

Modifying a hierarchical circuit design includes accessing hierarchical circuit data in the hierarchical circuit design; performing timing analysis and modifications on a selected portion of the hierarchical circuit data to achieve inter-block timing closure; and performing timing analysis and modifications on the hierarchical circuit data, while accounting for a modification made on the selected portion of the hierarchical circuit data, to achieve intra-block timing closure.

Claims (80)

1. A method of modifying a hierarchical circuit design, comprising:

accessing hierarchical circuit data in the hierarchical circuit design;

performing timing analysis using one or more processors, on a selected portion of the hierarchical circuit data to determine whether inter-block timing closure is achieved;

in the event that inter-block timing closure is not achieved, performing a first set of one or more fixes to logic, component size, or both on the selected portion of the hierarchical circuit data to achieve inter-block timing closure;

performing timing analysis on the modified hierarchical circuit data that includes the first set of one or more fixes to determine whether intra-block timing closure is achieved; and

in the event that intra-block timing closure is not achieved on the modified hierarchical circuit data, performing a second set of one or more fixes to logic, component size, or both on the modified hierarchical circuit data to achieve intra-block timing closure.

2. The method of claim 1 , wherein the method is performed with a top level design process.

3. The method of claim 1 , wherein the selected portion of the hierarchical circuit data includes boundary path data.

4. The method of claim 1 , wherein the selected portion of the hierarchical circuit data includes a selected portion of top-level block data and a selected portion of lower-level block data.

5. The method of claim 1 , wherein the selected portion of the hierarchical circuit data includes netlist data.

6. The method of claim 1 , wherein performing the first set of one or more fixes to logic, component size, or both on the selected portion of the hierarchical circuit data includes modifying a netlist associated with the selected portion of the hierarchical circuit data.

7. The method of claim 1 , wherein the timing analysis on the selected portion of the hierarchical circuit data determines whether the selected portion of the hierarchical circuit data meets a timing constraint.

8. The method of claim 7 , wherein the selected portion of the hierarchical circuit data is modified to meet the timing constraint.

9. The method of claim 1 , wherein the selected portion of the hierarchical circuit data includes RC data.

10. The method of claim 1 , wherein the selected portion of the hierarchical circuit data includes RC data, and performing the timing analysis includes combining intra-block RC data and between-block RC data to form boundary RC data.

11. The method of claim 1 , wherein:

the selected portion of the hierarchical circuit data includes boundary path data; and

performing timing analysis on the modified hierarchical circuit data that includes the first set of one or more fixes includes analyzing effects of a modification to the boundary path data on an intra-block path.

12. The method of claim 11 , further comprising determining whether a result of the timing analysis meets an intra-block timing constraint.

13. The method of claim 12 , in the event that the intra-block timing constraint is not met, the method further comprising performing intra-block optimization to find a potential intra-block fix, wherein the optimization accounts for the boundary path data.

14. The method of claim 13 , further comprising performing inter-block timing analysis that takes into account the potential intra-block fix and its effect on the boundary path data.

15. The method of claim 14 , further comprising determining whether the inter-block timing analysis result meets an inter-block timing constraint.

16. The method of claim 15 , further comprising:

in the event that the inter-block timing constraint is met, accepting the intra-block fix; and

in the event that the inter-block timing constraint is not met, repeating intra-block optimization to find another potential intra-block fix.

17. The method of claim 1 , wherein the selected portion of the hierarchical circuit data is stored in low latency memory, and at least some of the hierarchical circuit data that is not selected is swapped into higher latency memory.

18. A system for modifying a hierarchical circuit design, comprising:

a processor configured to execute instructions to:

access hierarchical circuit data in the hierarchical circuit design;

perform timing analysis on a selected portion of the hierarchical circuit data to determine whether inter-block timing closure is achieved;

in the event that inter-block timing closure is not achieved, perform a first set of one or more fixes to logic, component size, or both on the selected portion of the hierarchical circuit data to achieve inter-block timing closure;

perform timing analysis on the modified hierarchical circuit data that includes the first set of one or more fixes to determine whether intra-block timing closure is achieved; and

in the event that intra-block timing closure is not achieved on the modified hierarchical circuit data, perform a second set of one or more fixes to logic, component size, or both on the modified hierarchical circuit data to achieve intra-block timing closure; and

a memory coupled to the processor and configured to provide the processor with the instructions.

19. The system of claim 18 , wherein the selected portion of the hierarchical circuit data includes boundary path data.

20. A computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions, which when executed by a computer, modifies a hierarchical circuit design, the computer instructions comprising:

accessing hierarchical circuit data in the hierarchical circuit design;

performing timing analysis on a selected portion of the hierarchical circuit data to determine whether inter-block timing closure is achieved;

in the event that inter-block timing closure is not achieved, performing a first set of one or more fixes to logic, component size, or both on the selected portion of the hierarchical circuit data to achieve inter-block timing closure;

performing timing analysis on the modified hierarchical circuit data that includes the first set of one or more fixes to determine whether intra-block timing closure is achieved; and

in the event that intra-block timing closure is not achieved on the modified hierarchical circuit data, performing a second set of one or more fixes to logic, component size, or both on the modified hierarchical circuit data to achieve intra-block timing closure.

21. The system of claim 18 , wherein the processor is configured to execute the instructions in a top-level design process.

22. The system of claim 18 , wherein the selected portion of the hierarchical circuit data includes a selected portion of top-level block data and a selected portion of lower-level block data.

23. The system of claim 18 , wherein the selected portion of the hierarchical circuit data includes netlist data.

24. The system of claim 18 , wherein to perform the first set of one or more fixes to logic, component size, or both on the selected portion of the hierarchical circuit data includes to modify a netlist associated with the selected portion of the hierarchical circuit data.

25. The system of claim 18 , wherein the timing analysis on the selected portion of the hierarchical circuit data determines whether the selected portion of the hierarchical circuit data meets a timing constraint.

26. The system of claim 25 , wherein the selected portion of the hierarchical circuit data is modified to meet the timing constraint.

27. The system of claim 18 , wherein the selected portion of the hierarchical circuit data includes RC data.

28. The system of claim 18 , wherein the selected portion of the hierarchical circuit data includes RC data, and to perform the timing analysis includes to combine intra-block RC data and between-block RC data to form boundary RC data.

29. The system of claim 18 , wherein:

the selected portion of the hierarchical circuit data includes boundary path data; and

to perform timing analysis on the modified hierarchical circuit data that includes the first set of one or more fixes includes to analyze effects of a modification to the boundary path data on an intra-block path.

30. The system of claim 29 , wherein the processor is further configured to determine whether a result of the timing analysis meets an intra-block timing constraint.

31. The system of claim 30 , in the event that the intra-block timing constraint is not met, the processor is further configured to perform intra-block optimization to find a potential intra-block fix, wherein the optimization accounts for the boundary path data.

32. The system of claim 31 , wherein the processor is further configured to perform inter-block timing analysis that takes into account the potential intra-block fix and its effect on the boundary path data.

33. The system of claim 32 , wherein the processor is further configured to determine whether the inter-block timing analysis result meets an inter-block timing constraint.

34. The system of claim 33 , wherein the processor is further configured to:

in the event that the inter-block timing constraint is met, accept the intra-block fix; and

in the event that the inter-block timing constraint is not met, repeat intra-block optimization to find another potential intra-block fix.

35. The system of claim 18 , wherein the selected portion of the hierarchical circuit data is stored in low latency memory, and at least some of the hierarchical circuit data that is not selected is swapped into higher latency memory.

36. The computer program product of claim 20 , wherein the computer instructions are executed in a top level design process.

37. The computer program product of claim 20 , wherein the selected portion of the hierarchical circuit data includes boundary path data.

38. The computer program product of claim 20 , wherein the selected portion of the hierarchical circuit data includes a selected portion of top-level block data and a selected portion of lower-level block data.

39. The computer program product of claim 20 , wherein the selected portion of the hierarchical circuit data includes netlist data.

40. The computer program product of claim 20 , wherein performing the first set of one or more fixes to logic, component size, or both on the selected portion of the hierarchical circuit data includes modifying a netlist associated with the selected portion of the hierarchical circuit data.

41. The computer program product of claim 20 , wherein the timing analysis on the selected portion of the hierarchical circuit data determines whether the selected portion of the hierarchical circuit data meets a timing constraint.

42. The computer program product of claim 41 , wherein the selected portion of the hierarchical circuit data is modified to meet the timing constraint.

43. The computer program product of claim 20 , wherein the selected portion of the hierarchical circuit data includes RC data.

44. The computer program product of claim 20 , wherein the selected portion of the hierarchical circuit data includes RC data, and performing the timing analysis includes combining intra-block RC data and between-block RC data to form boundary RC data.

45. The computer program product of claim 20 , wherein:

the selected portion of the hierarchical circuit data includes boundary path data; and

performing timing analysis on the modified hierarchical circuit data that includes the first set of one or more fixes includes analyzing effects of a modification to the boundary path data on an intra-block path.

46. The computer program product of claim 45 , further comprising computer instructions for determining whether a result of the timing analysis meets an intra-block timing constraint.

47. The computer program product of claim 46 , in the event that the intra-block timing constraint is not met, the computer program product further comprising computer instructions for performing intra-block optimization to find a potential intra-block fix, wherein the optimization accounts for the boundary path data.

48. The computer program product of claim 47 , further comprising computer instructions for performing inter-block timing analysis that takes into account the potential intra-block fix and its effect on the boundary path data.

49. The computer program product of claim 48 , further comprising computer instructions for determining whether the inter-block timing analysis result meets an inter-block timing constraint.

50. The computer program product of claim 49 , further comprising computer instructions for:

in the event that the inter-block timing constraint is met, accepting the intra-block fix; and

in the event that the inter-block timing constraint is not met, repeating intra-block optimization to find another potential intra-block fix.

51. The computer program product of claim 20 , wherein the selected portion of the hierarchical circuit data is stored in low latency memory, and at least some of the hierarchical circuit data that is not selected is swapped into higher latency memory.

Assignments (5)
MERGER AND CHANGE OF NAME Recorded Dec 2, 2020
From: AVATAR INTEGRATED SYSTEMS, INC.; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 054514/0076 →
RELEASE OF SECURITY INTEREST Recorded Aug 21, 2020
From: MENTOR GRAPHICS CORPORATION
To: AVATAR INTEGRATED SYSTEMS, INC.
Reel/Frame 053558/0632 →
SECURITY INTEREST Recorded Jul 16, 2020
From: AVATAR INTEGRATED SYSTEMS, INC.
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 053224/0268 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: ATOPTECH, INC.
To: AVATAR INTEGRATED SYSTEMS, INC.
Reel/Frame 042751/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2010
From: TZENG, PING-SAN
To: ATOPTECH, INC.
Reel/Frame 025128/0272 →