Push telemetry from external interface
An apparatus for transmitting telemetry through an external interface is disclosed. An integrated circuit includes at least one interface circuit configured to communicate on an external interface of the integrated circuit with a plurality of other integrated circuits. The integrated circuit further includes a first control circuit coupled to the at least one interface circuit, a first table circuit. The first control circuit is configured to store telemetry data transmitted by the plurality of other integrated circuits over the external interface in respective table entries of the first table circuit, based on which of the plurality of other integrated circuits transmitted the telemetry data.
1 . An apparatus, comprising:
a particular integrated circuit including:
at least one interface circuit configured to communicate on an external interface with a plurality of other integrated circuits;
a first table circuit;
a first control circuit coupled to the at least one interface circuit and configured to:
receive telemetry data pushed to the at least one interface circuit by ones of the plurality of other integrated circuits, wherein the telemetry data includes information indicative of current functional conditions of the ones of the plurality of other integrated circuits; and
store the telemetry data pushed by the ones of the plurality of other integrated circuits over the external interface in respective table entries of the first table circuit, based on which of the ones of the plurality of other integrated circuits transmitted the telemetry data; and
at least one processor configured to, for a first read transaction, read data from the first table circuit using a read portion of an address space mapped to the first table circuit, wherein a given entry in the first table circuit includes a status field,
wherein the first control circuit is further configured to modify a status in the status field based on the first read transaction using the read portion of the address space that addresses the given entry, and
wherein the first control circuit is configured to inhibit modification of the status in the status field based on a second read transaction to the given entry using a peek portion of the address space.
2 . The apparatus of in claim 1 , wherein the particular integrated circuit further includes:
a plurality of component circuits; and
a second control circuit comprising a second table circuit, wherein the second control circuit is configured to store, in the second table circuit, second telemetry data transmitted from ones of the plurality of component circuits.
3 . The apparatus of in claim 2 , wherein the ones of the plurality of component circuits and the second control circuit are included in one or more power domains of the particular integrated circuit that are selectively powered on and off during a time that the particular integrated circuit receives power.
4 . The apparatus of claim 2 , and wherein the first control circuit and the at least one interface circuit are included in a second power domain that operates at any time that the particular integrated circuit receives power.
5 . The apparatus of claim 1 wherein the at least one interface circuit comprises an address remap circuit configured to generate an address to an entry in the first table circuit based on an identifier of a given one of the plurality of other integrated circuits that transmitted a transaction for the first table circuit, the transaction including a second address.
6 . The apparatus of in claim 5 wherein, in response to the transaction being a write transaction, the address remap circuit is configured to map the address to the entry in an update portion of the address space mapped to the first table circuit, wherein the entry is updated in response to the address to the entry being mapped to the update portion.
7 . The apparatus of in claim 6 wherein, in response to the transaction being a read transaction, the address remap circuit is configured to map the address to the entry in the peek portion of the address space mapped to the first table circuit, wherein the entry, when in the peek portion, is readable without causing an update to a first status field of the entry.
8 . The apparatus of in claim 1 wherein the status field includes a new bit, and wherein the first control circuit is further configured to:
set the new bit when the given entry is updated; and
clear the new bit when the given entry is read.
9 . A method comprising:
collecting, by a plurality of integrated circuits, telemetry data that includes information indicative of current functional conditions of the plurality of integrated circuits;
transmitting, by a subset of the plurality of integrated circuits to a first integrated circuit of the plurality of integrated circuits, respective portions of the telemetry data, wherein the first integrated circuit is configured to receive the telemetry data via an external interface; and
storing the telemetry data, by a first control circuit of the first integrated circuit, in a first table circuit, wherein the storing comprises the first control circuit storing the telemetry data in respective table entries of the first table circuit, based on which of the subset of the plurality of integrated circuits transmitted the telemetry data;
reading, for a first read transaction, read data from a given entry in the first table circuit using a read portion of an address space mapped to the first table circuit;
modifying a status in a status field of the given entry based on the first read transaction using the read portion of the address space that addresses the given entry; and
inhibiting the modification of the status in the status field of the given entry based on a second read transaction to the given entry using a peek portion of the address space.
10 . The method of claim 9 , wherein the first integrated circuit includes a plurality of component circuits, and wherein the method further comprises:
transmitting first telemetry data from ones of the plurality of component circuits to a second control circuit of the first integrated circuit, the second control circuit having a second table circuit; and
storing the first telemetry data transmitted from the ones of the plurality of component circuits in the second table circuit.
11 . The method of claim 10 , further comprising:
operating the first control circuit any time the first integrated circuit is receiving power; and
selectively powering the second control circuit on and off during a time the first integrated circuit is receiving power.
12 . The method of claim 9 , further comprising generating, using an address remap circuit, an address to an entry in the first table circuit based on an identifier of a given one of the subset of the plurality of integrated circuits that transmitted a transaction for the first table circuit, the transaction including a second address.
13 . The method of claim 12 further comprising, in response to the transaction being a write transaction:
mapping the address to the entry, using the address remap circuit, in an update portion of the address space mapped to the first table circuit; and
updating the entry in response to the address being mapped to the update portion.
14 . The method of claim 12 further comprising, in response to the transaction being a read transaction:
mapping the address, using the address remap circuit, in the peek portion of the address space mapped to the first table circuit, wherein the entry, when in the peek portion, is readable without causing an update to a first status field of the entry.
15 . The method of claim 9 , further comprising:
wherein the status field includes a new bit, and wherein the first control circuit is further configured to:
setting the new bit included in the given entry based on an update to the given entry; and
clearing the new bit based on the given entry is read.
16 . A system comprising:
a plurality of integrated circuits configured to:
collect first telemetry data that includes information indicative of current functional conditions of ones of the plurality of integrated circuits; and
push the first telemetry data to an external interface; and
a system-on-a-chip (SoC) that includes:
a plurality of component circuits configured to collect second telemetry data that includes information indicative of current functional conditions of the SOC;
an interface circuit configured to communicate with the plurality of integrated circuits through the external interface;
a first control circuit coupled to the interface circuit, the first control circuit having a first table circuit, wherein the first table circuit is configured to store, in respective entries of the first table circuit, the first telemetry data transmitted by the ones of the plurality of integrated circuits based on which of the ones of the plurality of integrated circuits transmitted the first telemetry data; and
at least one processor configured to, for a first read transaction, read data from the first table circuit using a read portion of an address space mapped to the first table circuit, wherein a given entry in the first table circuit includes a status field; and
wherein the first control circuit is configured to:
modify a status in the status field based on the first read transaction using the read portion of the address space that addresses the given entry; and
inhibit the modification of the status in the status field based on a second read transaction to the given entry using a peek portion of the address space.
17 . The system of claim 16 , wherein the SoC further includes: a second control circuit having a second table circuit, wherein the second control circuit is configured to store, in the second table circuit, the second telemetry data.
18 . The system of claim 17 , wherein the first control circuit is implemented in a first power domain and is configured to operate whenever the SoC is receiving power, and wherein the second control circuit is implemented in a second power domain and is configured to be selectively powered on and off when the SoC is receiving power.
19 . The system of claim 16 , wherein the interface circuit includes an address remap circuit configured to generate an address to an entry in the first table circuit based on an identifier of a given one of the ones of the plurality of integrated circuits that transmitted a transaction for the first table circuit, the transaction including a second address.