System-level Development of Embedded Software
|
|
|
- Herbert Riley
- 9 years ago
- Views:
Transcription
1 System-level Development of Embedded Software Gunar Schirner Andreas Gerstlauer Rainer Dömer Electrical and Electrical and Electrical Engineering and Computer Engineering Computer Engineering Computer Science Northeastern University University of Texas, Austin University of California, Irvine Boston, MA Austin, TX Irvine, CA Abstract Embedded software plays an increasingly important role in implementing modern embedded systems. Development of embedded software, and of Hardware-dependent Software in particular, is challenging due to the tight integration with the underlying hardware architecture. In this paper, we describe our system-level design approach that allows designers to develop software in form of a platformagnostic specification. Our design environment enables exploration of different architectural alternatives and subsequently generates the software implementation. It generates the application code, communication drivers, and an adaptation to a chosen. It completes the process by producing the final target binary for each processor. Our experimental results demonstrate the automatic generation of the binaries for five control and media oriented applications. I. RODUCTION Embedded software is increasingly important in todays complex SoCs as it allows to flexibly realize complex features. However, software development cost now dominates the overall design cost. The productivity gap between software design capability and the potential in chip complexity/capacity is increasing [9]. The traditional approach of manual software implementation is tedious and error prone, as well as too time consuming to meet the shortened time-to-market demands. One potential solution to increase productivity is to raise the level of abstraction for software development, hiding the complexity of low level implementation detail. System-level design has to accommodate software concerns enabling a seamless co-design of software and hardware. Moving to higher levels of abstraction reduces the complexity during development, enabling designers to focus on important algorithmic details without the burden of low level implementation details. This article gives an overview of the software development aspect within our ESL flow, System-on-Chip Environment (SCE) [8]. The system specification is developed in an platform-agnostic format in our high-level development environment. In a separate process, the designer specifies the target platform and the mapping of the application to that platform. SCE then automatically generates a system model that implements the application on top of the specified platform. The system model, which is a transaction level model, serves as an early validation and performance evaluation platform, giving the designer feedback for optimizing the application and/or the platform to meet design constraints. Based on the system model, our software synthesis then generates an implementation over the target platform. It generates the necessary application code and the necessary Hardwaredependent Software (HdS) to execute the application on the platform. The HdS includes communication drivers for external and internal communication, as well as a mapping to an underlying. Our generation process, using a cross compiler and linker, produces the complete target binary for each processor in the system. For early validation of those binaries, a system model with integrated Instruction Set Simulators (ISSs) can be used. The remaining document is organized as follows. After introducing the relevant related work in Section II, Section III overviews the design environment SCE. Section IV then outlines our processor modeling for estimation of software performance. Section V introduces our software generation approach consisting of code generation and HdS generation. Section VI validates our approach with experimental results, and Section VII concludes and closes the article. II. RELATED WORK Supporting the software design process has been the aim of significant research efforts with a wide range of approaches. To name a few, they range from high-level analysis and synthesis approaches that are based specialized Models-of-Computation. Examples include POLIS [1] (Co-Design Finite State Machine), DESCARTES [24] (ADF and an extended SDF), Cortadella et al. [5] (petri nets). Integrated Development Environments (IDEs), at another end of the spectrum, typically provide limited automation support but aim to simplify manual development (e.g. Eclipse [10] with its wide range of plug-in modules). The focus of this paper is the software development in context of system-level design, were models are captured in a System Level Design Language (SLDL) (e.g. SystemC [17], SpecC [13]) which enables jointly capturing of and SW aspects. Abstract models are an important means for early prototyp-
2 ing and performance estimation. SLDLs, with their generic C- programming model, are often used for modeling software and its execution environment in an abstract form [21, 15, 3]. For early validation of software binaries, ISSs have been integrated into abstract system models to create system co-simulation environments [2, 6]. Such, virtual platforms allow for a detailed analysis of the system before availability of real hardware, often revealing details not available on the target [20]. These approaches focus on simulation and validation, however, do not offer an integrated solution to generate the final implementation. Selecting proper dynamic scheduling policies and parameters is essential for an efficient design. Exposing dynamic scheduling effects to guide early, abstract development has been studied. One set of approaches is centered around host compiled es [19, 11], in which a target is complied to run on the simulation host as part of the simulation environment. The user application then runs on top of the host compiled target. Emulating an API directly on top of the SLDL (without running the target ) offers a higher level of abstraction. For example, Posadas et al. [23] present an abstract model with a POSIX API on top of SystemC. This approach also include dynamic target execution timing estimation through overloading each operator in the C++-based SystemC model. Software generation enables transferring the results from abstract modeling into a real implementation. Herrara et al. [18] introduce SW generation from SystemC models by overloading SystemC library elements. This approach, in advantage, uses the same model both for specification and target execution, however, it potentially replicates aspects of the simulation engine on the target. Other approaches focus on the integration, such as Krause et al. [22] which generates source code from SystemC for application to mapping, and Gauthier et al. [14] for generation of an application-specific operating system. III. DESIGN ENVIRONMENT Electronic System Level (ESL) design addresses the complexity challenges of designing a modern embedded system by raising the abstraction level for design and development. Figure 1 outlines our ESL flow that is implemented in the Systemon-Chip Environment (SCE) [8]. Our flow uses a two step approach of first generating a system TLM for detailed performance estimation and early validation, and then using the same TLM in a second step for automatic generation of a SW and implementation. The input to the system design flow is the specification model, shown on top. The specification is an untimed and platform-agnostic description of the system s algorithms and their dependencies captured in the C-based SLDL SpecC [13]. Note that although we chose SpecC for our experiments, the concepts shown are equally applicable to other SLDLs, such as SystemC, as well. Computation and communication are separately captured using distinct language constructs. This separation enables an automatic refinement for mapping computation to separate processing elements and establishing the communication between Designer s Architecture Decisions ARM7TDMI B1 B3 B2 SW DB 100MHz IRQ FIQ AMBA AHB, 50MHz, 32bit Cust. Software Synthesis CPU_1.bin CPU_2.bin CPU_3.bin ISS1 ISS2ISS3 ISS-based System Model Fig. 1. System design flow overview B2 Specification B1 C1 C2 SCE Engine TLM 1 TLM2 TLMn System Netlist Synthesis Design.xml C3 B3 Hardware Synthesis _1.v _2.v _3.v Component DB DB elements. Computation is grouped in behaviors, and communication is expressed in channels. Figure 1 contains a graphical representation of a simple specification. Boxes with rounded corners (B1-) symbolize behaviors. Each behavior basically contains C code, which is omitted for brevity. Behaviors can be composed hierarchically to allow complex structures. They can be behaviorally composed to execute in sequence, parallel, pipelined, or state machine controlled. Behaviors are statically connected and communicate through direct point-to-point channels (C1, C2, C3). These channels are selected from a feature-rich set of standardized channel types, which allow for a wide range of communication mechanisms similar to what is found in an operating system. Communication primitives include synchronous and asynchronous communication, blocking and non-blocking communication (e.g. FIFO), as well as for synchronization only (e.g. semaphore, mutex, barrier). A second input to our design flow contains the designer s architecture decisions describing the target platform as shown on the left of Figure 1. The architecture decisions include the allocation of processing elements (PEs), such as processors, and components, and the mapping of behaviors to PEs. The example shows the allocation of an ARM7TMI processor and one custom hardware component. The behaviors B1, B2, and B3 are mapped to the processor. These behaviors are later wrapped into tasks and the designer can select important task parameters, such as priority and stack size. In addition, the designer also selects communication refinement decisions. These decisions include bus system allocation, the mapping of channels to busses and the definition of essential communication parameters for each channel. For example, the user can select the synchronization scheme, such as polling or interrupt-based synchronization.
3 Based on the specification and the designer s architecture decisions, the SCE engine [8] then automatically generates a system TLM that reflects the architecture decisions. The SCE engine instantiates and connects components out of the component data base and populates them with the computation captured in the specification model. It refines the communication between processing elements from the standardized abstract channels to a communication based on the selected medium. The resulting model, the generated TLM (Figure 2), is the basis for system exploration, performance analysis and debugging. After the designer has validated the TLM to meet performance and quality expectations, the same TLM serves then as input for the back-end synthesis and SW generation. The output for the hardware side is RTL for each PE as well as the connecting netlist. Within software synthesis, SCE produces a final SW binary for each processor in the platform. The binary includes the application code, all drivers for communication in a heterogeneous system as well as an off-the-shelf if selected. The generated binary can either directly execute on the target processor or on an ISS-based co-simulation model for binary validation. The next sections describe the processor TLM, the software synthesis, and the binary validation using an ISS-based model. IV. PROCESSOR MODELING Abstract processor modeling is one approach to explore software execution performance during design space exploration. In addition, as outlined earlier, the processor model also serves as an input to software synthesis. The SCE engine generates a system TLM based on the designer s architecture decisions, containing a processor model [26] for each processor in the system. Figure 2 illustrates a system TLM. The processor model is captured in the SpecC SLDL and abstracts above processor s Instruction Set Architecture (ISA). In result, the native execution on the simulation host enables highest simulation speeds. Task B2 B1 C1 C2 MODEL UsrInt1 A B C SysInt Task B3 UsrInt2 CPU Sem1 Sem2 OS HAL Core Int Fig. 2. System Transaction Level Model [12] Driver Driver MAC TLM 1 Driver MAC Source Status Mask A B C Timer Control Load Our processor model is organized in layers. The innermost layer (CPU) captures the application itself. To emulate target specific execution timing, the SCE engine annotates the application with target-specific wait-for-time statements. The delays for those are statically determined through a profiling stage [4]. In order to explore the effects of dynamic scheduling, our processor model includes an abstract processor model [16] in Value the OS layer. It is implemented as a channel ( MODEL in Figure 2). In order to execute on top of the OS model, each parallel executing behavior is refined into a task (e.g. Task B2, Task B2), defining task execution control and scheduling policy parameters (i.e. task priority). Each primitive inside a task that could potentially trigger scheduling is wrapped to interact with the abstract model. The OS model, in turn, maintains a state machine for each task, and operates waiting and running queues similar to an actual implementation. It implements a scheduler and serializes task execution according to the selected scheduling policy and parameters. The processor model s next layer, the Hardware Abstraction Layer (HAL) contains a representation of the necessary drivers for external communication. The driver includes marshalling and demarshalling of user data to translate to and from a common untyped network data format. It furthermore includes low level drivers that implement external bus communication and synchronize with external sources. In particular, it implements the user selected synchronization mechanism, which is either polling- or interrupt-based. The example in Figure 2 uses interrupt synchronization. Together with the Core layer, our processor model contains the complete interrupt chain, starting from the external, through the system interrupt handler SysInt, via the user interrupt handler (e.g. UserInt2), and finally through a semaphore Sem2 that releases the user task executing the driver code. Communication outside the processor is modeled by a transaction level model of the bus, providing cycle approximate simulation with user transaction granularity. Our processor model expresses the essential features of task mapping, dynamic scheduling, interrupt handling, low level firmware, and hardware interrupt handling. It exposes performance implications of the design choices already early in the process. It executes faster than real-time with a high accuracy [26]. Since it is generated automatically, it serves as an exploration platform in the design space exploration to analyze architectural and mapping alternatives. It allows to validate important scheduling parameters and synchronization options, thus is an important means for system-level software development. V. SOFTWARE GENERATION Once the designer has achieved the expected performance and quality requirements with the system TLM, the same TLM is then used for software synthesis. To derive the embedded software from the TLM, software synthesis has to implement all SLDL language elements used inside the HAL (e.g. modules, tasks, channels, and port mappings) on the target processor. Instead of compiling the SLDL directly onto the target software platform, software synthesis generates target C code based on the information captured in the TLM to achieve compact and efficient software. We divide software generation into C code generation and HdS generation, see Figure 3. C code generation deals with the code inside each task and generates flat C code out of the hierarchical model captured in the SpecC SLDL. HdS generation creates code for processor internal and external communication, adjusts for multi-tasking finally generates configuration and build files (e.g. Makefile) for the cross compilation process.
4 SW DB - - Wrapper - HAL Software Synthesis Code Generation C Code Hardware Platform Exec. Fig. 3. Software generation flow [27] A. Code Generation TLM HdS Generation Multi-tasking Communucation Binary Image Build, Config. Cross Compiler and Linker Target Binary Virtual Platform Exec. Code generation [30] produces sequential C code for each task within a programmable component. It translates the application module hierarchy captured in the system TLM into the target programming language. The TLM s application modules use system level features of the SLDL that are not natively present in the targeted C language. Examples include hierarchy, concurrency, and communication encapsulation. In order to implement them on the target processor, code generation implements these SLDL features out of the available language constructs. It translates the hierarchical composition of behaviors in the SLDL into flat C-code consisting of functions and data structures. ANSI-C does not provide an encapsulation for behavior local storage. Therefore, all behaviors s local variables are added to a behavior-representing structure. It also translates communication between behaviors within the same task into function argument passing. Summarizing, code generation solves similar issues as early C++ to C compilers that translated a class hierarchy into flat C code. B. Hardware-dependent Software Generation The second portion of software generation is Hardwaredependent Software (HdS) generation [25]. HdS generation reads the decisions captured in the system TLM, and implements those on the target system. As such, it generates code for processor internal and external communication, including bus access drivers and synchronization code (polling or interrupt). HdS generation also creates code to execute multiple tasks on the same processor, e.g. by targeting an off-the-shelf. Finally, it generates configuration and build files (e.g. Makefile) that control the cross compilation process to produce the final target binary. The first aspect within the HdS generation the communication generation which deals with processor internal and external communication. For communication between tasks on the same processor, HdS generation replaces each standard communication channel that is used in the TLM, with an semantically equivalent target implementation, e.g. composed out of primitives. SW Application Drivers Abstraction Layer Interrupts HAL Fig. 4. Software stack for -based multi-tasking For external communication, we conceptually follow an ISO/OSI layering model to support communication in heterogeneous systems. HdS generation produces all driver code that is necessary for communication with external PEs. This driver code implements marshalling/demarshalling, packetization, channel-specific synchronization and adds a bus specific Media Access Control (MAC) driver to access the actual processor bus. Among other options, HdS generation offers synchronization through interrupts. For this, it implements the complete interrupt chain on the target processor from the low level assembly interrupt handler that preempts the currently running task, over the system interrupt handler that communicates with the to the user interrupt handler that finally releases the pending driver through a semaphore. To support multiple tasks executing on the same processor, HdS generation can adjust the task code to run on top of an offthe-shelf. It replaces the abstract calls for task management in the TLM, with corresponding target implementations. To limit the interdependency between the code generation and the particular OS s API we introduce a very thin Abstract Layer (RAL) that implements a common canonical API on top of the actual s API. Figure 4 shows the resulting software stack. HdS generation finally, produces build- and configuration files to control the cross compilation process and creates the final software binary. Figure 5 illustrates the process. The build process relies on a software database that captures the SW system components (e.g. an, port, HAL). The build and configuration files select and configure database components according to the decisions in the TLM. As such, they select a particular, with a suitable port to the selected processor. They include a hardware abstraction layer (HAL) Generated Code Software Synthesis Code Gen. FW Synth. Cross Compile and Link Target Binary Appl. Driver Int. TLM Libs RAL Port Startup HAL Build and Configuration Fig. 5. Compilation and linking generating final binary Processor Compiler Board SW DB - - Wrapper - HAL
5 based on the target platform, consisting of low-level drivers for the timer, the programmable interrupt controller (), and the bus accesses. The final target binary is created using a cross compiler and can execute on the target processor or on an ISS-based virtual platform. A virtual platform allows validation and development of the final software binaries already before the availability of real hardware. Figure 6 shows an ISS-based model for binary validation. To generate a virtual platform, our SW generation removes the internals of the abstract processor model starting with the HAL layer and replaces them with an ISS that is wrapped for integration into the system model. The ISS wrapper calls the ISS cycle-by-cycle and advances the system s simulated time according to the processor clock definition. It furthermore interfaces with the remaining design through bus accesses and interrupts. tor. Finally, + combines both media applications. The complexities of the selected target architecture range from a single processor solution to the more complex Mp3 +, which uses 4 I/O blocks, 3 accelerators and 4 busses (see Figure 7). We have used SCE for automatic generation of the system TLM for exploration and finally automatically generated the binaries for each application. To validate the correctness of the generated code, we executed each synthesized target binary on a virtual platform with an integrated ISS, SWARM ISS [7]. Each application executes functionally correct, yielding an output matching the specification. 100% 75% 50% ISS SLDL Wrapper ISS Library Process SW Application Drivers Abstraction Layer Interrupts HAL Core Prot. 1 Net Link Prot Source Status Mask A B C 2 B5 Net Link Prot Timer Control Load Value 25% 0% Automotive Fig. 8. Processor utilization MP3 SW + Fig. 6. Binary validation using ISS-based model VI. EXPERIMENTAL RESULTS To evaluate the effectiveness of our high-level design approach, we have applied it to five real-life examples. As an control application example, we model an Electronic Control Unit (ECU) containing an ARM7TDMI processor that executes three tasks: anti-lock break control, RPM computation, and engine fan controller. The remaining four examples are multimedia examples. compresses a BMP image. MP3 SW decodes an MP3 stream solely on a ARM7TDMI. To demonstrate the flexibility, we use the same specifications in combined examples. To decrease CPU utilization, first maps a portion of the synthesis filter to a hardware accelera- Figure 8 depicts the CPU utilization on the ARM7TDMI during the ISS-based simulation. It shows that the automotive control application only minimally utilizes the CPU. Both SW only media applications, however, are compute bound and result in 100% utilization. In case of the MP3 decoder, the deadline for frame decoding is exceeded. To meet real-time requirements and decrease the CPU utilization maps a compute intense portion of the synthesis filter to a accelerator. Here, the CPU utilization drops to 31% creating sufficient idle time for the combined example. After adding encoding the utilization reaches 90% 1. Figure 9 illustrates the absolute number of computation cycles on the ARM processor with similar trends like the CPU utilization. 200 M 150 M 100 M ARM7TDMI MP3 100MHz IRQ FIQ Left SYNTH DHS Right SYNTH DHS Cust. MAD Ouput DHS PCM OUT 50 M 0 M Automotive MP3 SW + Timer MP3 IN BMP IN Output AMBA AHB Fig. 9. Execution cycles [MCycles] Next, Figure 10 shows the number of generated lines of code Fig. 7. Example target architecture. 1 + still shows some idle time, since encoding finishes before the MP3 decoding.
6 for each application. It distinguishes between application and HdS code. The code size of the automotive example is dominated by the HdS as is it uses only a simple control algorithm, however, communicates with 9 sensors and actuators via 2 CAN busses. For the multi-media applications the amount of generated HdS increases with using accelerators due to the extra communication. A significant amount of HdS code is generated (e.g lines for Mp3 + ). In all examples, our software synthesis completes within a second. Assuming manually writing only the HdS code would take 12 to 79 hours (assuming 15 lines of correct code per hour [28]). This translates in a multiple thousand fold productivity gain. much faster than a manual implementation, in addition it also allows the designer to focus on the essential algorithms, without the burden of implementation details. Furthermore, an automated generation enables rapid design space exploration, as it can quickly and easily produce alternative solutions. ACKNOWLEDGMENTS The authors thank the SCE research team at the Center for Embedded Computer Systems at UC Irvine. The team s dedicated and creative work made the advances described in this paper possible. 15K Appl. HdS REFERENCES 10K 5K 0K Automotive Fig. 10. Generated lines of code MP3 SW VII. CONCLUSIONS + With the increase in system complexity and the increase in software content, manual software development and implementation becomes prohibidly expensive and increases the risk of missing the crucial time-to-market window. Embedded software generation is an essential aspect of implementing todays SoC as automatic generation avoids the tedious and error prone manual implementation. We have presented in this paper the software aspect of our ESL environment. It implements a systematic approach for generating the final target binaries from an abstract specification model. The design process begins with an abstract model containing the application specification as a set of parallel sequential behaviors that communicate through standardized abstract channels. Our ESL environment automatically generates a system TLM based on the designer s architecture decisions. Using this system TLM, the software generation then automatically generates the binaries for each processor in the system. The software generation includes application code generation, communication generation, multi-task generation, and binary image generation. Based on the platform decisions, it generates communication drivers, interrupt handlers, and adjusts for the target multi-tasking. Our experimental results show the generation of binaries for five real-life target applications that include different media applications and a control system. An automated software generation has many benefits. Primarily, it increases the productivity by eliminating the error-prone process of manual lowlevel software development. Automatic generation is not only [1] 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 Publishers, [2] L. Benini, D. Bertozzi, A. Bogliolo, F. Menichelli, and M. Olivier. MPARM: Exploring the Multi-Processor SoC Design Space with SystemC. VLSI Signal Processing, 41: , [3] A. Bouchhima, I. Bacivarov, W. Yousseff, M. Bonaciu, and A. Jerraya. Using Abstract CPU Subsystem Simulation Model for High Level /SW Architecture Exploration. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Shanghai, China, January [4] L. Cai, A. Gerstlauer, and D. D. Gajski. Retargetable profiling for rapid, early system-level design space exploration. In Proceedings of the Design Automation Conference (DAC), San Diego, CA, June [5] J. Cortadella, A. Kondratyev, L. Lavagno, M. Massot, S. Moral, C. Passerone, Y. Watanabe, and A. Sangiovanni-Vincentelli. Task Generation and Compile Time Scheduling for Mixed Data-Control Embedded Software. In Proceedings of the Design Automation Conference (DAC), Los Angeles, CA, June [6] CoWare. Virtual Platform Designer. com. [7] M. Dales. SWARM 0.44 Documentation. Department of Computer Science, University of Glasgow, Nov mwd24/phd/ swarm.html. [8] R. Dömer, A. Gerstlauer, J. Peng, D. Shin, L. Cai, H. Yu, S. Abdi, and D. Gajski. System-on-Chip Environment: A SpecC-based framework for heterogeneous MPSoC design. EURASIP Journal on Embedded Systems, [9] W. Ecker, W. Müller, and R. Dömer. Hardware dependent software: Introduction and overview. In W. Ecker, W. Müller, and R. Dömer, editors, Hardware Dependent Software: Principles and Practice. Springer, 2009.
7 [10] E. Foundation. Eclipse. org/. [11] T. Furukawa, S. Honda, H. Tomiyama, and H. Takada. A Hardware/Software Cosimulator with Supports for Multiprocessor Embedded Systems. In Proceedings of International Conference on Embedded Software and Systems, Daegu, Korea, [12] D. D. Gajski, S. Abdi, A. Gerstlauer, and G. Schirner. Embedded System Design: Modeling, Synthesis and Verification. Springer, [13] D. D. Gajski, J. Zhu, R. Dömer, A. Gerstlauer, and S. Zhao. SpecC: Specification Language and Design Methodology. Kluwer Academic Publishers, [14] L. Gauthier, S. Yo, and A. A. Jerraya. Automatic Generation and Targeting of Application-Specific Operating Systems and Embedded Systems Software. IEEE Transactions on Computer-Aided Design of Intergrated Circuits and Systems (TCAD), 20(11), Nov [15] P. Gerin, S. Yoo, G. Nicolescu, and A. A. Jerraya. Scalable and Flexible Cosimulation of SoC Designs with Heterogeneous Multi-Processor Target Architectures. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan, Jan [16] A. Gerstlauer, H. Yu, and D. D. Gajski. Modeling for System Level Design. In DATE, Munich, Germany, March [17] T. Grötker, S. Liao, G. Martin, and S. Swan. System Design with SystemC. Kluwer Academic Publishers, [18] F. Herrera et al. Systematic Embedded Software Generation from SystemC. In DATE, Munich, Germany, Mar [19] S. Honda et al. -Centric Hardware/Software Cosimulator for Embedded System Design. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, Stockholm, Sweden, Sept [20] S. Hong, S. Yoo, S. Lee, S. Lee, H. J. Nam, B.-S. Yoo, J. Hwang, D. Song, J. Kim, J. Kim, H. Jin, K.-M. Choi, J.-T. Kong, and S. Eo. Creation and Utilization of a Virtual Platform for Embedded Software Optimization: An Industrial Case Study. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, Seoul, South Korea, Oct [23] H. Posadas, J. A. Adamez, E. Villar, F. Blasco, and F. Escuder. Modeling in SystemC for Real-Time Embedded SW Simulation: A POSIX Model. Design Automation for Embedded Systems, 10(4): , Dec [24] S. Ritz, M. Pankert, V. Zivojnvic, and H. Meyr. High- Level Software Synthesis for the Design of Communication Systems. IEEE Journal on Selected Areas in Communications, Apr [25] G. Schirner, R. Dömer, and A. Gerstlauer. Highlevel development, modeling and automatic generation of hardware-dependent software. In W. Ecker, W. Müller, and R. Dömer, editors, Hardware Dependent Software: Principles and Practice. Springer, [26] G. Schirner, A. Gerstlauer, and R. Dömer. Abstract, multifaceted modeling of embedded processors for system level design. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan, January [27] G. Schirner, A. Gerstlauer, and R. Dömer. Automatic Generation of Hardware dependent Software for MPSoCs from Abstract System Specifications. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Seoul, Korea, Jan [28] W. A. Wood and W. L. Kleb. Exploring XP for Scientific Research. IEEE Software, 20(3), May [29] S. Yoo, G. Nicolescu, L. Gauthier, and A. Jerraya. Automatic Generation of Fast Timed Simulation Models for Operating Systems in SoC Design. In DATE, Paris, March [30] H. Yu, R. Dömer, and D. Gajski. Embedded Software Generation from System Level Design Languages. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan, Jan [31] H. Zabel, W. Müller, and A. Gerstlauer. Accurate modeling and analysis with SystemC. In W. Ecker, W. Müller, and R. Dömer, editors, Hardware Dependent Software: Principles and Practice. Springer, [21] T. Kempf, K. Karuri, S. Wallentowitz, G. Ascheid, R. Leupers, and H. Meyr. A SW performance estimation framework for early System-Level-Design using fine-grained instrumentation. In DATE, Munich, Germany, Mar [22] M. Krause, O. Bringmann, and W. Rosenstiel. Target software generation: An approach for automatic mapping of SystemC specifications onto real-time operating systems. Design Automation for Embedded Systems, 10(4): , Dec
System-On Chip Modeling and Design A case study on MP3 Decoder
System-On Chip Modeling and Design A case study on MP3 Decoder Pramod Chandraiah, Hans Gunar Schirner, Nirupama Srinivas and Rainer Doemer CECS Technical Report 04-17 June 21, 2004 Center for Embedded
Virtual Platforms in System-on-Chip Design
Virtual Platforms in System-on-Chip Design Katalin Popovici 1 and Ahmed A. Jerraya 2 1 The MathWorks, Inc., Natick, MA, USA 2 CEA-LETI, Grenoble, France Notice of Copyright This material is protected under
ESE566 REPORT3. Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU
ESE566 REPORT3 Design Methodologies for Core-based System-on-Chip HUA TANG OVIDIU CARNU Nov 19th, 2002 ABSTRACT: In this report, we discuss several recent published papers on design methodologies of core-based
A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software RTOS
A Framework for Automatic Generation of Configuration Files for a Custom Hardware/Software Jaehwan Lee, Kyeong Keol Ryu and Vincent John Mooney III School of Electrical and Computer Engineering Georgia
Outline. Introduction. Multiprocessor Systems on Chip. A MPSoC Example: Nexperia DVP. A New Paradigm: Network on Chip
Outline Modeling, simulation and optimization of Multi-Processor SoCs (MPSoCs) Università of Verona Dipartimento di Informatica MPSoCs: Multi-Processor Systems on Chip A simulation platform for a MPSoC
Architectures and Platforms
Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation
7a. System-on-chip design and prototyping platforms
7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit
Early Hardware/Software Integration Using SystemC 2.0
Early Hardware/Software Integration Using SystemC 2.0 Jon Connell, ARM. Bruce Johnson, Synopsys, Inc. Class 552, ESC San Francisco 2002 Abstract Capabilities added to SystemC 2.0 provide the needed expressiveness
Multiprocessor System-on-Chip
http://www.artistembedded.org/fp6/ ARTIST Workshop at DATE 06 W4: Design Issues in Distributed, CommunicationCentric Systems Modelling Networked Embedded Systems: From MPSoC to Sensor Networks Jan Madsen
SystemC Tutorial. John Moondanos. Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley
SystemC Tutorial John Moondanos Strategic CAD Labs, INTEL Corp. & GSRC Visiting Fellow, UC Berkeley SystemC Introduction Why not leverage experience of C/C++ developers for H/W & System Level Design? But
MPSoC Virtual Platforms
CASTNESS 2007 Workshop MPSoC Virtual Platforms Rainer Leupers Software for Systems on Silicon (SSS) RWTH Aachen University Institute for Integrated Signal Processing Systems Why focus on virtual platforms?
BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH
WHITE PAPER METRIC-DRIVEN VERIFICATION ENSURES SOFTWARE DEVELOPMENT QUALITY BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH INTRODUCTION The complexity of electronic systems is rapidly
Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de [email protected] NIOS II 1 1 What is Nios II? Altera s Second Generation
Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T
Eingebettete Systeme 4: Entwurfsmethodik, HW/SW Co-Design echnische Informatik System Level Design: ools and Flow Refinement of HW/SW Systems ools for HW/SW Co-Design C-based design of HW/SW Systems echnische
Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics
Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics Frank Schirrmeister, Filip Thoen [email protected] Synopsys, Inc. Market Trends & Challenges Growing electronics
SystemC - NS-2 Co-simulation using HSN
Verona, 12/09/2005 SystemC - NS-2 Co-simulation using HSN Giovanni Perbellini 1 REQUIRED BACKGROUND 2 2 GOAL 2 3 WHAT IS SYSTEMC? 2 4 WHAT IS NS-2? 2 5 WHAT IS HSN? 3 6 HARDWARE-NETWORK COSIMULATION 3
ELEC 5260/6260/6266 Embedded Computing Systems
ELEC 5260/6260/6266 Embedded Computing Systems Spring 2016 Victor P. Nelson Text: Computers as Components, 3 rd Edition Prof. Marilyn Wolf (Georgia Tech) Course Topics Embedded system design & modeling
Tensilica Software Development Toolkit (SDK)
Tensilica Datasheet Tensilica Software Development Toolkit (SDK) Quickly develop application code Features Cadence Tensilica Xtensa Xplorer Integrated Development Environment (IDE) with full graphical
Introduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
EBERSPÄCHER ELECTRONICS automotive bus systems. solutions for network analysis
EBERSPÄCHER ELECTRONICS automotive bus systems solutions for network analysis DRIVING THE MOBILITY OF TOMORROW 2 AUTOmotive bus systems System Overview Analyzing Networks in all Development Phases Control
YAML: A Tool for Hardware Design Visualization and Capture
YAML: A Tool for Hardware Design Visualization and Capture Vivek Sinha, Frederic Doucet, Chuck Siska, Rajesh Gupta, Stan Liao, Abhijit Ghosh Center for Embedded Computer Systems, University of California,
Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association
Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
Adapting Embedded Systems Framework to Provide Virtualization: the Hellfire Case Study
Adapting Embedded Systems Framework to Provide Virtualization: the Hellfire Case Study Alexandra Aguiar, Sérgio J. Filho, Felipe G. Magalhães, Fabiano Hessel Faculty of Informatics PUCRS Av. Ipiranga 6681,
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada [email protected] Micaela Serra
Application of UML in Real-Time Embedded Systems
Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: [email protected] Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,
Embedded Software development Process and Tools:
Embedded Software development Process and Tools: Lesson-2 Integrated Development Environment (IDE) 1 1. IDE 2 Consists of Simulators editors, compilers, assemblers, etc., IDE 3 emulators logic analyzers
Designing Real-Time and Embedded Systems with the COMET/UML method
By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design
Model-Driven Software Development for Robotics: an overview
Model-Driven Software Development for Robotics: an overview IEEE-ICRA2011 Workshop on Software Development and Integration in Robotics Jan F. Broenink, Maarten M. Bezemer Control Engineering, University
System Software Integration: An Expansive View. Overview
Software Integration: An Expansive View Steven P. Smith Design of Embedded s EE382V Fall, 2009 EE382 SoC Design Software Integration SPS-1 University of Texas at Austin Overview Some Definitions Introduction:
A Generic Network Interface Architecture for a Networked Processor Array (NePA)
A Generic Network Interface Architecture for a Networked Processor Array (NePA) Seung Eun Lee, Jun Ho Bahn, Yoon Seok Yang, and Nader Bagherzadeh EECS @ University of California, Irvine Outline Introduction
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
High Performance or Cycle Accuracy?
CHIP DESIGN High Performance or Cycle Accuracy? You can have both! Bill Neifert, Carbon Design Systems Rob Kaye, ARM ATC-100 AGENDA Modelling 101 & Programmer s View (PV) Models Cycle Accurate Models Bringing
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications
GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102
Embedded Development Tools
Embedded Development Tools Software Development Tools by ARM ARM tools enable developers to get the best from their ARM technology-based systems. Whether implementing an ARM processor-based SoC, writing
AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS
International Journal of Software Engineering and Knowledge Engineering World Scientific Publishing Company AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS
Bus Data Acquisition and Remote Monitoring System Using Gsm & Can
IOSR Journal of Electrical and Electronics Engineering (IOSR-JEEE) e-issn: 2278-1676,p-ISSN: 2320-3331, Volume 8, Issue 3 (Nov. - Dec. 2013), PP 88-92 Bus Data Acquisition and Remote Monitoring System
Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert
Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications
on-chip and Embedded Software Perspectives and Needs
Systems-on on-chip and Embedded Software - Perspectives and Needs Miguel Santana Central R&D, STMicroelectronics STMicroelectronics Outline Current trends for SoCs Consequences and challenges Needs: Tackling
HARDWARE IMPLEMENTATION OF TASK MANAGEMENT IN EMBEDDED REAL-TIME OPERATING SYSTEMS
HARDWARE IMPLEMENTATION OF TASK MANAGEMENT IN EMBEDDED REAL-TIME OPERATING SYSTEMS 1 SHI-HAI ZHU 1Department of Computer and Information Engineering, Zhejiang Water Conservancy and Hydropower College Hangzhou,
Real-Time Operating Systems for MPSoCs
Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor
Computer Organization & Architecture Lecture #19
Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of
Embedded Systems. 6. Real-Time Operating Systems
Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track)
Plan Number 2009 Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track) I. General Rules and Conditions 1. This plan conforms to the regulations of the general frame of programs
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
MOST PCI Tool Kit. Overview. Ordering Information. Experience the Versatile MOST PC Interfaces. www.smsc-ais.com
Experience the Versatile MOST PC Interfaces Overview The MOST PCI Tool Kit (TK) is a combination of new MOST PC Interfaces accompanied by a software bundle offering a variety of multimedia applications
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components
Extending the Power of FPGAs. Salil Raje, Xilinx
Extending the Power of FPGAs Salil Raje, Xilinx Extending the Power of FPGAs The Journey has Begun Salil Raje Xilinx Corporate Vice President Software and IP Products Development Agenda The Evolution of
synthesizer called C Compatible Architecture Prototyper(CCAP).
Speed Improvement of AES Encryption using hardware accelerators synthesized by C Compatible Architecture Prototyper(CCAP) Hiroyuki KANBARA Takayuki NAKATANI Naoto UMEHARA Nagisa ISHIURA Hiroyuki TOMIYAMA
Design of a High Speed Communications Link Using Field Programmable Gate Arrays
Customer-Authored Application Note AC103 Design of a High Speed Communications Link Using Field Programmable Gate Arrays Amy Lovelace, Technical Staff Engineer Alcatel Network Systems Introduction A communication
Performance Comparison of RTOS
Performance Comparison of RTOS Shahmil Merchant, Kalpen Dedhia Dept Of Computer Science. Columbia University Abstract: Embedded systems are becoming an integral part of commercial products today. Mobile
Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support
Seamless Hardware/Software Performance Co-Monitoring in a Codesign Simulation Environment with RTOS Support L. Moss 1, M. de Nanclas 1, L. Filion 1, S. Fontaine 1, G. Bois 1 and M. Aboulhamid 2 1 Department
International Workshop on Field Programmable Logic and Applications, FPL '99
International Workshop on Field Programmable Logic and Applications, FPL '99 DRIVE: An Interpretive Simulation and Visualization Environment for Dynamically Reconægurable Systems? Kiran Bondalapati and
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
Predictable response times in event-driven real-time systems
Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour [email protected]
Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin
BUS ARCHITECTURES Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin Keywords: Bus standards, PCI bus, ISA bus, Bus protocols, Serial Buses, USB, IEEE 1394
A SoC design flow based on UML 2.0 and SystemC
A SoC design flow based on UML 2.0 and SystemC Sara Bocchio 1, Elvinia Riccobene 2, Alberto Rosti 1, and Patrizia Scandurra 3 1 STMicroelectronics, AST Agrate Lab R&I, Italy {sara.bocchio, alberto.rosti}@st.com
http://d-nb.info/1041302002
Contents 1 Introduction 1 1.1 Requirements for Evaluation Techniques 1 1.2 Performance Evaluation Techniques 2 1.2.1 Network Testbeds / Real-World Measurements 2 1.2.2 Network Simulators 3 1.2.3 Analytic
A Processor Generation Method from Instruction Behavior Description Based on Specification of Pipeline Stages and Functional Units
A Processor Generation Method from Instruction Behavior Description Based on Specification of Pipeline Stages and Functional Units Takeshi SHIRO, Masaaki ABE, Keishi SAKANUSHI, Yoshinori TAKEUCHI, and
Cloud Computing. Up until now
Cloud Computing Lecture 11 Virtualization 2011-2012 Up until now Introduction. Definition of Cloud Computing Grid Computing Content Distribution Networks Map Reduce Cycle-Sharing 1 Process Virtual Machines
Intel CoFluent Methodology for SysML *
Intel CoFluent Methodology for SysML * UML* SysML* MARTE* Flow for Intel CoFluent Studio An Intel CoFluent Design White Paper By Thomas Robert and Vincent Perrier www.cofluent.intel.com Acronyms and abbreviations
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Using the TASKING Software Platform for AURIX
Using the TASKING Software Platform for AURIX MA160-869 (v1.0rb3) June 19, 2015 Copyright 2015 Altium BV. All rights reserved. You are permitted to print this document provided that (1) the use of such
Systems on Chip Design
Systems on Chip Design College: Engineering Department: Electrical First: Course Definition, a Summary: 1 Course Code: EE 19 Units: 3 credit hrs 3 Level: 3 rd 4 Prerequisite: Basic knowledge of microprocessor/microcontroller
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM
STUDY AND SIMULATION OF A DISTRIBUTED REAL-TIME FAULT-TOLERANCE WEB MONITORING SYSTEM Albert M. K. Cheng, Shaohong Fang Department of Computer Science University of Houston Houston, TX, 77204, USA http://www.cs.uh.edu
Introduction to System-on-Chip
Introduction to System-on-Chip COE838: Systems-on-Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University
High-Level Synthesis for FPGA Designs
High-Level Synthesis for FPGA Designs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer consultant Cereslaan 10b 5384 VT Heesch
Chapter 12. Development Tools for Microcontroller Applications
Chapter 12 Development Tools for Microcontroller Applications Lesson 01 Software Development Process and Development Tools Step 1: Development Phases Analysis Design Implementation Phase 1 Phase 2 Phase
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Rapid System Prototyping with FPGAs
Rapid System Prototyping with FPGAs By R.C. Coferand Benjamin F. Harding AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of
A case study of mobile SoC architecture design based on transaction-level modeling
A case study of mobile SoC architecture design based on transaction-level modeling Eui-Young Chung School of Electrical & Electronic Eng. Yonsei University 1 EUI-YOUNG(EY) CHUNG, EY CHUNG Outline Introduction
Embedded Software development Process and Tools: Lesson-1
Embedded Software development Process and Tools: Lesson-1 Introduction to Embedded Software Development Process and Tools 1 1. Development Process and Hardware Software 2 Development Process Consists of
SEMS: The SIP Express Media Server. FRAFOS GmbH
SEMS: The SIP Express Media Server FRAFOS GmbH Introduction The SIP Express Media Server (SEMS) is a VoIP media and application platform for SIP based VoIP services. SEMS offers a wide selection of media
INDUSTRIAL CONTROL TECHNOLOGY. A Handbook for Engineers and Researchers. Peng Zhang. Beijing Normal University, People's Republic of China
INDUSTRIAL CONTROL TECHNOLOGY A Handbook for Engineers and Researchers Peng Zhang Beijing Normal University, People's Republic of China Ш I William I Andrew Norwich, NY, USA Contents Preface 1 Sensors
MOST Training and Workshops
Get the Know-How for Your Projects One of SMSC's primary goals is to support its customers with the design process throughout all phases of their product development cycle. SMSC s MOST training modules
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Codesign: The World Of Practice
Codesign: The World Of Practice D. Sreenivasa Rao Senior Manager, System Level Integration Group Analog Devices Inc. May 2007 Analog Devices Inc. ADI is focused on high-end signal processing chips and
UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS
APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS This document provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some additional
Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic
Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic Clifford Wolf, Johann Glaser, Florian Schupfer, Jan Haase, Christoph Grimm Computer Technology /99 Overview Ultra-Low-Power
A Codesign Virtual Machine for Hierarchical, Balanced Hardware/Software System Modeling
A Codesign Virtual Machine for Hierarchical, Balanced Hardware/Software System Modeling JoAnn M. Paul, Simon N. Peffers, and Donald E. Thomas Center for Electronic Design Automation Carnegie Mellon University
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Real-Time Multitasking in Arduino. Pasquale Buonocunto, Alessandro Biondi, Pietro Lorefice
Real-Time Multitasking in Arduino Pasquale Buonocunto, Alessandro Biondi, Pietro Lorefice 1 Who I am Pasquale Buonocunto PhD Fellow at Scuola Superiore Sant'Anna Graduated cum Laude (Oct 2012) in Computer
STM32JAVA. Embedded Java Solutions for STM32
STM32JAVA Embedded Java Solutions for STM32 What is STM32Java? Solution to develop and to deploy software applications on STM32F0 to STM32F7 microcontrollers using Java Help to reduce the total cost of
SDLC Controller. Documentation. Design File Formats. Verification
January 15, 2004 Product Specification 11 Stonewall Court Woodcliff Lake, NJ 07677 USA Phone: +1-201-391-8300 Fax: +1-201-391-8694 E-mail: [email protected] URL: www.cast-inc.com Features AllianceCORE
