There are several devices that are limited by the interconnect density that exists within the same monolithic device. Examples of such devices include switch matrix devices, Field programmable gate arrays (FPGAs), traffic managers, etc. Such devices would benefit from a 3-dimensional (3D) implementation. For example, FPGAs typically include a configurable memory, such as an array of logic blocks, input/output (I/O) pads, and routing channels. The configurable memory is typically large in physical size, and seldom used. A logic block may include one or more logic cells including lookup tables (LUTs) combined with multiplexers and other elements. These can be configured in various multiplexing ratios. FPGAs may also include multiplexers used to reroute wires. Multiplexer capability must be balanced with available wiring to avoid implementations that are unroutable. The cost and yield impact of adding layers to an FPGA is a current limitation on performance of the FPGA. As such, the FPGAs are held back by a lack of availability of additional connection paths.
FPGAs further typically include an embedded memory, which requires a high bandwidth. For example, all buffering for all processing that may be occurring in FPGA may be done using the embedded memory. The embedded memory can be internal to a chip, or can sometimes be off-chip at the expense of increased latency and power consumption.
High bandwidth memory (HBM) is a 3D memory with multiple layers of die bonded together and vias extending through silicon, allowing for highest possible bandwidth with density of memory adequate to address the bandwidth. The die at a bottom of the multiple layers handles all external communication, and handles all address and control communications with the layers above it.
Stacked architectures have evolved from single-chip chip scale packages (CSP) to 2-dimensional (2D) package on package (PoP) and stacked CSP to thinner profile fanout wafer level CSP. However, the ability to stack further has been limited by size and power constraints, as well as cost. Further limits on stacked architectures include bandwidth and latency between devices in these formats. For example, semiconductor devices may be fabricated in different nodes, representing different distances between identical features in the device. For example, earlier devices included legacy nodes of 32 nm, 28 nm etc., and later devices include advanced nodes having much smaller critical dimensions. As the node decreases, the number of layers available increases. However, it is only possible to have a limited number of layers, and the layers in advanced nodes are expensive due to the depreciation of the newer equipment in these newer wafer foundries.
The present disclosure provides chip architectures for FPGAs and other routing implementations that provide for increased memory with high bandwidth, in a reduced size, accessible with reduced latency. The memory in such examples may be custom made for each device. The disclosure further provides examples of true 3D architectures, including chip stacking with dense interconnects between layers of the stack.
One aspect of the disclosure provides a 3D semiconductor device, including a first layer in advanced node, a second layer in legacy node, and a plurality of interconnects. The first layer may include an active die, active circuitry, and a configurable memory. The second layer may include a passive die with wiring, wherein the second layer is bonded to the first layer such that the wiring of the second layer interconnects with the active circuitry of the first layer to connect one or more first points on the active die to one or more second points on the active die. The plurality of interconnects may be a plurality of external interconnects extending through the passive die and adapted to couple the wiring with an external device.
According to some examples, the active circuitry of the first layer includes a plurality of multiplexers. Some of the multiplexers may have ratios of at least 32:1 or greater. Some of the active circuitry may be hardcoded. The interconnects between the first layer and the second layer may have a pitch of 10μ or less. An interconnect density between the first layer and the second layer may be approximately 105-106 connections/mm2. The active die may further include an embedded memory residing over the multiplexers and look-up tables of the active circuitry.
In some examples, the 3D semiconductor device may be a field programmable gate array. In other examples, the 3D semiconductor device may be a switch matrix or a traffic manager.
The plurality of external interconnects may include data interconnects, power interconnects, and ground interconnects in a repeating pattern. For example, the repeating pattern may include one or more stripes of the data interconnects between one or more stripes of power interconnects and one or more stripes of ground interconnects.
Another aspect of the disclosure provides a 3D semiconductor device, including a first tier and a second tier bonded to the first tier. Each of the first tier and the second tier may include a first layer in advanced node, the first layer including an active die, active circuitry, and a configurable memory. Each tier may further include a second layer, the second layer including a passive die with wiring, wherein the second layer is bonded to the first layer such that the wiring of the second layer interconnects with the active circuitry of the first layer to connect one or more first points on the active die to one or more second points on the active die.
According to some examples, the second layer may be in legacy node. The second layer may be bonded to the first layer such that the wiring of the second layer interconnects with the active circuitry of the first layer to connect one or more third points on the active die to an external device. The first tier and the second tier may be face-to-face bonded. In some examples, the 3D semiconductor device further includes a third tier, the third tier also comprising an advanced node layer and a passive layer. The third tier may be front-to-back bonded to the second tier, or back-to-back bonded to the second tier, such as with through-silicon vias extending between the second tier and the third tier.
The active circuitry of the first tier may include at least one look-up table, the at least one look-up table configured to access the configurable memory of the first tier and the configurable memory of the second tier. The at least one look-up table may be configured to access the configurable memory of the first tier and the configurable memory of the second tier in a given clock cycle.
In some examples, the 3D semiconductor device may further include an interface including a plurality of data interconnects, power interconnects, and ground interconnects in a repeating pattern.
Yet another aspect of the disclosure provides a field programmable gate array, including a first layer in advanced node, the first layer including an active die and active circuitry, the active circuitry comprising a plurality of multiplexers and a plurality of hardcoded logical connections, and a second layer in legacy node, the second layer including a passive die with wiring, wherein the second layer is bonded to the first layer such that the wiring of the second layer interconnects with the active circuitry of the first layer to connect one or more first points on the active die to one or more second points on the active die. The field programmable gate array may further include an embedded memory residing over the plurality of multiplexers and a plurality of look-up tables.
While the following disclosure provides a number of examples, it should be understood that the concepts and techniques are not limited to specific examples, but rather can be more broadly applied. For example, while the examples herein may refer to FPGAs, it should be understood that the technology described in such examples could also be applied to other devices, such as routers, switch matrix devices, traffic managers, etc.
The passive wiring die 120 may be formed of any semiconductor material, such as silicon, glass, InP, SiGe, SOI, GaAs, GaN, SiC, LiTaO3, LiNbO3, sapphire, etc. In some examples, it may be extremely thin, such as having a thickness below 50 μm. For example, the passive die may be approximately 5 μm in some examples. However, it should be understood that any thickness may be used.
The passive wiring die 120 includes wiring in one or more routing layers. The routing layers may be formed using any of a variety of conventional fabrication techniques used for legacy nodes. Multiple routing layers may be separated by, for example, passivation layers, such as silicon dioxide, silicon nitride, polymer or other materials. The passive die 120 can make data signal connections back to the active die 110. In contrast to a conventional interposer which can only take signals to and from an active die, adding layers to the active die 110 improves the connectivity within the active die 110. While a single passive wiring die 120 is shown in
As shown in
The active die 110 may be in silicon, GaAs, SiGe, SOI, or any substrate suitable for active circuitry. The active die 110 may include, for example, an FPGA or components thereof, or other logic devices, such as network switching circuitry. As such, the active die 110 may include a plurality of multiplexers and look-up tables (LUTs).
The joining of the passive die 120 to the active die 110 extends a possible amount of wiring of the active die 110. For example, the passive die 120 provides for connections between points on the active die 110 to other points on the same active die 110. The extra wiring creates an ability for the active die 110 to use deep multiplexers, such as 32:1 or greater. For example,
The multiplexers 282, 284 may have various ratios, including large ratios such as 32:2, 64:2, or greater. Moreover, the ratio for a first multiplexer 282 may differ from that of a second multiplexer 284. While only two multiplexers are shown, it should be understood that the active circuitry 115 may include any number of multiplexers.
The additional wiring of the passive die 120 provides an ability to program more code into smaller devices. Because the passive die 120 is less expensive than the active die 110, the design combining the active die with the passive die provides the benefit of the additional available wiring that is also economically advantageous as compared to adding extra layers in advanced node. Moreover, the design may be fabricated using legacy foundry equipment, thereby reducing a need for purchasing new equipment. For example, existing equipment from legacy nodes can be used given that the wiring layers do not need to have the finest geometry. This enables a cost reduction in adding of the extra wiring layers.
In some examples, costs may be further reduced by prewiring some connections of the active node circuitry, rather than using multiplexers. For example, rather than making every route path possible with numerous multiplexers, an implementation of the chip may only require some routes to have various possible paths while other routes are the same every time. The routes that are the same every time may be fixed in place by hardcoding or prewiring the connections, rather than using a multiplexer. For example, a generic FPGA may be used and one or more of the routing paths may be hardcoded, such that the paths are fixed in a program in such a way that they cannot be altered without altering the program. For example, inputs, outputs, or the paths between them could not be changed without altering the source code. The reduction in multiplexers will result in reduced power consumption of the device.
As shown in
In
According to some other examples, a passive routing layer of the chip may be used to effectively configure input/output (I/O). For example, I/O connections to buffers within the chip may be changed through the passive or active circuitry. Some layers of the chip may be maintained, while layers interfacing with other devices are swapped out. For example, the passive die 120 may be swapped out with another passive die having different routing paths. The interchangeable passive layers allow for hard flexibility in routing which may be more power-efficient than having the soft programmability of multiplexers. This may purposely restrict some level of programmability based upon application, market, desire to reduce the power dissipation of a devices or other reasons.
A further benefit of the design of
The embedded memory 612 may be configured to emulate a many-ported memory, thus making it highly parallel. For example, by emulating a many-ported memory, the embedded memory 612 may be adapted to handle regular expression search, networking, data lookup, encryption, compression/decompression, and any of a variety of other functions.
While
According to some examples, the design of
Replacing the configurable memory 714 with a passive ROM 716 provides cost benefits in that eliminating a need for active circuits such as transistors, and instead using a passive wafer, significantly reduces the cost of materials. Moreover, the ROM 716 operates using a reduced amount of power as compared to the configurable memory 714, thereby providing a power saving benefit. Eliminating transistors further eliminates their leakage contribution, and thus an overall amount of leakage drops when using the passive ROM 716 instead of the configurable memory 714. Further, there is no change to the multiplexers and LUTs in the active circuitry 115. As such, replacing the configurable memory 714 with a passive ROM 716 will not result in a timing change.
FPGA block 830 is back to back bonded to FPGA block 850. Through-silicon vias (TSVs) 838, 858 may be used to establish connections across the FPGA blocks 830, 850. For example, the TSVs 838, 858 may provide connections between the configurable memory and the multiplexers. Low density routing may be provided across the back to back connections.
According to some examples, multiplexable links may be shared between the dies. A link can be multiplexed within the same die or between dies. If the stack is mounted on an ASIC, a number of interconnect pads may provide more potential signal locations than needed. Accordingly, such additional potential signal locations can be routed if it becomes necessary.
Memories in this example architecture could be SRAM-based or non-SRAM-based. For example, the memories may in some instances include DRAM or non-volatile memories.
The stack provides an increased number of interconnects, without consuming additional area along a horizontal axis. By stacking vertically, only a few microns of additional area may be needed along a vertical axis.
Because the LUT 957 can reference multiple memories in a clock cycle, the LUT 957 can behave as multiple LUTs. For example, for each different memory the LUT 957 can access in a given clock cycle, the LUT 957 can perform a function. Accordingly, if the LUT 957 can access 3 different memories, the LUT 957 can perform 3 different functions, and thus serve as 3 different LUTs. While only one LUT 957 is shown in
In some instances, the LUT 957 may cycle through some, but not all, of the configurable memories 912, 932, 952 in a given cycle. In such instances, partial reconfiguration is possible in nearly zero time.
According to some examples, a spare layer of memory may be used to capture a user state to act as a shadow processor. The shadow state can be read out asynchronously without disturbing a running processor. For example, in a given cycle, computation may be performed more quickly by predicting future requests and performing computations. The predictions may be based on, for example, a last bit of interest in a last process. While data is transferred in response to existing requests, predictions may made for future requests as an active shadow. Because the LUT is able to access multiple memories in one clock cycle, the LUT can access the spare layer of memory to retrieve the computations performed in response to the predicted requests, while also accessing memories for responding to current requests.
In
Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. For example, while some example architectures are described herein in connection with FPGAs, it should be understood that the present disclosure is not limited to FPGAs. Rather, the architectures may be implemented in any of a number of other types of devices, including, by way of example only, switches, such as network switches or datacenter switches, routers, etc. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the appended claims.
The present application claims the benefit of the filing date of U.S. Provisional Patent Application No. 62/715,966 filed Aug. 8, 2018, the disclosure of which is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62715966 | Aug 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16156506 | Oct 2018 | US |
Child | 16915140 | US |