scispace - formally typeset
Search or ask a question
Author

A. Jain

Bio: A. Jain is an academic researcher from Mitsubishi. The author has contributed to research in topics: Debugging & Avionics software. The author has an hindex of 2, co-authored 2 publications receiving 42 citations.

Papers
More filters
Proceedings ArticleDOI
Abhijit Ghosh1, M. Bershteyn1, R. Casley1, C. Chien1, A. Jain1, M. Lipsie1, D. Tarrodaychik1, O. Yamamoto1 
01 Aug 1995
TL;DR: A hardware-software co-simulator that can be used in the design, debugging and verification of embedded systems, and a set of techniques to speed up simulation of processors and peripherals without significant loss in timing accuracy.
Abstract: One of the interesting problems in hardware-software co-design is that of debugging embedded software in conjunction with hardware. Currently, most software designers wait until a working hardware prototype is available before debugging software. Bugs discovered in hardware during the software debugging phase require re-design and re-fabrication, thereby not only delaying the project but also increasing cost. It also puts software debugging on hold until a new hardware prototype is available. In this paper we describe a hardware-software co-simulator that can be used in the design, debugging and verification of embedded systems. This tool contains simulators for different parts of the system and a backplane which is used to integrate the simulators. This enables us to simulate hardware, software and their interaction efficiently. We also address the problem of simulation speed. Currently, the more accurate (in terms of timing) the models used, the longer it takes to simulate a system. Our main contribution is a set of techniques to speed up simulation of processors and peripherals without significant loss in timing accuracy. Finally, we describe applications used to test the co-simulator and our experience in using it.

31 citations

Proceedings ArticleDOI
Abhijit Ghosh1, M. Bershteyn1, R. Casley1, C. Chien1, A. Jain1, M. Lipsie1, D. Tarrodaychik1, O. Yamamoto1 
06 Aug 2002
TL;DR: In this paper, the authors describe a hardware-software co-simulator that can be used in the design, debugging and verification of embedded systems, which is used to simulate hardware, software and their interaction efficiently.
Abstract: One of the interesting problems in hardware-software co-design is that of debugging embedded software in conjunction with hardware. Currently, most software designers wait until a working hardware prototype is available before debugging software. Bugs discovered in hardware during the software debugging phase require re-design and re-fabrication, thereby not only delaying the project but also increasing cost. It also puts software debugging on hold until a new hardware prototype is available. In this paper we describe a hardware-software co-simulator that can be used in the design, debugging and verification of embedded systems. This tool contains simulators for different parts of the system and a backplane which is used to integrate the simulators. This enables us to simulate hardware, software and their interaction efficiently. We also address the problem of simulation speed. Currently, the more accurate (in terms of timing) the models used, the longer it takes to simulate a system. Our main contribution is a set of techniques to speed up simulation of processors and peripherals without significant loss in timing accuracy. Finally, we describe applications used to test the co-simulator and our experience in using it.

11 citations


Cited by
More filters
Journal ArticleDOI
TL;DR: The need for finding generic approaches for modular, stable, and accurate coupling of simulation units, as well as expressing the adaptations required to ensure that the coupling is correct, is identified.
Abstract: Modeling and simulation techniques are today extensively used both in industry and science. Parts of larger systems are, however, typically modeled and simulated by different techniques, tools, and algorithms. In addition, experts from different disciplines use various modeling and simulation techniques. Both these facts make it difficult to study coupled heterogeneous systems.Co-simulation is an emerging enabling technique, where global simulation of a coupled system can be achieved by composing the simulations of its parts. Due to its potential and interdisciplinary nature, co-simulation is being studied in different disciplines but with limited sharing of findings.In this survey, we study and survey the state-of-the-art techniques for co-simulation, with the goal of enhancing future research and highlighting the main challenges.To study this broad topic, we start by focusing on discrete-event-based co-simulation, followed by continuous-time-based co-simulation. Finally, we explore the interactions between these two paradigms, in hybrid co-simulation.To survey the current techniques, tools, and research challenges, we systematically classify recently published research literature on co-simulation, and summarize it into a taxonomy. As a result, we identify the need for finding generic approaches for modular, stable, and accurate coupling of simulation units, as well as expressing the adaptations required to ensure that the coupling is correct.

