Claims
- 1. A digital design method for manipulating a digital circuit netlist, the digital design method comprising:
loading a first netlist, wherein the first netlist is comprised of a first plurality of basic cells that are comprised of a first plurality of kernel cells; manipulating the first netlist to create a second netlist, wherein the second netlist is comprised of a second plurality of basic cells that are comprised of a second plurality of kernel cells, wherein:
a percentage of the first and second plurality of kernel cells are selection circuits, and there is less chip area consumed in the second plurality of basic cells than in the first plurality of basic cells; and storing the second netlist.
- 2. The digital design method for manipulating the digital circuit netlist as recited in claim 1, further comprising steps of:
converting a netlist using a language format into the first netlist by, at least, substituting some Boolean cells for the first plurality of basic cells; converting the second netlist to a third netlist by, at least, substituting some of the second plurality of basic cells for Boolean cells, wherein the third netlist also uses the language format.
- 3. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein another percentage of the first and second plurality of kernel cells are memory circuits.
- 4. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein another percentage of the first and second plurality of kernel cells are buffer circuits.
- 5. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein each selection circuit includes a multiplexor.
- 6. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein a total number of different kernel cells in the first and second plurality of kernel cells is less than one of 10, 20, 30, 40, 50, 75, and 100.
- 7. The digital design method for manipulating the digital circuit netlist as recited in claim 1, further comprising a step of converting a Boolean operation to a selection operation, wherein the selection operation is a function in which all of a plurality of inputs of the function can be alternatively passed to an output of the function.
- 8. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein the percentage is chosen from a group consisting of 2% or more, 5% or more, 10% or more, 20% or more, 30% or more, and 40% or more.
- 9. The digital design method for manipulating the digital circuit netlist as recited in claim 1, further comprising a step of receiving one or more optimization parameters that influence the manipulation step according to the optimization parameters.
- 10. The digital design method for manipulating the digital circuit netlist as recited in claim 9, wherein the optimization parameters influence choosing a subset of possible kernel cells to use in the manipulation step.
- 11. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein:
the second netlist is comprised of a plurality of syntactic expressions, a percentage of the plurality of syntactic expressions identify a higher-order function of base Boolean values, the percentage is chosen from a group consisting of 10% or more, 20% or more, 30% or more, 40% or more, 50% or more, and 60% or more.
- 12. The digital design method for manipulating the digital circuit netlist as recited in claim 1, wherein the manipulation step optimizes at least one of power consumption, leakage current, fanout, chip area, number of masks, number of process steps, yield, capacitance, inductance, resistance, and glitches.
- 13. A digital design method for tuning a digital circuit netlist, the digital design method comprising:
loading a first netlist, wherein the first netlist is comprised of a first plurality of basic cells that are comprised of a first plurality of kernel cells; manipulating the first netlist to create a second netlist, wherein the second netlist is comprised of a second plurality of basic cells that are comprised of a second plurality of kernel cells, wherein:
each of the first and second plurality of kernel cells is chosen from a group consisting of a selection circuit, a memory circuit and a buffer circuit, and there are less kernel cells in the second plurality of kernel cells than the first plurality of kernel cells; and storing the second netlist.
- 14. The digital design method for tuning the digital circuit netlist as recited in claim 13, further comprising steps of:
converting a netlist using a language format into the first netlist by, at least, substituting some Boolean cells for the first plurality of basic cells; converting the second netlist to a third netlist by, at least, substituting some of the second plurality of basic cells for Boolean cells, wherein the third netlist also uses the language format.
- 15. The digital design method for tuning the digital circuit netlist as recited in claim 13, wherein each selection circuit includes a multiplexor.
- 16. The digital design method for tuning the digital circuit netlist as recited in claim 13, further comprising a step of receiving one or more optimization parameters that influence the manipulation step according to the optimization parameters.
- 17. The digital design method for tuning the digital circuit netlist as recited in claim 16, wherein the optimization parameters influence choosing a subset of possible kernel cells to use in the manipulation step.
- 18. The digital design method for tuning the digital circuit netlist as recited in claim 13, wherein the manipulation step optimizes at least one of power consumption, leakage current, fanout, chip area, number of masks, number of process steps, yield, capacitance, inductance, resistance, and glitches.
- 19. A digital design method for manipulating a digital circuit netlist, the digital design method comprising:
loading the digital circuit netlist; converting the digital circuit netlist having a language format into a first netlist by, at least, substituting some Boolean cells with a first plurality of basic cells, wherein the first netlist is comprised of a first plurality of basic cells that are comprised of the first plurality of kernel cells; manipulating the first netlist to create a second netlist, wherein the second netlist is comprised of a second plurality of basic cells that are comprised of a second plurality of kernel cells, wherein:
a percentage of the first and second plurality of kernel cells are selection circuits, and there is less chip area consumed in the second plurality of basic cells than in the first plurality of basic cells; converting the second netlist to a third netlist by, at least, substituting some of the second plurality of basic cells with Boolean cells, wherein the third netlist also uses the language format; and storing the third netlist.
- 20. The digital design method for manipulating the digital circuit netlist as recited in claim 19, further comprising a step of synthesizing behavioral constructs into Boolean cells.
- 21. The digital design method for manipulating the digital circuit netlist as recited in claim 19, wherein each selection circuit includes a multiplexor.
- 22. The digital design method for manipulating the digital circuit netlist as recited in claim 19, further comprising a step of receiving one or more optimization parameters that influence the manipulation step according to the optimization parameters.
- 23. The digital design method for manipulating the digital circuit netlist as recited in claim 22, wherein the optimization parameters influence choosing a subset of possible kernel cells to use in the manipulation step.
- 24. The digital design method for manipulating the digital circuit netlist as recited in claim 19, wherein the manipulation step optimizes at least one of power consumption, leakage current, fanout, chip area, number of masks, number of process steps, yield, capacitance, inductance, resistance, and glitches.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is a nonprovisional of and claims priority to U.S. Prov. Pat. Appl. No. 60/298,832, entitled “MULTIPLEXOR-BASED DIGITAL DESIGN,” filed Jun. 15, 2001 by Sterling R. Whitaker et al., the entire disclosure of which is herein incorporated by reference for all purposes.
[0002] This application is also related to the following commonly assigned, concurrently filed U.S. patent applications, each of which is also incorporated herein by reference in its entirety for all purposes: U.S. patent application Ser. No. __/__,___, entitled “DIGITAL DESIGN USING SELECTION OPERATIONS,” by Sterling R. Whitaker, Lowell H. Miles, and Eric G. Cameron (Attorney Docket No. 021145-001600US); U.S. patent application Ser. No. __/___,___, entitled “PASS-TRANSISTOR VERY LARGE SCALE INTEGRATION,” by Gary K. Maki and Prakash R. Bhatia (Attorney Docket No. 021145-001700US); U.S. patent application Ser. No. __/___,___, entitled “OPTIMIZATION OF DIGITAL DESIGNS,” by Sterling R. Whitaker and Lowell H. Miles (Attorney Docket No. 021145-001800US); U.S. patent application Ser. No. __/___,___, entitled “INTEGRATED CIRCUIT CELL LIBRARY,” by Sterling R. Whitaker and Lowell H. Miles (Attorney Docket No. 021145-001900US); and U.S. patent application Ser. No. __/___,___, entitled “DIGITAL CIRCUITS USING UNIVERSAL LOGIC GATES,” by Sterling R. Whitaker, Lowell H. Miles, Eric G. Cameron, Gregory W. Donohoe, and Jody W. Gambles (Attorney Docket No. 021145-002100US). These applications may be referred to herein as “the Universal-Logic-Gate applications.”
STATEMENT AS TO RIGHTS TO INVENTIONS MADE UNDER FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[0003] The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Grant No. NAGS-9152 awarded by NASA.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60298832 |
Jun 2001 |
US |