Duty cycle is the proportion of time a device is active. Therefore, based on the duty cycle specification, application (implemented using the device) execution can be modeled as alternate active and inactive phases. For FPGAs, during inactive phases, energy is dissipated due to leakage current and clock signal distribution. If the duration of the inactive phases is significantly larger than that of the active phases, optimizing energy dissipation during inactive phases contributes significantly towards the overall energy efficiency. We present a design tool for the evaluation of various optimization techniques such as shutting down FPGAs, transitioning to a low power state, or leaving as it is to minimize overall energy dissipation. We illustrate the tool through energy efficient design of a target tracking application using FPGAs.
MotivationMobile devices operate in energy constrainedenvironments. Therefore, energy efficient application design using FPGAs is an emerging area of research [3,4]. Duty cycle specification allows modeling of a period of execution as alternate active and inactive phases. Low duty cycle refers to a period of execution when the duration of the inactive phases is significantly larger than that of the active phases. Mobile phones and systems implementing automatic target recognition and tracking are often associated with low duty cycles [2]. Energy dissipation (e.g. due to leakage current), for systems with low duty cycle, during inactive phases can contribute significantly towards the overall energy dissipation. Therefore, the tradeoff between energy dissipation due to shutting down (and starting up) and idling needs to be evaluated [3].There are several tools and techniques for application design using FPGAs. Xilinx System Generator for Simulink provides a high-level interface for application design using pre-compiled libraries of signal processing kernels [8].[5] presents a compiler, PACT HDL, which given a high-level algorithm in C, generates power and performance optimized design for FPGAs. However, these tools do not focus on the behavior of the target FPGA based on duty cycle specification. To the best of our knowledge, there are no tools available that takes into consideration duty cycle specifications during application design. In this paper, we discuss Highlevel Performance Estimator (HiPerE) that allows application designs based on duty cycle specification.
Duty Cycle Aware Application DesignWe assume that application input consists of several frames where processing of one frame corresponds to one active phase. Input rate is the rate (in Hz) at which the frames are provided as input. Input rate and the latency required to process a single frame specify duty cycle. Input rate can vary. We assume that a set of target FPGAs, an application modeled as a data flow graph, a set of designs of the application on the target FPGAs, and a duty cycle specification are provided as input. Given an application that consists of a set of tasks, a design specifies the implementation and the tar...