Communicating sequential processes
Communicating sequential processes
The complexity of word problems—this time with interleaving
Information and Computation
The hierarchical task graph as a universal intermediate representation
International Journal of Parallel Programming
Behavioral synthesis with systemC
Proceedings of the conference on Design, automation and test in Europe
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Chopping: A Generalization of Slicing
Chopping: A Generalization of Slicing
Proceedings of the conference on Design, automation and test in Europe
Proceedings of the 14th ACM Great Lakes symposium on VLSI
Optimizing system models for simulation efficiency
Formal methods and models for system design
Bridging MoCs in SystemC specifications of heterogeneous systems
EURASIP Journal on Embedded Systems - C-Based Design of Heterogeneous Embedded Systems
Hi-index | 0.00 |
Modeling for synthesis and modeling for simulation seem to be two competing goals in the context of C++-based modeling frameworks. One of the reasons is while most hardware systems have some inherent parallelism efficiently expressing it depends on whether the target usage is synthesis or simulation. For synthesis, designs are usually described with synthesis tools in mind and are therefore partitioned according to the targeted hardware units. For simulation, runtime efficiency is critical but our previous work has shown that a synthesis-oriented description is not necessarily the most efficient, especially if using multiprocessor simulators. Multiprocessor simulation requires preemptive multithreading but most current C++-based high level system description languages use cooperative multithreading to exploit parallelism to reduce overhead. We have seen that, for synthesis-oriented models, along with adding preemptive threading we need to transform the threading structure for good simulation performance. In this paper we present an algorithm for automatically applying such transformations to C++-based hardware models, ongoing work aimed at proving the equivalence between the original and transformed model, and a 62% to 76% simulation time improvement on a dual processor simulator.