IP Library Granted Patent US 8,433,891
Granted Patent B2
US 8,433,891 · App. 12/870,779 · Granted Apr 30, 2013

Accessing multiple user states concurrently in a configurable IC

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 8,433,891
App. No.
12/870,779
Granted
Apr 30, 2013
Kind
B2
Abstract

Some embodiments of the invention provide a configuration/debug network for configuring and debugging a configurable integrated circuit (IC). The configurable IC in some embodiments includes configurable resources (e.g., configurable logic resources, routing resources, memory resources, etc.) that can be grouped in conceptual configurable tiles that are arranged in several rows and columns. Some embodiments allow tiles to be individually addressed, globally addressed (i.e., all addressed together), or addressed based on their tile types. The configurable IC includes numerous user-design state elements (“UDS elements”) in some embodiments. In some embodiments, the configuration/debug network has a streaming mode that can direct various circuits in one or more configurable tiles to stream out their data during the operation of the configurable IC. Accordingly, in the embodiments where the configuration/debug network connects to some or all of the UDS elements, the configurable/debug network can be used in a streaming mode to stream out data from the UDS elements of the tiles, in order to identify any errors in the operation of the IC. In other words, the streaming of the data from the UDS elements can be used to debug the operation of the configurable IC. In some embodiments, the configuration/debug network has a broadcasting mode that can direct various resources (e.g., memories, storage elements, etc.) in one or more configurable tiles to store the same data. For instance, the broadcasting mode can be used to initialize the memory blocks in the configurable memory tiles.

Claims (31)

1. A method of accessing an integrated circuit (IC) comprising a plurality of user design state (“UDS”) circuits and a plurality of configurable circuits for configurably performing a plurality of operations, the method comprising:

addressing the plurality of the UDS circuits concurrently while the IC is performing user-design operations; and

after addressing the plurality of the UDS circuits, concurrently reading state values stored by the addressed UDS circuits at least a user-design operating frequency while the IC is performing user-design operations.

2. The method of claim 1 , wherein said plurality of UDS circuits are arranged in a tile arrangement comprising an array of rows and columns, and wherein said concurrently reading state values comprises reading values from UDS circuits in a plurality of different tiles in different rows and columns.

3. The method of claim 1 , wherein said concurrently reading state values stored by the addressed UDS circuits occurs in a plurality of successive clock cycles.

4. The method of claim 1 , wherein said concurrently reading state values stored by the addressed UDS circuits comprises transmitting at least one read instruction.

5. The method of claim 4 further comprising streaming UDS state values.

6. The method of claim 5 , wherein said streaming comprises repeatedly outputting said state values.

7. The method of claim 1 , wherein said concurrently reading state values comprises concurrently receiving state values from addressed UDS circuits into a trace buffer.

8. The method of claim 1 further comprising defining merge values for specifying how state values from two different UDS circuits should merge onto a shared resource.

9. The method of claim 8 , wherein the shared resource is a bus line.

10. The method of claim 8 further comprising outputting the read state values and merged state values from the IC.

11. An integrated circuit (IC) comprising:

a plurality of configurable circuits for configurably performing a plurality of operations;

a plurality of user design state (UDS) circuits; and

a network communicatively coupled to the UDS circuits, said network for concurrently addressing a plurality of the UDS circuits while the IC is in a user design operation mode.

12. The IC of claim 11 , wherein said UDS circuits are arranged in a plurality of tiles.

13. The IC of claim 12 , wherein said IC comprises at least one memory array within said tiles.

14. The IC of claim 11 , wherein the network is arranged to write values concurrently to a plurality of different tiles.

15. The IC of claim 11 , wherein the UDS circuits are configurable interconnect circuits that are configured as state elements.

16. The IC of claim 11 , wherein said network is a first network and wherein said plurality of configurable circuits comprises a plurality of configurable logic circuits for performing logic functions and a plurality of configurable routing circuits that form a second network for routing user data between said configurable logic circuits.

17. A method of accessing an integrated circuit (IC) comprising a plurality of configurable circuits for configurably performing a plurality of operations, said IC comprising a plurality of user design state (“UDS”) circuits, the method comprising:

addressing a plurality of the UDS circuits concurrently while the IC is performing user-design operations; and

after addressing the plurality of the UDS circuits, concurrently writing state values to the addressed UDS circuits while the IC is performing user-design operations.

18. The method of claim 17 , wherein said addressing comprises transmitting an address specifying a type of circuit in the IC.

19. The method of claim 17 , wherein said addressing comprises transmitting a data packet comprising an address specifying a global tile type and a specific tile type.

20. The method of claim 17 , wherein said addressing comprises transmitting a data packet comprising an address specifying global tile type and a tile address that identifies a plurality of tiles being addressed.

21. The method of claim 1 , wherein different sets of the plurality of UDS circuits are grouped in a plurality of different tiles, wherein addressing the plurality of UDS circuits concurrently comprises, for each of a plurality of tiles:

transmitting a packet comprising a first frame containing a first address for the tile over a network of the IC and

transmitting a second frame containing a second address for a particular UDS circuit within the tile.

22. The method of claim 1 , wherein the user-design operations are performed by configurable circuits for which configuration data was loaded onto the IC at a boot up time of the IC.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061827/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: ALTERA CORPORATION
To: INTEL CORPORATION
Reel/Frame 060778/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: TABULA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: ALTERA CORPORATION
Reel/Frame 036050/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: TABULA, INC.
To: TABULA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 035783/0055 →