I. Latifis, Karthick Parashar, G. Dimitroulakos, H. Cappelle, Christakis Lezos, K. Masselos, F. Catthoor
{"title":"Matlab to C compilation targeting Application Specific Instruction Set Processors","authors":"I. Latifis, Karthick Parashar, G. Dimitroulakos, H. Cappelle, Christakis Lezos, K. Masselos, F. Catthoor","doi":"10.3850/9783981537079_0426","DOIUrl":null,"url":null,"abstract":"This paper discusses a MATLAB to C compiler exploiting custom instructions such as instructions for SIMD processing and instructions for complex arithmetic present in Application Specific Instruction Set Processors (ASIPs). The compiler generates ANSI C code in which the processor's special instructions are represented via specialized intrinsic functions. By doing this the generated code can be used as input to any C/C++ compiler. Thus the proposed compiler allows the description of the specialized instruction set of the target processor in a parameterized way allowing the support of any processor. The proposed compiler has been used for the generation of application code for an ASIP targeting DSP applications. The code generated by the proposed compiler achieves a speed up between 2x-30x on the targeted ASIP for six DSP benchmarks compared to the code generated by Mathworks MATLAB to C compiler. Thus the proposed compiler can be employed to reduce the development time/effort/cost and time to market by raising the abstraction of application design in an embedded systems / system-on-chip development context while still improving implementation efficiency.","PeriodicalId":311352,"journal":{"name":"2016 Design, Automation & Test in Europe Conference & Exhibition (DATE)","volume":"78 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-03-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 Design, Automation & Test in Europe Conference & Exhibition (DATE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3850/9783981537079_0426","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
This paper discusses a MATLAB to C compiler exploiting custom instructions such as instructions for SIMD processing and instructions for complex arithmetic present in Application Specific Instruction Set Processors (ASIPs). The compiler generates ANSI C code in which the processor's special instructions are represented via specialized intrinsic functions. By doing this the generated code can be used as input to any C/C++ compiler. Thus the proposed compiler allows the description of the specialized instruction set of the target processor in a parameterized way allowing the support of any processor. The proposed compiler has been used for the generation of application code for an ASIP targeting DSP applications. The code generated by the proposed compiler achieves a speed up between 2x-30x on the targeted ASIP for six DSP benchmarks compared to the code generated by Mathworks MATLAB to C compiler. Thus the proposed compiler can be employed to reduce the development time/effort/cost and time to market by raising the abstraction of application design in an embedded systems / system-on-chip development context while still improving implementation efficiency.
本文讨论了利用专用指令集处理器(Application Specific Instruction Set processor, asip)中存在的SIMD处理指令和复杂运算指令等自定义指令的MATLAB to C编译器。编译器生成ANSI C代码,其中处理器的特殊指令通过专门的内在函数表示。通过这样做,生成的代码可以用作任何C/ c++编译器的输入。因此,所提出的编译器允许以参数化的方式描述目标处理器的专用指令集,从而允许支持任何处理器。所提出的编译器已用于生成针对DSP应用的ASIP的应用代码。与Mathworks MATLAB to C编译器生成的代码相比,所提出的编译器生成的代码在六个DSP基准的目标ASIP上实现了2 -30倍的速度提升。因此,所提出的编译器可以通过在嵌入式系统/片上系统开发环境中提高应用程序设计的抽象性,同时仍然提高实现效率,从而减少开发时间/精力/成本和上市时间。