1. Field of the Invention
The present invention relates to integrated circuit devices, cell libraries, cell architectures and electronic design automation tools for integrated circuit devices.
2. Description of Related Art
In the design of integrated circuits, standard functional cell libraries are often utilized. The process of designing the functional cells specified by entries in the cell libraries can be an intensive, where trade-offs among variables such as the size of the cells, the drive power of the cells, the speed of the cells and so on, are made by adjusting the materials, geometry and size of the components of the cell. The procedure of designing cells to be specified in a cell library is often a labor-intensive process, requiring highly skilled designers to manually design and refine the designs of the functional cells.
The development of finFETs has provided some additional flexibility for designers which can be applied in the efficient design of variations of specific functional cells. Thus, some functional libraries are based on FinFETs. FinFETs have been implemented in block structures having a grid structure, in which fins are laid out in parallel in first direction on a substrate with a narrow pitch, and gates are laid out in an orthogonal direction across the fins. The individual functional cells are formed using sets of complementary n-channel and p-channel transistors having their source, drain and channel in the fins. The drive power and other characteristics of individual transistors in a functional cell utilizing FinFETs can be adjusted by increasing or decreasing the number of identical fins utilized in parallel as the channel structure for a given transistor. This provides some granularity of design in the development of a cell library. However, many circuit parameters can benefit from finer tuning of circuit structures. To fine-tune finFET type circuits, complex reconfiguration of the fins or other structures may be required.
It is desirable to provide a functional cell design architecture suitable for implementation of functional cells for a functional cell library that can provide for fine variations in circuit parameters while reducing the design time and design effort required.
A cell architecture, and an integrated circuit design tool utilizing the cell architecture, are described. The functional cell library can have entries for plurality of functional cells. Entries include specifications of particular cells in a computer readable description language applying a cell architecture that includes transistors and interconnects implemented utilizing nanowires. Thus, at least one entry in the cell library can comprise a specification of the cell including a first transistor and a second transistor. The first transistor can include a first set of nanowires arranged in parallel to form a channel structure, and a gate conductor disposed across the first set of nanowires. The second transistor can include a second set of nanowires arranged in parallel to form a channel structure, and a gate conductor disposed across the first set of nanowires. The number of nanowires in the first set can be different from the number of nanowires in the second set, so that the drive power of the individual transistors can be set with fine granularity.
A cell library is described taking advantage of this granularity, which can include a set of functional cells that implement a common circuit, such as a NAND gate or other common logic cell. The cells in the set of functional cells can differ in the number of parallel nanowires used in the implementation of a particular transistor in the common circuit. Also, the cells in the set of functional cells can differ in the number of parallel nanowires used in the implementation of a particular interconnect in the common circuit. These variations in the number of parallel nanowires can provide for fine gradations in drive power or other characteristics of the transistors, and correspondingly different performance characteristics for the functional cell.
Nanowires can be used as interconnect elements in the construction of a cell library elements. Also, a horizontal N+ island used for the purpose of interconnect between vertical nanowire devices is described in this disclosure.
An integrated circuit is described which can be manufactured using a cell library like that described herein.
One aspect of the technology is a computer system adapted to process a computer implemented representation of a circuit design, comprising a processor and a memory coupled to the processor. The memory stores processor readable parameters specifying structural features of a physical implementation of a circuit. The circuit includes a plurality of nanowire transistors, and a nanowire interconnect. At least two nanowire transistors in the plurality are electrically in series via at least the nanowire interconnect.
In some embodiments, said at least two transistors are oriented vertically relative to a substrate. Some embodiments further comprise a conductor electrically connecting a source terminal of a first transistor of said at least two transistors and a drain terminal of a second transistor of said at least two transistors.
In some embodiments, said first transistor and said second transistor are a same conductivity type.
In some embodiments, the nanowire interconnect has an opposite conductivity type in contrast with said first vertical nanowire transistor and said second vertical nanowire transistor.
In some embodiments, said at least two nanowire transistors include a first vertical nanowire transistor and a second vertical nanowire transistor both being n-type transistors, and said nanowire interconnect is a first vertical nanowire electrically connecting a first drain of the first vertical nanowire transistor with a first source of the second vertical nanowire transistor.
Another aspect of the technology is a computer program product as described herein.
A further aspect of the technology is a computer program product, comprising a memory device having stored thereon a machine readable specification of a cell, the specification of the cell including computer readable parameters specifying structural features of a physical implementation of a circuit. The circuit includes an array of circuit cells, the circuit cells including a plurality of nanowire transistors and a vertical nanowire interconnect. The plurality of nanowire transistors includes a first vertical nanowire transistor and a second vertical nanowire transistor. The first vertical nanowire transistor includes a first gate at a first intermediate height in between a first source at a first source height and a first drain at a first drain height. The second vertical nanowire transistor includes a second gate at a second intermediate height in between a second source at a second source height and a second drain at a second drain height. The vertical nanowire interconnect traverses the first intermediate height of the first vertical nanowire transistor, and traverses the second intermediate height of the second vertical nanowire transistor, to electrically couple in series the first vertical nanowire transistor and the second vertical nanowire transistor.
In some embodiments said first vertical nanowire transistor and said second vertical nanowire transistor are a same conductivity type. In some embodiments the vertical nanowire interconnect has an opposite conductivity type in contrast with said first vertical nanowire transistor and said second vertical nanowire transistor.
In some embodiments said first vertical nanowire transistor and said second vertical nanowire transistor are n-type transistors, and said first vertical nanowire electrically connects the first drain of the first vertical nanowire transistor with the first source of the second vertical nanowire transistor.
In some embodiments said first vertical nanowire transistor and said second vertical nanowire transistor are a same conductivity type, and the circuit further comprises a third vertical nanowire transistor a third vertical nanowire transistor and a fourth vertical nanowire transistor, and a first conductor and a second conductor.
The third vertical nanowire transistor and the fourth vertical nanowire transistor have an opposite conductivity type in contrast with said first vertical nanowire transistor and said second vertical nanowire transistor.
The first conductor electrically connects the first gate of the first vertical nanowire transistor with a third gate of the third vertical nanowire transistor. The second conductor electrically connects the second gate of the second vertical nanowire transistor with a fourth gate of the fourth vertical nanowire transistor.
The first conductor and the second conductor are different electrical inputs of a NAND gate.
Yet a further aspect of the technology is a computer system adapted to process a computer implemented representation of a circuit design, as described herein. Other aspects and advantages of the present technology can be seen on review of the figures, the detailed description, and the claims which follow.
A detailed description of embodiments of the present invention is provided with reference to the Figures. The following description will typically be with reference to specific structural embodiments and methods. It is to be understood that there is no intention to limit the invention to the specifically disclosed embodiments and methods but that the invention may be practiced using other features, elements, methods and embodiments. Preferred embodiments are described to illustrate the present invention, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a variety of equivalent variations on the description that follows. Like elements in various embodiments are commonly referred to with like reference numerals.
The NAND gate includes two PMOS transistors 231 and 232 connected in parallel, and two NMOS transistors 233 and 234 connected in series. A transistor includes three terminals: a drain, a source and a gate. Input A is connected to gates of the PMOS transistor 231 and the NMOS transistor 233. Input B is connected to gates of the PMOS transistor 232 and the NMOS transistor 234. When a transistor is turned on by a voltage on the gate, a current flows between the drain and the source, reducing the voltage difference between the drain and source. Sources of the PMOS transistors 231 and 232 are connected to the supply voltage (e.g. Vdd), while drains of the PMOS transistors 231 and 232 are connected to the output Q. Drain of the NMOS transistor 233 is connected to the output Q, while source of the NMOS transistor 234 is connected to the ground voltage (e.g. Vss).
If a low voltage corresponding to logic low is applied to either of the inputs A or B, then at least one of the NMOS transistors 233 and 234 is turned off so that the ground voltage (e.g. Vss) is disconnected from the output Q, while at least one of the PMOS transistors 231 and 232 is turned on so that the supply voltage (e.g. Vdd) is connected to the output Q. Consequently the output Q is at logic high in response to a low voltage applied to at least one of the inputs A and B.
The two-input NAND gate is an example of a cell implemented with nanowires and nanowire interconnects that can be specified by a computer readable circuit description language, and used an entry in a cell library. The entry can be part of cell library used in electronic design synthesis. For instance, the other entries in the cell library can specify functional cells and macrocells, including buffers, inverters, AND, NAND, OR, NOR, XOR, XNOR, adders, subtractors, multiplexers, decoders, flipflops, counters, shift registers, and cells with more complex logical functions. The entries can specify a plurality of functional cells have a common circuit configuration, and are implemented with nanowires and nanowire interconnects can have a variety of drive strengths, and inverting and non-inverting outputs of same logical functions.
The two-input NAND gate can be disposed on a substrate (e.g. 410,
Components in the layout of the two-input NAND gate include patterned conductor layers that include a first metal layer (metal-0 or M0), a second metal layer (metal-1 or M1), and a third metal layer (metal-2 or M2). The metal-0 layer is beneath the metal-1 layer, and the metal-1 layer is beneath the metal-2 layer. Nanowires are beneath the metal-0 layer, and source regions for the transistors are beneath the nanowires. The first gate conductor 371 and the second gate conductor 372 cross the sets of nanowires between the first metal layer and the source regions for the nanowires. Although three patterned conductor layers are shown, more than three patterned conductor layers can be utilized.
Nanowires in a set of nanowires used as a channel structure in a transistor are connected in parallel between two terminals. In particular, nanowires in transistor 331 are connected in parallel between terminals connected to the source region 321 and a metal-0 PMOS drain conductor 341 in the metal-0 layer, and nanowires in transistor 332 are connected in parallel between terminals connected to the source region 322 and the metal-0 PMOS drain conductor 341. A metal-1 conductor (e.g. 351,
Nanowires in transistor 333 are connected in parallel between terminals connected to the source region 323 and a metal-0 NMOS drain conductor 343 in the metal-0 layer, and nanowires in transistor 334 are connected in parallel between terminals connected to the source region 324 and a metal-0 drain conductor 344. A metal-1 conductor (e.g. 353,
A first gate conductor 371 crosses the nanowires in the first set of nanowires in the transistor 331, and crosses the nanowires in the third set of nanowires in the transistor 333, between their respective two terminals. The first gate conductor 371 is connected to a metal-1 connector 373, at which a signal is applied for the input A. The metal-1 connector 373 can be connected to the first gate conductor 371 at a location on the first gate conductor 371 between the first set of nanowires in the transistor 331 and the third set of nanowires in the transistor 333.
A second gate conductor 372 crosses the nanowires in the second set of nanowires in the transistor 332, and crosses the nanowires in the fourth set of nanowires in the transistor 334, between their respective two terminals. The second gate conductor 372 is connected to a metal-1 connector 374, at which a signal is applied for the input B. The metal-1 connector 374 can be connected to the second gate conductor 372 at a location on the second gate conductor 372 between the second set of nanowires in the transistor 332 and the fourth set of nanowires in the transistor 334. The first gate conductor 371 and the second gate conductor 372 are further described in connection with
A metal-0 conductor 310 in the metal-0 layer is connected to a VDD power conductor 311 in the metal-1 layer, connected to the source region 321 of the PMOS transistor 331 via nanowire interconnect 312, and connected to the source region 322 of the PMOS transistor 332 via nanowire interconnects 313. A metal-0 conductor 390 in the metal-0 layer is connected to a VSS power conductor 391 in the metal-1 layer, and connected to the source region 324 of the NMOS transistor 334 via nanowire interconnect 392.
Although three vertical nanowires are shown for each set, the first, second, third and fourth sets of nanowires can each have a number of nanowires the same as or different than other sets, depending on the need to balance NMOS and PMOS transistors or transistor strengths required by design specification. Although nanowires in a set are shown in a row of three nanowires, a set of nanowires can include multiple rows of nanowires, and each row can have a different number of nanowires. In other embodiments, nanowires of varying widths can be utilized in the various sets of nanowires.
As illustrated in the example of
The nanowire interconnect 380 is further described in connection with
Although one set of nanowires configured as a vertical nanowire interconnect is shown in the example of
Nanowires in transistor 333 are connected in parallel between terminals connected to the source region 323 and the metal-0 NMOS drain conductor 343 in the metal-0 layer. A metal-1 conductor (e.g. 353) connects the metal-0 PMOS drain conductor 343 to the metal-2 connector 360 through Via 1 and Via 0. Nanowires in transistor 334 are connected in parallel between terminals connected to the source region 324 and the metal-0 drain conductor 344.
Nanowires in transistor 333 are sheathed by insulating material (e.g. 333a), such as silicon dioxide or a high-k insulating material (having a relative permeability greater than that of silicon dioxide, or greater than 3.9). The first gate conductor 371 crosses the nanowires in transistor 333 between the source region 323 and the metal-0 NMOS drain conductor 343. Nanowires in transistor 334 are sheathed by insulating material (e.g. 334a), such as high-k insulating material. The second gate conductor 372 crosses the nanowires in transistor 334 between the source region 324 and the metal-0 NMOS drain conductor 344.
Nanowires in transistor 331 are connected in parallel between terminals connected to the source region 321 and the metal-0 NMOS drain conductor 341 in the metal-0 layer. A metal-1 conductor (e.g. 351) connects the metal-0 PMOS drain conductor 341 to the metal-2 connector 360 through Via 1 and Via 0. Nanowires in transistor 331 are sheathed by insulating material (e.g. 331a), such as high-k insulating material. The first gate conductor 371 crosses the nanowires in transistor 331 between the source region 321 and the metal-0 NMOS drain conductor 341.
Nanowires in transistor 333 are connected in parallel between terminals connected to the source region 323 and the metal-0 NMOS drain conductor 343 in the metal-0 layer. A metal-1 conductor (e.g. 353) connects the metal-0 PMOS drain conductor 343 to the metal-2 connector 360 through Via 1 and Via 0. Nanowires in transistor 333 are sheathed by insulating material (e.g. 333a), such as high-k insulating material. The first gate conductor 371 crosses the nanowires in transistor 333 between the source region 323 and the metal-0 NMOS drain conductor 343.
The first gate conductor 371 is connected to a metal-1 connector 373, at which a signal is applied for the input A. The first gate conductor 371 is connected to the metal-1 connector 373 through a via 431.
The metal-0 conductor 310 in the metal-0 layer is connected to the VDD power conductor 311 in the metal-1 layer, and connected to the source region 321 of the PMOS transistor 331 via nanowire interconnect 312. The metal-0 conductor 390 in the metal-0 layer is connected to the VSS power conductor 391 in the metal-1 layer, and connected to the source region 324 of the NMOS transistor 334 via nanowire interconnect 392 (not shown).
The VDD power conductor 311 in the metal-1 layer, and the VSS power conductor 391 in the metal-1 layer are as described in connection to
A set of nanowires configured as the nanowire interconnect 380 is disposed vertically relative to the surface of the substrate. The set of nanowires is connected in parallel between the source region 323 of the transistor 333 and the metal-0 NMOS drain conductor 344 of the transistor 334.
The output Q is connected to the metal-0 PMOS drain conductor 341 in the metal-0 layer, which in turn is connected to nanowires in the transistor 331 (
Like elements in
A first set of nanowires can be configured as an interconnect disposed horizontally relative to the surface of the substrate, and connected in parallel between a first terminal and a second terminal. A second set of nanowires can be configured as an interconnect disposed horizontally relative to the surface of the substrate, and connected in parallel between a third terminal and a fourth terminal. The first set of nanowires includes a first number of nanowires, the second set of nanowires includes a second number of nanowires, and the second number can be different than the first number. A set of nanowires can have one or more nanowires.
As illustrated in the example of
The metal-0 conductor 310 is connected to the VDD power conductor 311 in the metal-1 layer, connected to the horizontal nanowire interconnect 721 for the source of the PMOS transistor 331 via vertical nanowire interconnect 312 (beneath the nanowires of transistor 331, see
A set of nanowires in a transistor are connected in parallel between two terminals. In particular, nanowires in transistor 331 are connected in parallel between terminals connected to the nanowire interconnect 721 and a metal-0 PMOS drain conductor 341 in the metal-0 layer, and nanowires in transistor 332 are connected in parallel between terminals connected to the nanowire interconnect 722 and the metal-0 PMOS drain conductor 341.
Nanowires in transistor 333 are connected in parallel between terminals connected to the nanowire interconnect including nanowires 723a, 723b and 723c, and a metal-0 NMOS drain conductor 343 in the metal-0 layer. Nanowires in transistor 334 are connected in parallel between terminals connected to the nanowire interconnect 724 and a metal-0 drain conductor 344.
In this implementation of the two-input NAND gate transistor 1010 including a first set of nanowires disposed vertically relative to the surface of the substrate can implement the PMOS transistor 231 in the two-input NAND gate 230 (
The source of the N transistors 1012 is connected to the drain of transistors 1013 through an N+ island 1014. The sources of the P transistors 1010 and 1011 are also connected through the common P+ SOI (Semiconductor-On-Insulator) island 1019.
Components in the layout of the two-input NAND gate include patterned conductor layers that include a first metal layer (metal-0 or M0) and gate conductors 1023 and 1025. Nanowires are beneath the metal-0 layer, and source or drain regions for the transistors are beneath the nanowires. The first gate conductor 1023 and the second gate conductor 1025 cross the sets of nanowires between the first metal layer and the source/drain regions of the nanowires. Although two patterned conductor layers are shown, more than two patterned conductor layers can be utilized.
Nanowires in a set of nanowires used as a channel structure in a transistor are connected in parallel between two terminals. In particular, nanowires in transistor 1010 are connected in parallel between terminals connected to the source region 1019 and a metal-0 PMOS drain conductor 1016 in the metal-0 layer, and nanowires in transistor 1011 are connected in parallel between terminals connected to the source region 1019 and the metal-0 PMOS drain conductor 1016.
Nanowires in transistor 1012 are connected in parallel between terminals connected to an N+SOI island 1014 and a metal-0 NMOS drain conductor 1016 in the metal-0 layer, and nanowires in transistor 1013 are connected in parallel between terminals connected to the N+ island 1014 and a metal-0 source conductor 1015. In this configuration the source of transistor 1012 and drain of transistor 1013 are therefore connected through the N+ island 1014.
A first gate conductor 1023 crosses the nanowires in the first set of nanowires in the transistor 1010, and crosses the nanowires in the third set of nanowires in the transistor 1012, between their respective two terminals. The first gate conductor 1023 is connected to input A 1017.
A metal-0 conductor 1022 in the metal-0 layer is connected to a VDD power conductor in the metal-1 layer, connected to the source region 1019 of the PMOS transistor 1010 via nanowire interconnect 1020, and connected to the source region 1019 of the PMOS transistor 1011 via nanowire interconnects 1021. A metal-0 conductor 1015 in the metal-0 layer is connected to a VSS power conductor in the metal-1 layer, and connected to the source of the NMOS transistor 1013.
Vss connector 1115 is connected to the source of transistor 1013 as described further in
Gate 1230 is contacted through metal-0 and brought out at metal-1 connector 1017. Similarly gate 1240 is contacted to connector 1018, B at metal-1 through a metal-0 contact as illustrated further in
At a high level, the process of
The EDA software design process (block 110) is actually composed of a number of steps 112-130, shown in linear fashion for simplicity. In an actual integrated circuit design process, the particular design might have to go back through steps until certain tests are passed. Similarly, in any actual design process, these steps may occur in different orders and combinations. This description is therefore provided by way of context and general explanation rather than as a specific, or recommended, design flow for a particular integrated circuit.
A brief description of the component steps of the EDA software design process (block 110) will now be provided.
System design (block 112): The designers describe the functionality that they want to implement; they can perform what-if planning to refine functionality; check costs; etc. Hardware-software architecture selection can occur at this stage. Example EDA software products that have been available from Synopsys, Inc. that could be used at this step include Model Architect, Saber, System Studio, and DesignWare® products.
Logic design and functional verification (block 114): At this stage, high level description language (HDL) code, such as the VHDL or Verilog code, for modules in the system is written and the design is checked for functional accuracy. More specifically, the design is checked to ensure that it produces the correct outputs in response to particular input stimuli. Example EDA software products that have been available from Synopsys, Inc. that could be used at this step include VCS, VERA, DesignWare®, Magellan, Formality, ESP and LEDA products.
Synthesis and design for test (block 116): Here, the VHDL/Verilog is translated to a netlist. The netlist can be optimized for the target technology. Additionally, the design and implementation of tests to permit checking of the finished chip occur. Example EDA software products that have been available from Synopsys, Inc. that could be used at this step include Design Compiler®, Physical Compiler, Test Compiler, Power Complier, FPGA Compiler, TetraMAX, and DesignWare® products. Optimization of design for use of end-to-end finFET blocks as described below can occur in this stage.
Netlist verification (block 118): At this step, the netlist is checked for compliance with timing constraints and for correspondence with the VHDL/Verilog source code. Example EDA software products that have been available from Synopsys, Inc. that could be used at this step include Formality, PrimeTime, and VCS products.
Design planning (block 120): Here, an overall floor plan for the chip is constructed and analyzed for timing and top-level routing. Example EDA software products that have been available from Synopsys, Inc. that could be used at this step include Astro and IC Compiler products. Nanowire based functional cell selection, layout and optimization can occur at this stage.
Physical implementation (block 122): The placement (positioning of circuit elements) and routing (connection of the same) occurs at this step. Example EDA software products that have been available from Synopsys, Inc. that could be used at this step include AstroRail, Primetime, and Star RC/XT products. Nanowire based functional cell layout, mapping and interconnect arrangements can be implemented or optimized at this stage, using for example nanowire functional cells based on nanowire cell layouts and structures described herein.
Analysis and extraction (block 124): At this step, the circuit function is verified at a transistor level; this in turn permits what-if refinement. Example EDA software products that have been available from Synopsys, Inc. that could be used at this stage include Custom Designer, AstroRail, PrimeRail, Primetime, and Star RC/XT products.
Physical verification (block 126): At this stage various checking functions are performed to ensure correctness for: manufacturing, electrical issues, lithographic issues, and circuitry. Example EDA software products that have been available from Synopsys, Inc. that could be used at this stage include the Hercules product.
Tape-out (block 127): This stage provides the “tape-out” data for production of masks for lithographic use to produce finished chips. Example EDA software products that have been available from Synopsys, Inc. that could be used at this stage include the CATS® family of products.
Resolution enhancement (block 128): This stage involves geometric manipulations of the layout to improve manufacturability of the design. Example EDA software products that have been available from Synopsys, Inc. that could be used at this stage include Proteus/Progen, ProteusAF, and PSMGen products.
Mask preparation (block 130): This stage includes both mask data preparation and the writing of the masks themselves. Example EDA software products that have been available from Synopsys, Inc. that could be used at this stage include CATS® family of products.
Embodiments of the nanowire cell-based and block-based technology described herein can be used during one or more of the above-described stages, including for example one or more of stages 116 through 122 and 130. Also, nanowire cell and block technology provides flexibility that enables the implementation of engineering change orders ECOs, including modification of the functional cell sizes during design verification stages.
User interface input devices 2022 may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touchscreen incorporated into the display, audio input devices such as voice recognition systems, microphones, and other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and ways to input information into computer system 2010 or onto communication network 2018.
User interface output devices 2020 may include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices. The display subsystem may include a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), a projection device, or some other mechanism for creating a visible image. The display subsystem may also provide non-visual display such as via audio output devices. In general, use of the term “output device” is intended to include all possible types of devices and ways to output information from computer system 2010 to the user or to another machine or computer system.
Storage subsystem 2024 stores the basic programming and data constructs that provide the functionality of some or all of the EDA tools described herein, including the nanowire cell library in which at least on functional cell specifies a circuit implementation utilizing parallel sets of vertical and/or horizontal nanowires as described herein, and tools applied for development of functional cells for the library and for physical and logical design using the library. These software modules are generally executed by processor 2014.
Memory subsystem 2026 typically includes a number of memories including a main random access memory (RAM) 2030 for storage of instructions and data during program execution and a read only memory (ROM) 2032 in which fixed instructions are stored. File storage subsystem 2028 provides persistent storage for program and data files, and may include a hard disk drive, a floppy disk drive along with associated removable media, a CD-ROM drive, an optical drive, or removable media cartridges. The databases and modules implementing the functionality of certain embodiments may be stored by file storage subsystem 2028.
Bus subsystem 2012 provides a mechanism for letting the various components and subsystems of computer system 2010 communicate with each other as intended. Although bus subsystem 2012 is shown schematically as a single bus, alternative embodiments of the bus subsystem may use multiple busses.
Computer system 2010 itself can be of varying types including a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a television, a mainframe, or any other data processing system or user device. Due to the ever-changing nature of computers and networks, the description of computer system 2010 depicted in
A nanowire cell architecture described above can be utilized to create a flexible library that comprises a plurality of nanowire cells meeting different functional specifications.
In general, the creation of a nanowire cell flexible library is enabled using the nanowire architectures described herein. In such library, the standard cells can consist of “soft macros” that could be populated with some flexibility as to the exact location, or the exact number of nanowires used in implementation, of their underlying elements. Unlike planar CMOS structures, where the granularity for modifications or adjustments of the cells is the whole transistor, in nanowire cell architectures as described herein, the granularity can be a single nanowire.
A library can be comprised of a plurality of nanowire cell functional cells which exploit subsets of the available nanowire options in the cells, leaving room for optimization procedures that do not alter the area of the layout.
The following table provides a representation of an organization a functional cell library having a plurality of entries. Some of the information which can be included in the entries as illustrated in the table.
In the functional cell library represented by the above table there is a set of entries for NAND cells, including NAND-1 and NAND-1. The entries in the set of entries specifying NAND cells can specify a functional circuit having in common a circuit configuration for a NAND cell. Entries in the set specifying a functional circuit having a common circuit configuration specify implementation the same number of transistors interconnected in the same manner. The entries can differ as described herein, in the number of parallel nanowires utilized in particular transistors. Thus, for the entry NAND-1, the specified n-channel transistor T1 has a channel comprising a set of nine parallel nanowires, arranged in three stacks of three layers each. The specified p-channel transistor T2 as a channel comprising a set of 12 parallel nanowires, arranged in four stacks of three layers each. The specified n-channel transistor T3 as a channel comprising six parallel nanowires, arranged in two stacks of three layers each. For the entry NAND-2, the specified n-channel transistor T1 has a channel comprising a set of 10 parallel nanowires, arranged in two stacks of five layers each. The specified p-channel transistor T2 as a channel comprising a set of 12 parallel nanowires, arranged in two stacks of six layers each. The specified n-channel transistor T3 as a channel comprising eight parallel nanowires, arranged in four stacks of two layers each and in which the nanowire in one of the four stacks consists of nanowires have a width greater than two times the height (“2× width”). The entries in a set of entries for a particular functional cell can differ only in the number of parallel nanowires in the channel of a particular transistor. Alternatively, entries in the set of entries for particular functional cell can differ only in the number of parallel nanowires used in a particular interconnect within the cell.
The cell library represented by the table also includes a set of entries specifying NOR cells and a set of entries specifying buffers. The entries in the set of the NOR cells have in common the same circuit configuration, where the differences arise in the number of parallel nanowires used in the various components within the cell. Likewise, the entries in the set of buffer cells have in common the same circuit configuration, and differences that arise in the number of parallel nanowires used in the various components within the cell.
The cell library also includes entries that specify SRAM macro cells, where a macrocell consists of a plurality of unit cells and connections between the unit cells. For SRAM macro cells, the unit cell can be a six transistor memory element. The number of nanowires utilized in the various transistors within the unit cell can be tuned for the purposes of optimizing performance of the unit cell. The SRAM macro cells can differ in the form of the bit lines utilized for connections among the unit cells. Thus, SRAM ARRAY MACROCELL 1 can specify a patterned metal layer interconnected with horizontal nanowire transistors, to act as bit lines. SRAM ARRAY MACROCELL 2 can specify bit lines that comprise a horizontal sets of nanowires that interconnect the unit cells, which in turn comprise transistors having channels consisting of parallel vertical nanowires.
The entries in the cell library can be selected according to performance specifications provided by a user to satisfy the elements in a circuit design, such as a netlist.
Specifications provided by the entries can define the geometry of the components of the cells and macrocells. Also, the entries can define or be utilized to define lithographic mask layers for each cell or macrocell and for a circuit incorporating the cells or macrocells. The specifications can then be utilized to produce a set of masks for a manufacturing process implementing the cells or macrocells selected for the circuit design, or implementing a circuit incorporating the cells or macrocells.
While the present invention is disclosed by reference to the preferred embodiments and examples detailed above, it is to be understood that these examples are intended in an illustrative rather than in a limiting sense. It is contemplated that modifications and combinations will readily occur to those skilled in the art, which modifications and combinations will be within the spirit of the invention and the scope of the following claims. What is claimed is:
This application claims the benefit of U.S. Provisional Patent Application No. 62/041,854 filed 26 Aug. 2014; U.S. Provisional Patent Application No. 62/054,227 filed 23 Sep. 2014; and U.S. Provisional Patent Application No. 62/054,653 filed 24 Sep. 2014. All applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62041854 | Aug 2014 | US | |
62054227 | Sep 2014 | US | |
62054653 | Sep 2014 | US |