IP Library Granted Patent US 8,930,876
Granted Patent B2
US 8,930,876 · App. 13/725,345 · Granted Jan 6, 2015

Method of debugging control flow in a stream processor

Inventors: Oliver Pell (London, GB); Itay Greenspon (London, GB); James Barry Spooner (London, GB); Robert Gwilym Dimond (London, GB)
Assignee: Maxeler Technologies, Ltd.
G06F15/76G06F11/3024G06F13/36G06F11/3636G06F11/3027G06F11/3093
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,930,876
App. No.
13/725,345
Granted
Jan 6, 2015
Kind
B2
Abstract

Disclosed is a method of monitoring operation of programmable logic for a streaming processor, the method comprising: generating a graph representing the programmable logic to be implemented in hardware, the graph comprising nodes and edges connecting nodes in the graph; inserting, on each edge, monitoring hardware to monitor flow of data along the edge. Also disclosed is a method of monitoring operation of programmable logic for a streaming processor, the method comprising: generating a graph representing the programmable logic to be implemented in hardware, the graph comprising nodes and edges connecting the nodes in the graph; inserting, on at least one edge, data-generating hardware arranged to receive data from an upstream node and generate data at known values having the same flow control pattern as the received data for onward transmission to a connected node.

Claims (22)

1. A method of monitoring operation of programmable logic for a streaming processor, the method comprising:

generating a graph representing the programmable logic to be implemented in hardware, the graph comprising nodes and edges connecting nodes in the graph;

inserting, on at least one edge, data-generating hardware arranged to receive data from an upstream node, discard the data values of said received data, and generate new data signals at known values having the same flow control pattern as the received data, for onward transmission to a connected node.

2. The method according to claim 1 , in which the data-generating hardware is provided on each edge in the graph.

3. The method according to claim 2 wherein the data-generating hardware is arranged to generate a count signal.

4. The method according to claim 2 wherein each edge comprises a data bus for flow of data and control flow signals for the exchange of control flow information, and wherein the method comprises coupling the data-generating hardware to both the control flow signals and the data bus.

5. The method according to claim 1 , the data-generating hardware is arranged to generate a count signal.

6. The method according to claim 5 wherein each edge comprises a data bus for flow of data and control flow signals for the exchange of control flow information, and wherein the method comprises coupling the data-generating hardware to both the control flow signals and the data bus.

7. The method according to claim 6 further comprising incrementing the counter when the flow control signals indicate that data should transfer between the nodes.

8. The method according to claim 1 , in which each edge comprises a data bus for flow of data and flow control signals for the transmission of flow control signals, and wherein the method comprises coupling the data-generating hardware to both the flow control signals and the data bus.

9. The method according to claim 8 , in which the data-generating hardware is arranged to receive an input from the data bus and to provide as an output a count signal having the same flow control pattern as the data received on the data bus.

10. The method according to claim 1 , comprising coupling the control signals to a data generator within the count-generating hardware, and in dependence on the flow control signals generating the count signal.

11. The method according to claim 1 , comprising operating the data-generating hardware at the same clock rate as the data received from the upstream node.

12. A streaming processor comprising:

plural nodes for processing streaming data;

at least one edge connecting each pair of the one or more nodes;

data-generating hardware arranged to receive data from an upstream node in a pair of nodes, discard the data values of said received data, and generate new data signals at known values having the same flow control pattern as the received data for onward transmission to a downstream node in the pair of nodes.

13. The streaming processor according to claim 12 , in which the data-generating hardware comprises a data generator arranged to generate a count signal.

14. The streaming processor according to claim 12 , in which the streaming processor is provided on an FPGA.

15. A tool for enabling the monitoring of operation of programmable logic for a streaming processor, the tool comprising:

a graph generator for generating a graph representing the programmable logic to be implemented in hardware, the graph comprising nodes and edges connecting nodes in the graph;

a hardware generator for generating and inserting, on at least one edge, data-generating hardware arranged to receive data from an upstream node, discard the data values of said received data, and generate new data signals at known values having the same flow control pattern as the received data, for onward transmission to a connected node.

Assignments (2)
CHANGE OF NAME Recorded Jul 8, 2025
From: MAXELER TECHNOLOGIES LIMITED
To: GROQ UK LIMITED
Reel/Frame 071625/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2013
From: PELL, OLIVER; GREENSPON, ITAY; SPOONER, JAMES BARRY; DIMOND, ROBERT GWILYM
To: MAXELER TECHNOLOGIES, LTD.
Reel/Frame 029813/0837 →
Continuity (2)
Continuation 13212907 · Aug 18, 2011
Related Publication 20130145070A1 · Jun 6, 2013