Predicting execution behavior for codesign systhesis using static analysis
Files
TR Number
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Code optimizing techniques can perform significantly better if the program control flow can be predicted and the frequently invoked or. computationally intensive blocks can be identified. However, generating an execution profile, apart from being time consuming, is limited to sections of the code using the chosen input set and is data-dependent. Moreover, gathering profile data might not be possible in some environments. This thesis describes a methodology to perform static analysis of the program, generates an annotated flow graph depicting the control and data dependence of the input program and predicts its timing behavior using two different approaches. The tool can be integrated into a compiler for a custom computing machine for codesign synthesis. The timing information can be used effectively by the code optimizer to identify portions of the code to be executed in hardware from the portions to be executed in software. The problem of loose time bounds in complex programs due to conditional branches and data dependent loops has been addressed by introducing an interface for high level user execution information.