6 research outputs found
Challenges for the Parallelization of Loosely Timed SystemC Programs
International audienceSystemC/TLM models are commonly used in the industry to provide an early SoC simulation environment. The open source implementation of the SystemC simulator is sequential. The standard doesn't impose sequential executions, but makes this choice the easiest by imposing coroutine semantics. With the increasing size and complexity of models, and the multiplication of computation cores on recent machines, the parallelization of SystemC simulations is a major research concern. There have been several proposals for SystemC parallelization, but most of them are limited to cycle-accurate models. In this paper we give an overview of the practices in one industrial context. We explain why loosely timed models are the only viable option in this context. We also show that unfortunately, most of the existing approaches for SystemC parallelization can fundamentally not apply to these models. We support this claim with a set of measurements performed on a platform used in production at STMicroelectronics. This paper both surveys existing techniques and identifies unsolved challenges in the parallelization of SystemC/TLM models
A Golden Age of Hardware Description Languages: Applying Programming Language Techniques to Improve Design Productivity
Leading experts have declared that there is an impending golden age of computer architecture. During this age, the rate at which architects will be able to innovate will be directly tied to the design and implementation of the hardware description languages they use. Thus, the programming languages community stands on the critical path to this new golden age. This implies that we are also on the cusp of a golden age of hardware description languages. In this paper, we discuss the intellectual challenges facing researchers interested in hardware description language design, compilers, and formal methods. The major theme will be identifying opportunities to apply programming language techniques to address issues in hardware design productivity. Then, we present a vision for a multi-language system that provides a framework for developing solutions to these intellectual problems. This vision is based on a meta-programmed host language combined with a core embedded hardware description language that is used as the basis for the research and development of a sea of domain-specific languages. Central to the design of this system is the core language which is based on an abstraction that provides a general mechanism for the composition of hardware components described in any language
A model-based approach for the specification and refinement of streaming applications
Embedded systems can be found in a wide range of applications. Depending on the application, embedded systems must meet a wide range of constraints. Thus, designing and programming embedded systems is a challenging task. Here, model-based design flows can be a solution. This thesis proposes novel approaches for the specification and refinement of streaming applications. To this end, it focuses on dataflow models. As key result, the proposed dataflow model provides for a seamless model-based design flow from system level to the instruction/logic level for a wide range of streaming applications
Un langage de programmation pour composer l'interaction musicale : la gestion du temps et des ƩvƩnements dans Antescofo
Mixed music is the association in live performance of human musicians and computer mediums, interacting in real-time. Authoring the interaction between the humans and the electronic processes, as well as their real-time implementation, challenge computer science in several ways. This contribution presents the Antescofo real-time system and its domain specific language. Using this language a composer is able to describe temporal scenarios where electronic musical processes are computed and scheduled in interaction with a live musician performance. Antescofo couples artificial machine listening with a reactive and temporized system. The challenge in bringing human actions in the loop of computing is strongly related the specification and the management of multiple time frameworks and timeliness of live execution despite heterogeneous nature of time in the two mediums. Interaction scenarios are expressed at a symbolic level through the management of musical time (i.e., events like notes or beats in relative tempi) and of the physical time (with relationships like succession, delay, duration, speed between the occurrence of the events during the performance on stage). Antescofo unique features are presented through a series of examples which illustrate how to manage execution of different audio processes through time and their interactions with an external environment. The Antescofo approach has been validated through numerous uses of the system in live electronic performances in contemporary music repertoire by various international music ensembles.La musique mixte se caracteĢrise par lāassociation de musiciens instrumentistes et de processus eĢlectroniques pendant une performance. Ce domaine souleĢve des probleĢmatiques sur lāeĢcriture de cette interaction et sur les meĢcanismes qui permettent dāexeĢcuter des programmes dans un temps partageĢ avec les musiciens.Ce travail preĢsente le systeĢme temps reĢel Antescofo et son langage deĢdieĢ. Il permet de deĢcrire des sceĢnarios temporels ouĢ des processus sont calculeĢs et ordonnanceĢs en interaction avec un environnement musical. Antescofo couple un systeĢme de suivi de partition avec un systeĢme reĢactif temporiseĢ.LāoriginaliteĢ du systeĢme reĢside dans la seĢmantique temporelle du langage adapteĢe aux caracteĢristiques critiques de lāinteraction musicale. Le temps et les eĢveĢnements peuvent sāexprimer de facĢ§on symbolique dans une eĢchelle en secondes ou dans des eĢchelles relatives aĢ des tempos.Nous preĢsenterons les domaines de recherche apparenteĢs aĢ Antescofo en musique et en informatique, les caracteĢristiques du langage et de la partie reĢactive dāAntescofo qui ont eĢteĢ deĢveloppeĢs pendant cette theĢse en particulier les strateĢgies synchronisations et les diffeĢrents controĢles du temps et des eĢveĢnements permis par le systeĢme. Nous donnerons une seĢmantique du langage qui formalise le fonctionnement du moteur dāexeĢcution. AĢ travers une seĢrie dāexemples dāapplications issues de collaborations artistiques, nous illustrerons les interactions temporelles quāil faut geĢrer entre une machine et un instrumentiste lors dāun concert. Le systeĢme a pu eĢtre valideĢ aĢ travers de nombreux concerts par diffeĢrents orchestres dāenvergure internationale
Tools and Algorithms for the Construction and Analysis of Systems
This open access two-volume set constitutes the proceedings of the 26th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The total of 60 regular papers presented in these volumes was carefully reviewed and selected from 155 submissions. The papers are organized in topical sections as follows: Part I: Program verification; SAT and SMT; Timed and Dynamical Systems; Verifying Concurrent Systems; Probabilistic Systems; Model Checking and Reachability; and Timed and Probabilistic Systems. Part II: Bisimulation; Verification and Efficiency; Logic and Proof; Tools and Case Studies; Games and Automata; and SV-COMP 2020
Coroutine-based synthesis of efficient embedded software from SystemC models
SystemC is a widely used electronic system-level (ESL) design language that can be used to model both hardware and software at different stages of system design. There has been a lot of research on behavior synthesis of hardware from SystemC, but relatively little work on synthesizing embedded software for SystemC designs. In this letter, we present an approach to automatic software synthesis from SystemC-based on coroutines instead of the traditional approaches based on real-time operating system (RTOS) threads. Performance evaluation results on some realistic applications show that our approach results in impressive reduction of runtime overheads compared to the thread-based approaches. Ā© 2010 IEEE