In one embodiment, the invention is a method. The method includes extracting parameters of a set of domino logic circuits. The method also includes simulating each domino logic circuit of the set of domino logic circuits. Also, the method includes reporting results of the simulation.
|
4. A method, comprising:
scheduling a set of domino logic circuits into an ordered list, the ordered list positioning all domino logic circuits of the set of domino logic circuits feeding into an input of another domino logic circuit of the set of domino logic circuits before a position of the another domino logic circuit in the ordered list; simulating each domino logic circuit according to the ordered list; and determining whether any of the domino logic circuits is likely to generate an erroneous output.
1. A method comprising:
extracting parameters of a set of domino logic circuits, each domino logic circuit of the set of domino logic circuits having inputs and an output; simulating each domino logic circuit of the set of domino logic circuits, each domino logic circuit simulated after any domino logic circuit feeding into at least one of the inputs of the domino logic circuit has been simulated; and reporting results of the simulating indicating whether any of the domino logic circuits is likely to generate an erroneous output.
10. A machine readable medium embodying instructions which, when executed by a processor, cause the processor to perform a method, the method comprising:
scheduling a set of domino logic circuits into an ordered list, the ordered list positioning all domino logic circuits of the set of domino logic circuits feeding into an input of another domino logic circuit of the set of domino logic circuits before a position of the another domino logic circuit in the ordered list; and simulating each domino logic circuit according to the ordered list; and determining whether any of the domino logic circuits is likely to generate an erroneous output.
18. An apparatus comprising:
means for extracting parameters for each domino logic circuit of a set of domino logic circuits; means for scheduling the set of domino logic circuits into an ordered list, the ordered list positioning all domino logic circuits of the set of domino logic circuits feeding into an input of another domino logic circuit of the set of domino logic circuits before a position of the another domino logic circuit in the ordered list; means for simulating each domino logic circuit according to the ordered list means for reporting results of the means for simulating, the results indicating whether any of the domino logic circuits is likely to generate an erroneous output.
15. A system comprising:
a processor; a memory controller coupled to the processor; a memory coupled to the memory controller; wherein the processor executes instructions to perform the method of: scheduling a set of domino logic circuits into an ordered list, the ordered list positioning all domino logic circuits of the set of domino logic circuits feeding into an input of another domino logic circuit of the set of domino logic circuits before a position of the another domino logic circuit in the ordered list; simulating each domino logic circuit according to the ordered list; and reporting results of the simulating indicating whether any of the domino logic circuits is likely to generate an erroneous output.
2. The method of
simulating each domino logic circuit includes using the simulated results of circuits coupled to the inputs of the domino logic circuit.
3. The method of
simulating each domino logic circuit includes determining worst-case noise that will be generated by each domino logic circuit.
5. The method of
extracting the parameters for each domino logic circuit of the set of domino logic circuits.
7. The method of
the extracting further including extracting parameters of non-domino circuits; the scheduling further including scheduling non-domino circuits into the ordered list; and the simulating further including simulating non-domino circuits.
8. The method of
the reporting further including reporting results of the simulating non-domino circuits.
9. The method of
simulating each domino logic circuit includes determining worst-case noise that will be generated by each domino logic circuit.
11. The machine readable medium of
extracting the parameters for each domino logic circuit of the set of domino logic circuits.
12. The machine readable medium of
reporting results of the simulating.
13. The machine readable medium of
the extracting further including extracting parameters of non-domino circuits; the scheduling further including scheduling non-domino circuits into the ordered list; and the simulating further including simulating non-domino circuits.
14. The machine readable medium of
simulating each domino logic circuit includes determining worst-case noise that will be generated by each domino logic circuit.
16. The system of
extracting the parameters for each domino logic circuit of the set of domino logic circuits.
17. The system of
simulating each domino logic circuit includes determining worst-case noise that will be generated by each domino logic circuit.
19. The system of
means for simulating each domino logic circuit includes determining worst-case noise that will be generated by each domino logic circuit.
|
1. Field of the Invention
This invention generally relates to design and simulation of integrated circuits and more specifically relates to simulation of domino logic circuits for use in integrated circuits.
2. Description of the Related Art
Domino circuitry is a well recognized branch of digital logic circuitry. However, due to its dynamic nature, it is inherently susceptible to noise in a way that static circuitry, the other well recognized branch of digital logic circuitry, is less susceptible. Domino circuitry tends to propagate noise, rather than damping out noise as static circuitry tends to. As a result, simulating domino circuitry to determine whether it is susceptible to noise either generated within the circuit or received from prior stages or surrounding circuitry is of great importance.
Integrated circuits utilizing domino circuitry are becoming more and more complex. Transistor minimum geometries are shrinking, the dies upon which these transistors exist are increasing in size, and therefore the number of circuits that can be placed on an integrated circuit is increasing. As a result of these increases more highly interconnected domino circuitry is included in each complex digital integrated circuit.
Furthermore, more opportunities exist for some form of crosstalk or other noise inducing phenomenon. Crosstalk typically occurs when two conductors are located close to each other physically. These two conductors are typically not actually connected or otherwise coupled together intentionally by a designer. However, some form of coupling occurs as a result of which a change of the voltage on a first conductor such as the transition from a high-to-low or low-to-high logic state will result in some form of noisy transition or change in logic state of a second conductor. This transition or change on the second conductor, which is not caused by whatever logic is driving the second conductor, results in noise which may be propagated through any domino circuitry coupled directly to the second conductor. Once propagated through that domino circuitry it may be propagated through further stages of domino circuitry. As a result it is of great importance that domino circuitry be simulated both in terms of its susceptibility to noise but also in terms of how the physical layout of the domino circuitry and its incoming and outgoing conductors tends to lead to noise being injected into the circuitry.
Classically, each stage of a circuit has been simulated independently, therefore a designer would have to design a simulation for each stage of his or her circuit and then in some manner determine what the worst-case results of preceding stages were in order to simulate the noise characteristics of whichever stage the designer is focusing on at that time. As circuits get more and more complicated and as designers are responsible for larger and larger portions of circuitry, this approach becomes inherently unwieldy, to the point where a designer may be expected to spend significantly more time simulating the circuitry than could possibly be allowed for in today's rapid-paced and tight schedules.
In one embodiment, the invention is a method. The method includes extracting parameters of a set of domino logic circuits. The method also includes simulating each domino logic circuit of the set of domino logic circuits. Also, the method includes reporting results of the simulation.
The present invention is illustrated by way of example and not limitation in the accompanying figures.
A method and apparatus for fully automated signal integrity analysis for domino circuitry is described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
Turning to
Turning to
Turning to
Stage 340 is a domino nand gate. The output of stage 340 is coupled to the first input of stage 350 which is a static nand gate. Stage 345 is a domino nor gate and the output of stage 345 is coupled to a second input of stage 350. The output of stage 350 is coupled to the input of inverting buffer 355 which is a static circuit. The output of stage 355 is coupled to a first input of stage 360 which is a nand gate and is also a static circuit. The output of stage 360 is coupled to a second input of stage 330 and is also coupled to a first input of stage 365 which is a domino nand gate. The output of stage 330 is coupled to the first input of stage 375 which is a static nand gate. The output of stage 365 is coupled to a second input of stage 375. Circuits 305, 310, 320 and 330 are all domino circuits and represent cascaded stages of domino circuitry (with some static circuitry intervening. Circuits 340, 345 and 365 are also domino circuits. It will be appreciated that the circuitry illustrated in
When the circuitry illustrated in
Because stages 350, 355 and 360 (among other stages) are static circuitry they are not simulated in the same way as domino circuitry is. Rather, stage 350 is simulated with the worst-case output noise of stages 345 and 340 at a DC level rather than simulating the AC transition. That in turn results in the worst-case output noise for stage 350 which is simulated as the worst-case input noise for stage 355. Similarly, the worst-case output noise for stage 355 which is simulated as the worst-case input noise for stage 360. This results in a worst-case output noise for stage 360 which may be used as a level offset or level shift entered into stage 330 and also injected into stage 365. Stage 330 may then be simulated as may stage 365. When both stage 330 and stage 365 have been simulated then stage 375 may be the current stage and may be simulated.
Turning to
As a result, utilizing this process on circuitry illustrated in
Turning to
Proceeding to block 480, the first stage in the ordered list of stages produced at block 475 is simulated. The process then flows to block 490, where a determination is made as to whether any stages remain unsimulated. If some stages remain unsimulated, the process flows to block 485, and the next stage in the ordered list of stages produced at block 475 is simulated. If all stages have been simulated, the process flows to block 440, where the report of simulation results is generated. It will be appreciated that the report of results may be generated in the same manner whether the embodiment of
Applying the embodiment of
Alternatively, stages 305 and 310 may be simulated, followed by stage 315, then stage 320, then stage 325. Next, stages 340 and 345 may be simulated, followed by stage 350, then followed by stage 355, and then followed by stage 360. Then, stages 330 and 365 may be simulated. Finally, stage 375 may be simulated.
Turning to
Turning to
Turning to
In the foregoing detailed description, the method and apparatus of the present invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the present invention. The present specification and figures are accordingly to be regarded as illustrative rather than restrictive.
Wijeratne, Sapumal, Nardin, Mark D., Greub, Hans
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5047970, | Feb 08 1989 | Mitsubishi Denki Kabushiki Kaisha | Apparatus for displaying simulation result |
5798938, | Jul 02 1996 | Hewlett Packard Enterprise Development LP | System and method for verification of a precharge critical path for a system of cascaded dynamic logic gates |
5815687, | Sep 19 1996 | International Business Machines Corporation | Apparatus and method for simulating domino logic circuits using a special machine cycle to validate pre-charge |
5825673, | Nov 28 1995 | Ricoh Company, Ltd. | Device, method, and software products for extracting circuit-simulation parameters |
5828579, | Aug 28 1996 | Synopsys, Inc | Scan segment processing within hierarchical scan architecture for design for test applications |
5946482, | May 16 1997 | Keysight Technologies, Inc | Method and apparatus for using parameters to simulate an electronic circuit |
5949689, | Oct 29 1996 | Synopsys, Inc.; Synopsys, Inc | Path dependent power modeling |
5999714, | Mar 27 1997 | International Business Machines Corporation | Method for incorporating noise considerations in automatic circuit optimization |
6040716, | May 19 1997 | Texas Instruments Incorporated | Domino logic circuits, systems, and methods with precharge control based on completion of evaluation by the subsequent domino logic stage |
6344759, | Oct 18 1999 | Texas Instruments Incorporated | Hybrid data and clock recharging techniques in domino logic circuits minimizes charge sharing during evaluation |
6363515, | Dec 30 1997 | Intel Corporation | Early power estimation tool for high performance electronic system design |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 30 1999 | Intel Corporation | (assignment on the face of the patent) | / | |||
Feb 23 2000 | NARDIN, MARK D | INTEL CORPORATION, A CORP OF DELAWARE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010657 | /0647 | |
Feb 23 2000 | WIJERATNE, SAPUMAL | INTEL CORPORATION, A CORP OF DELAWARE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010657 | /0647 | |
Mar 01 2000 | GREUB, HANS | INTEL CORPORATION, A CORP OF DELAWARE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 010657 | /0647 |
Date | Maintenance Fee Events |
Sep 27 2005 | ASPN: Payor Number Assigned. |
Jun 27 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 20 2012 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Aug 05 2016 | REM: Maintenance Fee Reminder Mailed. |
Dec 28 2016 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Dec 28 2007 | 4 years fee payment window open |
Jun 28 2008 | 6 months grace period start (w surcharge) |
Dec 28 2008 | patent expiry (for year 4) |
Dec 28 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 28 2011 | 8 years fee payment window open |
Jun 28 2012 | 6 months grace period start (w surcharge) |
Dec 28 2012 | patent expiry (for year 8) |
Dec 28 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 28 2015 | 12 years fee payment window open |
Jun 28 2016 | 6 months grace period start (w surcharge) |
Dec 28 2016 | patent expiry (for year 12) |
Dec 28 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |