IP Library Granted Patent US 10,686,539
Granted Patent B2
US 10,686,539 · App. 14/795,855 · Granted Jun 16, 2020

Flexible debug observation point insertion in pipeline designs

Inventors: Sankar Ganesh Paramasivam (Fremont, CA); Abhay Kumar Kulkarni (Milpitas, CA)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04B17/15G06F11/22G06F11/3648H04B17/29
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,686,539
App. No.
14/795,855
Granted
Jun 16, 2020
Kind
B2
Abstract

An apparatus with flexible debug observation-points (DOPs) includes a pipeline that includes multiple stages. A number of DOPs is embedded in the stages, and a DOP memory is provided at an end of the pipeline. The DOP memory is configured to store data associated with each DOP. Each DOP includes a flop-based storage and is identifiable by a unique DOP-identification (ID) associated with that DOP. The DOPs allow shifting data through the DOPs to the DOP memory.

Claims (47)

1. An apparatus with flexible debug observation-points (DOPs), the apparatus comprising:

a pipeline comprising a plurality of stages;

a plurality of DOPs embedded in the plurality of stages;

a DOP memory provided at an end of the pipeline, wherein the plurality of DOPs are configured to allow shifting data through the plurality of DOPs to the DOP memory; and

a finite state machine (FSM) configured to perform DOP collection by triggering reading and transferring data stored in the plurality of DOPs to the DOP memory, wherein transferring the data comprises shifting the data through the plurality of DOPs to the DOP memory,

wherein the FSM is further configured to set a done-bit when the data from the plurality of DOPs has been transferred to the DOP memory,

wherein the done-bit is detectable by software and the transferred data is accessible by the software when the done-bit is set, and

wherein a DOP of the plurality DOPs comprises a flop-based storage and is identifiable by a unique DOP-identification (ID) associated with the DOP of the plurality DOPs.

2. The apparatus of claim 1 , wherein a stage of plurality of stages includes one or more embedded DOPs.

3. The apparatus of claim 1 , wherein the DOP of the plurality of DOPs is configured to latch data in response to the triggering the by the FSM and the latched data is readable by using a processor command, wherein the processor command is addressable to a DOP-ID associated with a DOP of the plurality DOPs that is enabled to respond to the processor command by making the latched data accessible to a processor bus.

4. The apparatus of claim 1 , wherein the DOP memory comprises a first-in-first-out (FIFO), wherein the FIFO is configured to make the stored data associated with the DOP of the plurality DOPs accessible to software.

5. The apparatus of claim 1 , wherein the FSM is further configured to send commands to read at least some DOPs of the plurality of DOPs sequentially.

6. The apparatus of claim 1 , wherein a stage of the plurality of stages comprises at least one of a logic circuitry, a hash table, a direct table, or a ternary content-addressable memory (TCAM).

7. The apparatus of claim 1 , wherein the DOP of the plurality DOPs includes self-trigger detect logic circuitry, wherein the self-trigger detect logic circuitry is configured to detect an input data matching a predefined criteria and, in response to detecting the input data matching the predefined criteria, to start a self-triggered mode of operation.

8. The apparatus of claim 7 , wherein a respective DOP is configured to capture, in the self-triggered mode of operation, the input data and to create a trigger for downstream DOPS.

9. A method for insertion of flexible debug observation-points (DOPs), the method comprising:

providing a pipeline comprising a plurality of stages;

embedding a plurality DOPs in the plurality of stages;

providing a DOP memory at an end of the pipeline, wherein the plurality of DOPs are configured to allow shifting of data through the plurality of DOPs to the DOP memory;

configuring a finite state machine (FSM) to perform DOP collection by triggering reading and transferring data stored in the plurality of DOPs to the DOP memory wherein transferring the data comprises shifting the data through the plurality of DOPs to the DOP memory;

and

configuring the FSM to set a done-bit when the data from the plurality of DOPs has been transferred to the DOP memory,

wherein the done-bit is detectable by software and the transferred data is accessible by the software when the done-bit is set, and

wherein the DOP of the plurality DOPs comprises a flop-based storage and is identifiable by a unique DOP-identification (ID) associated with that DOP.

10. The method of claim 9 , wherein embedding the plurality DOPs in the plurality of stages comprise embedding one or more DOPs of the plurality DOPs in a stage of plurality of stages.

11. The method of claim 9 , wherein the DOP of the plurality of DOPs is configured to latch data in response to the triggering by the FSM, wherein the latched data is configured to be readable by a processor command, wherein the processor command is addressable to a DOP-ID associated with a DOP of the plurality of DOPs that is enabled to respond to the processor command by making the latched data accessible to a processor bus.

12. The method of claim 9 , wherein providing the DOP memory comprises providing a first-in-first-out (FIFO), and the method comprises configuring the FIFO to make stored data accessible to software.

13. The method of claim 9 , further comprising configuring the FSM to: send commands to read at least some DOPs of the plurality of DOPs sequentially.

14. The method of claim 9 , wherein a stage of the plurality of stages comprises at least one of a logic circuitry, a hash table, a direct table, or a ternary content-addressable memory (TCAM).

15. The method of claim 9 , wherein the DOP of the plurality DOPs include self-trigger detect logic circuitry, wherein the method further comprises:

configuring the self-trigger detect logic circuitry to detect an input data matching a predefined criteria; and

in response to detecting the input data matching the predefined criteria, and starting a self-triggered mode of operation.

16. The method of claim 15 , further comprising a respective DOP to capture, in the self-triggered mode of operation, the input data and to create a trigger for downstream DOPS.

17. A communication system comprising:

a switch configured to receive input data at one or more input ports and to transmit output data from one or more output ports;

a pipeline comprising a plurality of stages configured to process the input data and to provide the output data;

a plurality of DOPs embedded in the plurality of stages;

a DOP memory provided at an end of the pipeline, wherein the plurality of DOPs are configured to allow shifting data through the plurality of DOPs to the DOP memory; and

a finite state machine (FSM) configured to perform DOP collection by triggering reading and transferring data stored in the plurality of DOPs to the DOP memory, wherein transferring the data comprises shifting the data through the plurality of DOPs to the DOP memory,

wherein the FSM is further configured to set a done-bit when the data from the plurality of DOPs has been transferred to the DOP memory,

wherein the done-bit is detectable by software and the transferred data is accessible by the software when the done-bit is set, and

wherein the DOP of the plurality DOPs comprises a flop-based storage and is identifiable by a unique DOP-identification (ID) associated with that DOP.

18. The system of claim 17 , wherein:

a stage of plurality of stages includes one or more embedded DOPs,

at least one DOP of the plurality of DOPs is configured to latch data in response to the triggering by the FSM,

the latched data is readable by using a processor command, and

the processor command is addressable to a DOP-ID associated with a DOP of the plurality DOPs that is enabled to respond to the processor command by making the latched data accessible to a processor bus.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2015
From: PARAMASIVAM, SANKAR GANESH; KULKARNI, ABHAY KUMAR
To: BROADCOM CORPORATION
Reel/Frame 036116/0766 →