The present invention relates to the electrical, electronic, and computer arts, and more specifically, to layout of very large scale integrated (VLSI) circuits.
In a typical VLSI circuit wafer, billions of complementary metal oxide semiconductor (CMOS) transistors are crowded together in structural layers that are commonly known as the Front End of Line (FEOL) because these are the first layers to be fabricated on the bulk semiconductor substrate. Subsequent layers, known as the Middle of Line (MOL) and Back End of Line (BEOL), contain metal lines (trenches and vias), which interconnect power, ground, and signals among the transistors. In addition to the MOL and BEOL interconnect layers, sometimes a VLSI wafer can be flipped in order to fabricate additional interconnects or other structures at its “backside” (the side of the bulk substrate that is opposite the FEOL layers).
In designing VLSI circuits, a common problem is to determine how to lay out signal lines that will connect all of the transistors to form a logic circuit with minimal electrical losses. There is a known problem of signal line crowding, which is that only a certain number of signal lines can fit within a given “CMOS cell” of CMOS transistors. (A “CMOS cell” of transistors contains a line of transistor gates that are bounded by two lines of gate cuts.) When a CMOS cell of transistors contains a number of gates that exceed the feasible number of signal lines, it becomes difficult to connect signals to the excess gates.
Principles of the invention provide techniques for hybrid signal routing with backside interconnect.
In one aspect, an exemplary integrated circuit has a frontside and a backside and includes a first CMOS cell of complementary metal oxide semiconductor (CMOS) devices, with a first row of gate cuts and a second row of gate cuts that bound the first CMOS cell; a gate associated with at least one of the devices in the first CMOS cell; a first signal line at the frontside of the integrated circuit; a signal connection from the first signal line to the backside of the integrated circuit; and a local interconnect at the backside of the integrated circuit from the signal connection to the gate.
According to another aspect, an exemplary method for providing a bias signal to a gate that is in a first CMOS cell of a multi-cell CMOS apparatus, from a first signal line that is at the frontside of a second CMOS cell of the multi-cell CMOS apparatus, includes transmitting the bias signal along the first signal line to a gate contact at the frontside of the second CMOS cell; transmitting the bias signal along the gate contact to a first via in the first CMOS cell; transmitting the bias signal through the first via to a local interconnect at the backside of the first CMOS cell; and transmitting the bias signal along the local interconnect to a second via that is in contact with the gate.
According to another aspect, an exemplary method for fabrication of an integrated circuit structure includes forming first and second vias in a first CMOS cell of complementary metal-oxide-semiconductor (CMOS) devices, such that the second via connects to a gate in one of the CMOS devices; forming, at a frontside of the first CMOS cell, a gate contact that bridges from the first via to a second CMOS cell of CMOS devices; and forming, at a backside of the first CMOS cell, a signal line that bridges from the first via to the second via.
According to another aspect, the integrated circuit is instantiated in a hardware description language (HDL) design structure.
In view of the foregoing, techniques of the present invention can provide substantial beneficial technical effects. For example, one or more embodiments provide one or more of:
Routing a bias signal to a gate in a first CMOS cell from a signal line in a second CMOS cell, thereby obviating the problem of signal line crowding in VLSI circuits.
Some embodiments may not have these potential advantages and these potential advantages are not necessarily required of all embodiments. These and other features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
Referring to
The signal connection is complicated because of signal line crowding in the first CMOS cell 102 of the integrated circuit 100. As can be seen in
The remainder of the drawings show how to fabricate inventive portions of the integrated circuit 100.
Referring to
At step 3704, mask the structure 500 with an organic planarization layer (OPL) 802 to form a structure 800, as shown in
At step 3706, etch to form a structure 1100 (as shown in
At step 3708, form a structure 1400 (as shown in
At step 3710, as shown in
At step 3712, form a structure 2000 (as shown in
At step 3714, form a structure 2400 (as shown in
Referring to
At step 3718, as shown in
At step 3720, as shown in
Given the discussion thus far, it will be appreciated that, in general terms, an exemplary integrated circuit 100 has a frontside 202 and a backside 204, and includes a first CMOS cell 102 of complementary metal oxide semiconductor (CMOS) devices, with a first row of gate cuts 104 and a second row of gate cuts 106 that bound the first CMOS cell; a gate 108 associated with at least one of the devices in the first CMOS cell; a first signal line 114 at the frontside of the integrated circuit; a signal connection 120, 118 from the first signal line to the backside of the integrated circuit; and a local interconnect 206 at the backside of the integrated circuit from the signal connection to the gate.
With regard to the gate 108 associated with at least one of the devices in the first CMOS cell, it will be appreciated that in general, each field effect transistor (FET) includes a gate, a drain, and a source, and that in some instances, devices may have a common gate. For example, the complementary metal oxide semiconductor (CMOS) devices can include an n-type field effect transistor (NFET) and a p-type field effect transistor (PFET) (generally, multiple pairs of NFETs and PFETs). The gate can be a common gate of the NFET and the PFET. The NFET and PFET can form a CMOS logic gate such as a CMOS inverter. The skilled artisan will of course understand the distinction between a logic gate (device implementing a Boolean function) and the gate of a FET which when energized renders the channel region conductive between the source and drain.
In addition to a common gate, such as for a CMOS pair, in some cases, the complementary metal oxide semiconductor (CMOS) devices include a field effect transistor, and the gate is a single gate of the field effect transistor.
In one or more embodiments, the integrated circuit 100 further includes a second CMOS cell 110 of CMOS devices, which is bounded by the second row of gate cuts, and the first signal line 114 extends along the frontside of the second CMOS cell.
In one or more embodiments, the signal connection comprises a local interconnect 206 that extends along the backside of the first CMOS cell 102. In one or more embodiments, the signal connection comprises a first via 118 in the first CMOS cell that connects to the local interconnect 206, a gate contact 120 that extends across the frontside of the first and second CMOS cells and connects the first signal line to the first via, and a second via 122 in the first CMOS cell that connects the local interconnect to the gate. In one or more embodiments, the second via 122 is formed under the gate 108. In one or more embodiments, the integrated circuit 100 also includes a diffusion break 130 that is aligned to the gate contact, wherein the first via 118 is formed inside the diffusion break.
According to another aspect, an exemplary method for providing a bias signal to a gate 108 that is in a first CMOS cell 102 of a multi-cell CMOS apparatus, from a first signal line 114 that is at the frontside of a second CMOS cell 110 of the multi-cell CMOS apparatus, includes transmitting the bias signal along the first signal line 114 to a gate contact 120 at the frontside of the second CMOS cell; transmitting the bias signal along the gate contact to a first via 118 in the first CMOS cell; transmitting the bias signal through the first via to a local interconnect 206 at the backside of the first CMOS cell; and transmitting the bias signal along the local interconnect to a second via 122 that is in contact with the gate 108.
According to another aspect, an exemplary method 3700 for fabrication of an integrated circuit structure includes, at 3714, forming first and second vias 118, 122 in a first CMOS cell of complementary metal-oxide-semiconductor (CMOS) devices, such that the second via connects to a gate in one of the CMOS devices; at 3716, forming, at a frontside of the first CMOS cell, a gate contact 120 that bridges from the first via to a second CMOS cell of CMOS devices; and, at 3722 forming, at a backside of the first CMOS cell, a signal line 206 that bridges from the first via to the second via.
In one or more embodiments, the method also includes forming the second via under the gate 108. In one or more embodiments, the method also includes forming the first via 118 in a diffusion break 130 that is aligned to the gate contact 120.
According to another aspect, a circuit design structure is instantiated and then fabricated. Accordingly, in one or more embodiments, the layout is instantiated as a design structure. In this regard,
Design flow 3800 may vary depending on the type of representation being designed. For example, a design flow 3800 for building an application specific IC (ASIC) may differ from a design flow 3800 for designing a standard component or from a design flow 3800 for instantiating the design into a programmable array, for example a programmable gate array (PGA) or a field programmable gate array (FPGA) offered by Altera® Inc. or Xilinx® Inc.
Design process 3810 preferably employs and incorporates hardware and/or software modules for synthesizing, translating, or otherwise processing a design/simulation functional equivalent of components, circuits, devices, or logic structures to generate a Netlist 3880 which may contain design structures such as design structure 3820. Netlist 3880 may comprise, for example, compiled or otherwise processed data structures representing a list of wires, discrete components, logic gates, control circuits, I/O devices, models, etc. that describes the connections to other elements and circuits in an integrated circuit design. Netlist 3880 may be synthesized using an iterative process in which netlist 3880 is resynthesized one or more times depending on design specifications and parameters for the device. As with other design structure types described herein, netlist 3880 may be recorded on a machine-readable data storage medium or programmed into a programmable gate array. The medium may be a nonvolatile storage medium such as a magnetic or optical disk drive, a programmable gate array, a compact flash, or other flash memory. Additionally, or in the alternative, the medium may be a system or cache memory, buffer space, or other suitable memory.
Design process 3810 may include hardware and software modules for processing a variety of input data structure types including Netlist 3880. Such data structure types may reside, for example, within library elements 3830 and include a set of commonly used elements, circuits, and devices, including models, layouts, and symbolic representations, for a given manufacturing technology (e.g., different technology nodes, 32 nm, 45 nm, 90 nm, etc.). The data structure types may further include design specifications 3840, characterization data 3850, verification data 3860, design rules 3870, and test data files 3885 which may include input test patterns, output test results, and other testing information. Design process 3810 may further include, for example, standard mechanical design processes such as stress analysis, thermal analysis, mechanical event simulation, process simulation for operations such as casting, molding, and die press forming, etc. One of ordinary skill in the art of mechanical design can appreciate the extent of possible mechanical design tools and applications used in design process 3810 without deviating from the scope and spirit of the invention. Design process 3810 may also include modules for performing standard circuit design processes such as timing analysis, verification, design rule checking, place and route operations, etc. Improved latch tree synthesis can be performed as described herein.
Design process 3810 employs and incorporates logic and physical design tools such as HDL compilers and simulation model build tools to process design structure 3820 together with some or all of the depicted supporting data structures along with any additional mechanical design or data (if applicable), to generate a second design structure 3890. Design structure 3890 resides on a storage medium or programmable gate array in a data format used for the exchange of data of mechanical devices and structures (e.g. information stored in an IGES, DXF, Parasolid XT, JT, DRG, or any other suitable format for storing or rendering such mechanical design structures). Similar to design structure 3820, design structure 3890 preferably comprises one or more files, data structures, or other computer-encoded data or instructions that reside on data storage media and that when processed by an ECAD system generate a logically or otherwise functionally equivalent form of one or more IC designs or the like. In one embodiment, design structure 3890 may comprise a compiled, executable HDL simulation model that functionally simulates the devices to be analyzed.
Design structure 3890 may also employ a data format used for the exchange of layout data of integrated circuits and/or symbolic data format (e.g. information stored in a GDSII (GDS2), GL1, OASIS, map files, or any other suitable format for storing such design data structures). Design structure 3890 may comprise information such as, for example, symbolic data, map files, test data files, design content files, manufacturing data, layout parameters, wires, levels of metal, vias, shapes, data for routing through the manufacturing line, and any other data required by a manufacturer or other designer/developer to produce a device or structure as described herein (e.g., lib files). Design structure 3890 may then proceed to a stage 3895 where, for example, design structure 3890: proceeds to tape-out, is released to manufacturing, is released to a mask house, is sent to another design house, is sent back to the customer, etc.
Once the physical design data is obtained, based, in part, on aspects as described herein, an integrated circuit designed in accordance therewith can be fabricated according to known processes that are generally described with reference to
Furthermore, referring to
Refer now to
Computing environment 4100 contains an example of an environment for the execution of at least some of the computer code involved in performing the inventive methods, such as implementing the above-mentioned design flow 3800. In addition to block 200, computing environment 4100 includes, for example, computer 4101, wide area network (WAN) 4102, end user device (EUD) 4103, remote server 4104, public cloud 4105, and private cloud 4106. In this embodiment, computer 4101 includes processor set 4110 (including processing circuitry 4120 and cache 4121), communication fabric 4111, volatile memory 4112, persistent storage 4113 (including operating system 4122 and block 200, as identified above), peripheral device set 4114 (including user interface (UI) device set 4123, storage 4124, and Internet of Things (IoT) sensor set 4125), and network module 4115. Remote server 4104 includes remote database 4130. Public cloud 4105 includes gateway 4140, cloud orchestration module 4141, host physical machine set 4142, virtual machine set 4143, and container set 4144.
COMPUTER 4101 may take the form of a desktop computer, laptop computer, tablet computer, smart phone, smart watch or other wearable computer, mainframe computer, quantum computer or any other form of computer or mobile device now known or to be developed in the future that is capable of running a program, accessing a network or querying a database, such as remote database 4130. As is well understood in the art of computer technology, and depending upon the technology, performance of a computer-implemented method may be distributed among multiple computers and/or between multiple locations. On the other hand, in this presentation of computing environment 4100, detailed discussion is focused on a single computer, specifically computer 4101, to keep the presentation as simple as possible. Computer 4101 may be located in a cloud, even though it is not shown in a cloud in
PROCESSOR SET 4110 includes one, or more, computer processors of any type now known or to be developed in the future. Processing circuitry 4120 may be distributed over multiple packages, for example, multiple, coordinated integrated circuit chips. Processing circuitry 4120 may implement multiple processor threads and/or multiple processor cores. Cache 4121 is memory that is located in the processor chip package(s) and is typically used for data or code that should be available for rapid access by the threads or cores running on processor set 4110. Cache memories are typically organized into multiple levels depending upon relative proximity to the processing circuitry. Alternatively, some, or all, of the cache for the processor set may be located “off chip.” In some computing environments, processor set 4110 may be designed for working with qubits and performing quantum computing.
Computer readable program instructions are typically loaded onto computer 4101 to cause a series of operational steps to be performed by processor set 4110 of computer 4101 and thereby effect a computer-implemented method, such that the instructions thus executed will instantiate the methods specified in flowcharts and/or narrative descriptions of computer-implemented methods included in this document (collectively referred to as “the inventive methods”). These computer readable program instructions are stored in various types of computer readable storage media, such as cache 4121 and the other storage media discussed below. The program instructions, and associated data, are accessed by processor set 4110 to control and direct performance of the inventive methods. In computing environment 4100, at least some of the instructions for performing the inventive methods may be stored in block 200 in persistent storage 4113.
COMMUNICATION FABRIC 4111 is the signal conduction path that allows the various components of computer 4101 to communicate with each other. Typically, this fabric is made of switches and electrically conductive paths, such as the switches and electrically conductive paths that make up busses, bridges, physical input/output ports and the like. Other types of signal communication paths may be used, such as fiber optic communication paths and/or wireless communication paths.
VOLATILE MEMORY 4112 is any type of volatile memory now known or to be developed in the future. Examples include dynamic type random access memory (RAM) or static type RAM. Typically, volatile memory 4112 is characterized by random access, but this is not required unless affirmatively indicated. In computer 4101, the volatile memory 4112 is located in a single package and is internal to computer 4101, but, alternatively or additionally, the volatile memory may be distributed over multiple packages and/or located externally with respect to computer 4101.
PERSISTENT STORAGE 4113 is any form of non-volatile storage for computers that is now known or to be developed in the future. The non-volatility of this storage means that the stored data is maintained regardless of whether power is being supplied to computer 4101 and/or directly to persistent storage 4113. Persistent storage 4113 may be a read only memory (ROM), but typically at least a portion of the persistent storage allows writing of data, deletion of data and re-writing of data. Some familiar forms of persistent storage include magnetic disks and solid state storage devices. Operating system 4122 may take several forms, such as various known proprietary operating systems or open source Portable Operating System Interface-type operating systems that employ a kernel. The code included in block 200 typically includes at least some of the computer code involved in performing the inventive methods.
PERIPHERAL DEVICE SET 4114 includes the set of peripheral devices of computer 4101. Data communication connections between the peripheral devices and the other components of computer 4101 may be implemented in various ways, such as Bluetooth connections, Near-Field Communication (NFC) connections, connections made by cables (such as universal serial bus (USB) type cables), insertion-type connections (for example, secure digital (SD) card), connections made through local area communication networks and even connections made through wide area networks such as the internet. In various embodiments, UI device set 4123 may include components such as a display screen, speaker, microphone, wearable devices (such as goggles and smart watches), keyboard, mouse, printer, touchpad, game controllers, and haptic devices. Storage 4124 is external storage, such as an external hard drive, or insertable storage, such as an SD card. Storage 4124 may be persistent and/or volatile. In some embodiments, storage 4124 may take the form of a quantum computing storage device for storing data in the form of qubits. In embodiments where computer 4101 is required to have a large amount of storage (for example, where computer 4101 locally stores and manages a large database) then this storage may be provided by peripheral storage devices designed for storing very large amounts of data, such as a storage area network (SAN) that is shared by multiple, geographically distributed computers. IoT sensor set 4125 is made up of sensors that can be used in Internet of Things applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.
NETWORK MODULE 4115 is the collection of computer software, hardware, and firmware that allows computer 4101 to communicate with other computers through WAN 4102. Network module 4115 may include hardware, such as modems or Wi-Fi signal transceivers, software for packetizing and/or de-packetizing data for communication network transmission, and/or web browser software for communicating data over the internet. In some embodiments, network control functions and network forwarding functions of network module 4115 are performed on the same physical hardware device. In other embodiments (for example, embodiments that utilize software-defined networking (SDN)), the control functions and the forwarding functions of network module 4115 are performed on physically separate devices, such that the control functions manage several different network hardware devices. Computer readable program instructions for performing the inventive methods can typically be downloaded to computer 4101 from an external computer or external storage device through a network adapter card or network interface included in network module 4115.
WAN 4102 is any wide area network (for example, the internet) capable of communicating computer data over non-local distances by any technology for communicating computer data, now known or to be developed in the future. In some embodiments, the WAN 4102 may be replaced and/or supplemented by local area networks (LANs) designed to communicate data between devices located in a local area, such as a Wi-Fi network. The WAN and/or LANs typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and edge servers.
END USER DEVICE (EUD) 4103 is any computer system that is used and controlled by an end user (for example, a customer of an enterprise that operates computer 4101), and may take any of the forms discussed above in connection with computer 4101. EUD 4103 typically receives helpful and useful data from the operations of computer 4101. For example, in a hypothetical case where computer 4101 is designed to provide a recommendation to an end user, this recommendation would typically be communicated from network module 4115 of computer 4101 through WAN 4102 to EUD 4103. In this way, EUD 4103 can display, or otherwise present, the recommendation to an end user. In some embodiments, EUD 4103 may be a client device, such as thin client, heavy client, mainframe computer, desktop computer and so on.
REMOTE SERVER 4104 is any computer system that serves at least some data and/or functionality to computer 4101. Remote server 4104 may be controlled and used by the same entity that operates computer 4101. Remote server 4104 represents the machine(s) that collect and store helpful and useful data for use by other computers, such as computer 4101. For example, in a hypothetical case where computer 4101 is designed and programmed to provide a recommendation based on historical data, then this historical data may be provided to computer 4101 from remote database 4130 of remote server 4104.
PUBLIC CLOUD 4105 is any computer system available for use by multiple entities that provides on-demand availability of computer system resources and/or other computer capabilities, especially data storage (cloud storage) and computing power, without direct active management by the user. Cloud computing typically leverages sharing of resources to achieve coherence and economies of scale. The direct and active management of the computing resources of public cloud 4105 is performed by the computer hardware and/or software of cloud orchestration module 4141. The computing resources provided by public cloud 4105 are typically implemented by virtual computing environments that run on various computers making up the computers of host physical machine set 4142, which is the universe of physical computers in and/or available to public cloud 4105. The virtual computing environments (VCEs) typically take the form of virtual machines from virtual machine set 4143 and/or containers from container set 4144. It is understood that these VCEs may be stored as images and may be transferred among and between the various physical machine hosts, either as images or after instantiation of the VCE. Cloud orchestration module 4141 manages the transfer and storage of images, deploys new instantiations of VCEs and manages active instantiations of VCE deployments. Gateway 4140 is the collection of computer software, hardware, and firmware that allows public cloud 4105 to communicate through WAN 4102.
Some further explanation of virtualized computing environments (VCEs) will now be provided. VCEs can be stored as “images.” A new active instance of the VCE can be instantiated from the image. Two familiar types of VCEs are virtual machines and containers. A container is a VCE that uses operating-system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user-space instances, called containers. These isolated user-space instances typically behave as real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can utilize all resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and devices assigned to the container, a feature which is known as containerization.
PRIVATE CLOUD 4106 is similar to public cloud 4105, except that the computing resources are only available for use by a single enterprise. While private cloud 4106 is depicted as being in communication with WAN 4102, in other embodiments a private cloud may be disconnected from the internet entirely and only accessible through a local/private network. A hybrid cloud is a composition of multiple clouds of different types (for example, private, community or public cloud types), often respectively implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technology that enables orchestration, management, and/or data/application portability between the multiple constituent clouds. In this embodiment, public cloud 4105 and private cloud 4106 are both part of a larger hybrid cloud.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.