RTOS-Aware Refinement for TLM2.0-based HW/SW Designs

Size: px
Start display at page:

Download "RTOS-Aware Refinement for TLM2.0-based HW/SW Designs"

Transcription

1 RTOS-Aware Refinement for TLM2.0-based HW/SW Designs Markus Becker, Giuseppe Di Guglielmo, Franco Fummi, Wolfgang Mueller, Graziano Pravadelli,TaoXie C-LAB, University of Paderborn, Germany Dipartimento di Informatica, Università di Verona, Italy Abstract Refinement of untimed TLM models into a timed HW/SW platform is a step by step design process which is a tradeoff between timing accuracy of the used models and correct estimation of the final timing performance. The use of an RTOS on the target platform is mandatory in the case real-time properties must be guaranteed. Thus, the question is when the RTOS must be introduced in this step by step refinement process. This paper proposes a four-level RTOS-aware refinement methodology that, starting from an untimed TLM description of the whole system, progressively introduce HW/SW partitioning, timing, device driver and RTOS functionalities, till to obtain an accurate model of the final platform, where SW tasks run upon an RTOS hosted by QEMU and HW components are modeled by cycle accurate TLM descriptions. Each refinement level allows the designer to estimate more and more accurate timing properties, thus anticipating design decisions without being constrained to leave timing analysis to the final step of the refinement. The effectiveness of the methodology has been evaluated in the design of two complex platforms. 1. Introduction To manage the complexity of designs for refinement and synthesis, Gajski s Y-Chart [1] were introduced several years ago. At that point in time, the Y-Chart was mainly applied for Register-Transfer and Gate Level synthesis. However, it already covered a so-called system level that was not really well investigated at that time. With the outcome of, Transaction Level Models (TLM) were introduced in combination with PV (Programmer s View), PV- T (PV with Time), and CA (Cycle Accurate) refinement. Thereafter, most recently, in the context of the TLM 2.0 standard development, time-annotated models were divided into loosely time (LT) and approximate time (AT). Most of the methodologies still focus on HW and largely ignore the role of SW and the operating system or real-time operating system (RTOS), respectively. In the context of SpecC and the ESE framework, Abdi et al. [2], for instance, elaborate on Task Level abstraction, which introduces an abstract RTOS model as well as processes and communication channels, which are refined into RTOS tasks. In the processor models at the Firmware (FW) and TLM re- This work has been partially supported by the European project CO- CONUT FP IST finement steps, hardware abstraction (HAL) and processor hardware layers are introduced. FW and TLM levels add models of the external bus communication (drivers and bus interfaces) and the interrupt handling chain (interrupt handlers and interrupt logic including processor suspension) on the software and hardware side, respectively. These levels are mainly introduced for additional abstraction of the OS and the processor as traditional Instruction Set Simulation becomes infeasible with increasing number of processors. Though there is a trade-off between speed and accuracy of models, considerable accuracies could be reached, with an error of less than a few percentage with a simulation speed increase of approximately 1000x at the same time compared to traditional ISS models. However, though there are meanwhile some methodologies considering the combined HW/SW modeling and simulation, they either lack detailed development steps for practical application or do not consider timing information for the real application of TLM 2.0. This paper introduces a methodology for RTOS-aware task to transaction level refinement which is based on the latest TLM 2.0 standard. For -based refinement it combines latest automation technologies like processor and RTOS abstraction for fast simulation and seamless RTOS synthesis from the the abstract RTOS to the integration of the actual RTOS/OS via the QEMU virtual machine for true HW/SW co-simulation. Main advantage of this approach concerns the evaluation of timing properties from the early design refinement steps. In fact, as shown in the experimental results, timing properties evaluation at the ISS level becomes infeasible due to the high computational time. On the contrary, the proposed RTOS-aware refinement methodology allows to take design decisions, concerning timing, by simulating very fast abstracted views of the final design. The remainder of this paper is structured as followed. The next section discusses related works. Section 3 presents the actual methodology before Section 4 gives some experimental results for the refinement of two examples. Finally, this article closes with a summary and conclusions. 2. Related Works Related works concerning this paper can be organized in three categories: techniques addressing simulation of HW and SW components, methodologies proposing HW/SW refinement flows, and RTOS abstraction approaches /DATE EDAA

2 2.1. Simulation of HW and SW Components Concerning SW simulation, some solutions are based on the presence of an instruction set simulator (ISS) [3], which is specifically designed to emulate the target CPU. Traditional ISS tools read target instructions and jump to a functionally equivalent code [4]. Schnerr et al. in [5] investigated the use of binary translation for cycle accurate System on Chip (SoC) prototyping. Another approach is based on the dynamic translation of target code into the host code as performed by QEMU [6]. QEMU is a fast and portable emulator for many architectures (X86, ARM, SPARC etc.) which runs on several architectures. It provides fast simulation performance and it approaches real-time when the target and the host CPUs are of the same type. Among ISS-free schemes, a delay-annotated software simulation tool is described in [7]. However, this work lacks detailed information on how to determine the delay of each C++ statement. Moreover, it does not consider compiler optimizations. Delay annotation has been improved by considering the Assembly instructions generated by the actual compiler for the target platform in [8, 9]. Moreover, in [8] delay annotation has been combined with native execution of target code on the host platform. Cycle-approximate performance estimation technique for automatically generated TLM models has been presented in [10]. Concerning the simulation of the HW part, a possible solution is the creation of virtual prototypes through the use of HW description languages. Such virtual prototypes are available at the early stage of the design flow and the designer can use different abstraction levels trading off between accuracy and speed. Another solution emulates HW by using inexpensive FPGA [11], but the HW description has to be at RT level to be used on the FPGA Refinement of HW and SW Components Refinement of HW and SW components has been historically connected with the concept of HW/SW co-simulation and co-design [12, 13, 14, 15, 16, 17]. Early co-simulation approaches require to set up complex heterogenous environments where HW and SW parts are executed by using different simulators [18, 19]. This heterogeneous style is sub-optimal in terms of simulation performance and easiness of integration. On the contrary, homogenous environments use a single engine for the simulation of both HW and SW components, thus simplifying the design modeling. The Ptolemy [12], Polis [13] and Statemate [20] environments are pioneering works in that direction. However, they are suitable only in a very initial phase of the design, since they are based on formal models of computation that do not provide designers with support for easily moving towards the commercial RTL and gate-level synthesis tools generally adopted in the HW refinement flow. To overcome such a limitation, more recent approaches use system level description languages (SLDLs) such as SpecC [21] or [22], that can be adopted throughout the refinement steps from system level to RTL. However, although TLM 2.0 aims at aiding HW/SW integration [23], it still offers little support for the embedded system designer, who wants to include the dynamic real-time behavior, typical of embedded SW and RTOS, in the system model. In particular, lacks the necessary constructs to provide SW refinement and it does not support thread priority assignment. This represents a strong limitation, considered that embedded software now routinely accounts for 80% of embedded system development costs [24]. Some works [14, 25, 26, 27, 28, 29] have been proposed to overcome the previous limitation by integrating RTOS capability in the C++/ design flow. However, the approach proposed in [14] requires to use a proprietary simulation engine and it needs manual refinement to get the SW code. In [25], no methods for embedded SW code generation are described. In [26] the method imposes code modification when construct not supported are used in the original description. In [27], a method is proposed to refine an SLDL specification into C code only after HW/SW partitioning. To facilitate HW/SW partitioning, in [28], the authors propose a refinement methodology that focuses on using SW abstraction levels to enhance high-level embedded SW modeling support. However, the high flexibility of such an approach is paid in term of simulation time overhead. On the contrary, the refinement flow proposed in [29] allows to perform HW/SW partitioning in a smooth way by replacing the kernel with a library relying on the underling operating system. However, it works for RTL descriptions, it does not show how RTOS parameters can be configured, and it is not timing aware RTOS Abstraction Abstract RTOS simulation at the task level is typically based on partitioning of the application into hardware components and software tasks, including Interrupt Service Routines (ISR). Tasks and ISRs are then further divided into a sequence of time-annotated software segments. Timing information can be back-annotated into each segment from performance measurements or timing estimations obtained through ISS or WCET/WCRT analysis, respectively. In order to accurately capture data-dependent delays, segments are usually defined at the basic block level, though it is possible to partition into more coarse-grain segments. In [30, 31] C code is transformed to a platformindependent intermediate format that already comprises structural code optimizations. The intermediate format is instrumented in order to abstract the target-dependent assembler code. On the contrary Hastano et al. [32] use a stochastic approach to model the task execution times based on BCET/WCET estimation by means of the Gumble distribution. Fast RTOS simulation with time annotated segments is either based on standard RTOS APIs or on the implemen-

3 Thread 1 Thread 1 Thread 2 (TLM untimed) Thread n HW/SW partitioning HW Manager Posix +1 Thread n Abstract RTOS and timing Level 1 Level 2 Task i+1 Task n Task i+1 RTOS Task n artos Device Driver Thread 1 CPU model Thread 1 QEMU System Emulator Abstract RTOS and timing BUS model (TLM timed) Actual RTOS, device driver and co-sim. BUS model (TLM cycle accurate) Level 3 Level 4 Figure 1. Proposed methodology. tation of an abstract canonical RTOS. Posadas et al. [33], for instance, have published several articles on POSIXbased RTOS simulation with their freely available RTOS library PERFidiX covering approximately 70% of the POSIX standard. Time is estimated at runtime by means of overloaded operators of C primitives. Since the approach is restricted to POSIX it does not apply in early design phase when non-posix RTOS are considered, too. There are a few approaches which are based on canonical RTOS libraries [34, 35] that focus on RTOS primitives, e.g. scheduling and context switching. All are mainly introduced for SoC software development and evaluation of different scheduling algorithms and their impact on HW/SW partitioning in early design phases. The RTOS model of Zabel et al. [35, 36] provides increased accuracy in the course of precise ISR modeling. Furthermore, it is optimized to achieve a high schedule coverage by noise injection. Since it is provided as a optimized library for fast simulation, we have selected it for our methodology. 3. Methodology for RTOS-Aware TLM 2.0 Refinement Our methodology aims at simplifying system partitioning and HW/SW refinement with focus on the RTOS-aware transition from untimed to timed model and further on to true HW/SW cosimulation in the context of the TLM 2.0 OSCI standard (cf. Figure 1). It is composed of four levels that, starting from an untimed TLM description of the whole system, progressively introduce HW/SW partitioning, timing, device driver and RTOS functionality, arriving at a final platform, where SW tasks run upon an RTOS hosted by the QEMU SW emulator and HW components execute under as cycle accurate TLM models Level 1 At Level 1, the system is modeled as an untimed description for a rapid proof of functional concepts by fast simulation without taking care of lower-level details and timing. For this, Level 1 starts with an unpartitioned HW/SW model as a set of concurrently executed (untimed) C/C++ functions synchronized by events and communicating through channels and shared memory. Processes, functions, and channels represent abstractions of tasks and interprocess communication (IPC) primitives. At this level, a rough abstraction of the RTOS/OS scheduling can be realized by the simulation scheduler. Nevertheless, it is also possible to introduce a first explicit RTOS/OS abstraction which can be later refined to the canonical RTOS API. In a first refinement, we have to identify the main communication structure by introducing one or more explicit communication buses, i.e., replacing simple or complex channels by explicit TLM 2.0 blocking transport interfaces. In order to be TLM 2.0 compliant, we apply the loosely time (LT) scheme and set time parameters to zero in a first step Level 2 For Level 2, the model is refined into an untimed TLM 2.0 description. Based on standard syntax, different HW/SW partitioning alternatives can be analyzed very quickly without requiring manual conversion from code to C/C++ code and vice versa. However, at this level, the model lacks the CPU and the bus descriptions and SW tasks are not synchronized yet. The different HW/SW partitioning alternatives are rapidly analyzed by the application of our library which replaces the kernel by a Posix-like kernel to allow

4 SW tasks running as Posix threads upon a Posix-like operating system (e.g., Linux); HW components preserving the simulation Semantics by running upon a dedicated so-called HW manager; while the syntax of both HW and SW parts remain unchanged, i.e., untimed TLM 2.0. The first benefit deriving from substituting the simulation kernel with our Posix-based library is that manually modifying modules from HW to SW side and vice versa does not require error-prone and time consuming conversion of code into C/C++ programs and vice versa. Then, a second benefit derive from the fact that the co-routine execution model 1 of the simulation kernel is removed. Thus, SW threads can be concurrently executed, possibly on a multi-processor system. Concurrent execution is a mandatory condition for addressing SW refinement issues like mutual exclusion, deadlock avoidance, priority assignment for thread scheduling, etc. In contrast to the approach proposed in [29], which is mainly targeted for RTL code, our Posix-based library supports all the coding styles of TLM Level 3 For Level 3, we adopt the TLM 2.0 loosely timed (LT) coding style and further refine to approximately timed (AT) models and apply a time-based interrupt and scheduling analysis by fast time-accurate simulation and introduce an abstract RTOS layer. For this, we replace the Posix-like kernel back by the standard kernel and apply an abstract canonical RTOS implementation. For our simulation we have taken the artos library [35] though comparable libraries would serve the same purpose. ar- TOS introduces additional keywords for the previously identified Level 2 SW tasks and Interrupt Service Routines. At Level 2, the partitioned HW/SW model is available in standard syntax. Along the lines of artos, for Level 3 refinement, SC MODULEs with SW task have to be simply renamed as RTOS modules which are associated to a RTOS context for which a standard task scheduler has to be defined, i.e., parameter of an existing scheduler have to be determined or a new scheduler has to be implemented. After that, processes which are defined inside the RTOS MODULE are determined as software tasks which are scheduled by the respective task scheduler. Additional keywords identify ISRs and implement interrupt management. Correspondingly, an interrupt scheduler has to be implemented or selected. Multicore platforms can be easily modeled by the introduction of multiple RTOS contexts where each may implement different SW and interrupt schedulers. In a further step, tasks and ISRs are divided into a sequence of time-annotated software segments. Timing 1 process instances execute without interruption, only a single process can be executed at any one time, and no other process can execute until the currently running process yields control to the kernel. information are back-annotated into each segment from performance measurements or timing estimations obtained through ISS or WCET/WCRT analysis, respectively. In order to accurately capture data-dependent delays, segments are usually defined at the level of basic blocks though it is possible to partition them into more coarse-grain segments. The syntactical replacement of SC MODULEs by RTOS MODULEs at this level provides the basis for further separation of HW and SW for true co-simulation on the next level, where the final SW runs on the actual RTOS/OS that is installed and running on the QEMU virtual machine, which in turn is linked with the model for the HW Level 4 Finally, for Level 4 HW components and the bus model are refined to the cycle accurate TLMs, while SW binaries are executed upon the real target RTOS. Level 4 relies on definition of a co-simulation framework where cycle accurate TLM is used to model the HW, and the QEMU SW emulator to execute RTOS and SW based for a specific instruction set architecture like PowerPC 405. For co-simulation, QEMU is modified to communicate with the simulation kernel to set up the final HW/SW cosimulation framework. Such a framework is completely transparent to SW and HW engineers, which can focus, respectively, on SW engineering, RTOS configuration and device driver generation, and on HW refinement. Performance analysis is timing accurate and completely aware of RTOS parameters. The co-simulation framework allows SW application to access HW components as it happens in actual embedded platforms, i.e., through device drivers that send information via memory-mapped registers and device memory. Registers and ports are mapped as memory locations (I/O memory). This way, they are available to the processor over the bus at precise addresses. Operations on those addresses are recognized as operations on the device registers, and thus they are handled by the device itself. In particular, device drivers read and write the device registers through the I/O memory slots where the device is registered. Communication between QEMU and is established by an interprocess channel (socketbased communication) and ISS ports. The ISS ports have been added to the library as an extension of standard sc in and sc out ports. This mechanism substitutes the direct access to I/O mapped memory of real operative systems with real HW devices. The link between ports and memory addresses in the QEMU is implemented by using a binding table stored in the kernel. Therefore, implementing such a co-simulation required: modifying QEMU both to communicate with the simulator and to manage the HW device; modifying the simulator kernel to add the capability of reading and interpreting the messages coming from the QEMU side, as well as sending interrupts

5 audio signal input Testbench ADPCM Data In Bit to Symbol Mapping IFFT Companding & D/A Conversion AMBA AHB protocol Channel ECC MEM ROOT Data Out Symbol To Bit Mapping FFT A/D Conversion & Expanding Figure 2. The ERA platform. to QEMU whenever the HW models generate them. These operations are transparent to the designers who only need to write the model by using the standard statements. Device driver can be either manually defined or automatically generated according to the flow proposed in [37]. 4. Experimental Results Two industrial platforms have been considered to validate the proposed refinement methodology, ERA and MA- GALI OFDM. The ERA platform has been provided by STMicroelectronics. The platform is composed of three IP modules, a memory, and a testbench interconnected by an AMBA AHB interface protocol as depicted in Figure 2. In particular, the Adaptive DPCM (ADPCM) is a variant of DPCM (differential pulse-code modulation) that varies the size of the quantization step, to allow further reduction of the required bandwidth for a given signal-to-noise ratio in voice over IP systems. The ECC is used for single-/multiple-bit(s) error detection/correction in read/write operations on memory elements to improve the reliability and functioning of the system. Finally, the ROOT module supplies square root, inverse square root, and some other elementary functions used by the ECC module. The MAGALI OFDM platform has been provided by CEA-LETI. The orthogonal frequency division multiplexing (OFDM) is a special form of multi-carrier modulation. It is particularly suited for transmission over a dispersive channel. The OFDM refers to the fast Fourier transform (FFT) in the up/downlink flow as depicted in the block diagram in Figure 3. All experiments have been carried out on an eightprocessor Intel Xeon 2.8 MHz equipped with 8 GB RAM and Linux kernel. Both scenarios have been originally described with the OSCI TLM-2.0 library. Table 1 reports the number of lines of code of each scenario for the levels of the proposed methodology (L1-L4). Table 2 details the simulation time, user time (utime) and kernel time (ktime), at the same levels. For Level 3 results are provided for both TLM Loosely Timed (LT) and TLM Approximately Timed with four phases (AT4) coding styles. Looking at Table 2 several considerations arise. From L1 to L2 the increase of ktime is definitely due to adding Figure 3. The block diagram of the MAGALI OFDM. Levels Scenarios L1 L2 L3 L4 ERA OFDM Table 1. Lines of code at different levels. Scenarios ERA OFDM Levels utime ktime utime ktime L L L3 LT AT L Table 2. Simulation time (seconds). the Posix kernel instead of kernel. In that way, all the processes run upon the underlying operating systems originating many system calls and many context switches. The increase in utime is due to the presence of the HW manager, that at the moment, is not as much optimized as the kernel. In a similar way, from L1 to L3 LT, increase in utime runtime is mainly due to an increased synchronization in the model. Unlike L2, ktime is not affected, since, artos runs with in user mode. The overhead mainly originates from annotating the SW parts with timing information, i.e., moving the models from untimed to unscheduled timed models. For this we have to annotate the code by CONSUME CPU TIME statements on basic SW block level. This statement in turn executes wait statements enforcing a context switch each. In the case of ERA, the simulation executes 5,502,554 CONSUME CPU TIME statements, each of which executes 2.41 context switches in average. In summary, we could see for ERA that the introduction of artos calls gives a slow-down by a factor of it is due to the execution of additional wait statements. The plain artos functionality gives us a 26% overhead on top of it. However, the total factor of 4.3 from L1 to L3 LT cannot be generalized since it depends on the individual model. In the case of OFDM, we can see from the figures that the overhead for time annotation and RTOS scheduling is much

6 less and negligible compared to execution of the actual Fast Fourier Transformation (FFT) computation. For both models, the increase in runtime L3 LT to L3 AT4, i.e., is just due to the replaced bus model refining LT to AT4. Concerning the SW scheduling, on L2 we have applied a Round Robin based scheduler under Posix. Our analysis in L3 has shown that the system performs correctly with this scheduler. Therefore, we also kept Round Robin for L4. For both examples, we could show at L3 that the models also have a correct function with Fixed Priority scheduling. This information is important for later design re-spins, since the latter gives a better performance due to less context switches. At L4, the co-simulation mechanism has a great impact on the simulation time. Thus, we must try to perform the majority of exploration before arriving at L4, and leave at this level of the methodology only the HW/SW interface tuning after the introduction of the device driver. 5. Concluding Remarks This paper proposed a four-level RTOS-aware refinement methodology for HW/SW TLM based designs. Each refinement level allows the designer to estimate more and more accurate timing properties, thus anticipating design decisions without being constrained to leave timing analysis to the final step of the refinement. The effectiveness of the methodology has been evaluated by considering two industrial platforms. References [1] D.D.GajskiandN.Dutt. High-Level Synthesis - Introduction to Chip and System Design. Kluwer Academic Publishers, Dordrecht, [2] S. Abdi, G. Schirner, I. Viskic, H. Cho, Y. Hwang, L. Yu, and D. Gajski. Hardware-dependent software synthesis for many-core embedded systems. In Proc. of IEEE ASP-DAC, pp IEEE Press, Piscataway, NJ, USA, [3] A. Nohl, G. Braun, O. Schliebusch, R. Leupers, H. Meyr, and A. Hoffmann. A universal technique for fast and flexible instruction-set architecture simulation. In Proc. of ACM/IEEE DAC, pp [4] F. Fummi, G. Perbellini, M. Loghi, and M. Poncino. ISS-centric modular HW/SW co-simulation. InProc. of ACM GLSVLSI, pp [5] J. Schnerr, O. Bringmann, and W. Rosenstiel. Cycle Accurate Binary Translation for Simulation Acceleration in Rapid Prototyping of SoCs. In Proc. of ACM/IEEE DATE, pp [6] F. Bellard. QEMU, a fast and portable dynamic translator. In Proc. of the USENIX Annual Technical Conference, pp [7] H. Posadas, F. Herrera, P. Sánchez, E. Villar, and F. Blasco. System-Level Performance Analysis in. InProc. of ACM/IEEE Date, p [8] M. Bacivarov, S. Yoo, and A. A. Jerraya. Timed HW-SW cosimulation using native execution of OS and application SW. In Proc. of IEEE HLDVT, p [9] D. Drótos. µcsim: Software Simulator for Microcontrollers. drdani/embedded/s51/. [10] Y. Hwang, S. Abdi, and D. Gajski. Cycle-approximate retargetable performance estimation at the transaction level. In Proc. of ACM/IEEE DATE, pp [11] Y. Nakamura, K. Hosokawa, I. Kuroda, K. Yoshikawa, and T. Yoshimura. A fast hardware/software co-verification method for system-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication. In Proc. of ACM/IEEE DAC, pp [12] J. Buck, S. Ha, E. Lee, and D. Messerschmitt. Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems. International Journal in Computer Simulation, vol. 4(2):pp , [13] F. Balarin, M. Chiodo, P.Giusto, H.Hsieh, A.Jurecska, L.Lavagno, C.Passerone, A.Sangiovanni-Vincentelli, E.Sentovich, K.Suzuki, and B.Tabbara. Hardware- Software Co-Design of Embedded Systems: The Polis Approach. Kluwer Academic Press, [14] D. Desmet, D. Verkest, and H. D. Man. Operating system based software generation for systems-on-chip. InProc. of ACM/IEEE DAC, pp [15] S. Honda, T. Wakabayashi, H. Tomiyama, and H. Takada. RTOS-centric hardware/software cosimulator for embedded system design. In Proc. of IEEE CODES+ISSS, pp [16] A. A. Jerraya and W. Wolf. Hardware/Software Interface Codesing for Embedded Systems. IEEE Computers, vol. 38(2):pp , [17] Z. Xiong, M. Zhang, S. Li, S. Liu, and Y. Chao. Virtual embedded operating system for hardware/software co-design. InProc. of IEEE ASICON, pp [18] P. Coste, F. Hessel, P. L. Marrec, Z. Sugar, M. Romdhani, R. Suescun, N. Zergainoh, and A. Jerraya. Multilanguage Design of Heterogeneous Systems. In Proc. of IEEE CODES, pp [19] C. Valderrama, F. Nacabal, P. Paulin, and A. Jerraya. Automatic VHDL-C Interface Generation for Distributed Co-Simulation: to Large Design Examples. Design Automation for Embedded Systems, vol. 3(2/3):pp , [20] D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull- Trauring, and M. Trakhtenbrot. STATEMATE: A working environment for the development of complex reactive systems. IEEE Trans. on Software Engineering, vol. 16(4):pp , [21] D. Gajski, J. Zhu, R. Domer, A. Gerstlauer, and S. Zhao. SpecC: Specification Language and Methodology. Kluwer Academic Press, [22] J. Aynsley and D. Long. Language Reference Manual. Open Initiative, [23] H. Posadas, D. Quijano, J. Castillo, V. Fernndez, E. Villar, and M. Martnez. Behavioral Modeling for Embedded Systems and Technologies: s for Design and Implementation, chap. Platform Modeling for Behavioral Simulation and Performance Estimation of Embedded Systems. IGI Global, [24] D. Edenfeld, A. B. Kahng, M. Rodgers, and Y. Zorian Technology Roadmap for Semiconductors. IEEE Computer, vol. 37(1):pp , [25] L. Gauthier, S. Yoo, and A. A. Jerraya. Automatic Generation and Targeting of -Specific Operating Systems and Embedded Systems Software. IEEE Trans. on CAD, vol. 20(11):pp , [26] F. Herrera, H. Posadas, P. Sanchez, and E. Villar. Systematic Embedded Software Generation from. In Proc. of ACM/IEEE DATE, pp [27] H. Yu, R. Domer, and D. Gajski. Embedded Software Generation from System Level Design Languages. InProc. of IEEE ASP-DAC, pp [28] J. Chevalier, M. de Nanclas, L. Filion, O. Benny, M. Rondonneau, G. Bois, and E. M. Aboulhamid. A Refinement Methodology for Embedded Software. IEEE Design and Test of Computers, vol. 23(2):pp , [29] P. Destro, F. Fummi, and G. Pravadelli. A Smooth Refinement Flow for Codesigning HW and SW Threads. In Proc. of ACM/IEEE DATE, pp [30] A. Bouchhima, P. Gerin, and F. Pétrot. Automatic instrumentation of embedded software for high level hardware/software co-simulation. InProc. of IEEE ASP- DAC, pp IEEE Press, Piscataway, NJ, USA, [31] Z. Wang and A. Herkersdorf. An Efficient Approach for System-Level Timing Simulation of Compiler-Optimized Embedded Software. InProc of ACM/IEEE DAC. San Francisco, USA, [32] P. Hastono, S. Klaus, and S. A. Huss. An Integrated Framework for Real-Time Scheduling Assessments In System Level. In Proc. of IEEE RTSS. Lisbon, Portugal, [33] H. Posadas, J. A. Adamez, E. Villar, F. Blasco, and F. Escuder. RTOS modeling in for Real-Time Embedded SW Simulation: A POSIX Model. Design Automation for Embedded Systems, vol. 10(4):pp , [34] A. Gerstlauer, H. Yu, and D. Gajski. RTOS Modeling for System Level Design. In Proc. of ACM/IEEE DATE [35] H. Zabel, W. Müller, and A. Gerstlauer. Accurate RTOS Modelling and Analysis with.inw. Ecker, W. Mueller, R. Doemer (eds.) HardwareDependent Software Principles and Practice. Springer-Verlag, [36] H. Zabel and W. Müller. Increased Accuracy through Noise Injection in Abstract RTOS Simulation. InProc. of ACM/IEEE DATE. IEEE Computer Society, Washington, DC, USA, [37] N. Bombieri, F. Fummi, G. Pravadelli, and S. Vinco. Correct-by-Construction Generation of Device Drivers based on RTL Testbenches. In Proc. of ACM/IEEE DATE, pp

A Smooth Refinement Flow for Co-designing HW and SW Threads

