<  Back to the Polytechnique Montréal portal

Automated generation of custom processor core from C code

Jelena Trajkovic, Samar Abdi, Gabriela Nicolescu and Daniel D. Gajski

Article (2012)

Published Version
Terms of Use: Creative Commons Attribution.
Download (3MB)
Cite this document: Trajkovic, J., Abdi, S., Nicolescu, G. & Gajski, D. D. (2012). Automated generation of custom processor core from C code. Journal of Electrical and Computer Engineering, 2012, p. 1-26. doi:10.1155/2012/862469
Show abstract Hide abstract


We present a method for construction of application-specific processor cores from a given C code. Our approach consists of three phases. We start by quantifying the properties of the C code in terms of operation types, available parallelism, and other metrics. We then create an initial data path to exploit the available parallelism. We then apply designer-guided constraints to an interactive data path refinement algorithm that attempts to reduce the number of the most expensive components while meeting the constraints. Our experimental results show that our technique scales very well with the size of the C code. We demonstrate the efficiency of our technique on wide range of applications, from standard academic benchmarks to industrial size examples like the MP3 decoder. Each processor core was constructed and refined in under a minute, allowing the designer to explore several different configurations in much less time than needed for manual design. We compared our selection algorithm to the manual selection in terms of cost/performance and showed that our optimization technique achieves better cost/performance trade-off. We also synthesized our designs with programmable controller and, on average, the refined core have only 23% latency overhead, twice as many block RAMs and 36% fewer slices compared to the respective manual designs.

Open Access document in PolyPublie
Subjects: 2700 Technologie de l'information > 2700 Technologie de l'information
2700 Technologie de l'information > 2715 Optimisation
Department: Département de génie informatique et génie logiciel
Research Center: Non applicable
Date Deposited: 30 Apr 2019 12:53
Last Modified: 08 Apr 2021 10:43
PolyPublie URL: https://publications.polymtl.ca/3645/
Document issued by the official publisher
Journal Title: Journal of Electrical and Computer Engineering (vol. 2012)
Publisher: Hindawi
Official URL: https://doi.org/10.1155/2012/862469


Total downloads

Downloads per month in the last year

Origin of downloads


Repository Staff Only