IP Library Granted Patent US 7,480,825
Granted Patent B2
US 7,480,825 · App. 10/487,687 · Granted Jan 20, 2009

Method for debugging reconfigurable architectures

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 7,480,825
App. No.
10/487,687
Granted
Jan 20, 2009
Kind
B2
Abstract

A method for debugging reconfigurable hardware is described. According to this method, all necessary debug information is written in each configuration cycle into a memory, which is then analyzed by the debugger.

Claims (124)

1. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information; and

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed;

wherein the reading out of the memory the debug information is performed using the configuration.

2. The method as recited in claim 1 , further comprising:

performing a cycle process of a configuration to be debugged, step by step.

3. The method as recited in claim 2 , further comprising: simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

4. The method as recited in claim 1 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

5. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration; and

writing the debug information into a debugging unit or a debugging configuration.

6. The method as recited in claim 5 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

7. A system, comprising:

a hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and arithmetic units interconnection; and

a debugging arrangement to debug a program while running on the hardware, wherein the debugging arrangement includes a memory to store debug information

wherein:

in each of at least a subset of a plurality of configuration cycles (a) performed during the running of the program on the hardware, (b) during which at least a subset of the reconfigurable hardware modules are reconfigured with respect to at least one of function and interconnection, and (c) for which the debug information is to be obtained, the debugging arrangement is configured to:

write the debug information into to the memory;

and

read the debug information out of the memory for use by the debugging arrangement:

the debugging arrangement analyzes the debug informatiom

during the running of the program, a configuration is loaded during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needeth and

the reading of the debug information out of the memory is performed using the configuration.

8. The system as recited in claim 7 , wherein the memory is a dual-ported RAM having a first input for information to be saved from the field and a second input for readout of information into an analysis device.

9. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration; and

altering a configuration to be debugged before the debugging in such a way that information not needed in normal non-debugging execution is stored in a memory.

10. Method as recited in claim 9 , further comprising:

writing the debug information into a debugging unit or a debugging configuration.

11. The method as recited in claim 10 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

12. The method as recited in claim 9 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

13. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration; and

at least partially slowing down or stopping a clock pulse frequency for readout.

14. The method as recited in claim 5 , further comprising:

at least partially slowing down or stopping a clock pulse frequency for readout.

15. The method as recited in claim 14 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

16. The method as recited in claim 13 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

17. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration;

altering a configuration to be debugged before the debugging in such a way that information not needed in normal non-debugging execution is stored in a memory; and

at least partially slowing down or stopping a clock pulse frequency for readout.

18. The method as recited in claim 17 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

19. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration;

writing the debug information into a debugging unit or a debugging configuration;

altering a configuration to be debugged before the debugging in such a way that information not needed in normal non-debugging execution is stored in a memory; and

at least partially slowing down or stopping a clock pulse frequency for readout.

20. The method as recited in claim 19 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

21. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration;

at least partially slowing down or stopping a clock pulse frequency for readout; and

performing a cycle process of a configuration to be debugged, step by step.

22. The method as recited in claim 21 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

23. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration;

writing the debug information into a debugging unit or a debugging configuration;

at least partially slowing down or stopping a clock pulse frequency for readout; and

performing a cycle process of a configuration to be debugged, step by step.

24. The method as recited in claim 23 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

25. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration;

altering a configuration to be debugged before the debugging in such a way that information not needed in normal non-debugging execution is stored in a memory;

at least partially slowing down or stopping a clock pulse frequency for readout; and

performing a cycle process of a configuration to be debugged, step by step.

26. The method as recited in claim 25 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

27. A method for debugging a program running on hardware including modules that are reconfigurable in a configuration cycle with respect to at least one of function and interconnection, comprising:

in each of at least a subset of a plurality of configuration cycles performed during the running of the program and for which debug information is to be obtained, at least a subset of the reconfigurable hardware modules being reconfigured in each of the configuration cycles with respect to the at least one of function and interconnection:

writing debug information into a memory; and

reading out of the memory the debug information for use by a debugger;

analyzing by the debugger the debug information;

during the running of the program, loading a configuration during the debugging after occurrence of a debugging condition according to which information regarding the configuration to be debugged is needed, wherein the reading out of the memory the debug information is performed using the configuration;

writing the debug information into a debugging unit or a debugging configuration;

altering a configuration to be debugged before the debugging in such a way that information not needed in normal non-debugging execution is stored in a memory;

at least partially slowing down or stopping a clock pulse frequency for readout; and

performing a cycle process of a configuration to be debugged, step by step.

28. The method as recited in claim 27 , further comprising:

simulating a configuration to be debugged according to readout of relevant information or according to previously available information.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: PACT XPP TECHNOLOGIES AG
To: SCIENTIA SOL MENTIS AG
Reel/Frame 045532/0745 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2014
From: RICHTER, THOMAS; KRASS, MAREN
To: PACT XPP TECHNOLOGIES AG
Reel/Frame 032225/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2010
From: PACT XPP TECHNOLOGIES AG
To: RICHTER, THOMAS, MR.; KRASS, MAREN, MS.
Reel/Frame 023882/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2004
From: VORBACH, MARTIN
To: PACT XPP TECHNOLOGIES AG
Reel/Frame 015731/0353 →