IP Library Granted Patent US 10,318,691
Granted Patent B2
US 10,318,691 · App. 15/628,307 · Granted Jun 11, 2019

Timing analysis and optimization of asynchronous circuit designs

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,318,691
App. No.
15/628,307
Granted
Jun 11, 2019
Kind
B2
Abstract

Methods and systems for timing analysis and optimization of asynchronous circuit designs are disclosed. Registration stages are placed between combinational logic circuits. For timing purposes, the registration stages are modified to have a duplicate set of pins. New paths are formed in the circuit for the purposes of timing analysis. The paths are analyzable by timing tools. Once the timing analysis is complete, the paths are reverted to original paths, and new devices are selected for the circuit design based on results of the timing analysis. An updated design is sent for manufacture, based on the timing analysis and optimization of the asynchronous circuit.

Claims (46)

1. A computer-implemented method for timing optimization comprising:

obtaining a description of an asynchronous circuit wherein the asynchronous circuit includes a timing loop;

identifying a plurality of registration stages within the asynchronous circuit;

creating a new timing cell library comprising cell models for the plurality of registration stages wherein the new timing cell library has duplicate timing pins of normal pins on registration cells;

connecting from a first registration stage, from the plurality of registration stages, through a first combinational delay path to a duplicate input timing pin on a second registration stage, from the plurality of registration stages;

disconnecting a connection from the first combinational delay path to a normal timing input pin on the second registration stage; and

performing timing analysis on a path through the first registration stage through the first combinational delay path to the duplicate input timing pin on the second registration stage.

2. The method of claim 1 wherein the connecting includes connecting a driving node from a last stage of the first combinational delay path to the duplicate input timing pin on the second registration stage.

3. The method of claim 1 wherein the new timing cell library comprises cells from an original cell library, in addition to the registration cells with the duplicate timing pins of the normal pins.

4. The method of claim 1 further comprising obtaining a timing cell library wherein the timing cell library is used in generation of the new timing cell library.

5. The method of claim 1 wherein the creating the new timing cell library includes modifying a .lib file and a .lef file that describe connections and timings for cell models in the new timing cell library.

6. The method of claim 1 further comprising optimizing timing on the path through the first registration stage through the first combinational delay path to the duplicate input timing pin on the second registration stage.

7. The method of claim 1 wherein the connecting includes a connection for timing analysis purposes only.

8. The method of claim 1 further comprising connecting from the second registration stage through a second combinational delay path to a duplicate input timing pin on a third registration stage.

9. The method of claim 8 further comprising disconnecting a connection from the second combinational delay path to a normal timing input pin on the third registration stage.

10. The method of claim 9 further comprising performing timing analysis on a path through the second registration stage through the second combinational delay path to the duplicate input timing pin on the third registration stage.

11. The method of claim 10 further comprising optimizing timing on the path through the first registration stage through the first combinational delay path to the duplicate input timing pin on the second registration stage and through the second registration stage through the second combinational delay path to the duplicate input timing pin on the third registration stage.

12. The method of claim 11 wherein the optimizing timing includes incorporating maximum slew constraints for a duplicate input timing pin to the first registration stage.

13. The method of claim 12 wherein the optimizing timing includes incorporating maximum slew constraints for the duplicate input timing pin to the second registration stage.

14. The method of claim 11 further comprising setting a slew rate for the normal timing input pin to the second registration stage corresponding to a slew rate determined on the duplicate input timing pin on the second registration stage.

15. The method of claim 11 further comprising determining slack timings for arrival to the duplicate input timing pin on the second registration stage and to the duplicate input timing pin on the third registration stage.

16. The method of claim 15 further comprising optimizing the slack timings for arrival to the duplicate input timing pin on the second registration stage and to the duplicate input timing pin on the third registration stage.

17. The method of claim 16 wherein the optimizing the slack timings includes limiting a positive slack timing.

18. The method of claim 1 further comprising including loading on a duplicate output timing pin for the second registration stage corresponding to loading encountered by a normal output pin for the second registration stage.

19. The method of claim 1 wherein a slew rate for an input to the first registration stage corresponds to a slew rate as seen on a duplicate input pin for the first registration stage.

20. The method of claim 1 further comprising reconnecting the first registration stage through the first combinational delay path to a normal input pin on the second registration stage in accordance with an original set of connections, after optimization of the first registration stage through the first combinational delay path to the second registration stage.

21. The method of claim 20 further comprising mapping back from registration cells, with duplicate timing pins, to registration cells without duplicate timings, wherein the registration cells without duplicate timing pins correspond to drive capabilities and timings of the registration cells with duplicate timing pins, after timing analysis, as part of the reconnecting.

22. The method of claim 1 further comprising identifying a critical timing path wherein the critical timing path includes the first registration stage through the first combinational delay path to the second registration stage.

23. The method of claim 22 further comprising incorporating maximum slew constraints for an input to the first registration stage.

24. The method of claim 1 further comprising optimizing selection of components within the asynchronous circuit to achieve preferred timing characteristics of the asynchronous circuit.

25. A computer program product embodied in a non-transitory computer readable medium for timing optimization, the computer program product comprising code which causes one or more processors to perform operations of:

obtaining a description of an asynchronous circuit wherein the asynchronous circuit includes a timing loop;

identifying a plurality of registration stages within the asynchronous circuit;

creating a new timing cell library comprising cell models for the plurality of registration stages wherein the new timing cell library has duplicate timing pins of normal pins on each cell;

connecting from a first registration stage, from the plurality of registration stages, through a first combinational delay path to a duplicate input timing pin on a second registration stage, from the plurality of registration stages;

disconnecting a connection from the first combinational delay path to a normal timing input pin on the second registration stage; and

performing timing analysis on a path through the first registration stage through the first combinational delay path to the duplicate input timing pin.

26. A computer system for timing optimization comprising:

a memory which stores instructions;

one or more processors coupled to the memory wherein the one or more processors, when executing the instructions which are store, are configured to:

obtain a description of an asynchronous circuit wherein the asynchronous circuit includes a timing loop;

identify a plurality of registration stages within the asynchronous circuit;

create a new timing cell library comprising cell models for the plurality of registration stages wherein the new timing cell library has duplicate timing pins of normal pins on registration cells;

connect from a first registration stage, from the plurality of registration stages, through a first combinational delay path to a duplicate input timing pin on a second registration stage, from the plurality of registration stages;

disconnect a connection from the first combinational delay path to a normal timing input pin on the second registration stage; and

perform timing analysis on a path through the first registration stage through the first combinational delay path to the duplicate input timing pin on the second registration stage.

Assignments (6)
CHANGE OF NAME Recorded May 8, 2024
From: WAVE COMPUTING, INC.
To: MIPS HOLDING, INC.
Reel/Frame 067355/0324 →
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2018
From: SARRAZIN, PHILIPPE FRANCIS; CARPENTER, ROGER DAVID
To: WAVE COMPUTING, INC.
Reel/Frame 045633/0327 →