IP Library Granted Patent US 10,666,265
Granted Patent B2
US 10,666,265 · App. 16/146,849 · Granted May 26, 2020

Interface for parallel configuration of programmable devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,666,265
App. No.
16/146,849
Granted
May 26, 2020
Kind
B2
Abstract

An integrated circuit device may include programmable logic fabric disposed on a first integrated circuit die and having configuration memory. The integrated circuit device may also include a base die that may provide memory and/or operating supporting circuitry. The first die and the second die may be coupled using a high-speed parallel interface. The interface may employ microbumps. The first die and the second die may also include controllers for the interface.

Claims (49)

1. An integrated circuit device comprising:

a first integrated circuit die comprising first circuitry that comprises a memory, a register, or both, and a first controller for a microbump interface, wherein the register comprises a plurality of memory controllers and a data register configured to couple the microbump interface and the first circuitry, wherein the first controller is configured to control the plurality of memory controllers; and

a second integrated circuit die connected to the first integrated circuit die via the microbump interface and comprising a second controller for the microbump interface, wherein the first controller and the second controller are coupled via a control interface that comprises a microbump connection.

2. The integrated circuit device of claim 1 , wherein the memory comprises an embedded random-access memory (ERAM).

3. The integrated circuit device of claim 1 , wherein the first integrated circuit die comprises programmable logic, the memory comprises configuration memory that controls the programmable logic, and the microbump interface is configured to transport configuration data from the second integrated circuit die to the first integrated circuit die or from the first integrated circuit die to the second integrated circuit die.

4. The integrated circuit device of claim 3 , wherein the configuration memory comprises a plurality of memory segments, and wherein the data register is configured to load the configuration data employing pipelining.

5. The integrated circuit device of claim 3 , wherein the second integrated circuit die comprises a network on chip (NOC) circuitry, and wherein the configuration data is received from the NOC circuitry.

6. The integrated circuit device of claim 3 , wherein the second integrated circuit die comprises a second memory that comprises the configuration data.

7. The integrated circuit device of claim 1 , wherein the second integrated circuit die comprises testing circuitry, and wherein the data register is configured to load test data into a scan chain that comprises the register and to retrieve return data from the scan chain to the testing circuitry.

8. The integrated circuit device of claim 7 , wherein the testing circuitry comprises a linear feedback shift register (LFSR) checker.

9. The integrated circuit device of claim 7 , wherein the testing circuitry comprises a test pattern generator that generates the test data.

10. The integrated circuit device of claim 9 , wherein the test pattern generator comprises a linear feedback shift register (LFSR) generator.

11. The integrated circuit device of claim 1 , comprising a third integrated circuit die coupled to the second integrated circuit die via a second microbump interface, wherein the third integrated circuit die comprises second circuitry that comprises a second memory or a second register or both, and a third controller for the second microbump interface, and wherein the second integrated circuit die comprises a fourth controller for the second microbump interface that is coupled to the third controller via a second control interface that comprises a second microbump connection.

12. A method to program a programmable logic device, comprising:

sending a write request from a first controller of a microbump interface disposed in a fabric die to a second controller of the microbump interface disposed in a base die using a first control interface that comprises a microbump connection, wherein the fabric die and the base die are coupled via the microbump interface;

transmitting a first portion of configuration data from a memory in the base die to a data register in the fabric die using the microbump interface, wherein the microbump interface comprises a plurality of channels; and

loading the first portion of the configuration data from the data register to a configuration memory of the fabric die.

13. The method of claim 12 , wherein loading the first portion of configuration data from the data register to the configuration memory comprises:

storing the first portion of the configuration data received from the microbump interface in a first segment of the data register;

copying the first portion of the configuration data from the first segment of the data register to a second segment of the data register; and

transferring the first portion of the configuration data from the second segment of the data register to the configuration memory.

14. The method of claim 12 , wherein the configuration memory comprises a plurality of pipeline segments, and wherein loading the first portion of the configuration data comprises:

loading the first portion of the configuration data in a first pipeline segment of the memory; and

simultaneously shifting the first portion of the configuration data in the first pipeline segment of the memory to a second pipeline segment of the memory and storing a second portion of the configuration data in the first pipeline segment of the memory.

15. The method of claim 12 , wherein the base die comprises network on chip (NOC) circuitry, and wherein the method comprises:

receiving, in the base die, the first portion of the configuration data via the NOC circuitry; and

storing the first portion of the configuration data in the memory in the base die.

16. The method of claim 12 , comprising:

receiving, in the first controller, a legacy write request from a sector controller of the fabric die; and

generating, in the first controller, the write request based, in part, on the legacy write request.

17. The method of claim 12 , comprising transmitting a second portion of the configuration data from the memory in the base die to the data register in the fabric die using the microbump interface while loading the first portion of configuration data from the data register to the configuration memory of the fabric die.

18. The method of claim 17 , wherein the plurality of channels comprises a first bandwidth, the data register comprises a second bandwidth, and wherein transmitting the first portion of configuration data comprises receiving the first portion of the configuration data in the first control interface at a first frequency and the first bandwidth and providing the first portion of the configuration data from the first control interface to the data register at a second frequency and the second bandwidth.

19. An electronic device, comprising:

a fabric die that comprises:

programmable fabric;

configuration memory configured to program the programmable fabric; and

a first controller for a microbump interface; and

a base die coupled to the fabric die via the microbump interface, comprising a second controller for the microbump interface coupled to the first controller via a microbump connection, wherein the first controller and the second controller are configured to control exchange of configuration data between the base die and the configuration memory via the microbump interface, wherein the exchange comprises:

sending a write request from the first controller to the second controller using a first control interface that comprises the microbump connection;

transmitting a first portion of configuration data from a memory in the base die to a data register in the fabric die using the microbump interface, wherein the microbump interface comprises a plurality of channels; and

loading the first portion of the configuration data from the data register to the configuration memory of the fabric die.

20. The electronic device of claim 19 , wherein the fabric die comprises user memory, and wherein the first controller and the second controller are configured to control exchange of user data between the base die and the user memory via the microbump interface.

21. The electronic device of claim 19 , comprising a data processing system comprising the fabric die and the base die.

22. The electronic device of claim 21 , wherein the data processing system is configured to perform machine learning, video processing, voice recognition, image recognition, data compression, database search ranking, bioinformatics, network security pattern identification, or spatial navigation, or any combination thereof.

23. The electronic device of claim 21 , wherein the data processing system comprises vector engines, compute-in-memory, or application-specific integrated circuit (ASIC) emulation, or any combination thereof.

24. The electronic device of claim 19 , wherein the base die comprises first testing circuitry, and wherein the first controller and the second controller are configured to perform a diagnostic test in the fabric die.

25. The electronic device of claim 24 , wherein the first testing circuitry comprises a return data checker configured to perform a linear feedback shift register (LFSR) verification.

26. The integrated circuit device of claim 1 , wherein the first controller and the second controller are configured to control an exchange of user data between the second integrated circuit die and the first integrated circuit die via the microbump connection.

27. The electronic device of claim 19 , wherein the base die comprises a network on chip (NOC) circuitry, and wherein the configuration data is received by the fabric die from the NOC circuitry.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 066353/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2020
From: CLARK, KEVIN; WEBER, SCOTT J.; BALL, JAMES; CHONG, SIMON; GUTALA, RAVI PRAKASH; DASU, ARAVIND RAGHAVENDRA; TAN, JUN PIN
To: INTEL CORPORATION
Reel/Frame 051732/0134 →