Determining Performance Boundaries on High-Level System Specifications

Wouter van Teijlingen, Rene van Leuken, Carlo Galuzzi, Bart Kienhuis

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review


We can significantly reduce the time required to realize designs if it is possible to find limits to the performance of an embedded system, solely based on high-level system specifications. For that purpose, we present in this paper the cprof profiler, which determines the number of clock cycles needed to execute a C-program in hardware. The cprof tool is based on the Clang compiler front-end to parse C-programs and to produce instrumented source code for the profiling. Using cprof, we determine a lower and upper bound limit for all 29 cases of the PolyBench/C benchmark suite. The lower and upper bound are determined using the absolute performance estimations assuming all statement are mapped onto the same processing resource and unbounded performance estimations assuming unlimited resources. We also compared the clock cycles found by cprof with RTL implementations for all 29 Polybench/C cases and found that cprof determines with 1.2% accuracy the correct number of clock cycles. It does this in a fraction of the time compared to the time needed to do a full RTL simulation.
Original languageEnglish
Title of host publicationSCOPES 2016
Subtitle of host publicationProceedings of the 19th International Workshop on Software and Compilers for Embedded Systems
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery (ACM)
Number of pages8
ISBN (Print)978-1-4503-4320-6
Publication statusPublished - 2016
EventSCOPES 2016: 19th International Workshop on Software and Compilers for Embedded Systems - Sankt Goar, Germany
Duration: 23 May 201625 May 2016


ConferenceSCOPES 2016
CitySankt Goar
Internet address


Dive into the research topics of 'Determining Performance Boundaries on High-Level System Specifications'. Together they form a unique fingerprint.

Cite this