A high-level synthesis approach for precisely-timed, energy-efficient embedded systems
<|reference_start|>A high-level synthesis approach for precisely-timed, energy-efficient embedded systems: Embedded systems continue to rapidly proliferate in diverse fields, including medical devices, autonomous vehicles, and more generally, the Internet of Things (IoT). Many embedded systems require application-specific hardware components to meet precise timing requirements within limited resource (area and energy) constraints. High-level synthesis (HLS) is an increasingly popular approach for improving the productivity of designing hardware and reducing the time/cost by using high-level languages to specify computational functionality and automatically generate hardware implementations. However, current HLS methods provide limited or no support to incorporate or utilize precise timing specifications within the synthesis and optimization process. In this paper, we present a hybrid high-level synthesis (H-HLS) framework that integrates state-based high-level synthesis (SB-HLS) with performance-driven high-level synthesis (PD-HLS) methods to enable the design and optimization of application-specific embedded systems in which timing information is explicitly and precisely defined in state-based system models. We demonstrate the results achieved by this H-HLS approach using case studies including a wearable pregnancy monitoring device, an ECG-based biometric authentication system, and a synthetic system, and compare the design space exploration results using two PD-HLS tools to show how H-HLS can provide low energy and area under timing constraints.<|reference_end|>
@article{liao2024a,
    title={A high-level synthesis approach for precisely-timed, energy-efficient
  embedded systems},
    author={Yuchao Liao, Tosiron Adegbija, Roman Lysecky},
    journal={Sustainable Computing: Informatics and Systems 35 (2022): 100741},
    year={2024},
    doi={10.1016/j.suscom.2022.100741},
    archivePrefix={arXiv},
    eprint={2404.14769},
    primaryClass={cs.AR}
}