Abstract
In electronic system-level(ESL) design for computer systems, trace-driven simulation is normally used to simulate specific components of a computer system, e.g. cache or network-on-chip(NoC), in order to verify their designs and evaluate the resultant performance. While traces are often collected by third parties without knowing how they will be used later, ESL designers are more interested in specific portions of the trace, e.g. the main loop of the original program or a particular phase of the computation, which are referred to as the region-of-interest(ROI). The challenge is thus to extract the ROI for a specific design from a trace that was collected without knowing and hence properly annotating the desired ROI. In this thesis, we take on this challenge and consider extraction of ROI from instruction traces resulting from the executions of some (benchmark) programs. To solve this problem, we propose to first infer from the trace the high-level structure of the program by reducing the trace into a finite-state machine (FSM), called the trace-derived FSM(TD-FSM). Next, the ROI is extracted by selecting appropriate subgraphs from the TD-FSM. Finally, a replay procedure is used to generate a trace that is very similar to the original trace but contains only the ROI. To demonstrate the effectiveness of the proposed methodology, we show how the trace corresponding to the main loop of a program can be extracted to drive trace-driven NoC simulation. The simulation results are compared with those using the traces obtained from instrumentation on the original program source code. The comparisons show that the simulation results using our methodology and the annotated traces are differed by only 2.55% in average. The work presented in this thesis is only a starting point and the encouraging results are subject to certain restrictions, which will be discussed in detail.