IP Library Granted Patent US 7,788,478
Granted Patent B2
US 7,788,478 · App. 11/375,562 · Granted Aug 31, 2010

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 7,788,478
App. No.
11/375,562
Granted
Aug 31, 2010
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 (58)

1. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

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

b) 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,

wherein the configurable IC includes a debug network,

wherein addressing the plurality of the UDS circuits comprises transmitting at least one address for the plurality of the UDS circuits over the debug network of the configurable IC.

2. The method of claim 1 , wherein the transmitted address specifies a type of circuits in the configurable IC.

3. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

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

b) 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,

wherein the configurable IC includes a debug network,

wherein reading the plurality of the UDS circuits comprises transmitting at least one read instruction over the debug network of the configurable IC.

4. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

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

b) 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,

wherein the configurable IC includes a debug network,

wherein the reading comprises reading the state values onto the debug network.

5. The method of claim 4 further comprising:

defining merge values for specifying how state values from two different UDS circuits should merge onto a shared resource of the debug network.

6. The method of claim 5 , wherein the shared resource of the debug network is a bus line of the debug network.

7. The method of claim 6 , wherein the bus line is a vertical column line.

8. The method of claim 6 , wherein the bus line is a horizontal row line.

9. The method of claim 5 further comprising: outputting the read and merged state values from the IC through the debug network.

10. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

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

b) 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, wherein the reading includes concurrently reading state values stored by the addressed UDS circuits in a plurality of successive clock cycles during the user-design operation of the IC.

11. A configurable integrated circuit (IC) comprising:

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

a debug network communicatively coupled to the UDS circuits, said debug network for addressing concurrently the plurality of the UDS circuits while the IC is performing user-design operations, wherein said debug network is further for reading concurrently state values stored by the addressed UDS circuits at least a user-design operating frequency.

12. The configurable IC of claim 11 , wherein to address the plurality of the UDS circuits, at least one address is transmitted for the plurality of the UDS circuits over the debug network of the configurable IC.

13. The configurable IC of claim 12 , wherein the transmitted address specifies a type of circuits in the configurable IC.

14. The configurable IC of claim 11 , wherein to read the plurality of the UDS circuits, at least one read instruction is transmitted over the debug network of the configurable IC.

15. The configurable IC of claim 11 , wherein to read the plurality of the UDS circuits, the read state values are read onto the debug network.

16. The configurable IC of claim 15 , wherein the debug network comprises:

merging circuits for specifying how state values from different UDS circuits should merge onto shared resources of the debug network.

17. The configurable IC of claim 16 , wherein a shared resource of the debug network is a bus line of the debug network.

18. The configurable IC of claim 16 ,

wherein the debug network further comprises intersecting bus lines, and

wherein the merging circuits comprise:

masking circuits for specifying how state values from different UDS circuits connected to a same set of lines should merge onto the same set of lines; and

intersect-merge circuits for specifying how state values carried on two sets of intersecting lines should merge.

19. The configurable IC of claim 18 , wherein the intersecting bus lines are vertical and horizontal lines.

20. The configurable IC of claim 11 , wherein the debug network reads concurrently state values in a plurality of successive clock cycles during the user-design operation of the IC.

21. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

a) addressing the plurality of the UDS circuits concurrently; and

b) after addressing the plurality of the UDS circuits, writing at least one common value to the addressed UDS circuits concurrently,

wherein the configurable IC includes a configuration network,

wherein addressing the plurality of the UDS circuits comprises transmitting at least one address for the plurality of the UDS circuits over the configuration network of the configurable IC.

22. The method of claim 21 , wherein the transmitted address specifies a type of circuits in the configurable IC.

23. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

a) addressing the plurality of the UDS circuits concurrently; and

b) after addressing the plurality of the UDS circuits, writing at least one common value to the addressed UDS circuits concurrently,

wherein the configurable IC includes a debug network,

wherein writing to the plurality of the UDS circuits comprises transmitting at least one write instruction over the debug network of the configurable IC.

24. A method of accessing a configurable integrated circuit (IC) having a plurality of user design state (UDS) circuits, the method comprising:

a) addressing a plurality of the UDS circuits concurrently;

b) after addressing the plurality of the UDS circuits, writing at least one common value to the addressed UDS circuits concurrently,

wherein the configurable IC includes a debug network,

wherein the reading comprises reading the state values onto the debug network.

Assignments (2)
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 →