Integrated circuits typically incorporate various combinational elements (e.g., AND gates, OR gates, NAND gates, XOR gates, etc.) and state elements (e.g., latches, flip-flops, etc.) in their design. Each of these combinational and state elements are discrete elements that the engineer places into the circuit design.
The silicon wafers used in semiconductor chips have a finite surface area and each element (i.e., combinational and state) etched into these silicon wafers occupies a portion of that surface area. Accordingly, only a finite number of elements can be placed on one of these silicon wafers.
FIG. 5. is a diagrammatic view of another embodiment of the estimation process, including a processor and a computer readable medium; and
FIG. 6. is a diagrammatic view of another embodiment of the estimation process, including a processor and memory.
Referring to
As circuitry design system 10 is a graphical system, designer 14 positions graphical representations of various circuitry components 161−n (e.g., AND gates, OR gates, NAND gates, XOR gates, latches, flip-flops, etc.) within a graphical representation of the circuit 18 being designed. During the design process, circuitry design system 10 provides contemporaneous feedback to designer 14 concerning one or more physical characteristics of the circuit 18 being designed.
Circuitry design system 10 includes an estimation process 20 for providing this feedback to designer 14. Estimation process 20 includes a parameter file maintenance process 22 for maintaining a circuit design parameter file 24 for the circuit 18 being designed by a circuit designer 14. This circuit design parameter file 24 specifies at least one physical characteristic 26 of the circuit 18. Examples of these physical characteristics 26 include the total silicon area required to construct the circuit being designed; the total number of gates required to construct the circuit being designed; the total number of transistors required to construct the circuit being designed; the total number of cells required to construct the circuit being designed; the total amount of power required to power the circuit being designed; etc. This list is not intend to be all inclusive, as these physical characteristics 26 can be any other physical characteristic (e.g., intrinsic capacitance) associated with circuit 18. Files 24 are stored on some form of data repository 28 (e.g., a hard drive, a database, etc.)
Estimation process 20 includes a design space monitoring process 30 for monitoring circuitry design system 10 (i.e., a design environment) to detect the addition of a circuitry component 161−n to the circuit 18 being designed by designer 14.
When design space monitoring process 30 determines that a circuitry component 161−n has been added, a component file access process 32 accesses a component design parameter file 34 for that circuitry component. This component design parameter file 34 specifies at least one design parameter 38 for that particular type of circuitry component. These files 34 are also stored on data repository 30.
Each circuitry component 161−n added to circuit 18 is of a specific type (e.g., AND gate, OR gate, NAND gate, XOR gate, latch, d-flop, sr-flop, etc.). When a component 161−n is added to circuit 18, component file access process 32 first determines the type of circuitry component and then accesses a component design parameter file 34 for that particular type of circuitry component. For example, if designer 14 added a buffer 36 to circuit 18, design space monitoring process 30 would detect the addition of this buffer 36 to circuit 18. Component file access process 32 would then analyze this newly-added circuitry component 36 and determine that it is a buffer. Component file access process 32 would then retrieve the component design parameter file 34 for this particular type of circuitry component (i.e., a buffer). This file 34 would include at least one design parameter 38 specific for a buffer. Design parameter(s) 38 are related to the physical characteristic(s) 26 of circuit 18, as enumerated in circuit design parameter file 24. However, these design parameters 38 specify the physical characteristic as it relates to the discrete component 161−n being added and not the physical characteristic of the entire circuit 18. For example, if the physical characteristic 26 is the number of gates required to build the entire circuit, the design parameter 38 would be the number of gates required to build just the circuitry component being added.
Typically, higher-level circuitry components are produced by assembling lower-level circuitry components. For example, three-input AND gate 40 is typically constructed from two two-input AND gates 42 and 44 placed in series. Additionally, a buffer (e.g., buffer 36) can be constructed from a two-input AND gate 46 with its input terminals tied together to form a single input. Accordingly, prior to installing buffer 36, circuit 18 has two buffers 48 and 50 and a three input AND gate 40. Therefore, the gate count of this circuit (in its current state) is four gates, namely one gate for each buffer 48 and 50 and two gates for the three-input AND gate 40.
Continuing with the above-stated example, when user 14 adds buffer 36 to circuit 18, the component design parameter file 34 for this buffer would indicate (via its design parameter 38) that this buffer 36 is constructed of a single gate. Therefore, the addition of buffer 36 to circuit 18 would add one additional gate to the total gate count for circuit 18. Accordingly, after buffer 36 is added to circuit 18, the physical characteristic 26 (i.e., the gate count) of circuit 18 (as specified in circuit design parameter file 24) would be changed from four to five.
Accordingly, a parameter file updating process 52 updates this circuit design parameter file 24 based on design parameter 38. Namely, since one buffer 36 is being added to circuit 18 and this buffer (pursuant to its design parameter 38) is constructed from one gate, the circuit design parameter file 24 will be updated to reflect the additional gate required to construct circuit 18. In this particular example, this gate count represents the physical characteristic 26 specified in circuit design parameter file 24.
Allowing designer 14 to keep track of this physical characteristic (i.e., the gate count) allows the designer 14 to structure their design to meet (and not exceed) the physical capacities (e.g., size, maximum gate count, maximum transistor count, maximum cell count, maximum power draw, etc.) of the silicon wafer.
A feedback display process 54 provides designer 14 with feedback concerning the physical characteristic 26 being monitored by estimation process 20. This feedback can be automatically provided to designer 14, in that each time a circuitry component 161−n is added to circuit 18, feedback concerning this newly-updated physical characteristic 26 is displayed on the screen of computer 12. Alternatively, a feedback request process 56 may be incorporated into estimation process 20 so that feedback is only provided to designer 14 when they request the information. This request can be in the form of positioning the mouse pointer 58 over the newly-added device (i.e., buffer 36) so that a text box 60 appears which specifies the physical characteristic(s) 26 being monitored (in this example, the gate count). As an alternative, some other form of key strokes or mouse clicks can be indicative of a request by designer 14 to receive feedback concerning physical characteristic 26.
It is foreseeable that designer 14 may have to reconfigure circuit 18 during the design process and, therefore, circuitry components 161−n may have to be deleted. Accordingly, design space monitoring process 30 is also configured to monitor circuitry design system 10 (i.e., the design environment) to detect the deletion of a circuitry component 161−n from the circuit 18 being designed. Further, component file access process 32 is configured to access a component design parameter file 24 that specifies at least one design parameter 26 for that deleted circuitry component. Additionally, parameter file updating process 52 is configured to update the circuit design parameter file 24 based on the design parameter(s) 38 included in the component design parameter file 34 for the deleted circuitry component.
As stated above, the physical characteristic 26 specified in circuit design parameter file 24 can be, among other things, the total silicon area required to construct the circuit being designed; the total number of gates required to construct the circuit being designed; the total number of transistors required to construct the circuit being designed; the total number of cells required to construct the circuit being designed; the total amount of power required to power the circuit being designed; etc.
Accordingly, estimation process 20 includes various processes 62, 64, 66, 98, and 100 for calculating and monitoring these various physical characteristics of circuit 18.
When the physical characteristic 26 is the total silicon wafer area required to construct the circuit being designed, the related design parameter 38 specified in component design parameter file 34 would be the silicon area required to construct the added circuitry component.
In this case, parameter file updating process 52 includes an area recalculation process 62 for recalculating the total silicon area required to construct the circuit 18 being designed so that it includes the silicon area required to construct the added circuitry component.
Continuing with the above-stated example, when designer 14 adds buffer 36 to circuit 18, the design parameter 38 in component design parameter file 34 would specify the amount of silicon wafer surface area required to produce buffer 36. Accordingly, area recalculation process 62 sums the required surface area of circuit 18 prior to the addition of buffer 36 and the additional surface area required for buffer 36, to generate the new required surface area. Parameter file updating process 52 would then update circuit design parameter file 24 to reflect this new surface area.
When the physical characteristic 26 is the total number of gates required to construct the circuit being designed, the related design parameter 38 specified in component design parameter file 34 would be the number of gates required to construct the added circuitry component. In this case, parameter file updating process 52 includes a gate recalculation process 64 for recalculating the total number of gates required to construct the circuit 18 being designed so that it includes the number of gates required to construct the added circuitry component.
Continuing with the above-stated example, when designer 14 adds buffer 36 to circuit 18, the design parameter 38 in component design parameter file 34 would specify that buffer 36 is constructed from one gate. Accordingly, gate recalculation process 64 sums the number of gates required to construct circuit 18 prior to the addition of buffer 36 (namely four) and the number of gates required to construct buffer 36 (namely one), to generate the new required number of gates (namely five). Parameter file updating process 52 would then update circuit design parameter file 24 to reflect this new gate count.
When the physical characteristic 26 is the total number of transistors required to construct the circuit being designed, the related design parameter 38 specified in component design parameter file 34 would be the number of transistors required to construct the added circuitry component
Transistors (of various types, MOSFETS, BJT, Heterostructures, etc.) are the building blocks of semiconductor circuits. In logic circuits, transistors act as switches to allow circuits to switch between binary states. Generally, AND gates, OR gates, NAND gates, XOR gates, latches, flip-flops, etc., are all constructed of transistors.
In this case (when the physical characteristic is a transistor count), parameter file updating process 52 includes a transistor recalculation process 66 for recalculating the total number of transistors required to construct the circuit 18 being designed so that it includes the number of transistors required to construct the added circuitry component.
Referring to
When designer 14 adds a third two-input NAND gate 96 to circuit 68, the design parameter 26 in component design parameter file 24 would specify that NAND gate 96 is constructed from four transistors. Accordingly, transistor recalculation process 66 sums the number of transistors required to construct circuit 68 prior to the addition of NAND gate 96 (namely fourteen) and the number of transistors required to construct NAND gate 96 (namely four), to generate the new required number of transistors (namely eighteen). Parameter file updating process 52 would then update circuit design parameter file 24 to reflect this new transistor count.
When the physical characteristic 26 is the total number of cells required to construct the circuit being designed, the related design parameter 38 specified in component design parameter file 34 would be the number of cells required to construct the added circuitry component
Cells are specific designated area on the surface of a silicon wafer, such that these areas can be etched (via photolithography) to produce a finite number of devices. These devices can be (on a macro level) circuitry components such as AND gates, OR gates, NAND gates, XOR gates, latches, flip-flops, etc. Alternatively, these devices can be (on a micro level), the transistors which are used to construct the circuitry components. Accordingly, a cell may be capable of having, for example, five transistors.
In this case (when the physical characteristic is a cell count), parameter file updating process 52 includes a cell recalculation process 98 for recalculating the total number of cells required to construct the circuit 68 being designed so that it includes the number of cells required to construct the added circuitry component.
As stated above, circuit 68 (prior to being modified) is constructed of fourteen transistors. If a maximum of five transistors can be incorporated into each transistor, circuit 68 (in its current state) would require three cells. When designer 14 adds a third two-input NAND gate 96 to circuit 68, the design parameter 38 in component design parameter file 34 would specify that NAND gate 96, which is constructed from four transistors that would require one cell. Accordingly, cell recalculation process 98 sums the number of cells required to construct circuit 68 prior to the addition of NAND gate 96 (namely three) and the number of cells required to construct NAND gate 96 (namely one), to generate the new required number of cells (namely four). Parameter file updating process 52 would then update circuit design parameter file 24 to reflect this new cell count.
When the physical characteristic 26 is the total amount of power required to power the circuit being designed, the related design parameter 38 specified in component design parameter file 34 would be the amount of power required to power the added circuitry component.
Each electronic device consumes electrical power during use. For illustrative purposes, let's assume that a transistor requires one milliwatt of power to function properly.
In this case (when the physical characteristic is power consumption), parameter file updating process 52 includes a power recalculation process 100 for recalculating the total amount of power required to power the circuit 68 being designed so that it includes the amount of power required to power the added circuitry component.
As stated above, circuit 68 (prior to being modified) is constructed of fourteen transistors. If each of these transistors has a maximum power consumption of 1 milliwatt, the original incarnation of this circuit consumes a maximum of fourteen milliwatts. When designer 14 adds a third two-input NAND gate 96 to circuit 68, the design parameter 38 in component design parameter file 34 would specify that NAND gate 96, which is constructed from four transistors, would consume a maximum of four milliwatts. Accordingly, power recalculation process 100 sums the total amount of power required to power circuit 68 prior to the addition of NAND gate 96 (namely fourteen milliwatts) and the amount of power required to power NAND gate 96 (namely four milliwatts), to generate the new required amount of power namely eighteen milliwatts). Parameter file updating process 52 would then update circuit design parameter file 24 to reflect this new power requirement.
As stated above, the physical characteristic 26 specified in circuit design parameter file 24 can be, among other things, the total silicon area required to construct the circuit being designed; the total number of gates required to construct the circuit being designed; the total number of transistors required to construct the circuit being designed; the total number of cells required to construct the circuit being designed; the total amount of power required to power the circuit being designed; etc. While thus far, estimation process 20 has been shown to provide feedback to designer 14 concerning only one of these physical characteristics 26, this is for illustrative purposes only and is not intended to be a limitation of the invention. Specifically, estimation process 20 can provide feedback to designer 14 concerning as many (or as few) physical characteristics 26 as needed, required, or desired.
Referring to
Method 110 provides 120 the circuit designer with feedback concerning the physical characteristic of the circuit being designed. Method 110 allows 122 the circuit designer to request feedback concerning the physical characteristic of the circuit being designed and provides 124 the circuit designer with feedback concerning the physical characteristic of the circuit being designed in response to the circuit designer requesting the same.
The physical characteristic is the total silicon area required to construct the circuit being designed and the at least one design parameter is the silicon area required to construct the added circuitry component. Updating 118 the circuit design parameter file includes recalculating 126 the total silicon area required to construct the circuit being designed so that it includes the silicon area required to construct the added circuitry component.
The physical characteristic is the total number of gates required to construct the circuit being designed and the at least one design parameter is the number of gates required to construct the added circuitry component. Updating 118 the circuit design parameter file includes recalculating 128 the total number of gates required to construct the circuit being designed so that it includes the number of gates required to construct the added circuitry component.
The physical characteristic is the total number of transistors required to construct the circuit being designed and the at least one design parameter is the number of transistors required to construct the added circuitry component. Updating 118 the circuit design parameter file includes recalculating 130 the total number of transistors required to construct the circuit being designed so that it includes the number of transistors required to construct the added circuitry component.
The physical characteristic is the total number of cells required to construct the circuit being designed and the at least one design parameter is the number of cells required to construct the added circuitry component. Updating 118 the circuit design parameter file includes recalculating 132 the total number of cells required to construct the circuit being designed so that it includes the number of cells required to construct the added circuitry component.
The physical characteristic is the total amount of power required to power the circuit being designed and the at least one design parameter is the amount of power required to power the added circuitry component. Updating 118 the circuit design parameter file includes recalculating 134 the total amount of power required to power the circuit being designed so that it includes the amount of power required to power the added circuitry component.
Method 110 further includes monitoring 136 a design environment to detect the deletion of a circuitry component from the circuit being designed. Method 110 further includes accessing 138 a component design parameter file that specifies at least one design parameter for that deleted circuitry component. Method 110 further includes updating 140 the circuit design parameter file based on the at least one design parameter included in the component design parameter file for that deleted circuitry component.
Referring to
Typical embodiments of computer readable medium 252 are: hard drive 266; tape drive 268; optical drive 270; RAID array 272; random access memory 274; and read only memory 276.
Now referring to
Processor 300 and memory 302 may be incorporated into a personal computer 312, a network server 314, or a single board computer 316.
Other embodiments are within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4703435 | Darringer et al. | Oct 1987 | A |
4970664 | Kaiser et al. | Nov 1990 | A |
5128871 | Schmitz | Jul 1992 | A |
5212650 | Hooper et al. | May 1993 | A |
5220512 | Watkins et al. | Jun 1993 | A |
5258919 | Yamanouchi et al. | Nov 1993 | A |
5267175 | Hooper | Nov 1993 | A |
5269857 | Ganesh et al. | Dec 1993 | A |
5278769 | Bair et al. | Jan 1994 | A |
5287289 | Kageyama et al. | Feb 1994 | A |
5297053 | Pease et al. | Mar 1994 | A |
5301318 | Mittal | Apr 1994 | A |
5384710 | Lam et al. | Jan 1995 | A |
5422833 | Kelem et al. | Jun 1995 | A |
5475605 | Lin | Dec 1995 | A |
5493507 | Shinde et al. | Feb 1996 | A |
5506788 | Cheng et al. | Apr 1996 | A |
5513119 | Moore et al. | Apr 1996 | A |
5528177 | Sridhar et al. | Jun 1996 | A |
5544067 | Rostoker et al. | Aug 1996 | A |
5553002 | Dangelo et al. | Sep 1996 | A |
5568397 | Yamashita et al. | Oct 1996 | A |
5598347 | Iwasaki | Jan 1997 | A |
5603015 | Kurosawa et al. | Feb 1997 | A |
5604894 | Pickens et al. | Feb 1997 | A |
5629857 | Brennan | May 1997 | A |
5663662 | Kurosawa | Sep 1997 | A |
5666289 | Watkins | Sep 1997 | A |
5673198 | Lawman et al. | Sep 1997 | A |
5685006 | Shiraishi | Nov 1997 | A |
5694579 | Razdan et al. | Dec 1997 | A |
5706476 | Giramma | Jan 1998 | A |
5717928 | Campmas et al. | Feb 1998 | A |
5724250 | Kerzman et al. | Mar 1998 | A |
5757655 | Shih et al. | May 1998 | A |
5809283 | Vaidyanathan et al. | Sep 1998 | A |
5828581 | Matumura | Oct 1998 | A |
5831869 | Ellis et al. | Nov 1998 | A |
5841663 | Sharma et al. | Nov 1998 | A |
5852564 | King et al. | Dec 1998 | A |
5889677 | Yasuda et al. | Mar 1999 | A |
5892678 | Tokunoh et al. | Apr 1999 | A |
5892682 | Hasley et al. | Apr 1999 | A |
5903469 | Ho | May 1999 | A |
5910898 | Johannsen | Jun 1999 | A |
5933356 | Rostoker et al. | Aug 1999 | A |
5937190 | Gregory et al. | Aug 1999 | A |
5963724 | Mantooth et al. | Oct 1999 | A |
5974242 | Damarla et al. | Oct 1999 | A |
6044211 | Jain | Mar 2000 | A |
6053947 | Parson | Apr 2000 | A |
6066179 | Allan | May 2000 | A |
6077304 | Kasuya | Jun 2000 | A |
6106568 | Beausang et al. | Aug 2000 | A |
6117183 | Teranishi et al. | Sep 2000 | A |
6120549 | Goslin et al. | Sep 2000 | A |
6132109 | Gregory et al. | Oct 2000 | A |
6135647 | Balakrishnan et al. | Oct 2000 | A |
6152612 | Liao et al. | Nov 2000 | A |
6161211 | Southgate | Dec 2000 | A |
6178541 | Joly et al. | Jan 2001 | B1 |
6205573 | Hasegawa | Mar 2001 | B1 |
6208954 | Houtchens | Mar 2001 | B1 |
6216256 | Inoue et al. | Apr 2001 | B1 |
6219822 | Gristede et al. | Apr 2001 | B1 |
6226780 | Bahra et al. | May 2001 | B1 |
6233540 | Schaumont et al. | May 2001 | B1 |
6233723 | Pribetich | May 2001 | B1 |
6234658 | Houldsworth | May 2001 | B1 |
6236956 | Mantooth et al. | May 2001 | B1 |
6260179 | Ohsawa et al. | Jul 2001 | B1 |
6272671 | Fakhry | Aug 2001 | B1 |
6275973 | Wein | Aug 2001 | B1 |
6292931 | Dupenloup | Sep 2001 | B1 |
6298468 | Zhen | Oct 2001 | B1 |
6311309 | Southgate | Oct 2001 | B1 |
6324678 | Dangelo et al. | Nov 2001 | B1 |
6327693 | Cheng et al. | Dec 2001 | B1 |
6353806 | Gehlot | Mar 2002 | B1 |
6353915 | Deal et al. | Mar 2002 | B1 |
6360356 | Eng | Mar 2002 | B1 |
6366874 | Lee et al. | Apr 2002 | B1 |
6378115 | Sakurai | Apr 2002 | B1 |
6381563 | O'Riordan et al. | Apr 2002 | B1 |
6381565 | Nakamura | Apr 2002 | B1 |
6401230 | Ahanessians et al. | Jun 2002 | B1 |
6421816 | Ishikura | Jul 2002 | B1 |
6438729 | Ho | Aug 2002 | B1 |
6438731 | Segal | Aug 2002 | B1 |
6440780 | Kimura et al. | Aug 2002 | B1 |
6449762 | McElvain | Sep 2002 | B1 |
6457164 | Hwang et al. | Sep 2002 | B1 |
6473885 | Wallace | Oct 2002 | B1 |
6477683 | Killian et al. | Nov 2002 | B1 |
6477688 | Wallace | Nov 2002 | B1 |
6477689 | Mandell et al. | Nov 2002 | B1 |
6480985 | Reynolds et al. | Nov 2002 | B1 |
6487698 | Andreev et al. | Nov 2002 | B1 |
6490545 | Peng | Dec 2002 | B1 |
6505328 | Van Ginneken et al. | Jan 2003 | B1 |
6505341 | Harris et al. | Jan 2003 | B1 |
6516456 | Garnett et al. | Feb 2003 | B1 |
6519742 | Falk | Feb 2003 | B1 |
6519755 | Anderson | Feb 2003 | B1 |
6523156 | Cirit | Feb 2003 | B1 |
6539536 | Singh et al. | Mar 2003 | B1 |
RE38059 | Yano et al. | Apr 2003 | E |
6546528 | Sasaki et al. | Apr 2003 | B1 |
6574787 | Anderson | Jun 2003 | B1 |
6591407 | Kaufman et al. | Jul 2003 | B1 |
20010018758 | Tanaka et al. | Aug 2001 | A1 |
20010029603 | Uota | Oct 2001 | A1 |
20020023256 | Seawright | Feb 2002 | A1 |
20020038447 | Kim et al. | Mar 2002 | A1 |
20020042904 | Ito et al. | Apr 2002 | A1 |
20020046386 | Skoll et al. | Apr 2002 | A1 |
20020049957 | Hosono et al. | Apr 2002 | A1 |
20020053063 | Bhattacharya et al. | May 2002 | A1 |
20020059054 | Bade, et al. | May 2002 | A1 |
20020112221 | Ferreri et al. | Aug 2002 | A1 |
20020138244 | Meyer | Sep 2002 | A1 |
20020166100 | Meding | Nov 2002 | A1 |
20030004699 | Choi et al. | Jan 2003 | A1 |
20030005396 | Chen et al. | Jan 2003 | A1 |
20030016206 | Taitel | Jan 2003 | A1 |
20030016246 | Singh | Jan 2003 | A1 |
20030036871 | Fuller et al. | Feb 2003 | A1 |
20030177455 | Kaufman et al. | Sep 2003 | A1 |
Number | Date | Country |
---|---|---|
0 404 482 | Dec 1990 | EP |
0 433 066 | Jun 1991 | EP |
0 720 233 | Jul 1996 | EP |
0 901 088 | Mar 1999 | EP |
1 065 611 | Jan 2001 | EP |
58-060559 | Apr 1983 | JP |
03-225523 | Oct 1991 | JP |
07-049890 | Feb 1995 | JP |
08-314892 | Nov 1996 | JP |
2001-068994 | Mar 2001 | JP |
WO 9837475 | Aug 1998 | WO |
WO 9855879 | Dec 1998 | WO |
WO 9939268 | Aug 1999 | WO |
WO 0065492 | Nov 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20030046652 A1 | Mar 2003 | US |