Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation
First Claim
1. A method of simulating a control-dataflow graph comprising:
- building an internal representation of the control-dataflow graph emulating reconfigurable logic for a reconfigurable processor implemented algorithm comprising a current block;
sending a trigger token to the current block, wherein said trigger token initiates execution of the current block in its entirety, wherein execution of the current block progresses from the top of the current block to the bottom of the current block;
providing a plurality of LOAD nodes at the top of the current block for loading the current values of an executing program'"'"'s variables;
feeding values from the LOAD nodes into a computational portion of the control-dataflow graph;
providing a plurality of STORE nodes at the bottom of the current block for receiving the results of the computational portion of the control-dataflow graph and for storing updated values of the executing program'"'"'s variables;
producing an output value of the current block, wherein the output value determines subsequent block execution, wherein, except for the output value that determines subsequent block execution, the current block and each subsequent block are independent control-dataflow representations that lack any data connection between the respective control-dataflow graph representations; and
thereafter terminating the current block.
10 Assignments
0 Petitions
Accused Products
Abstract
An embodiment of the invention includes a method of simulating a hybrid instruction processor and reconfigurable processor implemented algorithm which utilizes a runtime selectable emulation library that emulates a reconfigurable processor and its resources, and a control-data flow emulator that emulates the reconfigurable logic for the algorithm. Another embodiment of the invention includes a method of simulating a control-dataflow graph that includes building an internal representation of the control-dataflow graph that includes one or more dataflow code blocks, and simulating the control-dataflow graph as a sequence of code block dataflow executions, where control is passed from one code block to another code block based on the output value of the code block until EXIT is reached.
155 Citations
16 Claims
-
1. A method of simulating a control-dataflow graph comprising:
-
building an internal representation of the control-dataflow graph emulating reconfigurable logic for a reconfigurable processor implemented algorithm comprising a current block; sending a trigger token to the current block, wherein said trigger token initiates execution of the current block in its entirety, wherein execution of the current block progresses from the top of the current block to the bottom of the current block; providing a plurality of LOAD nodes at the top of the current block for loading the current values of an executing program'"'"'s variables; feeding values from the LOAD nodes into a computational portion of the control-dataflow graph; providing a plurality of STORE nodes at the bottom of the current block for receiving the results of the computational portion of the control-dataflow graph and for storing updated values of the executing program'"'"'s variables; producing an output value of the current block, wherein the output value determines subsequent block execution, wherein, except for the output value that determines subsequent block execution, the current block and each subsequent block are independent control-dataflow representations that lack any data connection between the respective control-dataflow graph representations; and thereafter terminating the current block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification