The integration of algorithm development into system level design


One of the major challenges for the EDA industry to accelerate the design cycles is the system design complexity. In order to dissolve the design complexity, high level abstraction is proposed to simplify the complexity in an abstract layer where a certain degree of complexity is exposed and tackled. However, specification needs to be written manually. At the same time, algorithm development has numerous tools available that are dedicated to modeling and simulating algorithms in its own environment. To ease the entrance of specification model, we integrate the algorithm development into the system level design flow. As a result, the system level design is extend to a higher abstract layer to provide a seamless work flow directly from algorithm development down to low level implementation with heterogeneous component exploration. In this work, we explored the potentials of automated translation of models in a high abstract algorithm modeling environment, Simulink, to SpecC, a system level design language that is integrated into the SCE tool-chains. In our automated generation, the model in Simulink is translated to SpecC with verified simulation results in a distinct computation and communication separated fashion. The computation intensive elements are generated to SpecC behaviors that are ready to be further refined into heterogeneous computing platforms. We demonstrated that the conversions across these two abstract layers are feasible and the benefits are tremendous to the EDA industry by combining the fast and convenient simulation tool-chains in Simulink and the rich profiling and evaluation toolkits in the SpecC SCE environment.