US20060253827A1 - Hierarchial semiconductor design - Google Patents
Hierarchial semiconductor design Download PDFInfo
- Publication number
- US20060253827A1 US20060253827A1 US11/428,644 US42864406A US2006253827A1 US 20060253827 A1 US20060253827 A1 US 20060253827A1 US 42864406 A US42864406 A US 42864406A US 2006253827 A1 US2006253827 A1 US 2006253827A1
- Authority
- US
- United States
- Prior art keywords
- cells
- cell
- higher order
- parameters
- atom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Definitions
- This invention relates generally to the design of semiconductors, and more particularly to such design that is hierarchical in nature.
- Semiconductor technology pervades most electronic devices today. Computers, televisions, videocassette recorders, cameras, etc., all use semiconductor integrated circuits to varying degrees.
- the typical computer includes microprocessors and dedicated controller integrated circuits (i.e., video controllers, audio controllers, etc.), as well as memory, such as dynamic random-access memory.
- the design of semiconductors therefore, is a crucial consideration of the design of almost any electronic device.
- test structures One type of semiconductor design is the design of semiconductor test structures.
- a semiconductor integrated circuit for example, must be able to operate in a variety of different conditions (varying temperatures, for example), and perform within a variety of different specifications (i.e., speed, power consumption, etc.).
- Semiconductor test structures are therefore utilized to ensure that various components of a given semiconductor will perform according to specification in different conditions. Test structures are not integrated circuits sold to end consumers as part of an electronic device, but rather are used internally to ascertain that the end products will perform correctly.
- DF2 Design Framework II
- Cadence Design Systems, Inc. includes an editor that permits a designer to place various components over a semiconductor substrate as necessary.
- DF2 also provides for a degree of flexibility in the design of such components.
- DF2 includes parameterized cells, or pcells, that allow the designer to create customized instances of a pcell every time the pcell is placed on a layer.
- a transistor can be created and have parameters assigned thereto to provide for control of its width, length, and number of gates. When instances of the transistor are placed on the layer, different values may be assigned to each of these parameters. According to the parameter values, each instance varies in size and composition.
- the pcell approach of DF2 is a top-down semiconductor design approach, and thus has limitations and disadvantages associated with it.
- a designer may, for example, first draw a transistor, and then program that transistor to respond to parameters that will cause various parts of the design to take on those parameter values. This can be a very complex, tedious and error-prone process.
- the equations to accomplish this for an arbitrarily sized active area are complex within DF2.
- these equations are specific to the transistor under development. If the designer desires to design another parameterized object—for example, a field transistor or a contact chain—he or she needs to repeat the entire process.
- FIGS. 1 ( a ), 1 ( b ), and 1 ( c ) show diagrams of a representative hierarchy of a semiconductor test structure, according to an exemplary embodiment of the invention
- FIG. 2 shows a flowchart of a method according to an exemplary embodiment of the invention
- FIG. 3 shows a diagram of a computer in conjunction with which an exemplary embodiment of the invention may be implemented
- FIG. 4 shows a diagram of a semiconductor memory in conjunction with which a semiconductor test structure hierarchically designed in accordance with an embodiment of the invention may be tested;
- FIG. 5 shows a diagram of the parameters contained within a basic atom cell, according to one embodiment of the invention amenable to implementation in conjunction with Design Framework II (DF2) software available from Cadence Systems, Inc.;
- DF2 Design Framework II
- FIG. 6 shows a table of basic atom cells, according to one embodiment of the invention.
- FIG. 7 shows a diagram of a master cell for use in accordance with one embodiment of the invention.
- FIG. 8 shows a c9 — 2225678 higher-order cell, according to one embodiment of the invention.
- FIG. 9 shows the c9 — 2225678 cell of FIG. 8 after it has been converted into a VanDerPauw resistor, according to an embodiment of the invention
- FIG. 10 shows a table of higher-order cells, according to one embodiment of the invention.
- FIG. 11 shows a table of devices and structures, according to one embodiment of the invention.
- FIGS. 1 ( a ), 1 ( b ), 1 ( c ), 2 , 3 and 4 show diagrams of a representative hierarchy of a semiconductor test structure, according to an exemplary embodiment.
- FIG. 2 shows a flowchart of a method according to an exemplary embodiment
- FIG. 3 shows a diagram of a computer in conjunction with which an exemplary embodiment of the invention may be implemented.
- FIG. 4 shows a diagram of a semiconductor memory in conjunction with which a semiconductor test structure hierarchically designed in accordance with an embodiment of the invention may be tested.
- FIG. 1 ( a ) a diagram of three higher-order cells, each defined by relating a number of instances of basic atom cells, is shown.
- Higher-order cell 100 defining type “1” higher-order cells, is defined by relating four instances of basic atom cells, atoms 102 , 104 , 106 and 108 .
- Atoms 102 and 108 are instances of basic atom cells of type “1”;
- atom 104 is an instance of basic atom cell of type “2”;
- atom 106 is an instance of basic atom cell of type “3”.
- the type defined by higher order cell 100 i.e., “1”
- the types of atoms 102 , 104 , 106 and 108 i.e., “1”, “2”, and “3”
- FIG. 1 ( a ) and as will be used in FIG. 1 ( b ) and FIG. 1 ( c ) as well) are for notational and descriptive purposes only.
- each of higher order cell 100 , and atoms 102 , 104 , 106 and 108 have a set of parameters related to its type.
- the parameters may be related to placement, size, etc. (i.e., different attributes of the given cell).
- higher order cell 100 has parameters that when changed also change the parameters of atoms 102 , 104 , 106 and 108 as necessary.
- higher order cell 100 relates atoms 102 , 104 , 106 and 108 to one another. Changing a parameter in cell 100 that causes that cell to become larger, for example, causes corresponding changes in atoms 102 , 104 , 106 and 108 that make up that instance of cell 100 .
- Cell 110 is made up of atoms 114 , 116 and 118 . Atoms 114 and 116 are of type “2”, and atom 118 is of type “3”; cell 110 itself defines type “2” for higher-order cells.
- cell 112 is made up of atoms 120 , 122 , 124 , 126 and 128 , where atoms 120 and 122 are of type “2”, atom 124 is of type “3”, and atoms 126 , 128 and 130 are of type “3”. Cell 112 itself defines type “3” for high-order cells.
- cells 110 and 112 and their constituent atoms each has a set of parameters related to its type. Desirably, when a parameter of either cell 110 or 112 changes, one or more parameters of one or more of the associated constituent atoms also change.
- the basic hierarchical structure shown in FIG. 1 ( a ) is a powerful tool for the design of semiconductor test structures.
- higher-order cells 100 , 110 and 112 may be utilized to create more complex devices and structures, without forcing the designer to concern him or herself over details regarding the individual constituent atoms of the higher-order cells.
- the designer may wish to design a transistor.
- Atoms 102 and 104 may be the two basic atoms necessary in such a design; each exists independently and has significant programming therein.
- Cell 100 then, may be a higher-level structure, where parameters from atoms 102 and 104 are inherited up to cell 100 .
- a cell called tran, for transistor is then created by placing an instance of cell 100 and setting the parameters of cell 100 such that a transistor is formed - the cell tran can then be used by anyone by setting its parameters. Transistors of different sizes and shapes can be created.
- FIG. 1 ( b ) is a diagram of two devices, each defined by relating a number of instances of the higher-order cells that have been defined in FIG. 1 ( a ).
- Device 132 defining type “1” devices, is defined by relating three instances of higher-order cells, cells 134 , 136 and 138 .
- Cells 134 and 138 are instances of cells of type “1,” as has been defined as cell 100 of FIG. 1 ( a ); cell 136 is an instance of cells of type “3,” as has been defined as cell 112 of FIG. 1 ( a ).
- the type defined by device 132 is for representative purposes only, and does not specifically relate to any given type of semiconductor component.
- Each of device 132 and cells 134 , 136 and 138 has a set of parameters related to its type. Desirably, device 132 has parameters that when changed also change the parameters of cells 134 , 136 and 138 , which in turn change the parameters of the atoms making up these cells (not shown in FIG. 1 ( b )). That is, changing a parameter for device 132 may change a parameter for cell 136 , which as a type “3” higher-order cell has six constituent atoms, as has been shown in and described in conjunction with FIG. 1 ( a ). Thus, the changing of the parameter for cell 136 instigated by changing a parameter for device 132 also may change one or more parameters of one or more of these six constituent atoms.
- device 140 is made up of two instances of higher-order cells, cells 142 and 144 .
- Cell 142 is of type “2,” as has been defined as cell 110 of FIG. 1 ( a )
- cell 144 is of type “3,” as has been defined as cell 112 of FIG. 1 ( a ).
- Device 140 itself defines type “2” for devices.
- device 140 and its constituent higher-order cells each has a set of parameters related to its type. Desirably, when a parameter of device 140 changes, one or more parameters of one or more of its constituent cells changes as well, propagating a change of one or more parameters of one or more of the atoms making up these constituent cells.
- FIG. 1 ( a ) is expanded by the structure shown in FIG. 1 ( b ).
- two devices are defined.
- a designer of a semiconductor test structure may therefore utilize these devices within the test structure, such that the designer does not need to concern him or herself with the actual cells making up these devices, or the constituent atoms making up the higher-cells.
- the devices may thus be viewed as a higher abstraction than the higher-order cells, just as the higher-order cells are a higher abstraction than the basic atom cells.
- Changing the parameter of a device may cause many changes in the parameters of the basic atom cells. Without the invention, there would be no lower cells at all; all the programming would be done at the highest level.
- the designer only needs to change the parameter of a device, and if the device and its higher-order cells are defined correctly, appropriate changes are propagated through to and made within the basic atom cells.
- FIG. 1 ( c ) is a diagram of a semiconductor test structure, defined by relating three instances of the devices that have been defined in FIG. 1 ( b ).
- Semiconductor test structure 146 is defined by relating two instances of devices of type “1,” devices 148 and 152 , as devices of type “1” have been defined as device 132 of FIG. 1 ( b ), and one instance of devices of type “2,” device 150 , as devices of type “2” have been defined as device 140 of FIG. 1 ( b ).
- the semiconductor test structure of FIG. 1 ( c ) is for representative purposes only, and does not specifically relate to any given type of semiconductor structure.
- Each of structure 146 and devices 148 , 150 and 152 has a set of parameters related to its type. Desirably, structure 146 has parameters that when changed also change the parameters of devices 148 , 150 and 152 , which in turn change the parameters of the higher-order cells making up these devices (not shown in FIG. 1 ( c )), which in turn change the parameters of the atoms making up these cells (also not shown in FIG. 1 ( c )). That is, changing a parameter for structure 146 may change a parameter for device 150 , which as a type “2” device has two constituent higher-order cells, as has been shown in and described in conjunction with FIG. 1 ( b ). Further, this change in a parameter for device 150 may cause a change in one of the parameters of one of the two constituent higher-order cells, which may then cause a change in one of the parameters of one of the basic atom cells of this higher-order cell.
- the semiconductor test structure of FIG. 1 ( c ) (as based on the structures of FIG. 1 ( a ) and 1 ( b )) may be viewed as being represented by a hierarchical data structure having four layers of abstraction: a highest layer of abstraction, the test structure itself; a second highest layer of abstraction, the devices making up the test structure; a third highest layer of abstraction, the higher-order cells making up the devices; and a lowest level of abstraction, the basic atom cells making up the higher-order cells.
- Changing the parameters of any one layer of abstraction causes the changing of the parameters of an immediately lower layer of abstraction, which then propagates changes down to the lowest level of abstraction.
- 1 ( a ), 1 ( b ) and 1 ( c ) may also be viewed as a computerized system, such that changing one aspect (parameter) of the system during the design of a test structure causes lower aspects of the system to automatically change. Note that other layers of abstraction can be formed on top of the four shown in and described in conjunction with FIGS. 1 ( a ), 1 ( b ), and 1 ( c ), such as circuits and integrated circuit chips.
- FIGS. 1 ( a ), 1 ( b ) and 1 ( c ) The hierarchical design of semiconductor test structures as has been shown in and described in conjunction with FIGS. 1 ( a ), 1 ( b ) and 1 ( c ) provides for advantages not found in the prior art.
- different users can be responsible for different parts of the design, without having to be skilled in all aspects of the structure's design. For instance, one designer may be responsible for designing a library of basic atom cells, or a single very flexible basic atom cells. Another designer may be responsible for designing a library of higher-order cells based on the basic atom cell or cells. Still another designer may be responsible for designing devices based on the higher-order cells.
- a designer who is responsible for designing the structure itself can piece together a structure based on the devices and higher-order cells that have already been created. Finally, an end user may use this structure to create different instances thereof by simply changing the parameters of the structure in accordance with current specifications. This is advantageous, because this user does not have to be skilled in manipulation of the basic atom cells, since changing the parameters thereof will be accomplished automatically by changing parameters of the structure itself.
- Another advantage of the invention is that the cell designer can build in optimal design characteristics into the cell structure, and be guaranteed that those characteristics are retained in a specific instance of the cell placement by a cell user who may not be fully aware of the optimal design characteristics. In this way, the cells can incorporate and pass on a high level of design experience and avoid the possibility of design errors caused by inexperienced designers.
- FIGS. 1 ( a )- 1 ( c ) A hierarchical semiconductor test structure design according to an exemplary embodiment of the invention has been shown and described. Those of ordinary skill within the art will appreciate that the invention is not limited to the specific embodiment shown in and described in conjunction with FIGS. 1 ( a )- 1 ( c ), however. For instance, there may be many more higher-order cells than the three defined in FIG. 1 ( a ), each of which may have many more constituent basic atom cells than the number shown in FIG. 1 ( a ). For further instance, there may be many more devices than the two defined in FIG. 1 ( b ), each of which also may have many more constituent higher-order cells than the number shown in FIG. 1 ( b ). Finally, the structure shown in FIG. 1 ( c ) may have many more constituent devices than the number shown in FIG. 1 ( c ).
- the method may be implemented as a computerized method executed as a computer program on a suitably equipped computer (in particular, executed by a processor of the computer from a computer-readable medium of the computer, such as a memory).
- a computer program may be stored on a computer-readable medium, such as a floppy disk, a compact-disc read-only-memory (CD-ROM), or a memory such as a random-access memory (RAM) or a read-only memory (ROM).
- the invention is not so limited.
- the method may be also be utilized to create a semiconductor test structure in accordance with an embodiment of the invention.
- a basic atom cell is created.
- This basic cell may be such as those described in conjunction with FIG. 1 ( a ).
- the basic atom cell has at least one parameter that affects attributes thereof.
- the basic atom cell is the lowest abstraction within the hierarchical data structure for the semiconductor test structure.
- step 202 higher-order cells, such as those of FIG. 1 ( a ), are created.
- Each higher-order cell relates a plurality of instances of the basic atom cell.
- higher-order cells also have parameters that affect attributes thereof. These parameters are such that when one of the parameters changes, one or more of the parameters of one or more of the plurality of instances of the basic atom cell related by the higher-order cell also change.
- the higher-order cells are a higher abstraction than the basic atom cell, and enable a designer to work with higher-order cells without having to specifically work with basic atom cells.
- step 204 devices, such as those of FIG. 1 ( b ), are created.
- Each device relates a plurality of instances of higher-order cells.
- devices also have parameters that affect attributes thereof. These parameters are also such that when one of the parameters changes, one or more of the parameters of the one or more of the plurality of instances of the higher-order cells also change (and thus instigating change to basic atom cells as well).
- the devices are a higher abstraction than the higher-order cells, permitting a designer to work with devices without having to specifically work with higher-order cells or basic atom cells.
- test structure such as that of FIG. 1 ( c )
- a test structure relates a plurality of instances of devices.
- test structures also have parameters that affect attributes thereof. These parameters are such that when one of them changes, one or more of the parameters of the one or more of the plurality of instances of the devices also change (and thus instigating change to higher-order cells and basic atom cells as well).
- the structures are the highest abstraction, and permit a designer to work with a test structure without having to specifically work with devices, higher-order cells, or basic atom cells.
- the method of FIG. 2 thus provides for the design of a semiconductor test structure in a hierarchical manner.
- Each of the basic cells of step 200 may be used in a number of different higher-order cells, which may be used in a number of different devices, which may be used in a number of different test structures.
- the hierarchical approach permits specialization as well: a designer may specifically only be skilled at creating one of the levels of abstraction, saving his or her work in a library such that the designer constructing the next layer of abstraction is able to utilize the immediately lower layer without having particular skill in construction of such lower layers.
- FIG. 3 a diagram of a computer in conjunction with which an exemplary embodiment of the invention may be implemented is shown.
- the computer is running Design Framework II (DF2) software, available from Cadence Design Systems, Inc., and in conjunction with which an embodiment of the invention may be implemented.
- DF2 Design Framework II
- Computer 310 of FIG. 3 is operatively coupled to monitor 312 , pointing device 314 , and keyboard 316 .
- Computer 310 includes a processor (such as an Intel Pentium processor or a reduced instruction set (RISC) processor), random-access memory (RAM), read-only memory (ROM), and one or more storage devices, such as a hard disk drive, a floppy disk drive (into which a floppy disk can be inserted), an optical disk drive, and a tape cartridge drive.
- the memory, hard drives, floppy disks, etc. are types of computer-readable media.
- the invention is not particularly limited to any type of computer 310 .
- Computer 310 desirably is a computer running a version of the UNIX operating system. The construction and operation of such computers are well known within the art.
- computer 310 may be communicatively connected to a local-area network (LAN), a wide-area network (WAN), an Intranet, or the Internet, any particular manner by which the invention is not limited to, and which is not shown in FIG. 3 .
- LAN local-area network
- WAN wide-area network
- Intranet or the Internet
- the computer includes a modem and corresponding communication drivers to connect to the Internet via what is known in the art as a “dial-up connection.”
- the computer includes an Ethernet or similar hardware card to connect to a local-area network (LAN) or wide-area network (WAN) that itself is connected to an Intranet or the Internet via what is know in the art as a “direct connection” (e.g., T1 line, etc.).
- direct connection e.g., T1 line, etc.
- Monitor 312 permits the display of information, including computer, video and other information, for viewing by a user of the computer.
- monitor 312 is one type of display device that may be used by the invention.
- monitors include cathode ray tube (CRT) displays, as well as flat panel displays such as liquid crystal displays (LCD's).
- Pointing device 314 permits the control of the screen pointer provided by the graphical user interface of operating systems.
- the invention is not limited to any particular pointing device 314 .
- Such pointing devices include mouses, touch pads, trackballs, remote controls and point sticks.
- keyboard 316 permits entry of textual information into computer 310 , as known within the art, and the invention is not limited to any particular type of keyboard.
- FIG. 4 a diagram of a semiconductor memory in conjunction with which a semiconductor test structure hierarchically designed in accordance with an embodiment of the invention may be tested is shown. That is, FIG. 4 shows a semiconductor memory for which semiconductor test structures designed in accordance with the hierarchical manner of an embodiment of the invention may be utilized—the reason why semiconductor test structures are necessary is to ensure that semiconductor circuits such as the memory of FIG. 4 correctly perform according to specification.
- the invention itself is not limited to the design of a semiconductor test structure; the invention may be used in conjunction with the design of any semiconductor structure.
- the design of a semiconductor test structure is merely an exemplary use, and is used specifically in the detailed description only as such.
- FIG. 4 is specifically a schematic/block diagram illustrating generally an architecture of one embodiment of a memory 400 in conjunction with which the present invention may be utilized.
- memory 400 is a dynamic random access memory (DRAM).
- DRAM dynamic random access memory
- the invention can be applied to other semiconductor memory devices, such as static random access memories (SRAMs), synchronous random access memories or other types of memories that include a matrix of selectively addressable memory cells.
- SRAMs static random access memories
- synchronous random access memories or other types of memories that include a matrix of selectively addressable memory cells.
- the invention can be applied to any type of semiconductor device, and is not limited to memory only.
- Memory 400 includes a memory cell array 405 , having memory cells therein that include floating gate transistors.
- X gate decoder 415 provides a plurality of gate control lines for addressing floating gate transistors in array 405 .
- Y source/drain decoder 420 provides a plurality of source/drain interconnection lines for accessing source/drain regions of the floating gate transistors in array 405 .
- Input/output circuitry 425 includes necessary sense amplifiers and input/output (I/O) circuitry for reading, writing, and erasing data to and from array 105 .
- I/O input/output
- the operation of decoders 415 and 420 are controlled.
- the address signals are provided by a controller such as a microprocessor that is fabricated separately or together with memory 400 , or otherwise provided by any other suitable circuits.
- FIGS. 1 ( a )- 1 ( c ) The description of an exemplary embodiment of the invention has been provided. Specifically, in conjunction with FIGS. 1 ( a )- 1 ( c ), a description of a hierarchical manner by which semiconductor test structures may be designed has been presented. In conjunction with FIG. 2 , a description of a method according to which such structures may be designed in accordance with the invention has been provided. In conjunction with FIG. 3 , a description of a computer in which embodiments of the invention has been presented. Finally, in conjunction with FIG. 4 , a description of a semiconductor memory that may be the motivation for the hierarchical design of semiconductor test structures of the invention has also been provided.
- Basic atom cell 500 is termed a C1 cell, based upon pcell functionality available within DF2.
- Pcell functionality provides for the taking of an existing geometry and parameterizing it so that when instances of that geometry are placed, parameters can be specified that will customize that instance to meet specific design rule requirements.
- Cell 500 includes underlayer geometry 502 , contacts 504 that can be arrayed into a contact block and aligned over geometry 502 , metal caps 506 that can be placed over each individual contact 504 , and metal pad 508 that can globally cover all contacts 504 .
- Full programming control is provided for every possible relationship of the four layers (i.e., geometry 502 , contacts 504 , caps 506 and pad 508 ) with respect to one another.
- Cell 510 includes grid parameter 510 to ensure that all geometries and shifts within cell 500 are accomplished in units of a grid. This ensures that cell 500 is always consistent with an underlying grid structure.
- Geometry 502 has three associated parameters, lx 512 , ly 514 , and layer 516 .
- Lx 512 and ly 514 are x and y values, respectively, that control the size of geometry 502 .
- Layer 516 specifies the type of the base layer provided by geometry 502 (such as nplsaa, npoly, etc., as known within the art).
- An “N” type for layer 516 turns off this base layer within cell 500 .
- Contacts 504 have thirteen associated parameters, cx 518 , cy 520 , cont 522 , cpx 524 , cpy 526 , cmx 528 , cmy 530 , nx 532 , ny 534 , ax 536 , ay 538 , cofx 540 and cofy 542 .
- Cx 518 and cy 520 are x and y values, respectively, that control the size of the layer of contact 504 .
- Cont 522 specifies the type of the base layer for contacts 504 .
- An “N” type for cont 522 turns off this layer within cell 500 .
- Cpx 524 and cpy 526 are x and y values, respectively, that specify the pitch of the contacts within the base layer.
- Cmx 528 and cmy 530 are x and y values, respectively, that specify the minimum allowed distance of the contact block to the base layer edge provided within contacts 504 .
- Nx 532 and ny 534 are x and y values, respectively, that specify the number of contacts within the allowed area of the base layer provided by cont 522 .
- the allowed area is the region of the base layer that is defined by (lx minus two times cmx) and (ly minus two times cmy) in dimension.
- a value of nx and ny of 0.0 fills up zero percent of the allowed area in the base layer with contacts (i.e., no contacts).
- a value of 1.0 for nx and ny fills 100% of the allowed area in the base layer with contacts.
- a negative number for nx and ny forces the absolute value of that number of contacts to be placed. For example, an nx value of negative three and an ny value of negative five creates a contact block of three by five contacts independent of the allowed region of the base layer.
- Ax 536 and ay 538 are x and y values, respectively, that align the contact block within the allowed region of the base layer.
- An ax value of negative one pushes the contact block to the extreme left of the allowed region.
- An ax value of one pushes the contact block to the extreme right of the allowed region.
- An ax value of zero centers the contact block within the allowed based region. Similar behavior applies to ay 538 . Fractional values between negative one and positive one accords proportional behavior.
- cofx 540 and cofy 542 are x and y values, respectively, that produce absolute shifts in addition to those produced by ax 536 and 538 .
- the parameters are to be set as follows: ax as zero, cofx as 0.1, ay as zero, and cofy as 0.
- nx and ny calculate the size of the contact array, and ax and ay align that array over the base layer. If nx and ny are negative, then the absolute value of that number is the number of contacts; for example, if nx is minus eight and ny is minus five, then an eight by five array of contacts is aligned over the allowable base layer. If nx and ny are positive, then it can take values from zero through one. If nx is one, for example, then 100% of the allowable area is filled with contacts in the x direction. If nx is 0.5, then 50% of the allowable area is filled within contacts in the x direction. (The allowable area is lx minus two times cmx and ly minus two times cmy.)
- ax 536 and ay 538 are used to align that array over the allowable area. If ax is one, then the contacts are pushed to the extreme right of the allowable area. If ax is zero, then the contacts are centered in the allowable area. If ax is minus one, then the contacts are pushed to the extreme left of the allowable area. Ay 538 behaves similarly in the y direction.
- Ax and ay shift contacts based upon a percentage of the available space.
- the contact offset parameters, cofx 540 and cofy 542 allow the contacts to be shifted by a fixed amount from the default positions given by ax 536 and ay 538 . For example, if contacts are to be shifted 0.1 micron to the right of center, ax is set to zero and cofx is set to 0.1.
- Metal caps 506 has five associated parameters, cap 544 , csx 546 , csy 548 , csofx 550 , and csofy 552 .
- Cap 544 specifies the type of the cap layer provided by metal caps 506 .
- a value of “N” turns off the cap layer.
- Csx 546 and csy 548 are x and y values, respectively, that specify the surround of caps 506 with respect to contacts 504 . Values of zero for csofx and csofy center the caps about the contacts. Any other values cause offsets of the cap layer by the specified amount.
- metal pad 508 has eight associated parameters, pad 554 , psx 556 , psy 558 , padrel 560 , apx 562 , apy 564 , psofx 566 and psofy 568 .
- Pad 554 specifies the layer type of the pad layer provided by pad 508 .
- a value of “N” turns off the pad layer.
- Psx 556 and psy 558 are x and y values, respectively, that control the size of the pad layer that globally surrounds the contact block. The effect of psy and psx depends on the setting of padrel 560 .
- Padrel 560 is a boolean parameter determining the effect of psx 556 and psy 558 . If padrel is set to “Y,” then the pad layer covers the contact block by values of (csx plus psy) and (csy plus psy) in the x and y directions, respectively (that is, the pad is placed relative to the contact block). If padrel is set to “N,” then the size of the pad is provided by psx and psy independent of the size of the contact block and other parameters.
- Apx 562 and apy 564 are x and y values, respectively, that align the pad with respect to the contact block, and behaves in a similar fashion to ax 536 and ay 536 that have already been described.
- Psofx 566 and psofy 568 are x and y values, respectively, that offset the pads by the given amount from the alignment that results from the values of psx, psy, apx, apy, and padrel.
- C1 cell 500 is a parameterized cell that has four layers: underlayer geometry (or base layer) 502 , contacts layer 504 , metal caps layer 506 , and metal pad layer 508 .
- the variables (parameters) within the C1 cell allow any size rectangular base layer to be created. Contacts of any size can be put into this base layer. Caps can be placed over these contacts with any cap overlap contact dimension in the x and y direction.
- the number of contacts that are placed within the base layer can be specified directly (e.g., nx as minus eight, ny as minus thirteen), or can be input as a percentage of the allowable area that can hold contacts.
- This allowable area is determined by subtracting two times cmx and two times cmy from the x and y dimensions of the base layer, respectively. For example, if lx and ly are 100 and 100 (specifying size of the base layer), and cmx and cmy are 20 and 30, then the allowable area for contacts is 60 in the x direction and 40 in the y direction. Contacts fill up this area based upon the contact size and contact pitch that is specified. Once the number of allowable contacts are placed, then the contacts can be shifted as a group anywhere within the allowable area. The caps over the contacts, and the metal pads, are completely programmable in terms of size as well as offsets in the x and the y directions.
- the layer parameters, layer 516 , cont 522 , cap 544 , and pad 554 are used to determine the layers that are used in cell 500 .
- the base layer specified by layer 516 can be changed to an allowable layer. If an “N” is input in either layer, cont, cap or pad, then those layers will not be placed. That is, if cap or cont is “N” then no contact or cap layer will be present regardless of the values any variables related to those layers may have.
- the basic atom cell described and shown as cell 500 of FIG. 5 is termed a C1 cell. It is the most general cell, allowing full control in the x and y directions of cont, cap and pad.
- the contacts align to the base layer
- the caps align to the contacts
- the pad aligns to the contacts.
- Other basic atom cells derived from the C1 cell are also desirable, to allow for easier creation of higher order-cells, and subsequently devices and structures.
- FIG. 6 shows a table of such other basic atom cells (table 600 ) according to one embodiment of the invention. Each of these other basic atom cells are derived from the C1 cell, or from another cell within the table.
- Those of ordinary skill within the art can appreciate that the invention can be used to design other different types of basic cells with specialized properties and features that can be used to create higher-order complex objects with a minimum of programming effort.
- Master cell 700 is completely programmable to produce any desired subcell by easily eliminating undesired basic atom cells from master cell 700 .
- master cell 700 includes nine C1 cells, such as C1 cell 702 , nine l1 cells, such as l1 cell 704 , and nine c1a cells, such as c1 a cell 706 .
- Associated with the cells as known to those of ordinary skill in the art of DF2 software, are a number of horizontal and vertical stretch lines, such as stretch lines 708 and 710 , which adjust the positioning of cells such as 702 , 704 and 706 .
- Using a master cell provides for quicker generation of higher-order cells, devices and structures because it is generally much quicker to delete elements from the master cell than it is to create them from a blank slate.
- the parameters of the basic atom cells provide great flexibility in producing a base layer with contacts, caps, and pad.
- Any orthogonal parametric structure should be able to be decomposed into an array of C1 cells, for instance, with different relative orientations to one another.
- a two-terminal resistor can be thought of as a C1 cell on the left with layer, contacts, and pad turned on and caps off; a C1 cell in the middle with contacts, cap, and pad turned off; and a C1 cell on the right with layer, contacts, pad turned on and caps turned off.
- This two-terminal resistor can be viewed as including three C1 cells with cell 2 oriented to cell 1 and cell 3 oriented to cell 2 . This is referred to as a c3 — 2 structure. It may be an end test structure in and of itself, or it may be a higher-order cell structure for use in other more complex devices and structures. Another type of test structure may be built from three C1 cells where both cell 2 and cell 3 align to cell 1 . This is referred to as a c3 — 1 structure.
- a VanDerPauw resistor can be built from a c9 — 2225678: cell 1 forms the body of the resistor, cells 2 , 3 , 4 and 5 form the arms that align to cell 1 , and cells 6 , 7 , 8 , and 9 form the pads on the arms that align to cells 2 , 3 , 4 and 5 , respectively.
- FIG. 8 shows such a c9 — 2225678 higher-order cell, cell 800
- FIG. 9 shows such a c9 — 2225678 cell after it has been converted into a VanDerPauw resistor, resistor 900 .
- Higher-order cells such as c9 — 2225678 may be referred to as elements, and can themselves by manipulated into a vast array of parametric devices and structures.
- a set of parameters referred to as shift parameters are used in higher-order cells, devices and structures to determine the relative orientation of the lower-level abstractions, such as C1 cells, with respect to one another.
- one set of shift parameters may be shift 32 x, a 32 x, o 32 x (with a similar set existing for y directions). With these parameters, the alignment of cell 3 with respect to cell 2 can be controlled. For example, setting shift 32 x to 2, a 32 x to 0, and o 32 x to 0 centers cell 3 with respect to cell 2 . Setting o 32 x to 0.1 offsets cell 3 by 0.1 micron from the center of cell 2 .
- the a parameters take on values from minus one to plus one, and behave similar to the ax and ay parameters that shift the contacts within the C1 cell itself; i.e., it produces a relative shift about an axis.
- the shift 32 x parameter determines the axis about which shifting occurs. For example, shift 32 x set to one shifts cell 3 about the left edge of cell 2 ; shift 32 x set to two shifts cell 3 about the center of cell 2 , etc.
- the o 32 x parameter provides offsets from the shift and a parameters.
- a collection of higher-order cells may be created to assist in development of even higher levels of abstractions, such as structures and devices.
- the invention is not particularly limited to any set of higher-order cells.
- a table of higher-order cells according to one embodiment of the invention is shown in FIG. 10 .
- table 1000 includes two columns: column 1002 , which lists the higher-order cells, and column 1004 , which lists the basic atom cells that constitute these higher-order cells, and/or a description of the higher-order cells.
- the creation of such higher-order cells is accomplished by relating together two or more basic atom cells, and attaching appropriate parameters thereto.
- the c2 cell includes two C1 cells.
- Each C1 cell has its own set of parameters such as l 1 x, l 2 x, l 1 y, l 2 y, etc.
- shift 21 x determines the type of shift that layer 2 does with respect to layer 1 in the x direction.
- Shift 21 y determines the type of shift that layer 2 does with respect to layer 1 in the y direction.
- a 21 x determines the percentage amount of shift in the x direction, while a 21 y determines the percentage amount of shift in the y direction.
- O 21 x determines the absolute shift in the x direction after a 2 x has been applied, while o 21 y determines the absolute shift in the y direction after a 21 y has been applied.
- the a 21 x and a 21 y parameters have possible values ranging from minus one to plus one.
- a c3 cell has three C1 cells that align to one another.
- Cell 2 aligns only to cell 1 but cell 3 aligns to either cell 1 or to cell 2 .
- C3 — 1 has cell 3 aligning to cell 1
- c3 — 2 has cell 3 aligning to cell 2 .
- the c1 and c2 cells require no extensions.
- the c3 cell has local parameters such as l 1 x, l 2 x and l 3 x, and also global parameters to determine the relative shifts of the c1, c3 and c3 cells.
- c3 — 2 there are parameters shift 32 x, shift 32 y, a 32 x, a 32 y, o 32 x, o 32 y, shift 21 x, shift 21 y, a 21 x, a 21 y, o 21 x and o 21 y.
- c3 — 1 there are the parameters shift 31 x, shift 31 y, a 31 x, a 31 y, o 31 x, o 31 y, shift 21 x, shift 21 y, a 21 x, a 21 y, o 21 x and o 21 y.
- a c4 cell has four C1 cells that align to one another. There are four variations, namely c4 — 11, c4 — 12, c4 — 22 and c4 — 23.
- FIG. 11 A table of exemplary devices and structures, and their descriptions, according to one embodiment of the invention is shown as table 1100 in FIG. 11 .
- Devices are desirably built up from higher-order cells, and structures are desirably built up from devices. Further layers of abstraction are also possible, such as modules, built up from structures, and integrated circuit chips, built up from modules.
- a module has programmable pads, with structures in-between the pads.
- the size of the structures and their orientation are connected to the location, size and orientation of the interconnection pads.
- Higher level parameters may be used to configure the entire module, controlling all aspects of the module from pad size and pitch to inner-structure details such as transistor nibble, gate length, etc.
- One aspect of the invention is a computerized system that includes a semiconductor structure and a basic atom.
- the system also includes a hierarchy of abstractions ordered from highest to lowest.
- Each abstraction relates a plurality of instances of an immediately lower abstraction; the highest abstraction corresponds to the structure, and the lowest abstraction corresponds to the basic atom.
- a plurality of sets of parameters also is included within the system, where each set of parameters corresponds to an instance of an abstraction. Changing one of the set of parameters for an instance of an abstraction changes at least one of the set of parameters for an instance of an immediately lower abstraction.
- Parameters desirably relate to attributes of an abstraction.
- the hierarchy may have six abstractions: atoms, higher-order cells, devices, structures, and also circuits and integrated circuit chips, ordered from lowest to highest.
- Each of these abstractions has an associated set of parameters. Instances of atoms are used to create higher-order cells, instances of higher-order cells are used to create devices, and instances of devices are used to create structures.
- Each instance of an abstraction relates together a plurality of instances of an immediately lower-level abstraction.
- changing parameters associated with an instance of a higher-order cell for example, automatically changes the parameters of the instances of atoms related by that higher-order cell.
- the present invention includes computerized systems, methods, hierarchical data structures, semiconductor structures, computer-readable media, basic atom cells, and computers of varying scope.
- the invention is implemented in conjunction with Design Framework II (DF2) software available from Cadence Design Systems, Inc.
- DF2 Design Framework II
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Hierarchical semiconductor structure design is disclosed. One aspect of the invention is a computerized system that includes a semiconductor structure (such as a semiconductor test structure) and a basic atom. The system also includes a hierarchy of abstractions ordered from highest to lowest. Each abstraction relates a plurality of instances of an immediately lower abstraction; the highest abstraction corresponds to the structure, and the lowest abstraction corresponds to the basic atom. A plurality of sets of parameters also is included within the system, where each set of parameters corresponds to an instance of an abstraction. Changing one of the set of parameters for an instance changes at least one of the set of parameters for an instance of an immediately lower abstraction.
Description
- This application is a Divisional of Ser. No. 10/230,937, filed Aug. 29, 2002, which is a Continuation of Ser. No. 09/031,398 filed on Feb. 26, 1998, now U.S. Pat. No. 6,449,757, which are incorporated herein by reference.
- This invention relates generally to the design of semiconductors, and more particularly to such design that is hierarchical in nature.
- Semiconductor technology pervades most electronic devices today. Computers, televisions, videocassette recorders, cameras, etc., all use semiconductor integrated circuits to varying degrees. For example, the typical computer includes microprocessors and dedicated controller integrated circuits (i.e., video controllers, audio controllers, etc.), as well as memory, such as dynamic random-access memory. The design of semiconductors, therefore, is a crucial consideration of the design of almost any electronic device.
- One type of semiconductor design is the design of semiconductor test structures. A semiconductor integrated circuit, for example, must be able to operate in a variety of different conditions (varying temperatures, for example), and perform within a variety of different specifications (i.e., speed, power consumption, etc.). Semiconductor test structures are therefore utilized to ensure that various components of a given semiconductor will perform according to specification in different conditions. Test structures are not integrated circuits sold to end consumers as part of an electronic device, but rather are used internally to ascertain that the end products will perform correctly.
- To aid in the design of semiconductors in general, and the design of semiconductor test structures in particular, software such as Design Framework II (DF2), available from Cadence Design Systems, Inc., has been developed. DF2, for example, includes an editor that permits a designer to place various components over a semiconductor substrate as necessary. DF2 also provides for a degree of flexibility in the design of such components. Specifically, DF2 includes parameterized cells, or pcells, that allow the designer to create customized instances of a pcell every time the pcell is placed on a layer. For example, a transistor can be created and have parameters assigned thereto to provide for control of its width, length, and number of gates. When instances of the transistor are placed on the layer, different values may be assigned to each of these parameters. According to the parameter values, each instance varies in size and composition.
- The pcell approach of DF2, however, is a top-down semiconductor design approach, and thus has limitations and disadvantages associated with it. A designer may, for example, first draw a transistor, and then program that transistor to respond to parameters that will cause various parts of the design to take on those parameter values. This can be a very complex, tedious and error-prone process. For example, if the designer desires contacts to fill in the available active area space while maintaining a certain pitch and minimum separation from the active area edge, the equations to accomplish this for an arbitrarily sized active area are complex within DF2. Furthermore, these equations are specific to the transistor under development. If the designer desires to design another parameterized object—for example, a field transistor or a contact chain—he or she needs to repeat the entire process.
- Therefore, there is a need for an approach to the designing of semiconductors that avoids the pitfalls of top-down design. The approach should enable a semiconductor designer to avoid having to “start from scratch” when designing a new parameterized object. Thus, the approach should be more flexible and easier to use than prior art design approaches.
- FIGS. 1(a), 1(b), and 1(c) show diagrams of a representative hierarchy of a semiconductor test structure, according to an exemplary embodiment of the invention;
-
FIG. 2 shows a flowchart of a method according to an exemplary embodiment of the invention; -
FIG. 3 shows a diagram of a computer in conjunction with which an exemplary embodiment of the invention may be implemented; -
FIG. 4 shows a diagram of a semiconductor memory in conjunction with which a semiconductor test structure hierarchically designed in accordance with an embodiment of the invention may be tested; -
FIG. 5 shows a diagram of the parameters contained within a basic atom cell, according to one embodiment of the invention amenable to implementation in conjunction with Design Framework II (DF2) software available from Cadence Systems, Inc.; -
FIG. 6 shows a table of basic atom cells, according to one embodiment of the invention; -
FIG. 7 shows a diagram of a master cell for use in accordance with one embodiment of the invention; -
FIG. 8 shows a c9—2225678 higher-order cell, according to one embodiment of the invention; -
FIG. 9 shows the c9—2225678 cell ofFIG. 8 after it has been converted into a VanDerPauw resistor, according to an embodiment of the invention; -
FIG. 10 shows a table of higher-order cells, according to one embodiment of the invention; and, -
FIG. 11 shows a table of devices and structures, according to one embodiment of the invention. - In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
- Those of ordinary skill within the art will appreciate that the detailed description is presented in accordance with the example of designing a semiconductor test structure. However, the invention itself is not limited to the design of semiconductor test structures. Rather, the invention may be utilized in the design of any semiconductor structure, in a manner identical to that described with respect to semiconductor test structures. The example of the semiconductor test structure is only presented in the detailed description specifically as an exemplary structure, to provide for clear description of the invention.
- The detailed description is divided into three sections. In the first section, an exemplary embodiment of the invention is described. In the second section, a specific embodiment of the invention that may be practiced in conjunction with Design Framework II (DF2) software available from Cadence Design Systems, Inc., is presented. Finally, in the third section, a conclusion of the detailed description is provided.
- A description of an exemplary embodiment of the invention is provided in this section of the detailed description. The description is provided in conjunction with reference to FIGS. 1(a), 1(b), 1(c), 2, 3 and 4. FIGS. 1(a)-1(c) show diagrams of a representative hierarchy of a semiconductor test structure, according to an exemplary embodiment.
FIG. 2 shows a flowchart of a method according to an exemplary embodiment, whileFIG. 3 shows a diagram of a computer in conjunction with which an exemplary embodiment of the invention may be implemented. Finally,FIG. 4 shows a diagram of a semiconductor memory in conjunction with which a semiconductor test structure hierarchically designed in accordance with an embodiment of the invention may be tested. - Referring first to
FIG. 1 (a), a diagram of three higher-order cells, each defined by relating a number of instances of basic atom cells, is shown. Higher-order cell 100, defining type “1” higher-order cells, is defined by relating four instances of basic atom cells,atoms Atoms atom 104 is an instance of basic atom cell of type “2”; and,atom 106 is an instance of basic atom cell of type “3”. The type defined by higher order cell 100 (i.e., “1”), and the types ofatoms FIG. 1 (a) (and as will be used inFIG. 1 (b) andFIG. 1 (c) as well) are for notational and descriptive purposes only. - Furthermore, each of
higher order cell 100, andatoms higher order cell 100 has parameters that when changed also change the parameters ofatoms higher order cell 100 relatesatoms cell 100 that causes that cell to become larger, for example, causes corresponding changes inatoms cell 100. - Still referring to
FIG. 1 (a), two other higher-order cells are defined,cells Cell 110 is made up ofatoms Atoms atom 118 is of type “3”;cell 110 itself defines type “2” for higher-order cells. Similarly,cell 112 is made up ofatoms atoms atom 124 is of type “3”, andatoms Cell 112 itself defines type “3” for high-order cells. As withcell 100 and its constituent atoms,cells cell - The basic hierarchical structure shown in
FIG. 1 (a) is a powerful tool for the design of semiconductor test structures. For example, once higher-order cells FIG. 1 (a), they may be utilized to create more complex devices and structures, without forcing the designer to concern him or herself over details regarding the individual constituent atoms of the higher-order cells. For example, the designer may wish to design a transistor.Atoms Cell 100, then, may be a higher-level structure, where parameters fromatoms cell 100. A cell called tran, for transistor, is then created by placing an instance ofcell 100 and setting the parameters ofcell 100 such that a transistor is formed - the cell tran can then be used by anyone by setting its parameters. Transistors of different sizes and shapes can be created. - An additional level of the hierarchical structure initially described in
FIG. 1 (a) is shown inFIG. 1 (b), which is a diagram of two devices, each defined by relating a number of instances of the higher-order cells that have been defined inFIG. 1 (a).Device 132, defining type “1” devices, is defined by relating three instances of higher-order cells,cells Cells cell 100 ofFIG. 1 (a);cell 136 is an instance of cells of type “3,” as has been defined ascell 112 ofFIG. 1 (a). As withFIG. 1 (a), the type defined bydevice 132 is for representative purposes only, and does not specifically relate to any given type of semiconductor component. - Each of
device 132 andcells device 132 has parameters that when changed also change the parameters ofcells FIG. 1 (b)). That is, changing a parameter fordevice 132 may change a parameter forcell 136, which as a type “3” higher-order cell has six constituent atoms, as has been shown in and described in conjunction withFIG. 1 (a). Thus, the changing of the parameter forcell 136 instigated by changing a parameter fordevice 132 also may change one or more parameters of one or more of these six constituent atoms. - Still referring to
FIG. 1 (b), one other device is defined,device 140.Device 140 is made up of two instances of higher-order cells,cells Cell 142 is of type “2,” as has been defined ascell 110 ofFIG. 1 (a), andcell 144 is of type “3,” as has been defined ascell 112 ofFIG. 1 (a).Device 140 itself defines type “2” for devices. As withdevice 132 and its constituent higher-order cells,device 140 and its constituent higher-order cells each has a set of parameters related to its type. Desirably, when a parameter ofdevice 140 changes, one or more parameters of one or more of its constituent cells changes as well, propagating a change of one or more parameters of one or more of the atoms making up these constituent cells. - Therefore, the basic hierarchical structure shown in
FIG. 1 (a) is expanded by the structure shown inFIG. 1 (b). InFIG. 1 (b), two devices are defined. A designer of a semiconductor test structure may therefore utilize these devices within the test structure, such that the designer does not need to concern him or herself with the actual cells making up these devices, or the constituent atoms making up the higher-cells. The devices may thus be viewed as a higher abstraction than the higher-order cells, just as the higher-order cells are a higher abstraction than the basic atom cells. Changing the parameter of a device, for instance, may cause many changes in the parameters of the basic atom cells. Without the invention, there would be no lower cells at all; all the programming would be done at the highest level. By comparison, under the invention, the designer only needs to change the parameter of a device, and if the device and its higher-order cells are defined correctly, appropriate changes are propagated through to and made within the basic atom cells. - The hierarchical structure shown in
FIG. 1 (a) and extended inFIG. 1 (b) may be additionally extended as shown inFIG. 1 (c), which is a diagram of a semiconductor test structure, defined by relating three instances of the devices that have been defined inFIG. 1 (b).Semiconductor test structure 146 is defined by relating two instances of devices of type “1,”devices device 132 ofFIG. 1 (b), and one instance of devices of type “2,”device 150, as devices of type “2” have been defined asdevice 140 ofFIG. 1 (b). The semiconductor test structure ofFIG. 1 (c) is for representative purposes only, and does not specifically relate to any given type of semiconductor structure. - Each of
structure 146 anddevices structure 146 has parameters that when changed also change the parameters ofdevices FIG. 1 (c)), which in turn change the parameters of the atoms making up these cells (also not shown inFIG. 1 (c)). That is, changing a parameter forstructure 146 may change a parameter fordevice 150, which as a type “2” device has two constituent higher-order cells, as has been shown in and described in conjunction withFIG. 1 (b). Further, this change in a parameter fordevice 150 may cause a change in one of the parameters of one of the two constituent higher-order cells, which may then cause a change in one of the parameters of one of the basic atom cells of this higher-order cell. - Thus, the semiconductor test structure of
FIG. 1 (c) (as based on the structures ofFIG. 1 (a) and 1(b)) may be viewed as being represented by a hierarchical data structure having four layers of abstraction: a highest layer of abstraction, the test structure itself; a second highest layer of abstraction, the devices making up the test structure; a third highest layer of abstraction, the higher-order cells making up the devices; and a lowest level of abstraction, the basic atom cells making up the higher-order cells. Changing the parameters of any one layer of abstraction causes the changing of the parameters of an immediately lower layer of abstraction, which then propagates changes down to the lowest level of abstraction. The FIGS. 1(a), 1(b) and 1(c) may also be viewed as a computerized system, such that changing one aspect (parameter) of the system during the design of a test structure causes lower aspects of the system to automatically change. Note that other layers of abstraction can be formed on top of the four shown in and described in conjunction with FIGS. 1(a), 1(b), and 1(c), such as circuits and integrated circuit chips. - The hierarchical design of semiconductor test structures as has been shown in and described in conjunction with FIGS. 1(a), 1(b) and 1(c) provides for advantages not found in the prior art. By abstracting each layer within a semiconductor test structure, for example, different users can be responsible for different parts of the design, without having to be skilled in all aspects of the structure's design. For instance, one designer may be responsible for designing a library of basic atom cells, or a single very flexible basic atom cells. Another designer may be responsible for designing a library of higher-order cells based on the basic atom cell or cells. Still another designer may be responsible for designing devices based on the higher-order cells. A designer who is responsible for designing the structure itself can piece together a structure based on the devices and higher-order cells that have already been created. Finally, an end user may use this structure to create different instances thereof by simply changing the parameters of the structure in accordance with current specifications. This is advantageous, because this user does not have to be skilled in manipulation of the basic atom cells, since changing the parameters thereof will be accomplished automatically by changing parameters of the structure itself. Another advantage of the invention is that the cell designer can build in optimal design characteristics into the cell structure, and be guaranteed that those characteristics are retained in a specific instance of the cell placement by a cell user who may not be fully aware of the optimal design characteristics. In this way, the cells can incorporate and pass on a high level of design experience and avoid the possibility of design errors caused by inexperienced designers.
- A hierarchical semiconductor test structure design according to an exemplary embodiment of the invention has been shown and described. Those of ordinary skill within the art will appreciate that the invention is not limited to the specific embodiment shown in and described in conjunction with FIGS. 1(a)-1(c), however. For instance, there may be many more higher-order cells than the three defined in
FIG. 1 (a), each of which may have many more constituent basic atom cells than the number shown inFIG. 1 (a). For further instance, there may be many more devices than the two defined inFIG. 1 (b), each of which also may have many more constituent higher-order cells than the number shown inFIG. 1 (b). Finally, the structure shown inFIG. 1 (c) may have many more constituent devices than the number shown inFIG. 1 (c). - Referring next to
FIG. 2 , a flowchart of a method according to an exemplary embodiment of the invention is shown. The method may be implemented as a computerized method executed as a computer program on a suitably equipped computer (in particular, executed by a processor of the computer from a computer-readable medium of the computer, such as a memory). Such a computer program may be stored on a computer-readable medium, such as a floppy disk, a compact-disc read-only-memory (CD-ROM), or a memory such as a random-access memory (RAM) or a read-only memory (ROM). The invention is not so limited. The method may be also be utilized to create a semiconductor test structure in accordance with an embodiment of the invention. - In
step 200, a basic atom cell is created. This basic cell may be such as those described in conjunction withFIG. 1 (a). The basic atom cell has at least one parameter that affects attributes thereof. The basic atom cell is the lowest abstraction within the hierarchical data structure for the semiconductor test structure. - In
step 202, higher-order cells, such as those ofFIG. 1 (a), are created. Each higher-order cell relates a plurality of instances of the basic atom cell. Desirably, higher-order cells also have parameters that affect attributes thereof. These parameters are such that when one of the parameters changes, one or more of the parameters of one or more of the plurality of instances of the basic atom cell related by the higher-order cell also change. In this way, the higher-order cells are a higher abstraction than the basic atom cell, and enable a designer to work with higher-order cells without having to specifically work with basic atom cells. - In
step 204, devices, such as those ofFIG. 1 (b), are created. Each device relates a plurality of instances of higher-order cells. Desirably, devices also have parameters that affect attributes thereof. These parameters are also such that when one of the parameters changes, one or more of the parameters of the one or more of the plurality of instances of the higher-order cells also change (and thus instigating change to basic atom cells as well). The devices are a higher abstraction than the higher-order cells, permitting a designer to work with devices without having to specifically work with higher-order cells or basic atom cells. - Finally, in
step 206, a test structure, such as that ofFIG. 1 (c), is created. A test structure relates a plurality of instances of devices. Desirably, test structures also have parameters that affect attributes thereof. These parameters are such that when one of them changes, one or more of the parameters of the one or more of the plurality of instances of the devices also change (and thus instigating change to higher-order cells and basic atom cells as well). The structures are the highest abstraction, and permit a designer to work with a test structure without having to specifically work with devices, higher-order cells, or basic atom cells. - The method of
FIG. 2 thus provides for the design of a semiconductor test structure in a hierarchical manner. Each of the basic cells ofstep 200 may be used in a number of different higher-order cells, which may be used in a number of different devices, which may be used in a number of different test structures. The hierarchical approach permits specialization as well: a designer may specifically only be skilled at creating one of the levels of abstraction, saving his or her work in a library such that the designer constructing the next layer of abstraction is able to utilize the immediately lower layer without having particular skill in construction of such lower layers. - Referring next to
FIG. 3 , a diagram of a computer in conjunction with which an exemplary embodiment of the invention may be implemented is shown. Those of ordinary skill within the art will recognize that the invention is not limited to the computer shown inFIG. 3 , however. In one embodiment, the computer is running Design Framework II (DF2) software, available from Cadence Design Systems, Inc., and in conjunction with which an embodiment of the invention may be implemented. -
Computer 310 ofFIG. 3 is operatively coupled to monitor 312, pointingdevice 314, andkeyboard 316.Computer 310 includes a processor (such as an Intel Pentium processor or a reduced instruction set (RISC) processor), random-access memory (RAM), read-only memory (ROM), and one or more storage devices, such as a hard disk drive, a floppy disk drive (into which a floppy disk can be inserted), an optical disk drive, and a tape cartridge drive. The memory, hard drives, floppy disks, etc., are types of computer-readable media. The invention is not particularly limited to any type ofcomputer 310.Computer 310 desirably is a computer running a version of the UNIX operating system. The construction and operation of such computers are well known within the art. - Furthermore,
computer 310 may be communicatively connected to a local-area network (LAN), a wide-area network (WAN), an Intranet, or the Internet, any particular manner by which the invention is not limited to, and which is not shown inFIG. 3 . Such connectivity is well known within the art. In one embodiment, the computer includes a modem and corresponding communication drivers to connect to the Internet via what is known in the art as a “dial-up connection.” In another embodiment, the computer includes an Ethernet or similar hardware card to connect to a local-area network (LAN) or wide-area network (WAN) that itself is connected to an Intranet or the Internet via what is know in the art as a “direct connection” (e.g., T1 line, etc.). -
Monitor 312 permits the display of information, including computer, video and other information, for viewing by a user of the computer. The invention is not limited to anyparticular monitor 312, and monitor 312 is one type of display device that may be used by the invention. Such monitors include cathode ray tube (CRT) displays, as well as flat panel displays such as liquid crystal displays (LCD's).Pointing device 314 permits the control of the screen pointer provided by the graphical user interface of operating systems. The invention is not limited to anyparticular pointing device 314. Such pointing devices include mouses, touch pads, trackballs, remote controls and point sticks. Finally,keyboard 316 permits entry of textual information intocomputer 310, as known within the art, and the invention is not limited to any particular type of keyboard. - Referring finally to
FIG. 4 , a diagram of a semiconductor memory in conjunction with which a semiconductor test structure hierarchically designed in accordance with an embodiment of the invention may be tested is shown. That is,FIG. 4 shows a semiconductor memory for which semiconductor test structures designed in accordance with the hierarchical manner of an embodiment of the invention may be utilized—the reason why semiconductor test structures are necessary is to ensure that semiconductor circuits such as the memory ofFIG. 4 correctly perform according to specification. However, as described in the beginning of this detailed description, the invention itself is not limited to the design of a semiconductor test structure; the invention may be used in conjunction with the design of any semiconductor structure. The design of a semiconductor test structure is merely an exemplary use, and is used specifically in the detailed description only as such. -
FIG. 4 is specifically a schematic/block diagram illustrating generally an architecture of one embodiment of amemory 400 in conjunction with which the present invention may be utilized. In the embodiment ofFIG. 4 ,memory 400 is a dynamic random access memory (DRAM). However, the invention can be applied to other semiconductor memory devices, such as static random access memories (SRAMs), synchronous random access memories or other types of memories that include a matrix of selectively addressable memory cells. Furthermore, as has been described in the beginning of the detailed description, the invention can be applied to any type of semiconductor device, and is not limited to memory only. -
Memory 400 includes amemory cell array 405, having memory cells therein that include floating gate transistors.X gate decoder 415 provides a plurality of gate control lines for addressing floating gate transistors inarray 405. Y source/drain decoder 420 provides a plurality of source/drain interconnection lines for accessing source/drain regions of the floating gate transistors inarray 405. Input/output circuitry 425 includes necessary sense amplifiers and input/output (I/O) circuitry for reading, writing, and erasing data to and from array 105. In response to address signals that are provided onaddress lines 435 during read, write, and erase operations, the operation ofdecoders memory 400, or otherwise provided by any other suitable circuits. - The description of an exemplary embodiment of the invention has been provided. Specifically, in conjunction with FIGS. 1(a)-1(c), a description of a hierarchical manner by which semiconductor test structures may be designed has been presented. In conjunction with
FIG. 2 , a description of a method according to which such structures may be designed in accordance with the invention has been provided. In conjunction withFIG. 3 , a description of a computer in which embodiments of the invention has been presented. Finally, in conjunction withFIG. 4 , a description of a semiconductor memory that may be the motivation for the hierarchical design of semiconductor test structures of the invention has also been provided. - A description of an exemplary embodiment of the invention has been described in the previous section of the detailed description. In this section of the detailed description, a description of a specific embodiment of the invention is presented. Specifically, the description relates to an embodiment of the invention implemented using Design Framework II (DF2) software available from Cadence Design Systems, Inc. The description is provided in sufficient detail to enable one of ordinary skill in the art to make and use an embodiment of the invention utilizing DF2.
- Referring first to
FIG. 5 , a diagram of the parameters contained with a basic atom cell, according to one embodiment of the invention amenable to implementation in conjunction with DF2, is shown. Basic atom cell 500 is termed a C1 cell, based upon pcell functionality available within DF2. Pcell functionality provides for the taking of an existing geometry and parameterizing it so that when instances of that geometry are placed, parameters can be specified that will customize that instance to meet specific design rule requirements. - Cell 500 includes
underlayer geometry 502,contacts 504 that can be arrayed into a contact block and aligned overgeometry 502, metal caps 506 that can be placed over eachindividual contact 504, andmetal pad 508 that can globally cover allcontacts 504. Full programming control is provided for every possible relationship of the four layers (i.e.,geometry 502,contacts 504, caps 506 and pad 508) with respect to one another.Cell 510 includesgrid parameter 510 to ensure that all geometries and shifts within cell 500 are accomplished in units of a grid. This ensures that cell 500 is always consistent with an underlying grid structure. -
Geometry 502 has three associated parameters,lx 512,ly 514, andlayer 516.Lx 512 andly 514 are x and y values, respectively, that control the size ofgeometry 502.Layer 516 specifies the type of the base layer provided by geometry 502 (such as nplsaa, npoly, etc., as known within the art). An “N” type forlayer 516 turns off this base layer within cell 500. -
Contacts 504 have thirteen associated parameters, cx 518,cy 520,cont 522,cpx 524,cpy 526,cmx 528,cmy 530,nx 532,ny 534,ax 536,ay 538,cofx 540 andcofy 542.Cx 518 andcy 520 are x and y values, respectively, that control the size of the layer ofcontact 504.Cont 522 specifies the type of the base layer forcontacts 504. An “N” type forcont 522 turns off this layer within cell 500.Cpx 524 andcpy 526 are x and y values, respectively, that specify the pitch of the contacts within the base layer.Cmx 528 andcmy 530 are x and y values, respectively, that specify the minimum allowed distance of the contact block to the base layer edge provided withincontacts 504. -
Nx 532 andny 534 are x and y values, respectively, that specify the number of contacts within the allowed area of the base layer provided bycont 522. The allowed area is the region of the base layer that is defined by (lx minus two times cmx) and (ly minus two times cmy) in dimension. A value of nx and ny of 0.0 fills up zero percent of the allowed area in the base layer with contacts (i.e., no contacts). A value of 1.0 for nx and ny fills 100% of the allowed area in the base layer with contacts. A negative number for nx and ny forces the absolute value of that number of contacts to be placed. For example, an nx value of negative three and an ny value of negative five creates a contact block of three by five contacts independent of the allowed region of the base layer. -
Ax 536 anday 538 are x and y values, respectively, that align the contact block within the allowed region of the base layer. An ax value of negative one pushes the contact block to the extreme left of the allowed region. An ax value of one pushes the contact block to the extreme right of the allowed region. An ax value of zero centers the contact block within the allowed based region. Similar behavior applies to ay 538. Fractional values between negative one and positive one accords proportional behavior. - While
ax 536 anday 538 produce shifts in the contact block relative to the base layer,cofx 540 andcofy 542 are x and y values, respectively, that produce absolute shifts in addition to those produced byax - Thus, nx and ny calculate the size of the contact array, and ax and ay align that array over the base layer. If nx and ny are negative, then the absolute value of that number is the number of contacts; for example, if nx is minus eight and ny is minus five, then an eight by five array of contacts is aligned over the allowable base layer. If nx and ny are positive, then it can take values from zero through one. If nx is one, for example, then 100% of the allowable area is filled with contacts in the x direction. If nx is 0.5, then 50% of the allowable area is filled within contacts in the x direction. (The allowable area is lx minus two times cmx and ly minus two times cmy.)
- Once nx and ny have been used to determine the size of the contact array,
ax 536 anday 538 are used to align that array over the allowable area. If ax is one, then the contacts are pushed to the extreme right of the allowable area. If ax is zero, then the contacts are centered in the allowable area. If ax is minus one, then the contacts are pushed to the extreme left of the allowable area.Ay 538 behaves similarly in the y direction. - Ax and ay shift contacts based upon a percentage of the available space. The contact offset parameters,
cofx 540 andcofy 542, allow the contacts to be shifted by a fixed amount from the default positions given byax 536 anday 538. For example, if contacts are to be shifted 0.1 micron to the right of center, ax is set to zero and cofx is set to 0.1. - Metal caps 506 has five associated parameters,
cap 544,csx 546,csy 548,csofx 550, andcsofy 552.Cap 544 specifies the type of the cap layer provided bymetal caps 506. A value of “N” turns off the cap layer.Csx 546 andcsy 548 are x and y values, respectively, that specify the surround ofcaps 506 with respect tocontacts 504. Values of zero for csofx and csofy center the caps about the contacts. Any other values cause offsets of the cap layer by the specified amount. - Finally,
metal pad 508 has eight associated parameters,pad 554,psx 556,psy 558,padrel 560,apx 562, apy 564,psofx 566 andpsofy 568.Pad 554 specifies the layer type of the pad layer provided bypad 508. A value of “N” turns off the pad layer.Psx 556 andpsy 558 are x and y values, respectively, that control the size of the pad layer that globally surrounds the contact block. The effect of psy and psx depends on the setting ofpadrel 560. -
Padrel 560 is a boolean parameter determining the effect ofpsx 556 andpsy 558. If padrel is set to “Y,” then the pad layer covers the contact block by values of (csx plus psy) and (csy plus psy) in the x and y directions, respectively (that is, the pad is placed relative to the contact block). If padrel is set to “N,” then the size of the pad is provided by psx and psy independent of the size of the contact block and other parameters. -
Apx 562 andapy 564 are x and y values, respectively, that align the pad with respect to the contact block, and behaves in a similar fashion to ax 536 anday 536 that have already been described.Psofx 566 andpsofy 568 are x and y values, respectively, that offset the pads by the given amount from the alignment that results from the values of psx, psy, apx, apy, and padrel. - As has been described, C1 cell 500 is a parameterized cell that has four layers: underlayer geometry (or base layer) 502,
contacts layer 504,metal caps layer 506, andmetal pad layer 508. The variables (parameters) within the C1 cell allow any size rectangular base layer to be created. Contacts of any size can be put into this base layer. Caps can be placed over these contacts with any cap overlap contact dimension in the x and y direction. The number of contacts that are placed within the base layer can be specified directly (e.g., nx as minus eight, ny as minus thirteen), or can be input as a percentage of the allowable area that can hold contacts. - This allowable area is determined by subtracting two times cmx and two times cmy from the x and y dimensions of the base layer, respectively. For example, if lx and ly are 100 and 100 (specifying size of the base layer), and cmx and cmy are 20 and 30, then the allowable area for contacts is 60 in the x direction and 40 in the y direction. Contacts fill up this area based upon the contact size and contact pitch that is specified. Once the number of allowable contacts are placed, then the contacts can be shifted as a group anywhere within the allowable area. The caps over the contacts, and the metal pads, are completely programmable in terms of size as well as offsets in the x and the y directions.
- The layer parameters,
layer 516,cont 522,cap 544, andpad 554, are used to determine the layers that are used in cell 500. For example, the base layer specified bylayer 516 can be changed to an allowable layer. If an “N” is input in either layer, cont, cap or pad, then those layers will not be placed. That is, if cap or cont is “N” then no contact or cap layer will be present regardless of the values any variables related to those layers may have. - The basic atom cell described and shown as cell 500 of
FIG. 5 is termed a C1 cell. It is the most general cell, allowing full control in the x and y directions of cont, cap and pad. The contacts align to the base layer, the caps align to the contacts, and the pad aligns to the contacts. Other basic atom cells derived from the C1 cell are also desirable, to allow for easier creation of higher order-cells, and subsequently devices and structures.FIG. 6 shows a table of such other basic atom cells (table 600) according to one embodiment of the invention. Each of these other basic atom cells are derived from the C1 cell, or from another cell within the table. Those of ordinary skill within the art can appreciate that the invention can be used to design other different types of basic cells with specialized properties and features that can be used to create higher-order complex objects with a minimum of programming effort. - Referring next to
FIG. 7 , a diagram of a master cell for use in accordance with one embodiment of the invention is shown.Master cell 700 is completely programmable to produce any desired subcell by easily eliminating undesired basic atom cells frommaster cell 700. Thus, as shown inFIG. 7 ,master cell 700 includes nine C1 cells, such asC1 cell 702, nine l1 cells, such asl1 cell 704, and nine c1a cells, such as c1 acell 706. Associated with the cells, as known to those of ordinary skill in the art of DF2 software, are a number of horizontal and vertical stretch lines, such asstretch lines - The parameters of the basic atom cells provide great flexibility in producing a base layer with contacts, caps, and pad. Any orthogonal parametric structure should be able to be decomposed into an array of C1 cells, for instance, with different relative orientations to one another. For example, a two-terminal resistor can be thought of as a C1 cell on the left with layer, contacts, and pad turned on and caps off; a C1 cell in the middle with contacts, cap, and pad turned off; and a C1 cell on the right with layer, contacts, pad turned on and caps turned off.
- This two-terminal resistor can be viewed as including three C1 cells with
cell 2 oriented tocell 1 andcell 3 oriented tocell 2. This is referred to as ac3 —2 structure. It may be an end test structure in and of itself, or it may be a higher-order cell structure for use in other more complex devices and structures. Another type of test structure may be built from three C1 cells where bothcell 2 andcell 3 align tocell 1. This is referred to as ac3 —1 structure. - A VanDerPauw resistor, known within the art, can be built from a c9—2225678:
cell 1 forms the body of the resistor,cells cell 1, and cells 6, 7, 8, and 9 form the pads on the arms that align tocells FIG. 8 shows such a c9—2225678 higher-order cell,cell 800, whileFIG. 9 shows such a c9—2225678 cell after it has been converted into a VanDerPauw resistor,resistor 900. Higher-order cells such as c9—2225678 may be referred to as elements, and can themselves by manipulated into a vast array of parametric devices and structures. - A set of parameters referred to as shift parameters are used in higher-order cells, devices and structures to determine the relative orientation of the lower-level abstractions, such as C1 cells, with respect to one another. For example, one set of shift parameters may be shift 32 x, a32 x, o32 x (with a similar set existing for y directions). With these parameters, the alignment of
cell 3 with respect tocell 2 can be controlled. For example, setting shift 32 x to 2, a32 x to 0, and o32 x to 0centers cell 3 with respect tocell 2. Setting o32 x to 0.1offsets cell 3 by 0.1 micron from the center ofcell 2. The a parameters take on values from minus one to plus one, and behave similar to the ax and ay parameters that shift the contacts within the C1 cell itself; i.e., it produces a relative shift about an axis. The shift 32 x parameter determines the axis about which shifting occurs. For example, shift 32 x set to one shiftscell 3 about the left edge ofcell 2; shift 32 x set to twoshifts cell 3 about the center ofcell 2, etc. The o32 x parameter provides offsets from the shift and a parameters. - Thus, a collection of higher-order cells (or elements) may be created to assist in development of even higher levels of abstractions, such as structures and devices. The invention is not particularly limited to any set of higher-order cells. However, a table of higher-order cells according to one embodiment of the invention is shown in
FIG. 10 . WithinFIG. 10 , table 1000 includes two columns:column 1002, which lists the higher-order cells, andcolumn 1004, which lists the basic atom cells that constitute these higher-order cells, and/or a description of the higher-order cells. - The creation of such higher-order cells is accomplished by relating together two or more basic atom cells, and attaching appropriate parameters thereto. For example, the c2 cell includes two C1 cells. Each C1 cell has its own set of parameters such as l1 x, l2 x, l1 y, l2 y, etc. In addition, there are a set of parameters that determine how the second C1 cell is aligned to the first. That is, the combination of the set of parameters determines how the second C1 cell is aligned to the first C1 cell in the x and y directions.
- Specifically, there are six parameters: shift 21 x, shift 21 y, a21 x, a21 y, o21 x, and o21 y. Shift 21 x determines the type of shift that
layer 2 does with respect tolayer 1 in the x direction. Shift 21 y determines the type of shift thatlayer 2 does with respect tolayer 1 in the y direction. A21 x determines the percentage amount of shift in the x direction, while a21 y determines the percentage amount of shift in the y direction. O21 x determines the absolute shift in the x direction after a2 x has been applied, while o21 y determines the absolute shift in the y direction after a21 y has been applied. The a21 x and a21 y parameters have possible values ranging from minus one to plus one. - For further example, a c3 cell has three C1 cells that align to one another.
Cell 2 aligns only tocell 1 butcell 3 aligns to eithercell 1 or tocell 2. Thus, there are two types of c3 cells:c3 —1 andc3 —2.C3 —1 hascell 3 aligning tocell 1 andc3 —2 hascell 3 aligning tocell 2. The c1 and c2 cells require no extensions. The c3 cell has local parameters such as l1 x, l2 x and l3 x, and also global parameters to determine the relative shifts of the c1, c3 and c3 cells. Thus, inc3 —2 there are parameters shift 32 x, shift 32 y, a32 x, a32 y, o32 x, o32 y, shift 21 x, shift 21 y, a21 x, a21 y, o21 x and o21 y. Inc3 —1 there are the parameters shift 31 x, shift 31 y, a31 x, a31 y, o31 x, o31 y, shift 21 x, shift 21 y, a21 x, a21 y, o21 x and o21 y. As a final example, a c4 cell has four C1 cells that align to one another. There are four variations, namelyc4 —11, c4—12, c4—22 and c4—23. - Once a core library of higher-order cell has been created, as has been shown in
FIG. 10 , a library of devices and structures can then also be created. All devices and structures eventually lead back to basic atom cells. A table of exemplary devices and structures, and their descriptions, according to one embodiment of the invention is shown as table 1100 inFIG. 11 . Devices are desirably built up from higher-order cells, and structures are desirably built up from devices. Further layers of abstraction are also possible, such as modules, built up from structures, and integrated circuit chips, built up from modules. - Thus, once structures have been created, higher levels of abstraction, such as the module, can also be created. A module has programmable pads, with structures in-between the pads. The size of the structures and their orientation are connected to the location, size and orientation of the interconnection pads. Higher level parameters may be used to configure the entire module, controlling all aspects of the module from pad size and pitch to inner-structure details such as transistor nibble, gate length, etc.
- A description of a specific embodiment of the invention, for implementation in conjunction with DF2 software, has been described. Those of ordinary skill within the art will appreciate that while the invention has been described in relation to DF2 software, the invention is not so limited. Thus, an embodiment of the invention utilizing other software, or programmed from scratch, is within the scope of the invention.
- The above-mentioned shortcomings, disadvantages and problems are addressed by various embodiments of the present invention, which will be understood by reading and studying the specification. One aspect of the invention is a computerized system that includes a semiconductor structure and a basic atom. The system also includes a hierarchy of abstractions ordered from highest to lowest. Each abstraction relates a plurality of instances of an immediately lower abstraction; the highest abstraction corresponds to the structure, and the lowest abstraction corresponds to the basic atom. A plurality of sets of parameters also is included within the system, where each set of parameters corresponds to an instance of an abstraction. Changing one of the set of parameters for an instance of an abstraction changes at least one of the set of parameters for an instance of an immediately lower abstraction. Parameters desirably relate to attributes of an abstraction.
- For example, in one embodiment, the hierarchy may have six abstractions: atoms, higher-order cells, devices, structures, and also circuits and integrated circuit chips, ordered from lowest to highest. Each of these abstractions has an associated set of parameters. Instances of atoms are used to create higher-order cells, instances of higher-order cells are used to create devices, and instances of devices are used to create structures. Each instance of an abstraction relates together a plurality of instances of an immediately lower-level abstraction. Thus, changing parameters associated with an instance of a higher-order cell, for example, automatically changes the parameters of the instances of atoms related by that higher-order cell.
- In this manner, once appropriate atoms and higher-order cells have been designed, devices and structures can be designed easily by relating together instances of the atoms and higher-order cells. Most importantly, if the specifications governing a given structure need to be changed, a user merely has to change the parameters for the structure, which then affects the parameters of the instances of the lower level devices, higher-order cells, and atoms. That is, redesign of the structure at the atom, or even at the higher-order cell, level is not necessary. This means that semiconductor design becomes more intuitive, and enables modification of existing structures to create new structures, in a non-tedious and non-time-consuming manner.
- The present invention includes computerized systems, methods, hierarchical data structures, semiconductor structures, computer-readable media, basic atom cells, and computers of varying scope. In one embodiment of the invention, the invention is implemented in conjunction with Design Framework II (DF2) software available from Cadence Design Systems, Inc. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description.
- Hierarchical semiconductor structure design has been described. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.
Claims (28)
1. In a system having several higher order cells having higher order cell parameters, each of the higher order cells defined by relating a number of instances of atom cells, an atom cell comprising:
a plurality of atom parameters relating to instances of the atom cell; and
the atom parameters relating the instances of the atom cells to each other are constructed and arranged for changing in accordance with changing parameters of the higher order cell so that the higher order cell relates atom cells to each other.
2. The system of claim 1 , wherein changing higher order cell parameters to cause a higher order cell to become larger causes corresponding changes in the atoms making up that instance of higher order cell.
3. The system of claim 1 , wherein changing higher order cell parameters to cause a higher order cell to become smaller causes corresponding changes in the atoms cells making up that instance of higher order cell.
4. The system of claim 1 , wherein changing higher order cell parameters to cause a higher order cell to become denser causes corresponding changes in the atoms making up that instance of higher order cell.
5. The system of claim 1 , wherein changing higher order cell parameters to cause a higher order cell to use a different level of power consumption causes corresponding changes in the atoms making up that instance of higher order cell.
6. The system of claim 1 , wherein changing higher order cell parameters to cause a change in one or more characteristics of the higher level cells causes replacement of the atom cells with other similar atom cells making up the instance of the higher order cell.
7. The system of claim 5 , wherein changing higher order cell parameters to cause a decrease in the power consumption of the higher level cell causes replacement of the atom cells instantiated by the higher order cell with other similar atom cells that consume less power.
8. The system of claim 5 , wherein changing higher order cell parameters to cause a decrease in the size of the higher level cell causes replacement of the atom cells instantiated by the higher order cell with other similar atom cells that are smaller.
9. The system of claim 5 , wherein changing higher order cell parameters to cause a increase in density of the higher level cell causes replacement of the atom cells instantiated by the higher order cell with other similar atom cells that more dense.
10. In a system having cells ordered by hierarchy, each cell of a higher hierarchy order defined by instantiating a number of instances of cells of lower hierarchy order, a cell comprising:
a plurality of parameters relating to instances of the cells; and
the parameters relating the instances of the cells to each other are constructed and arranged for changing in accordance with changing parameters of higher order cells so that the higher order cells relates lower order cells to each other.
11. The system of claim 10 , wherein changing higher order cell parameters to cause a higher order cell to change in size causes corresponding changes in the lower order cells making up that instance of higher order cell.
12. The system of claim 10 , wherein changing higher order cell parameters to cause a higher order cell to become denser causes corresponding changes in the lower order cells making up that instance of higher order cell.
13. The system of claim 10 , wherein changing higher order cell parameters to cause a higher order cell to use a different level of power consumption causes corresponding changes in the lower order cells making up that instance of higher order cell.
14. The system of claim 10 , wherein changing higher order cell parameters to cause a change in the characteristics of the higher order cell causes replacement of the lower order cells with other cells consistent with the change in characteristics of the higher order cell.
15. The system of claim 14 , wherein the change in characteristic of the higher order cells is to decrease in the power consumption of the higher level cell, and causes replacement of the lower order cells instantiated by the higher order cell with other similar lower order cells that consume less power.
16. The system of claim 14 , wherein the change in characteristic of the higher order cells is to decrease the size of the higher level cell, and causes replacement of the lower order cells instantiated by the higher order cell with other similar lower order cells that are smaller.
17. The system of claim 14 , wherein the change in characteristic of the higher order cells is to decrease the density of the higher level cell, and causes replacement of the lower order cells instantiated by the higher order cell with other similar lower order cells that are more dense.
18. An article comprising a computer readable medium having a computer program stored thereon for execution on a computer with instructions to utilize a basic atom cell in design of a structure, the program article comprising:
representing a hierarchical structure design utilizing a basic atom; providing for a hierarchy of abstractions ordered from highest to lowest, wherein the lowest abstraction corresponds to the basic atom, and the highest abstraction corresponds to the structure and each abstraction relates a plurality of instances of an immediately lower abstraction and wherein each instance of an abstraction has a set of parameters such that changing one of the set of parameters for an instance changes at least one of the set of parameters for an instance of an immediately lower abstraction.
19. The article of claim 18 , wherein the hierarchy of abstractions ordered from lowest to the highest comprises: atoms, higher order cells, devices, structures, circuits and integrated circuit chips.
20. The article of claim 19 , wherein the modification of a parameter of an integrated circuit chip results in modification of circuits instantiated by that integrated circuit chip, modification of structures instantiated by those circuits, modification of devices instantiated within those structures, modification of higher order cells instantiated within those devices, and modification of atoms instantiated by those higher order cells.
21. An article comprising a computer readable medium having a computer program stored thereon for execution on a computer with instructions to utilize a basic atom cell in design of a structure, the program article comprising:
representing a hierarchical structure design utilizing a basic atom.
22. The program of claim 21 , wherein the program provides for a hierarchy of abstractions ordered from highest to lowest, wherein the lowest abstraction corresponds to the basic atom.
23. The program of claim 22 , wherein the abstraction relates a plurality of instances of an immediately lower abstraction and wherein each instance of an abstraction has a set of parameters.
24. The program of claim 23 , wherein instances of abstractions are interrelated between hierarchy orders such that changing one of the set of parameters for an instance changes at least one of the set of parameters for an instance of an immediately lower abstraction.
25. The article of claim 21 , wherein the hierarchy of abstractions ordered from lowest to the highest comprises: atoms, higher order cells, devices, structures, circuits and integrated circuit chips.
26. The article of claim 25 , wherein the modification of a parameter of an integrated circuit chip results in modification of circuits instantiated by that integrated circuit chip, modification of structures instantiated by those circuits, modification of devices instantiated within those structures, modification of higher order cells instantiated within those devices, and modification of atoms instantiated by those higher order cells.
27. A system of hierarchical design of interrelated cells, comprising:
lowest level cells;
parameters associated with the lowest level cells;
wherein the lowest level cells and parameters associated with the lowest level cells are capable of independent use; and
cells of one or more higher level;
wherein a cell of a high level is created by:
definitions of parameters associated with the cell of a high level; and
instantiation of either the lowest level cells, or higher level cells of a lower level than the high level cell, or a combination of bother lowest level cells and higher level cells of a lower level than the high level cell.
28. The system of claim 27 , wherein modification of any parameter of the cell of a high level results in modification of parameters associated with lowest level cells instantiated by the cell of a higher level and parameters associated with higher level cells instantiated by the cell of a high level.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/428,644 US20060253827A1 (en) | 1998-02-26 | 2006-07-05 | Hierarchial semiconductor design |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/031,398 US6449757B1 (en) | 1998-02-26 | 1998-02-26 | Hierarchical semiconductor design |
US10/230,937 US7096446B2 (en) | 1998-02-26 | 2002-08-29 | Hierarchical semiconductor design |
US11/428,644 US20060253827A1 (en) | 1998-02-26 | 2006-07-05 | Hierarchial semiconductor design |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/230,937 Division US7096446B2 (en) | 1998-02-26 | 2002-08-29 | Hierarchical semiconductor design |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060253827A1 true US20060253827A1 (en) | 2006-11-09 |
Family
ID=21859234
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/031,398 Expired - Fee Related US6449757B1 (en) | 1998-02-26 | 1998-02-26 | Hierarchical semiconductor design |
US10/230,937 Expired - Fee Related US7096446B2 (en) | 1998-02-26 | 2002-08-29 | Hierarchical semiconductor design |
US11/428,644 Abandoned US20060253827A1 (en) | 1998-02-26 | 2006-07-05 | Hierarchial semiconductor design |
US11/428,639 Abandoned US20060253809A1 (en) | 1998-02-26 | 2006-07-05 | Hierarchial semiconductor design |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/031,398 Expired - Fee Related US6449757B1 (en) | 1998-02-26 | 1998-02-26 | Hierarchical semiconductor design |
US10/230,937 Expired - Fee Related US7096446B2 (en) | 1998-02-26 | 2002-08-29 | Hierarchical semiconductor design |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/428,639 Abandoned US20060253809A1 (en) | 1998-02-26 | 2006-07-05 | Hierarchial semiconductor design |
Country Status (1)
Country | Link |
---|---|
US (4) | US6449757B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294491A1 (en) * | 2005-06-27 | 2006-12-28 | Becker Scott T | Methods for creating primitive constructed standard cells |
US20070118825A1 (en) * | 2005-11-21 | 2007-05-24 | Intersil Americas Inc. | Usage of a buildcode to specify layout characteristics |
US20090007031A1 (en) * | 2007-06-27 | 2009-01-01 | Cadence Design Systems, Inc. | Method and system for implementing cached parameterized cells |
US20100115207A1 (en) * | 2008-10-31 | 2010-05-06 | Cadence Design Systems, Inc. | Method and system for implementing multiuser cached parameterized cells |
US7949987B1 (en) | 2008-02-08 | 2011-05-24 | Cadence Design Systems, Inc. | Method and system for implementing abstract layout structures with parameterized cells |
US20130097572A1 (en) * | 2009-09-10 | 2013-04-18 | Cadence Design Systems, Inc. | Method and system for implementing graphically editable parameterized cells |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922659B2 (en) * | 1998-02-26 | 2005-07-26 | Micron Technology, Inc. | Parameter population of cells of a hierarchical semiconductor structure via file relation |
US6449757B1 (en) * | 1998-02-26 | 2002-09-10 | Micron Technology, Inc. | Hierarchical semiconductor design |
JP4748337B2 (en) * | 2000-09-26 | 2011-08-17 | 大日本印刷株式会社 | Design circuit pattern for semiconductor circuit test |
US6886140B2 (en) * | 2002-01-17 | 2005-04-26 | Micron Technology, Inc. | Fast algorithm to extract flat information from hierarchical netlists |
US6842888B2 (en) | 2002-04-23 | 2005-01-11 | Freescale Semiconductor, Inc. | Method and apparatus for hierarchically restructuring portions of a hierarchical database based on selected attributes |
US6823496B2 (en) * | 2002-04-23 | 2004-11-23 | International Business Machines Corporation | Physical design characterization system |
US6931613B2 (en) * | 2002-06-24 | 2005-08-16 | Thomas H. Kauth | Hierarchical feature extraction for electrical interaction calculations |
US6785875B2 (en) * | 2002-08-15 | 2004-08-31 | Fulcrum Microsystems, Inc. | Methods and apparatus for facilitating physical synthesis of an integrated circuit design |
US20050024074A1 (en) * | 2003-08-01 | 2005-02-03 | Gary Benjamin | Method and apparatus for characterizing an electronic circuit |
US7047507B2 (en) * | 2003-08-25 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | System and method for determining wire capacitance for a VLSI circuit |
US7076752B2 (en) * | 2003-08-25 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | System and method for determining unmatched design elements in a computer-automated design |
US20050050506A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method for determining connectivity of nets in a hierarchical circuit design |
US7086019B2 (en) | 2003-08-25 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for determining activity factors of a circuit design |
US7032206B2 (en) | 2003-08-25 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for iteratively traversing a hierarchical circuit design |
US20050050485A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for identifying data sources associated with a circuit design |
US7058908B2 (en) * | 2003-08-25 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Systems and methods utilizing fast analysis information during detailed analysis of a circuit design |
US20050050503A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for establishing data model consistency of computer aided design tools |
US7062727B2 (en) | 2003-08-25 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | Computer aided design systems and methods with reduced memory utilization |
US20050050483A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method analyzing design elements in computer aided design tools |
US20050050482A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method for determining applicable configuration information for use in analysis of a computer aided design |
US7069534B2 (en) | 2003-12-17 | 2006-06-27 | Sahouria Emile Y | Mask creation with hierarchy management using cover cells |
US7302651B2 (en) * | 2004-10-29 | 2007-11-27 | International Business Machines Corporation | Technology migration for integrated circuits with radical design restrictions |
US7712021B2 (en) * | 2005-03-25 | 2010-05-04 | Red Hat, Inc. | System, method and medium for component based web user interface frameworks |
US7222321B2 (en) * | 2005-05-10 | 2007-05-22 | Anaglobe Technology, Inc. | System and method for manipulating an integrated circuit layout |
US7712068B2 (en) * | 2006-02-17 | 2010-05-04 | Zhuoxiang Ren | Computation of electrical properties of an IC layout |
US20070268731A1 (en) * | 2006-05-22 | 2007-11-22 | Pdf Solutions, Inc. | Layout compiler |
US7587694B1 (en) | 2006-07-21 | 2009-09-08 | Ciranova, Inc. | System and method for utilizing meta-cells |
US7698662B1 (en) * | 2006-07-21 | 2010-04-13 | Ciranova, Inc. | System and method for proxied evaluation of PCells |
US7581202B2 (en) * | 2007-05-31 | 2009-08-25 | Freescale Semiconductor Inc. | Method for generation, placement, and routing of test structures in test chips |
US8099693B2 (en) * | 2008-11-04 | 2012-01-17 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for parallelizing tasks in processing an electronic circuit design |
US8887136B2 (en) * | 2010-05-04 | 2014-11-11 | Synopsys, Inc. | Context-based evaluation of equations |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5455938A (en) * | 1994-09-14 | 1995-10-03 | Ahmed; Sultan | Network based machine instruction generator for design verification |
US5519627A (en) * | 1992-05-01 | 1996-05-21 | Vlsi Technology, Inc. | Datapath synthesis method and apparatus utilizing a structured cell library |
US5524244A (en) * | 1988-07-11 | 1996-06-04 | Logic Devices, Inc. | System for dividing processing tasks into signal processor and decision-making microprocessor interfacing therewith |
US5675545A (en) * | 1995-09-08 | 1997-10-07 | Ambit Design Systems, Inc. | Method of forming a database that defines an integrated circuit memory with built in test circuitry |
US5726902A (en) * | 1995-06-07 | 1998-03-10 | Vlsi Technology, Inc. | Method and apparatus for characterizing timing behavior of datapaths for integrated circuit design and fabrication |
US5731223A (en) * | 1996-09-24 | 1998-03-24 | Lsi Logic Corporation | Array of solder pads on an integrated circuit |
US5754760A (en) * | 1996-05-30 | 1998-05-19 | Integrity Qa Software, Inc. | Automatic software testing tool |
US5761498A (en) * | 1994-02-07 | 1998-06-02 | Fujitsu Limited | Distribution file system for accessing required portion of file |
US5774358A (en) * | 1996-04-01 | 1998-06-30 | Motorola, Inc. | Method and apparatus for generating instruction/data streams employed to verify hardware implementations of integrated circuit designs |
US5890155A (en) * | 1997-08-22 | 1999-03-30 | Honeywell Inc. | System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same |
US5893910A (en) * | 1996-01-04 | 1999-04-13 | Softguard Enterprises Inc. | Method and apparatus for establishing the legitimacy of use of a block of digitally represented information |
US5911139A (en) * | 1996-03-29 | 1999-06-08 | Virage, Inc. | Visual image database search engine which allows for different schema |
US5983277A (en) * | 1996-10-28 | 1999-11-09 | Altera Corporation | Work group computing for electronic design automation |
US6009251A (en) * | 1997-09-30 | 1999-12-28 | Synopsys, Inc. | Method and system for layout verification of an integrated circuit design with reusable subdesigns |
US6011911A (en) * | 1997-09-30 | 2000-01-04 | Synopsys, Inc. | Layout overlap detection with selective flattening in computer implemented integrated circuit design |
US6026223A (en) * | 1996-06-28 | 2000-02-15 | Scepanovic; Ranko | Advanced modular cell placement system with overlap remover with minimal noise |
US6035297A (en) * | 1996-12-06 | 2000-03-07 | International Business Machines Machine | Data management system for concurrent engineering |
US6175949B1 (en) * | 1998-03-24 | 2001-01-16 | International Business Machines Corporation | Method and system for selecting sizes of components for integrated circuits |
US6249902B1 (en) * | 1998-01-09 | 2001-06-19 | Silicon Perspective Corporation | Design hierarchy-based placement |
US6421814B1 (en) * | 1994-11-08 | 2002-07-16 | Synopsys, Inc. | Method of extracting layout parasitics for nets of an integrated circuit using a connectivity-based approach |
US6425113B1 (en) * | 2000-06-13 | 2002-07-23 | Leigh C. Anderson | Integrated verification and manufacturability tool |
US6449757B1 (en) * | 1998-02-26 | 2002-09-10 | Micron Technology, Inc. | Hierarchical semiconductor design |
US6922659B2 (en) * | 1998-02-26 | 2005-07-26 | Micron Technology, Inc. | Parameter population of cells of a hierarchical semiconductor structure via file relation |
-
1998
- 1998-02-26 US US09/031,398 patent/US6449757B1/en not_active Expired - Fee Related
-
2002
- 2002-08-29 US US10/230,937 patent/US7096446B2/en not_active Expired - Fee Related
-
2006
- 2006-07-05 US US11/428,644 patent/US20060253827A1/en not_active Abandoned
- 2006-07-05 US US11/428,639 patent/US20060253809A1/en not_active Abandoned
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524244A (en) * | 1988-07-11 | 1996-06-04 | Logic Devices, Inc. | System for dividing processing tasks into signal processor and decision-making microprocessor interfacing therewith |
US5519627A (en) * | 1992-05-01 | 1996-05-21 | Vlsi Technology, Inc. | Datapath synthesis method and apparatus utilizing a structured cell library |
US5761498A (en) * | 1994-02-07 | 1998-06-02 | Fujitsu Limited | Distribution file system for accessing required portion of file |
US5455938A (en) * | 1994-09-14 | 1995-10-03 | Ahmed; Sultan | Network based machine instruction generator for design verification |
US6421814B1 (en) * | 1994-11-08 | 2002-07-16 | Synopsys, Inc. | Method of extracting layout parasitics for nets of an integrated circuit using a connectivity-based approach |
US5726902A (en) * | 1995-06-07 | 1998-03-10 | Vlsi Technology, Inc. | Method and apparatus for characterizing timing behavior of datapaths for integrated circuit design and fabrication |
US5675545A (en) * | 1995-09-08 | 1997-10-07 | Ambit Design Systems, Inc. | Method of forming a database that defines an integrated circuit memory with built in test circuitry |
US5893910A (en) * | 1996-01-04 | 1999-04-13 | Softguard Enterprises Inc. | Method and apparatus for establishing the legitimacy of use of a block of digitally represented information |
US5911139A (en) * | 1996-03-29 | 1999-06-08 | Virage, Inc. | Visual image database search engine which allows for different schema |
US5774358A (en) * | 1996-04-01 | 1998-06-30 | Motorola, Inc. | Method and apparatus for generating instruction/data streams employed to verify hardware implementations of integrated circuit designs |
US5754760A (en) * | 1996-05-30 | 1998-05-19 | Integrity Qa Software, Inc. | Automatic software testing tool |
US6026223A (en) * | 1996-06-28 | 2000-02-15 | Scepanovic; Ranko | Advanced modular cell placement system with overlap remover with minimal noise |
US5731223A (en) * | 1996-09-24 | 1998-03-24 | Lsi Logic Corporation | Array of solder pads on an integrated circuit |
US5983277A (en) * | 1996-10-28 | 1999-11-09 | Altera Corporation | Work group computing for electronic design automation |
US6026226A (en) * | 1996-10-28 | 2000-02-15 | Altera Corporation | Local compilation in context within a design hierarchy |
US6035297A (en) * | 1996-12-06 | 2000-03-07 | International Business Machines Machine | Data management system for concurrent engineering |
US5890155A (en) * | 1997-08-22 | 1999-03-30 | Honeywell Inc. | System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same |
US6011911A (en) * | 1997-09-30 | 2000-01-04 | Synopsys, Inc. | Layout overlap detection with selective flattening in computer implemented integrated circuit design |
US6009251A (en) * | 1997-09-30 | 1999-12-28 | Synopsys, Inc. | Method and system for layout verification of an integrated circuit design with reusable subdesigns |
US6249902B1 (en) * | 1998-01-09 | 2001-06-19 | Silicon Perspective Corporation | Design hierarchy-based placement |
US6449757B1 (en) * | 1998-02-26 | 2002-09-10 | Micron Technology, Inc. | Hierarchical semiconductor design |
US6922659B2 (en) * | 1998-02-26 | 2005-07-26 | Micron Technology, Inc. | Parameter population of cells of a hierarchical semiconductor structure via file relation |
US6175949B1 (en) * | 1998-03-24 | 2001-01-16 | International Business Machines Corporation | Method and system for selecting sizes of components for integrated circuits |
US6425113B1 (en) * | 2000-06-13 | 2002-07-23 | Leigh C. Anderson | Integrated verification and manufacturability tool |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060294491A1 (en) * | 2005-06-27 | 2006-12-28 | Becker Scott T | Methods for creating primitive constructed standard cells |
US7343581B2 (en) * | 2005-06-27 | 2008-03-11 | Tela Innovations, Inc. | Methods for creating primitive constructed standard cells |
US20070118825A1 (en) * | 2005-11-21 | 2007-05-24 | Intersil Americas Inc. | Usage of a buildcode to specify layout characteristics |
US7461366B2 (en) * | 2005-11-21 | 2008-12-02 | Intersil Americas Inc. | Usage of a buildcode to specify layout characteristics |
US20090007031A1 (en) * | 2007-06-27 | 2009-01-01 | Cadence Design Systems, Inc. | Method and system for implementing cached parameterized cells |
US7971175B2 (en) * | 2007-06-27 | 2011-06-28 | Cadence Design Systems, Inc. | Method and system for implementing cached parameterized cells |
US7949987B1 (en) | 2008-02-08 | 2011-05-24 | Cadence Design Systems, Inc. | Method and system for implementing abstract layout structures with parameterized cells |
US20100115207A1 (en) * | 2008-10-31 | 2010-05-06 | Cadence Design Systems, Inc. | Method and system for implementing multiuser cached parameterized cells |
US8364656B2 (en) | 2008-10-31 | 2013-01-29 | Cadence Design Systems, Inc. | Method and system for implementing multiuser cached parameterized cells |
US20130097572A1 (en) * | 2009-09-10 | 2013-04-18 | Cadence Design Systems, Inc. | Method and system for implementing graphically editable parameterized cells |
US8527934B2 (en) * | 2009-09-10 | 2013-09-03 | Cadence Design Systems, Inc | Method and system for implementing graphically editable parameterized cells |
Also Published As
Publication number | Publication date |
---|---|
US7096446B2 (en) | 2006-08-22 |
US20060253809A1 (en) | 2006-11-09 |
US6449757B1 (en) | 2002-09-10 |
US20020023255A1 (en) | 2002-02-21 |
US20030005400A1 (en) | 2003-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6449757B1 (en) | Hierarchical semiconductor design | |
US6922659B2 (en) | Parameter population of cells of a hierarchical semiconductor structure via file relation | |
US5764533A (en) | Apparatus and methods for generating cell layouts | |
US6588004B1 (en) | Graphic editor for block diagram level design of circuits | |
US8607019B2 (en) | Circuit and method of a memory compiler based on subtractive approach | |
US7543262B2 (en) | Analog layout module generator and method | |
US6405160B1 (en) | Memory compiler interface and methodology | |
US5513119A (en) | Hierarchical floorplanner for gate array design layout | |
US6366874B1 (en) | System and method for browsing graphically an electronic design based on a hardware description language specification | |
US8719754B1 (en) | System and method to generate re-useable layout components from schematic components in an IC design with hierarchical parameters | |
US5610832A (en) | Integrated circuit design apparatus with multiple connection modes | |
US6823501B1 (en) | Method of generating the padring layout design using automation | |
US6446248B1 (en) | Spare cells placement methodology | |
US20140304671A1 (en) | Manipulating parameterized cell devices in a custom layout design | |
US7117469B1 (en) | Method of optimizing placement and routing of edge logic in padring layout design | |
JPH06274565A (en) | Data preparation method for logic simulation, logic simulation method and logic simulator | |
US6820048B1 (en) | 4 point derating scheme for propagation delay and setup/hold time computation | |
US6484297B1 (en) | 4K derating scheme for propagation delay and setup/hold time computation | |
US7418675B2 (en) | System and method for reducing the power consumption of clock systems | |
US5065148A (en) | LCD driver a generator | |
US6734046B1 (en) | Method of customizing and using maps in generating the padring layout design | |
US5740071A (en) | Method and apparatus for selective shape adjustment of hierarchical designs | |
JPH10124567A (en) | Semiconductor device design supporting device | |
JP3476688B2 (en) | Netlist generation method and netlist generation device | |
JPH0794587A (en) | Semiconductor device, method and system for designing semiconductor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |