Increasing Efficiency in Data Flow Oriented Model Driven Software Development for Softcore Processors

Faster development of new algorithms is crucial in modern projects. Highly abstracted, data flow and modular oriented model-driven development methods and tools are used for this purpose. But with higher abstraction levels, there is always an increase in runtime overhead and a reduction in performance. Especially in real-time and cost-sensitive applications, this becomes a big issue that has to be dealt with. In this paper, we present a data flow and model-driven Matlab/Simulink plugin for generating efficient assembly code for a specialized hard real-time softcore processor. In this context, different optimization approaches will be introduced that are minimizing the overhead that comes with the used abstraction level. It will be shown that with the developed mechanisms, it is possible to generate assembly code nearly without any abstraction overhead and reducing the development time of any new algorithm by re-using pre-constructed modular parts.

[1]  Jean Bézivin,et al.  Model-based DSL frameworks , 2006, OOPSLA '06.

[2]  Wolfgang Fengler,et al.  Optimizing compiler for a specialized real-time floating point softcore processor , 2017, 2017 8th Annual Industrial Automation and Electromechanical Engineering Conference (IEMECON).

[3]  Thomas W. Reps,et al.  WYSINWYX: What You See Is Not What You eXecute , 2005, VSTTE.

[4]  Bertrand Le Gal,et al.  Softcore Processor Optimization According to Real-Application Requirements , 2013, IEEE Embedded Systems Letters.

[5]  Raoul Praful Jetley,et al.  Static analysis of medical device software using CodeSonar , 2008, SAW '08.

[6]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[7]  V. O. Roda,et al.  Image convolution processing: A GPU versus FPGA comparison , 2012, 2012 VIII Southern Conference on Programmable Logic.

[8]  Sriram K. Rajamani,et al.  Thorough static analysis of device drivers , 2006, EuroSys.

[9]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..