{"title":"Function Call Optimisation in SystemC Hardware Compilation","authors":"J. Ditmar, S. McKeever","doi":"10.1109/SPL.2008.4547738","DOIUrl":null,"url":null,"abstract":"Functions are commonly used in SystemC and other high-level languages to divide code into separate tasks. During synthesis, a hardware compiler can instantiate logic for each function call. Alternatively, a function can be mapped to a separate piece of hardware that is shared between calls to the function. This process, called function exlining, can significantly improve logic usage of a design. This paper investigates the benefits of function exlining in hardware compilation and proposes a method for implementing this optimisation in SystemC. In this method, exlining is described as a source transformation which can be easily implemented in existing compiler frameworks. The method has been implemented in a commercial SystemC hardware compiler and experiments show that exlining function calls can significantly reduce the logic size of a design.","PeriodicalId":372678,"journal":{"name":"2008 4th Southern Conference on Programmable Logic","volume":"50 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 4th Southern Conference on Programmable Logic","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SPL.2008.4547738","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Functions are commonly used in SystemC and other high-level languages to divide code into separate tasks. During synthesis, a hardware compiler can instantiate logic for each function call. Alternatively, a function can be mapped to a separate piece of hardware that is shared between calls to the function. This process, called function exlining, can significantly improve logic usage of a design. This paper investigates the benefits of function exlining in hardware compilation and proposes a method for implementing this optimisation in SystemC. In this method, exlining is described as a source transformation which can be easily implemented in existing compiler frameworks. The method has been implemented in a commercial SystemC hardware compiler and experiments show that exlining function calls can significantly reduce the logic size of a design.