A Smooth Refinement Flow for Co-designing HW and SW Threads A Smooth Refinement Flow for Co-designing HW and Threads Paolo Destro Franco Fummi Graziano Pravadelli Dipartimento di nformatica - Università di Verona Strada le Grazie 15, 37134 Verona, taly {destro,

More information

Cosimulation of ITRON-Based Embedded Software with SystemC

Cosimulation of ITRON-Based Embedded Software with SystemC Cosimulation of ITRON-Based Embedded Software with SystemC Shin-ichiro Chikada, Shinya Honda, Hiroyuki Tomiyama, Hiroaki Takada Graduate School of Information Science, Nagoya University Information Technology

More information

Hardware Design and Simulation for Verification

Hardware Design and Simulation for Verification Hardware Design and Simulation for Verification by N. Bombieri, F. Fummi, and G. Pravadelli Universit`a di Verona, Italy (in M. Bernardo and A. Cimatti Eds., Formal Methods for Hardware Verification, Lecture

More information

SOFTWARE AND DRIVER SYNTHESIS FROM TRANSACTION LEVEL MODELS

SOFTWARE AND DRIVER SYNTHESIS FROM TRANSACTION LEVEL MODELS SOFTWARE AND DRIVER SYNTHESIS FROM TRANSACTION LEVEL MODELS Haobo Yu, Rainer Dömer, Daniel D. Gajski Center of Embedded Computer Systems University of California, Irvine Abstract This work presents a method

More information

RTOS-Centric Hardware/Software Cosimulator for Embedded System Design

RTOS-Centric Hardware/Software Cosimulator for Embedded System Design RTOS-Centric Hardware/Software Cosimulator for Embedded System Design Shinya Honda Takayuki Wakabayashi Hiroyuki Tomiyama Hiroaki Takada Department of Information and Computer Science Toyohashi University

More information

Virtual Hardware Prototyping through Timed Hardware-Software Co-simulation

Virtual Hardware Prototyping through Timed Hardware-Software Co-simulation Virtual Hardware Prototyping through Timed Hardware-Software Co-simulation Franco Fummi franco.fummi@univr.it Mirko Loghi loghi@sci.univr.it Stefano Martini martini@sci.univr.it Marco Monguzzi # monguzzi@sitek.it

More information

Embedded Software Generation from System Level Design Languages

Embedded Software Generation from System Level Design Languages Embedded Software Generation from System Level Design Languages Haobo Yu, Rainer Dömer, Daniel Gajski Center for Embedded Computer Systems University of California, Irvine, USA haoboy,doemer,gajski}@cecs.uci.edu

More information

Verification of Real-Time Properties for Hardware-Dependent Software

Verification of Real-Time Properties for Hardware-Dependent Software Verification of Real-Time Properties for Hardware-Dependent Software Wolfgang Mueller, Marcio F. da S. Oliveira, Henning Zabel, Markus Becker University of Paderborn/C-LAB, Paderborn, Germany {wolfgang,

More information

A Generic RTOS Model for Real-time Systems Simulation with SystemC

A Generic RTOS Model for Real-time Systems Simulation with SystemC A Generic RTOS Model for Real-time Systems Simulation with SystemC R. Le Moigne, O. Pasquier, J-P. Calvez Polytech, University of Nantes, France rocco.lemoigne@polytech.univ-nantes.fr Abstract The main

More information

Code Generation for QEMU-SystemC Cosimulation from SysML

Code Generation for QEMU-SystemC Cosimulation from SysML Code Generation for QEMU- Cosimulation from SysML Da He, Fabian Mischkalla, Wolfgang Mueller University of Paderborn/C-Lab, Fuerstenallee 11, 33102 Paderborn, Germany {dahe, fabianm, wolfgang}@c-lab.de

More information

Native ISS-SystemC Integration for the Co-Simulation of Multi-Processor SoC

Native ISS-SystemC Integration for the Co-Simulation of Multi-Processor SoC Native ISS-SystemC Integration for the Co-Simulation of Multi-Processor SoC Franco Fummi Stefano Martini Giovanni Perbellini Massimo Poncino Università di Verona Embedded Systems Design Center Verona,

More information

Cycle Accurate Binary Translation for Simulation Acceleration in Rapid Prototyping of SoCs

Cycle Accurate Binary Translation for Simulation Acceleration in Rapid Prototyping of SoCs Cycle Accurate Binary Translation for Simulation Acceleration in Rapid Prototyping of SoCs Jürgen Schnerr 1, Oliver Bringmann 1, and Wolfgang Rosenstiel 1,2 1 FZI Forschungszentrum Informatik Haid-und-Neu-Str.

More information

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations FZI Forschungszentrum Informatik at the University of Karlsruhe Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations Oliver Bringmann 1 RESEARCH ON YOUR BEHALF Outline

More information

RTK-Spec TRON: A Simulation Model of an ITRON Based RTOS Kernel in SystemC

RTK-Spec TRON: A Simulation Model of an ITRON Based RTOS Kernel in SystemC RTK-Spec TRON: A Simulation Model of an ITRON Based RTOS Kernel in SystemC M. AbdElSalam Hassan Keishi Sakanushi Yoshinori Takeuchi Masaharu Imai Graduate School of Information Science and Technology,

More information

Systematic Embedded Software Generation from SystemC

Systematic Embedded Software Generation from SystemC Systematic Embedded Software Generation from F. Herrera, H. Posadas, P. Sánchez & E. Villar TEISA Dept., E.T.S.I. Industriales y Telecom., University of Cantabria Avda. Los Castros s/n, 39005 Santander,

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer) ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages

More information

Hardware, Software and Mechanical Cosimulation for Automotive Applications

Hardware, Software and Mechanical Cosimulation for Automotive Applications Hardware, Software and Mechanical Cosimulation for Automotive Applications P. Le Marrec, C.A. Valderrama, F. Hessel, A.A. Jerraya TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble France fphilippe.lemarrec,

More information

System Level Design with IBM PowerPC Models

System Level Design with IBM PowerPC Models September 2005 System Level Design with IBM PowerPC Models A view of system level design SLE-m3 The System-Level Challenges Verification escapes cost design success There is a 45% chance of committing

More information

RTOS Scheduling in Transaction Level Models

RTOS Scheduling in Transaction Level Models RTOS Scheduling in Transaction Level Models Haobo Yu, Andreas Gerstlauer, Daniel Gajski Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697, USA {haoboy,gerstl,gajksi}@cecs.uci.edu

More information

RTOS Scheduling in Transaction Level Models

RTOS Scheduling in Transaction Level Models RTOS Scheduling in Transaction Level Models Haobo Yu, Andreas Gerstlauer, Daniel Gajski CECS Technical Report 03-12 March 20, 2003 Center for Embedded Computer Systems Information and Computer Science

More information

Hardware/Software Co-design

Hardware/Software Co-design Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction

More information

DOM: A Data-dependency-Oriented Modeling Approach for Efficient Simulation of OS Preemptive Scheduling

DOM: A Data-dependency-Oriented Modeling Approach for Efficient Simulation of OS Preemptive Scheduling DOM: A Data-dependency-Oriented Modeling Approach for Efficient Simulation of OS Preempte Scheduling Peng-Chih Wang, Meng-Huan Wu, and Ren-Song Tsay Department of Computer Science National Tsing Hua Unersity

More information

Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration

Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration Hector Posadas, Sara Real, and Eugenio Villar Abstract Design Space Exploration for complex,

More information

Model Based Synthesis of Embedded Software

Model Based Synthesis of Embedded Software Model Based Synthesis of Embedded Software Daniel D. Gajski, Samar Abdi, Ines Viskic Center for Embedded Computer Systems University of California, Irvine, CA 92617 {gajski, sabdi, iviskic}@uci.edu Abstract.

More information

Automatic Generation of Cycle-Approximate TLMs with Timed RTOS Model Support

Automatic Generation of Cycle-Approximate TLMs with Timed RTOS Model Support Automatic Generation of Cycle-Approximate TLMs with Timed RTOS Model Support Yonghyun Hwang 1, Gunar Schirner 2, and Samar Abdi 3 1 University of California, Irvine, USA, yonghyuh@cecs.uci.edu 2 Northeastern

More information

Fast and Accurate Resource Conflict Simulation for Performance Analysis of Multi-Core Systems

Fast and Accurate Resource Conflict Simulation for Performance Analysis of Multi-Core Systems Fast and Accurate Resource Conflict Simulation for Performance Analysis of Multi-Core Systems Stefan Stattelmann,OliverBringmann FZI Forschungszentrum Informatik Haid-und-Neu-Str. 10 14 D-76131 Karlsruhe,

More information

System Level Design Technologies and System Level Design Languages

System Level Design Technologies and System Level Design Languages System Level Design Technologies and System Level Design Languages SLD Study Group EDA-TC, JEITA http://eda.ics.es.osaka-u.ac.jp/jeita/eda/english/project/sld/index.html Problems to Be Solved 1. Functional

More information

Introducing Preemptive Scheduling in Abstract RTOS Models using Result Oriented Modeling

Introducing Preemptive Scheduling in Abstract RTOS Models using Result Oriented Modeling Introducing Preemptive Scheduling in Abstract RTOS Models using Result Oriented Modeling Gunar Schirner, Rainer Dömer Center of Embedded Computer Systems, University of California Irvine E-mail: {hschirne,

More information

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano Modeling and Simulation of System-on on-chip Platorms Donatella Sciuto 10/01/2007 Politecnico di Milano Dipartimento di Elettronica e Informazione Piazza Leonardo da Vinci 32, 20131, Milano Key SoC Market

More information

Exploring SW Performance Using Preemptive RTOS Models

Exploring SW Performance Using Preemptive RTOS Models Exploring SW Performance Using Preemptive RTOS Models Gunar Schirner Electrical and Computer Engineering Northeastern University, Boston MA E-mail: schirner@ece.neu.edu Abstract With increasing SW content

More information

Verification of Multiprocessor system using Hardware/Software Co-simulation

Verification of Multiprocessor system using Hardware/Software Co-simulation Vol. 2, 85 Verification of Multiprocessor system using Hardware/Software Co-simulation Hassan M Raza and Rajendra M Patrikar Abstract--Co-simulation for verification has recently been introduced as an

More information

Computer-Aided Recoding for Multi-Core Systems

Computer-Aided Recoding for Multi-Core Systems Computer-Aided Recoding for Multi-Core Systems Rainer Dömer doemer@uci.edu With contributions by P. Chandraiah Center for Embedded Computer Systems University of California, Irvine Outline Embedded System

More information

RTOS Modeling for System Level Design

RTOS Modeling for System Level Design RTOS Modeling for System Level Design Andreas Gerstlauer Haobo Yu Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697, USA E-mail: {gerstl,haoboy,gajski}@cecs.uci.edu

More information

Concepts for Model Compilation in Hardware/Software Codesign

Concepts for Model Compilation in Hardware/Software Codesign Concepts for Model Compilation in Hardware/Software Codesign S. Schulz, and J.W. Rozenblit Dept. of Electrical and Computer Engineering The University of Arizona Tucson, AZ 85721 USA sschulz@ece.arizona.edu

More information

Automatic Instrumentation Technique of Embedded Software for High Level Hardware/Software Co-Simulation

Automatic Instrumentation Technique of Embedded Software for High Level Hardware/Software Co-Simulation Automatic Instrumentation Technique of Embedded Software for High Level Hardware/Software Co-Simulation Aimen Bouchhima, Patrice Gerin and Frédéric Pétrot System Level Synthesis Group, TIMA Laboratory

More information

System-Level Performance Analysis in SystemC¹

System-Level Performance Analysis in SystemC¹ System-Level Performance Analysis in SystemC¹ H. Posadas *, F. Herrera *, P. Sánchez *, E. Villar * & F. Blasco ** * TEISA Dept., E.T.S.I. Industriales y Telecom. University of Cantabria Avda. Los Castros

More information

Cycle-approximate Retargetable Performance Estimation at the Transaction Level

Cycle-approximate Retargetable Performance Estimation at the Transaction Level Cycle-approximate Retargetable Performance Estimation at the Transaction Level Yonghyun Hwang Samar Abdi Daniel Gajski Center for Embedded Computer Systems University of California, Irvine, 92617-2625

More information

Software Timing Analysis Using HW/SW Cosimulation and Instruction Set Simulator

Software Timing Analysis Using HW/SW Cosimulation and Instruction Set Simulator Software Timing Analysis Using HW/SW Cosimulation and Instruction Set Simulator Jie Liu Department of EECS University of California Berkeley, CA 94720 liuj@eecs.berkeley.edu Marcello Lajolo Dipartimento

More information

SPACE: SystemC Partitioning of Architectures for Co-design of real-time Embedded systems

SPACE: SystemC Partitioning of Architectures for Co-design of real-time Embedded systems September 29, 2004 SPACE: Partitioning of Architectures for Co-design of real-time Embedded systems Jérome Chevalier 1, Maxime De Nanclas 1, Guy Bois 1 and Mostapha Aboulhamid 2 1. École Polytechnique

More information

DISTRIBUTED CO-SIMULATION TOOL. F.Hessel, P.Le Marrec, C.A.Valderrama, M.Romdhani, A.A.Jerraya

DISTRIBUTED CO-SIMULATION TOOL. F.Hessel, P.Le Marrec, C.A.Valderrama, M.Romdhani, A.A.Jerraya 1 MCI MULTILANGUAGE DISTRIBUTED CO-SIMULATION TOOL F.Hessel, P.Le Marrec, C.A.Valderrama, M.Romdhani, A.A.Jerraya System-Level Synthesis Group TIMA Laboratory Grenoble, France Abstract Nowadays the design

More information

Abstraction Layers for Hardware Design

Abstraction Layers for Hardware Design SYSTEMC Slide -1 - Abstraction Layers for Hardware Design TRANSACTION-LEVEL MODELS (TLM) TLMs have a common feature: they implement communication among processes via function calls! Slide -2 - Abstraction

More information

Automatic Generation of Communication Architectures

Automatic Generation of Communication Architectures i Topic: Network and communication system Automatic Generation of Communication Architectures Dongwan Shin, Andreas Gerstlauer, Rainer Dömer and Daniel Gajski Center for Embedded Computer Systems University

More information

Out-of-Order Parallel Simulation of SystemC Models. G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.)

Out-of-Order Parallel Simulation of SystemC Models. G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.) Out-of-Order Simulation of s using Intel MIC Architecture G. Liu, T. Schmidt, R. Dömer (CECS) A. Dingankar, D. Kirkpatrick (Intel Corp.) Speaker: Rainer Dömer doemer@uci.edu Center for Embedded Computer

More information

Flexible and Executable Hardware/Software Interface Modeling For Multiprocessor SoC Design Using SystemC

Flexible and Executable Hardware/Software Interface Modeling For Multiprocessor SoC Design Using SystemC Flexible and Executable / Interface Modeling For Multiprocessor SoC Design Using SystemC Patrice Gerin Hao Shen Alexandre Chureau Aimen Bouchhima Ahmed Amine Jerraya System-Level Synthesis Group TIMA Laboratory

More information

Transaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling

Transaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling Transaction-Level Modeling Definitions and Approximations EE290A Final Report Trevor Meyerowitz May 20, 2005 1. Introduction Over the years the field of electronic design automation has enabled gigantic

More information

Architecture choices. Functional specifications. expensive loop (in time and cost) Hardware and Software partitioning. Hardware synthesis

Architecture choices. Functional specifications. expensive loop (in time and cost) Hardware and Software partitioning. Hardware synthesis Introduction of co-simulation in the design cycle of the real- control for electrical systems R.RUELLAND, J.C.HAPIOT, G.GATEAU Laboratoire d'electrotechnique et d'electronique Industrielle Unité Mixte

More information

An Efficient Time Annotation Technique in Abstract RTOS Simulations for Multiprocessor Task Migration

An Efficient Time Annotation Technique in Abstract RTOS Simulations for Multiprocessor Task Migration An Efficient Time Annotation Technique in Abstract RTOS Simulations for Multiprocessor Task Migration Henning Zabel and Wolfgang Müller Abstract Complex control oriented embedded systems with hard real-time

More information

SCope: Efficient HdS simulation for MpSoC with NoC

SCope: Efficient HdS simulation for MpSoC with NoC SCope: Efficient HdS simulation for MpSoC with NoC Eugenio Villar Héctor Posadas University of Cantabria Marcos Martínez DS2 Motivation The microprocessor will be the NAND gate of the integrated systems

More information

ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware

ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn {enno.luebbers, platzner}@upb.de Outline

More information

Embedded System Design and Modeling EE382V, Fall 2008

Embedded System Design and Modeling EE382V, Fall 2008 Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 4 System Design Flow and Design Methodology Dates: Sep 16&18, 2008 Scribe: Mahesh Prabhu SpecC: Import Directive: This is different from

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design Ahmed Amine JERRAYA EPFL November 2005 TIMA Laboratory 46 Avenue Felix Viallet 38031 Grenoble CEDEX, France Email: Ahmed.Jerraya@imag.fr

More information

Automatic Generation of Hardware dependent Software f or MPSoCs from Abstract System Specifications

Automatic Generation of Hardware dependent Software f or MPSoCs from Abstract System Specifications Automatic Generation of Hardware dependent Software f or MPSoCs from Abstract System Specifications Gunar Schirner, Andreas Gerstlauer and Rainer Dömer Center for Embedded Computer Systems University of

More information

High-level timing analysis of concurrent applications on MPSoC platforms using memory-aware trace-driven simulations

High-level timing analysis of concurrent applications on MPSoC platforms using memory-aware trace-driven simulations High-level timing analysis of concurrent applications on MPSoC platforms using memory-aware trace-driven simulations Roman Plyaskin, Alejandro Masrur, Martin Geier, Samarjit Chakraborty, Andreas Herkersdorf

More information

Embedded System Design and Modeling EE382N.23, Fall 2015

Embedded System Design and Modeling EE382N.23, Fall 2015 Embedded System Design and Modeling EE382N.23, Fall 2015 Lab #3 Exploration Part (a) due: November 11, 2015 (11:59pm) Part (b) due: November 18, 2015 (11:59pm) Part (c)+(d) due: November 25, 2015 (11:59pm)

More information

Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation

Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation Automatic Instrumentation of Embedded Software for High Level Hardware/Software Co-Simulation Aimen Bouchhima, Patrice Gerin and Frédéric Pétrot System-Level Synthesis Group TIMA Laboratory 46, Av Félix

More information

A Top-down Hardware/Software Co-Simulation Method for Embedded Systems Based Upon a Component Logical Bus Architecture

A Top-down Hardware/Software Co-Simulation Method for Embedded Systems Based Upon a Component Logical Bus Architecture A Top-down / Co-Simulation Method for Embedded Systems Based Upon a Architecture Mitsuhiro YASUDA Barry SHACKLEFORD Fumio SUZUKI Katsuhiko SEO Hisao KOIZUMI Mitsubishi Electric Corporation, Hewlett-Packard

More information

Part 2: Principles for a System-Level Design Methodology

Part 2: Principles for a System-Level Design Methodology Part 2: Principles for a System-Level Design Methodology Separation of Concerns: Function versus Architecture Platform-based Design 1 Design Effort vs. System Design Value Function Level of Abstraction

More information

High Data Rate Fully Flexible SDR Modem

High Data Rate Fully Flexible SDR Modem High Data Rate Fully Flexible SDR Modem Advanced configurable architecture & development methodology KASPERSKI F., PIERRELEE O., DOTTO F., SARLOTTE M. THALES Communication 160 bd de Valmy, 92704 Colombes,

More information

A Heterogeneous and Distributed Co-Simulation Environment

A Heterogeneous and Distributed Co-Simulation Environment XVII SIM - South Symposium on Microelectronics 1 A Heterogeneous and Distributed Co-Simulation Environment Alexandre Amory, Leandro Oliveira, Fernando Moraes {amory, laugusto, moraes}@inf.pucrs.br Abstract

More information

Fast and Accurate Processor Models for EfÞcient MPSoC Design

Fast and Accurate Processor Models for EfÞcient MPSoC Design 10 Fast and Accurate Processor Models for EfÞcient MPSoC Design GUNAR SCHIRNER Northeastern University ANDREAS GERSTLAUER University of Texas at Austin and RAINER DÖMER University of California, Irvine

More information

Fast and Accurate Processor Models for Efficient MPSoC Design

Fast and Accurate Processor Models for Efficient MPSoC Design Fast and Accurate Processor Models for Efficient MPSoC Design Gunar Schirner University of California, Irvine Andreas Gerstlauer University of Texas at Austin and Rainer Dömer University of California,

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

Hardware-Software Codesign. 1. Introduction

Hardware-Software Codesign. 1. Introduction Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2

More information

Design Space Exploration for Hardware/Software Codesign of Multiprocessor Systems

Design Space Exploration for Hardware/Software Codesign of Multiprocessor Systems Design Space Exploration for Hardware/Software Codesign of Multiprocessor Systems A. Baghdadi, N-E. Zergainoh, W. Cesario, T. Roudier, A.A. Jerraya TIMA Laboratory - Grenoble France Arexsys, R&D - Meylan

More information

Long Term Trends for Embedded System Design

Long Term Trends for Embedded System Design Long Term Trends for Embedded System Design Ahmed Amine JERRAYA Laboratoire TIMA, 46 Avenue Félix Viallet, 38031 Grenoble CEDEX, France Email: Ahmed.Jerraya@imag.fr Abstract. An embedded system is an application

More information

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes Presented at Design Automation Conference (DAC) San Francisco, CA, June 4, 2012. Presented by Chuck Cruse FPGA Hardware

More information

Design methodology for multi processor systems design on regular platforms

Design methodology for multi processor systems design on regular platforms Design methodology for multi processor systems design on regular platforms Ph.D in Electronics, Computer Science and Telecommunications Ph.D Student: Davide Rossi Ph.D Tutor: Prof. Roberto Guerrieri Outline

More information

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING 1 DSP applications DSP platforms The synthesis problem Models of computation OUTLINE 2 DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: Time-discrete representation

More information

Automatic HW/SW Interface Modeling for Scratch-Pad and Memory Mapped HW Components in Native Source- Code Co-simulation

Automatic HW/SW Interface Modeling for Scratch-Pad and Memory Mapped HW Components in Native Source- Code Co-simulation Automatic HW/SW Interface Modeling for Scratch-Pad and Memory Mapped HW Components in Native Source- Code Co-simulation Héctor Posadas and Eugenio Villar University of Cantabria ETSIIT, Av. Los Castros

More information

Functional verification on PIL mode with IAR Embedded Workbench

Functional verification on PIL mode with IAR Embedded Workbench by Cristina Marconcini, STM CASE s.r.l. Functional verification on PIL mode with IAR Embedded Workbench The increase of complexity of embedded system components combined with time-to-market constraints

More information

On the Co-simulation of SystemC with QEMU and OVP Virtual Platforms

On the Co-simulation of SystemC with QEMU and OVP Virtual Platforms On the Co-simulation of SystemC with QEMU and OVP Virtual Platforms Alessandro Lonardi 1 and Graziano Pravadelli 1,2(B) 1 Department of Computer Science, University of Verona, Verona, Italy alessandro.lonardi@univr.it

More information

Automatic HW/SW interface modeling for scratch-pad & memory mapped HW components in native sourcecode co-simulation

Automatic HW/SW interface modeling for scratch-pad & memory mapped HW components in native sourcecode co-simulation Automatic HW/SW interface modeling for scratch-pad & memory mapped HW components in native sourcecode co-simulation Héctor Posadas 1 and Eugenio Villar 1 1 University of Cantabria ETSIIT, Av. Los Castros

More information

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Software Driven Verification at SoC Level. Perspec System Verifier Overview Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to

More information

ReconOS: An RTOS Supporting Hardware and Software Threads

ReconOS: An RTOS Supporting Hardware and Software Threads ReconOS: An RTOS Supporting Hardware and Software Threads Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn marco.platzner@computer.org Overview the ReconOS project programming

More information

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design

A Unified HW/SW Interface Model to Remove Discontinuities between HW and SW Design A Unified /SW Interface Model to Remove Discontinuities between and SW Design Aimen Bouchhima, Xi Chen, Frédéric Pétrot, Wander O. Cesário, Ahmed A. Jerraya TIMA Laboratory 46 Avenue Félix Viallet 38031

More information

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires

More information

Technical Report: Communication SW Generation from TL to PCA Level

Technical Report: Communication SW Generation from TL to PCA Level Technical Report: Communication SW Generation from TL to PCA Level for MPSoC Ines Viskic, Samar Abdi and Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine, CA 92617

More information

A Parallel Transaction-Level Model of H.264 Video Decoder

A Parallel Transaction-Level Model of H.264 Video Decoder Center for Embedded Computer Systems University of California, Irvine A Parallel Transaction-Level Model of H.264 Video Decoder Xu Han, Weiwei Chen and Rainer Doemer Technical Report CECS-11-03 June 2,

More information

Jump-Start Software-Driven Hardware Verification with a Verification Framework

Jump-Start Software-Driven Hardware Verification with a Verification Framework Jump-Start Software-Driven Hardware Verification with a Verification Framework Matthew Ballance Mentor Graphics 8005 SW Boeckman Rd Wilsonville, OR 97070 Abstract- Software-driven hardware verification

More information

The Architects View Framework: A Modeling Environment for Architectural Exploration and HW/SW Partitioning

The Architects View Framework: A Modeling Environment for Architectural Exploration and HW/SW Partitioning 1 The Architects View Framework: A Modeling Environment for Architectural Exploration and HW/SW Partitioning Tim Kogel European SystemC User Group Meeting, 12.10.2004 Outline 2 Transaction Level Modeling

More information

ARM System-Level Modeling. Platform constructed from welltested

ARM System-Level Modeling. Platform constructed from welltested ARM System-Level Modeling Jon Connell Version 1.0, June 25, 2003 Abstract Embedded hardware and software design tools often work under the assumption that designers will have full visibility into the implementation

More information

Quantitative Analysis of Transaction Level Models for the AMBA Bus

Quantitative Analysis of Transaction Level Models for the AMBA Bus Quantitative Analysis of Transaction Level Models for the AMBA Bus Gunar Schirner, Rainer Dömer Center of Embedded Computer Systems University of California, Irvine hschirne@uci.edu, doemer@uci.edu Abstract

More information

Hardware, Software and Mechanical Cosimulation for Automotive Applications

Hardware, Software and Mechanical Cosimulation for Automotive Applications , and Mechanical Cosimulation for Automotive Applications P. Le Marrec, C. A. Valderrama, F. Hessel, A. A. Jerraya System Level Synthesis Group, TIMA Laboratory, INPG, Grenoble M. Attia, O. Cayrol PSA

More information

CoFluent Design FPGA. SoC FPGA. Embedded. Systems. HW/SW

CoFluent Design FPGA. SoC FPGA. Embedded. Systems.  HW/SW CoFluent Design www.cofluentdesign.com Embedded HW/SW Systems SW SoC FPGA FPGA Integration Systems & Verification of GreenSocs Models in a CoFluent Testbench jerome.lemaitre@cofluentdesign.com NASCUG IX,

More information

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

Integrating Instruction Set Simulator into a System Level Design Environment

Integrating Instruction Set Simulator into a System Level Design Environment Integrating Instruction Set Simulator into a System Level Design Environment A Thesis Presented by Akash Agarwal to The Department of Electrical and Computer Engineering in partial fulfillment of the requirements

More information

Timed Compiled-Code Functional Simulation of Embedded Software for Performance Analysis of SOC Design

Timed Compiled-Code Functional Simulation of Embedded Software for Performance Analysis of SOC Design IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 22, NO. 1, JANUARY 2003 1 Timed Compiled-Code Functional Simulation of Embedded Software for Performance Analysis of

More information

Rapid-Prototyping Emulation System using a SystemC Control System Environment and Reconfigurable Multimedia Hardware Development Platform

Rapid-Prototyping Emulation System using a SystemC Control System Environment and Reconfigurable Multimedia Hardware Development Platform Rapid-Prototyping Emulation System using a SystemC System Environment and Reconfigurable Multimedia Development Platform DAVE CARROLL, RICHARD GALLERY School of Informatics and Engineering, Institute of

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu

More information

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction

More information

Host-Compiled Simulation of Multi-Core Platforms

Host-Compiled Simulation of Multi-Core Platforms Host-Compiled Simulation of Multi-Core Platforms Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin Austin, Texas, 78712 Email: gerstl@ece.utexas.edu Abstract Virtual

More information

Modeling Software with SystemC 3.0

Modeling Software with SystemC 3.0 Modeling Software with SystemC 3.0 Thorsten Grötker Synopsys, Inc. 6 th European SystemC Users Group Meeting Stresa, Italy, October 22, 2002 Agenda Roadmap Why Software Modeling? Today: What works and

More information

Architecture Implementation Using the Machine Description Language LISA

Architecture Implementation Using the Machine Description Language LISA Architecture Implementation Using the Machine Description Language LISA Oliver Schliebusch, Andreas Hoffmann, Achim Nohl, Gunnar Braun and Heinrich Meyr Integrated Signal Processing Systems, RWTH Aachen,

More information

Automatic TLM Generation for Early Validation of Multicore Systems

Automatic TLM Generation for Early Validation of Multicore Systems Transaction-Level Validation of Multicore Architectures Automatic TLM Generation for Early Validation of Multicore Systems Samar Abdi Concordia University Yonghyun Hwang Qualcomm Gunar Schirner Northeastern

More information

Combined System Synthesis and Communication Architecture Exploration for MPSoCs

Combined System Synthesis and Communication Architecture Exploration for MPSoCs This is the author s version of the work. The definitive work was published in Proceedings of Design, Automation and Test in Europe (DATE 2009), pp. 472-477, 2009. The work is supported in part by the

More information

System-level Design Method for Control Systems with Hardware-implemented Interrupt Handler

System-level Design Method for Control Systems with Hardware-implemented Interrupt Handler [DOI: 10.2197/ipsjjip.23.532] Regular Paper System-level Design Method for Control Systems with Hardware-implemented Interrupt Handler Yuki Ando 1,a) Shinya Honda 1,b) Hiroaki Takada 1,c) Masato Edahiro

More information

- - PARADISE: Design Environment for Parallel & Distributed, Embedded Real-Time

- - PARADISE: Design Environment for Parallel & Distributed, Embedded Real-Time PARADISE: Design Environment for Parallel & Distributed, Embedded Real-Time - - Systems W.Hardt, P. Altenbernd, C. Bake, G. Del Castillo, C. Ditze, E.Erpenbach, U. Glasser, B. Kleinjohann, G. Lehrenfeld,

More information