210 citations

Posted Content
TL;DR: An overview of co-simulation approaches, research challenges, and research opportunities, together with a detailed taxonomy with different aspects of the state of the art of co -simulation and classification for the past five years are provided.
Abstract: It is essential to find new ways of enabling experts in different disciplines to collaborate more efficient in the development of ever more complex systems, under increasing market pressures. One possible solution for this challenge is to use a heterogeneous model-based approach where different teams can produce their conventional models and carry out their usual mono-disciplinary analysis, but in addition, the different models can be coupled for simulation (co-simulation), allowing the study of the global behavior of the system. Due to its potential, co-simulation is being studied in many different disciplines but with limited sharing of findings. Our aim with this work is to summarize, bridge, and enhance future research in this multidisciplinary area. We provide an overview of co-simulation approaches, research challenges, and research opportunities, together with a detailed taxonomy with different aspects of the state of the art of co-simulation and classification for the past five years. The main research needs identified are: finding generic approaches for modular, stable and accurate coupling of simulation units; and expressing the adaptations required to ensure that the coupling is correct.

139 citations

Proceedings ArticleDOI
09 Jun 2000
TL;DR: This paper presents a C/C++-based design environment for hardware/software co-verification, and shows how co- Verification can be done efficiently and effectively at the various levels of abstraction.
Abstract: In this paper we present our C/C++-based design environment for hardware/software co-verification. Our approach is to use C/C++ to describe both hardware and software throughout the design flow. Our methodology supports the efficient mapping of C/C++ functional descriptions directly into hardware and software. The advantages of a C/C++-based flow from the verification point of view are presented. The use of C/C++ to model all parts of the system provides great flexibility and enables faster simulation compared to existing methodologies. We show how co-verification can be done efficiently and effectively at the various levels of abstraction, how co-verification can be used to drive co-design through performance estimation and give an example of implementation for the 8051 architecture.

135 citations

Patent
22 Mar 1999
TL;DR: In this article, a microcontroller software testing tool (100) for testing and debugging software for a target semiconductor circuit implemented as a dynamic link library (210) is presented.
Abstract: A microcontroller software testing tool (100) for testing and debugging software for a target semiconductor circuit implemented as a dynamic link library (210). The microcontroller software testing tool (100) includes a simulator (300) for simulating the execution of the software program on the target semiconductor circuit and an emulator (400) to permit emulation before the actual silicon exists. The microcontroller software testing tool (100) includes a software development environment dynamic link library (220) monitors the estimated time to execute the software on the target semicondutor circuit and monitors the percentage of code that is executed during texting. In an emulation mode, the microcontroller software testing tool (100) utilizes a low-cost field programmable gate array programmed with a hardware description language description of the target semiconductor circuit. The features of the microcontroller software testing tool (100) are accessible by means of a data exchange protocol provided by the operating system.

95 citations

Proceedings ArticleDOI
28 Jan 2000
TL;DR: This paper shows how co-verification can be done efficiently and effectively at the various levels of abstraction, how coverification can been used to drive co-design through performance estimation and give an example of implementation for the 8051 architec- system.
Abstract: In this paper we present our C/C++-based design environment for hardware/software co-verification. Our approach is to use C/C++ to describe both hardware and software throughout the design flow. Our methodology supports the efficient mapping of C/ C++ functional descriptions directly into hardware and software. The advantages of a C/C++-based flow from the verification point of view are presented. The use of C/C++ to model all parts of the system provides great flexibility and enables faster simulation compared to existing methodologies. We show how co-verification can be done efficiently and effectively at the various levels of abstraction, how coverification can be used to drive co-design through performance estimation and give an example of implementation for the 8051 architec-

76 citations