{'fraction_non_alphanumeric': 0.019171779141104295, 'fraction_numerical': 0.0, 'mean_word_length': 4.774336283185841, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Novel Model of Computation for Software Synthesis Based on Data Frame Driving

ABSTRACT Software synthesis is a useful technology to accelerate the design of digital systems, and the MoC (model of computation) is the foundation of software synthesis. Current researches on MoC mainly focus on the situations that the produced data frames are used only once by its downstream module. However, for some applications with loops, the data frame produced by upstream module needs to be reused and thus the current MoCs cannot be directly used to synthesize these applications’ DFG (data flow graph). To solve this problem, a novel MoC based on data frame driving is proposed for software synthesis in this paper. In our MoC, the DFG with loops is first transformed into an acyclic DFG and modules in the acyclic DFG are divided into different levels that define the priority of modules. Then, the schedule can be generated according to the modules’ level. The proposed MoC is verified under both random generated DFG and real-world application's DFG. The experimental results show that by using the proposed MoC, the schedule for DFG with reused data frame can be generated for both single processor system and multi-processors system, and it thus can be used as a useful tool to aid the software synthesis.