The present invention relates to System on Chip architectures, and in particular chiplet based architectures.
Modern electronic systems are conventionally structured around a monolithic integrated circuit, that is to say, a complete electronic circuit on a single semiconductor substrate implementing all desired functions, possible in connection with similar such devices and ancillary devices.
The increasing complexity of many modern devices such as computer processors, signal processors, decoders and so on means that many millions of gates are combined on a single substrate, making a large and complex device, for a single, specific purpose. Recently, an alternative approach has developed according to which modular “chiplets” are defined, each chiplet being an integrated circuit block that has been specifically designed to work with other similar chiplets, defined in terms of IP Blocks, to form larger more complex chips. A System on Chip device may then be developed by combining different chiplets from a standard library to achieve the desired effect.
Where a particular System on Chip design is developed on this basis, an additional circuit known as an active interposer is typically provided as a further component of the System On Chip device. The functions of the active interposer may include clock generation, distribution or management for the chiplets, power management, routing of communications between chiplets, and other coordinating functions as may be required.
Accordingly,
It is desirable to provide improved mechanisms for implementing active interposerfunctionality.
In accordance with the present invention in a first aspect there is provided a disaggregated system-on-chip device comprising adapted to perform a specified function, said device comprising a plurality of chiplets from a predefined library of chiplets, each said chiplet implementing one or more specified operation and having a predetermined structure, and an active interposer to provide interoperability functions between said chiplets in view of said specified function, characterized in that said active interposer comprises an FPGA.
In accordance with the present invention in a second aspect there is provided active interposer device for use in a disaggregated system-on-chip comprising adapted to perform a specified function, said disaggregated system-on-chip comprising a plurality of chiplets from a predefined library of chiplets, each said chiplet implementing one or more specified operation and having a predetermined structure, said active interposer providing interoperability functions between said chiplets in view of said specified function, characterized in that said active interposer comprises an FPGA.
In accordance with the present invention in a third aspect there is provided an FPGA device for use in an active interposer in a disaggregated system-on-chip comprising adapted to perform a specified function, said disaggregated system-on-chip comprising a plurality of chiplets from a predefined library of chiplets, each said chiplet implementing one or more specified operation and having a predetermined structure, said active interposer providing interoperability functions between said chiplets in view of said specified function.
In a development of the first, second or third aspect, the FPGA is configured to perform digital functions of said device other than interoperability functions.
In a development of the first, second or third aspect, the FPGA is configured to perform at least a part of said interoperability functions.
In a development of the first, second or third aspect, the interoperability functions comprise a network on chip.
In a development of the first, second or third aspect, the interoperability functions comprise one or more of communication protocols, state machines, interfaces, or data conversion.
In a development of the first, second or third aspect, the interoperability functions comprise Data conversion operations.
In a development of the first, second or third aspect, the interoperability functions comprise digital interfaces operations.
In a development of the first, second or third aspect, the interoperability functions comprise data filtering operations.
In a development of the first, second or third aspect, the FPGA further comprises Non-Volatile Memory coupled to store programming bitstream of the FPGA.
In accordance with the present invention in a fourth aspect there is provided a method of designing a disaggregated system-on-chip device to perform a specified function said method, comprising the steps of selecting a plurality of chiplets from a predefined library of chiplets, each said chiplet implementing one or more specified operation and having a predetermined structure, defining an active interposer to provide interoperability functions between said chiplets in view of said specified function, wherein said step of defining an active interposer comprises configuring an FPGA to perform at least a part of interoperability functions.
In accordance with the present invention in a fourth aspect there is provided a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the preceding method.
In accordance with the present invention in a fifth aspect there is provided data structure defining an FPGA device for use in an active interposer/chassis in a disaggregated system-on-chip comprising adapted to perform a specified function, said disaggregated system-on-chip comprising a plurality of chiplets from a predefined library of chiplets, each said chiplet implementing one or more specified operation and having a predetermined structure, said active interposer/chassis providing interoperability functions between said chiplets in view of said specified function.
The above and other advantages of the present invention will now be described with reference to the accompanying drawings, in which:
FPGAs are a type of Programmable Logic Device. They are generally based on a standard programmable logic block, a large number of which are arranged together to implement various functions.
As shown in
The elements shown in
As shown in
WO2012/123243 A1, U.S. Pat. Nos. 7,463,056 B1, 6,021,513 A, 5,432,441 A, 8,091,001 B2, 5,675,589 A, and 5,027,355 A describe certain aspects of the foregoing.
The article entitled “Bridging the Gap between Soft and Hard eFPGA Design”, by Victor Olubunmi Aken'Ova chapter 3.22 available from https://www.ece.ubc.ca/˜lemieux/publications/akenova-masc2005.pdf provides
The skilled person will appreciate that many other FPGA architectures are known, from which aspects may be adopted as required.
Furthermore, it may be noted that the principles described herein apply equally to an eFPGA, or “embedded FPGA”. An eFPGA implements the same operating principles as a discrete FPGA device, but takes the form of a digital definition of the functionality in question, often referred to as an “IP”, which may be incorporated at the design state into a larger device, for example taking the form of a System on Chip or Application Specific Integrated Circuit. As such, embodiments of the present invention may take the form of such a digital definition. As such, there is provided a data structure defining an FPGA device as presented herein.
As shown in
As such, there is provided a disaggregated system-on-chip device adapted to perform a specified function, the device comprising a plurality of chiplets from a predefined library of chiplets, each chiplet implementing one or more specified operation and having a predetermined structure, and an active interposer to provide interoperability functions between said chiplets in view of said specified function, characterized in that said active interposer comprises an FPGA/eFPGA.
By incorporating FPGA/eFPGA circuit 521 in active interposer 520, the flexibility of the active interposer is greatly increased—the FPGA/eFPGA functionality may be used to define the active interposer functionality itself, that is to say, providing interoperability functions supporting interoperability of the chiplets, including for example those described in further detail below. For example, the FPGA/eFPGA circuits may be programmed to provide timing or signal translations functions in order to directly support and implement the role of the active interposer in enabling communications between chiplets 201, 202, 203, 204. Still further, logic or other digital operations that might otherwise have been implemented in dedicated chiplets may be implemented directly in the active interposer 520, leaving analogue and mixed signal operations for example to be performed in dedicated chiplets 201, 202, 203, 204.
Accordingly, the active interposer 520 may provide the basis of a reconfigurable network on chip, providing buses for interconnection between chiplets, by suitable configuration of the integrated FPGA/eFPGA 521.
The active interposer 520 may provide a basis for configurable logic, for example to implement communication protocols, state machines, interfaces, data conversion or the like by suitable configuration of the integrated FPGA/eFPGA 521.
The active interposer 520 may provide a basis for configurable logic, for example to implement Data conversion operations by suitable configuration of the integrated FPGA/eFPGA 521.
The active interposer 520 may provide a basis for configurable logic, for example to implement on or off-chip digital interfaces operations by suitable configuration of the integrated FPGA/eFPGA 521.
The active interposer 520 may provide a basis for configurable logic, for example to implement in or off chip data filtering operations by suitable configuration of the integrated FPGA/eFPGA 521.
The skilled person will appreciate that the active interposer may implement any or all of these interoperability functions or other operations in combination, and or other operations, by suitable configuration of the integrated FPGA/eFPGA 521.
As such, there is provided an active interposer device for use in a disaggregated system-on-chip comprising adapted to perform a specified function, the disaggregated system-on-chip comprising a plurality of chiplets from a predefined library of chiplets, each chiplet implementing one or more specified operation and having a predetermined structure, the active interposer providing interoperability functions between the chiplets in view of said specified function, characterized in that said active interposer comprises an FPGA/eFPGA.
As such, there is provided FPGA/eFPGA device for use in an active interposer in a disaggregated system-on-chip comprising adapted to perform a specified function, the disaggregated system-on-chip comprising a plurality of chiplets from a predefined library of chiplets, each chiplet implementing one or more specified operation and having a predetermined structure, said active interposer providing interoperability functions between said chiplets in view of the specified function.
It will be appreciated that an FPGA as described above may constitute part of a larger System on Chip or ASIC, resulting for example from the integration of a digital definition of such an FPGA (“IP”) as described herein being incorporated in the design of such a System on Chip or ASIC.
As shown in
Accordingly, there is furthermore provided an FPGA/eFPGA for incorporation in an active interposer, wherein the FPGA/eFPGA is configured to implement any of the operations described above.
Accordingly, there is furthermore provided an active interposer incorporating an FPGA/eFPGA as defined above and configured to implement any of the operations described above.
As described previously, a disaggregated system-on-chip device incorporating an active interpose comprising an FPGA/eFPGA as described above for example with reference to
As such, there is provided a data structure defining a disaggregated system-on-chip device incorporating an active interposer comprising an FPGA/eFPGA as described above for example with reference to
Furthermore, there is provided a computer-readable medium comprising a data structure as described above.
Furthermore, there is provided a computer program comprising instructions which, when the program is executed by a computer, cause the computer to control operations of a semiconductor foundry to form a disaggregated system-on-chip device incorporating an active interpose comprising and FPGA/eFPGA as described above for example with reference to
There is additionally provided a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to control operations of a semiconductor foundry to form a device as discussed in the preceding paragraph.
According to a further embodiment, there is provided a method of designing a disaggregated system-on-chip device to perform a specified function said method, comprising the steps of selecting a plurality of chiplets from a predefined library of chiplets, each said chiplet implementing one or more specified operation and having a predetermined structure, defining an active interposer to provide interoperability functions between said chiplets in view of said specified function, wherein said step of defining an active interposer comprises configuring an FPGA/eFPGA to perform at least a part of interoperability functions. The interoperability functions may include any or all of those discussed above.
There is additionally provided a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the preceding method.
Accordingly, there is provided a system on chip device where the active interposer incorporates an FPGA/eFPGA, which may be used to flexibly implement interposer operations such as a network on chip communication protocols, state machines, interfaces, or data conversion, digital interfaces operations, data filtering operations, data filtering operations, and the like, or any other digital operation as required, so that analogue and mixed signals only need be addressed in dedicated chiplets.
The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
This application claims the benefit of U.S. Provisional Application No. 63/135,156, filed on Jan. 8, 2021, the disclosure of which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63135156 | Jan 2021 | US |