Symbolic Debugging Scheme for Optimized Hardware and Software
Farinaz Koushanfar, Darko Kirovski, Miodrag Potkonjak · 2000
Symbolic debuggers are system development tools that can accel-erate the validation speed of behavioral specifications by allowing a user to interact with an executing code at the source level. In re-sponse to a user query, the debugger retrieves the value of a source variable in a manner consistent with respect to the source state-ment where execution has halted. However, when a behavioral specification has been optimized using transformations, values of variables may be inaccessible in the run-time state. We have developed a set of techniques that, given a behavioral specification , enforce computation of a selected subset of user variables such that (i) all other variables can be computed from and (ii) this enforcement has mini-mal impact on the optimization potential of the computation. The implementation of the new debugging approach poses several op-timization tasks. We have formulated the optimization tasks and developed heuristics to solve them. The effectiveness of the ap-proach has been demonstrated on a set of benchmark designs. 1.