{"title":"SystemC硬件编译中的函数调用优化","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":"{\"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}","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}
Function Call Optimisation in SystemC Hardware Compilation
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.