Dynamically tracking data values in a configurable IC
AssigneeTabula, Inc.
InventorsBrad Hutchings, Steven Teig
Life of this patent
Estimating the term…
Abstract
Some embodiments provide a method of dynamically tracking data values in a configurable integrated circuit (IC). The method, during a run time of the configurable IC, receives a request for a data value and dynamically configures the configurable IC to monitor the data value. In some embodiments, the method, in dynamically configuring the configurable IC, dynamically configures a debug network of the configurable IC. In some such embodiments, the method, in dynamically configuring the configurable IC, further dynamically configures a set of configurable routing circuits of the configurable IC. In some embodiments the configuration is performed while the IC is implementing a user design circuit.
Claims36
A method of dynamically tracking data values in an integrated circuit (IC) comprising configurable circuits for configurably performing a plurality of operations, the method comprising:
- while a first plurality of configurable circuits is performing a particular user design, receiving a user request for a data value being produced by a set of configurable circuits from the first plurality of configurable circuits for the particular user design;
- and
- without modifying a configured set of operations of the first plurality of configurable circuits, dynamically configuring a second plurality of configurable circuits of said IC according to said received user request to monitor said data value while the first plurality of configurable circuits is performing the particular user design.
A method of dynamically tracking data values in a configurable integrated circuit (IC), the method comprising:
- while a first plurality of configurable circuits of the configurable IC is performing a particular user design, receiving a request for a data value produced by a first set of configurable circuits;
- and
- dynamically configuring a second plurality of configurable circuits of said configurable IC to monitor said data value without making changes to the first plurality of configurable circuits, wherein said dynamic configuration is done in less than one hundred milliseconds.
A method of dynamically tracking data values in a configurable integrated circuit (IC), the method comprising:
- while a first plurality of configurable circuits of the configurable IC is performing a particular user design, receiving a request for a data value produced by the first plurality of configurable circuits;
- and
- dynamically configuring a second plurality of configurable circuits of said configurable IC to monitor said data value while the first plurality of configurable circuits of the configurable IC is performing the particular user design, wherein said dynamic configuration is done in less than one minute.
A non-transitory machine readable medium storing a program that dynamically tracks data values in an integrated circuit (IC) comprising (i) a plurality of configurable circuits for configurably performing a plurality of operations and (ii) a debug network for monitoring said data values, said program executable by one or more processing units, the program comprising sets of instructions for:
- monitoring a first data value produced by a first set of configurable circuits of the plurality of configurable circuits;
- receiving a request for monitoring a second data value while the first set of configurable circuits is performing a particular user-defined design, said second data value being produced by a second set of configurable circuits of the plurality of configurable circuits;
- and
- dynamically configuring, without interrupting operations of the particular user-defined design performed by the first and second sets of configurable circuits, said debug network to monitor said second data value according to the received request.
A non-transitory machine readable medium storing a program for dynamically tracking data values in a configurable integrated circuit (IC), said program comprising sets of instructions for execution by an electronic component, the sets of instructions comprising:
- receiving a request for a data value produced by the configurable IC while the configurable IC is performing a particular user design;
- and
- dynamically configuring, without interrupting operations of the particular user-defined design performed by the configurable IC, said configurable IC to monitor said data value, wherein said dynamic configuration is done in less than one second.
A non-transitory machine readable medium storing a program for dynamically tracking data values in a configurable integrated circuit (IC), said program comprising sets of instructions for execution by an electronic component, the sets of instructions comprising:
- receiving a request for a data value while a first plurality of configurable circuits of the configurable IC is performing a particular user design;
- and
- dynamically configuring a second plurality of configurable circuits of said configurable IC to monitor said data value without making changes to the first plurality of configurable circuits, wherein said dynamic configuration is done in less than one hundred millisecond.
A method of dynamically tracking data values of circuit elements in an integrated circuit (IC) comprising first and second pluralities of configurable circuits for configurably performing a plurality of operations, the first plurality of configurable circuits comprising first and second sets of configurable circuits, the method comprising:
- monitoring a first set of data values of the first set of configurable circuits while the first plurality of configurable circuits of said IC is performing a particular user design;
- receiving a selection of said second set of configurable circuits;
- and
- while the first plurality of configurable circuits is performing the particular user design, dynamically configuring the second plurality of configurable circuits to gather a second set of data values from said second set of configurable circuits without modifying a configured set of operations of said first plurality of configurable circuits.
The method claim of 31, wherein monitoring said first set of data values comprises configuring the second plurality of configurable circuits to gather said first set of data values from said first set of configurable circuits.
Dependencies are inferred from the claim text.