Exploring SW Performance using SoC Transaction-level Modeling

Size: px
Start display at page:

Download "Exploring SW Performance using SoC Transaction-level Modeling"

Transcription

1 Exploring SW Performance using SoC Transaction-level Modeling Imed Moussa, Thierry Grellier and Giang Nguyen TNI-Valiosys, France {imed.moussa, Abstract This paper presents VISTA, a new methodology and tool dedicated to analyse system level performance by executing full-scale SW application code on a transaction-level model of the SoC platform. The SoC provider provides a cycle-accurate functional model of the SoC architecture using the basic SystemC Transaction Level Modeling (TLM) components provided by VISTA : bus models, memories, IPs, CPUs, and RTOS generic services. These components have been carefully designed to be integrated into a SoC design flow with an implementation path for automatic generation of IP HW interfaces and SW device drivers. The application developer can then integrate the application code onto the SoC architecture as a set of SystemC modules. VISTA supports cross-compilation on the target processor and back annotation, therefore bypassing the use of an ISS. We illustrate the features of VISTA through the design and simulation of an MPEG video decoder application. 1. Introduction One of the reasons for the focus on SW is the lagging SW design productivity compared to rising complexity. Although SoCs and board-level designs share the general trend toward using software for flexibility, the criticality of the software reuse problem is much worse with SoCs. The functions required of these embedded systems have increased markedly in complexity, and the number of functions is growing just as fast. Coupled with quickly changing design specifications, these trends have made it very difficult to predict development cycle time. Meanwhile, the traditional embedded systems software industry has so far not addressed issues of "hard constraints," such as reaction speed, memory footprint and power consumption, because they are relatively unimportant for traditional, board-level development systems [1, 2, 3, 4]. But, these issues are critical for embedded software running on SoCs. VISTA is targeted to address the system-level design needs and the SW design reuse needs for SoC design. 2. VISTA Methodology Approach System level architects and application SW developers look for performance analysis and overall behavior of the system. They do not necessarily need and cannot make use of a cycle-accurate model of the SoC platform. However, a pure un-timed C model is not satisfactory either since some timing notions will still be required for performance analysis or power consumption. The capability of VISTA to bring HW/SW SoC modeling and characterization to the fore is key. VISTA can be decomposed into at least two major use paradigms: 1- Creation of the SoC virtual platform for system analysis and architecture exploration. 2- Use of the SoC virtual platform for SW development and system analysis by the systems houses SW or system designers. Before system performance analysis, the designer has to leverage the existing HW library delivered with VISTA to create the appropriate SoC platform architecture. The generic VISTA elements delivered in the library include: Bus (STBus, AHB/APB), Memories, Peripherals (timers, DMA, IOs, etc.) and RTOS elements.

2 Platform capture Generated Skeleton and accesses System Back-Annotation C++ com pilation Instrumented SystemC Model Vista Libs : Extended SystemC Kernel RTOS model Bus model System Analysis System Simulator Figure 1: VISTA Design and Analysis Flow Using the provided virtual model of the SoC, including the hardware abstraction layer and the RTOS layer, system designers and application SW designers can use VISTA to simulate and analyze system performance in terms of latency, bus loading, memory accesses, arbitration policy, tasks activity. These parameters allow for exploring SW performance as it can be seen for the video decoder application presented in the next section. The first step during the design flow is to create the application tasks in C. Next, using VISTA graphical front-end, the applications tasks and RTOS resources can be allocated on the black-box. Preliminary simulation can now be performed by executing the application code on the virtual platform to ensure that the code is functionally correct. Then, the code is crosscompiled on the target processor. VISTA will process the output from the cross-compilation phase in order to create timing information, which can be back annotated on the original application code to reflect in situ execution of the code on the target platform. Finally, timed simulation can be performed to analyze for system performance and power consumption. The information extracted from this phase can enable the SW developer to further develop and refine the application code. VISTA s simulator is a compiled C++ program that takes advantage of the SystemC2.0 kernel, modified so as to get proper debugging and tracing information. The simulator is launched either as a stand-alone process or as a dynamic library loaded into the process of the GUI. Ideally both options should be available as option one is easier to debug and option two is faster. Several simulation modes are possible. First, interactive simulation: the user can set graphical input devices on ports of the diagram, like sliders, knobs, etc. Outputs can be monitored similarly by setting waveform viewers like the one shown below, which gathers in one single window the functionality of an oscilloscope (continuous traces) and of a logic analyzer (discrete traces). Interactive simulation is essential in the prototyping phases of a software development. Secondly, batch simulation will also be possible Abstract Communication The accesses are a mechanism to abstract the communication between the modules and allow a seamless refinement of the communication into the IP modules from the functional level to the transactional level. SystemC2.0 already provides ports and channels for this purpose. We have enriched the channel notion with introducing a pattern of three related modules: 1. The slave access first publishes the operations to the channel. It is notified the channel transactions corresponding to these operation invocations, and accepts or rejects them. For example, the amba slave access notifies the amba bus channel whether a transaction is ok, fails or needs to be split. Note that the publishing mechanism makes that a slave

3 access doesn t need to reproduce the slave module interfaces. A slave access can be shared by several modules, but can only be bound to a single channel. 2. The channel is a pure transactional model of the communication. It guards the actual invocation of the slave operation until the communication transactions are completed. Data are not circulating through the channel, so far they are transmitted within the parameters of the operation. So only the relevant information for an arbitration are given, such as the amount of bytes to transmit, and the word size. If we refer to the simple bus transactional interface defined in [5], a vista channel interface is quite similar, only the parameters regarding the data transmission are discarded. The channel can also contain a runtime modifiable configuration to analyse a system performance. For example a bus channel can have a configurable cycle rate, a FIFO channel may have a configurable depth. It may also contain some measures from which reveling statistics can be extracted or computed within the channel model. 3. The master access is used to encapsulate the invocation of a slave operation through a channel. Each encapsulated operation is called in two steps, the first step is the decode phase to identify the serving slave operation, and then the invocation of the operation through the channel. This invocation adds new parameters to the slave operation which configures the channel transactions to be generated. Note that a master access only addresses a single channel, and that it can invocate a subset of the operations of several slaves, so that it has its own interface which may differ from the union of the slaves interfaces and doesn t require to be an explicit sc_interface. IP Master Master Access TLM Channel Slave Access IP Slave void process() { access->op1 (); void op1() { op1_t op = decode(); (*op)(); Generic Bus + Config. (AHB, Stbus,..) void op1() ; void op2() ; op1_t m_op1; op2_t m_op2 Or Fifo Figure 2 : Abstract Communication Access Defining the accesses module is very straight forward so far they follow a simple pattern. This is why our tool is able of generating the accesses code with very little configuration information once the communication channel is chosen. Figure2 shows the example of accesses to a bus communication channel. It combines UML class diagrams to describe modules and SystemC2.0 [6] graphical notation for ports and interfaces. Furthermore a graphical notation has been introduced to stereotype the accesses modules. It can be used as a full replacement to the class diagram. Both the master and the slave accesses can be customized by a policy. In the case of the master access, this policy indicates whether two concurrent operation calls by the master IP are serialized or have interlaced transactions within the access. The channel is indeed only capable of managing the concurrency between master accesses, but remains a concurrency between the threads of the modules sharing a master access. The slave access policy determines the concurrency on the operations provided by the slave IP. Several masters can generate several interleaved transactions to the same slave, especially when the slave splits the transactions, requiring the slave to have a customizable concurrency policy. IP Master TLM Bus Saccess Maccess TLM Fifo IP Slave void process() { access->op1 (); write(n); read(n); Composition push(n); pop(n) void op1() ; void op2() ; op1_t m_op1; op2_t m_op2 Figure 3 : Channel composition : Master and slave accesses composition

4 At last, one may think of composing channels. For example, a slave IP can be first attached to a FIFO channel which master access could then become the slave access of a bus channel. These compositions can be the beginning of a methodology to refine the communication of a system and progressively going from a purely functional model to an architectural timed model. A first step would be to detach some functions of the sequential algorithm into modules that prefigures the architecture. Then regarding the iteration on the data, between the functions, one may start ahead the detached function as soon as it has enough data to start with, for example a subset of a picture. This is quite the same idea of setting a pipeline communication, so one may then prepare a communication through a Fifo channel to synchronize the execution flow of the detached functions. Note that the Fifo can also store control so far these a operation calls which are stacked. At this stage we a system level model very similar to what we can have with SDL. We can introduce timing at this stage to analyse the the parallelism of the all system. Then one may decide the partitioning of the system and thus share the communication resources. Hence a bus can refine the fifo communications, some data passing can be referring a shared memory. This is generally the impact of hardware level resource sharing which is ignored by the other specification languages which stops their analysis at the Fifo level. 2.2 Timing Annotation Providing timing annotations is a complex task. The camera module example shows the limited underlying systemc 2.0 mechanisms. Mainly we rely on an event which is never notified but this event has a timeout to resume the execution. This is satisfying for the hardware models, not for the software models. These models shall distinguish active wait from passive wait. The approach is very similar to SystemC 3.0 direction [8], with the wait and consume functions, though some other aspects are also taken into consideration which leads to have several consume-like functions. The goal is to avoid annotating and recompiling anew the system each time a new cpu is selected, or each time a cpu frequency changes. Hence the annotation doesn t contain a timing, but a timing table index. The table indexes are the cpu index and the code chunk index. The cpu index is maintained by the simulation engine. void consume(int cycle_idx, int ad_idx = 0); vs_timing_table_t consume(vs_timing_table_t, int cycle_idx, vs_address_table_t = 0, int ad_idx); Because of the function inlining, preserving the modularity of the compilation requires to have a separate consume function that allows to change the current timing table and thus using the inline function tables. The timing in the table doesn t include absolute time, but a number of CPU cycles so that the elapsed time can be calculated accordingly to the CPU frequency. The last parameter is for a future version : the idea is to use a code offset to take into account the effect of an instruction cache. The consume functions shall be regarded as transaction calls to the operating system which guards the execution of the code. Consume suspends the execution of the code until the cycles required to execute this code have been allocated to that particular segment. Then one have to decide of the good tradeoffs for the simulation speed and the granularity of the annotations. 3. MPEG Video Decoder Case Study The MPEG video decoder is a demo built to show the way of modeling a system at transaction level with the access mechanism. Its purpose was to get a hint on how fast a simulation of this level could, and which details are necessary to build an analysis. The first step was to design the platform architecture. The edit mode of the tool allows to draw the hierarchical blocks of the design with their operations. We can either define new modules or reuse existing ones that are already included into a component library. Some components are provided with the tool such as the AMBA AHB bus. We made a simplified system with 8 modules having one to two sc_threads : A control unit (SW) organizing all the data flows between the modules. It contains 2 threads, one to control the reception and the other to control the emission. The CPU has not been modeled. A memory, present uniquely to model the transactions to it. Figure 4 : MPEG system capture A camera (HW), getting the speaker video sequence, and writing video frames to memory. An extract of the code is shown in figure 5 and figure 6. The module define an operation start_capture following the access pattern. It also contains a sc_thread that repesents the filming action. A

5 sc_event is used to trigger the sc_thread within start_capture. Once the camera is filming the sc_thread has a timed execution with a wait. This wait is not triggered by the start_capture but by a timeout. SystemC 2.0 currently enforces the usage of an event here though. // master access definition struct camera_master:vs_amba_ahb_master { void write(const vs_address_t ad, const int num_bytes) { vs_amba_ahb_transaction tx( this, m_write->slave(), ad, num_bytes, // slave vs_amba_ahb_transaction::tx_write, access definition typedef vs_amba_ahb_slave camera_slave; typedef camera_slave::communication_if:: op<void, false, TYPELIST_1(const vs_address_t)> vs_amba_ahb_transaction::hsz_32_bits, vs_amba_ahb_transaction::brst_incr*256, vs_amba_ahb_transaction::tr_sequential); (*m_write)(vs_bus_base::master_exclusive, 1,&tx, ad, num_bytes); memory_write_op* m_write; void end_of_elaboration() {decode(m_write, mem::begin, mem::write); camera_master(const char* name) : vs_amba_ahb_master(name) { ; Figure 5 : Access code A graphic card (HW), reading and composing the in and out images to print them. A codec which emulates the memory transactions to encode and decode the images. One would have prefer reusing an IP which hasn t been delivered in time, so we have made it a transaction generator. A modem (HW) which emulates the transaction to emit the encoded picture and receive a picture accordingly to a baud rate. A video card which combines both pictures and synchronize with a GUI posix thread tracing the images. A keyboard to activate the flows and switch between simple and double display. The tool generates code for the accesses to the bus and a skeleton of module to be completed with the operation implementation. Then everything is compiled and linked to obtain a simulator of the platform. The simulator can be launched as a self standing simulator like a classical SystemC2.0 program, or one may use the VISTA tool to control and monitor the execution of the simulation (step by step, continuous, pause, resume). // serving module definition SC_MODULE(camera) { sc_port<vs_slave_access_if> m_slave_access; sc_port<camera_master> m_master_access; void start_capture(const vs_address_t) { { m_dest = dest; m_capturing = true; m_vid_seq.reset(); m_do_capture.notify(); camera_start_capture_op m_start_capture; enum { START_CAPTURE = 0x000000F0, ; void end_of_elaboration() { m_slave_access->add_op(&m_start_capture, START_CAPTURE); void capture_image() { while (1) { if (m_capturing) vs_wait(17, SC_MS); // 60 img/second else wait(m_do_capture); m_vid_seq.next_frame(); sc_event m_do_capture; bool m_capturing; qcif_reader m_vid_seq; vs_address_t m_dest; SC_CTOR(camera) : m_start_capture(this, &camera::start_capture), m_vid_seq("back"), m_capturing(false), { SC_THREAD(capture_image);;end_module(); ; Figure 6 : IP Module code Figure 7: VISTA Analysis session The tool also allows to drag observable variables to an oscilloscope which displays their states. These variables are figured like kind of output ports in the tool. The tool can interact with the simulation to change some settings of the system for analysis purpose. Some configuration variables can be introduced in a system model. They are figured like kind of inputs ports. These observable and configuration variables are provided with the vista library : there are no signals at the transactional level of abstraction. VISTA embeds a protocol which allows to run the monitoring and the simulator tools on two different

6 hosts. It even allows to monitor SystemC programs without having modeled them with the tool. Using these vista variables allows to drive an analysis session illustrated in figure 7. For example, one may think of increasing or decreasing the baud rate of the modem or its buffer size. One may also maintain a an observable Boolean variable, true as long as a percentile of missed frame occurs. 4. Conclusion We have presented a new methodology and tool for modeling SoC virtual platform for SW development and system level performance analysis and exploration. Using our VISTA methodology approach, we have been able to simulate the performances of a limited Visio phone system by generating bus transactions per second, and running 0.5 second real time simulation in 20s while having the traces activated. This environment is not primary intended for debugging a system. Some defects may be rather difficult to be shown with the tool, and the assertions may hardly be used for other purposes than performance and parallelism analysis due to the computational model. But we think that such a level of modelling can allow to extract a formal specification of the system, if the communication channels are previously formalized. [8,9]. 5. References [1] Kanishka Lahiri, Anand Raghunathan, Sujit Dey, Fast Performance Analysis of Bus-Based System-On- Chip Communication Architectures. Proceedings of the IEEE/ACM International Conference on Computer- Aided Design (ICCAD),November [2] Frederic Doucet, Rajesh K. Gupta, Microelectronic System-on-Chip Modeling using Objects and their Relationships ; in IEEE D&T of Computer [3] A. Clouard, G. Mastrorocco, F. Carbognani, A. Perrin, F, Ghenassia. Towards Bridging the Precision Gap between SoC Transactional and Cycle Accurate Levels, DATE [4] A. Ferrari and A. Sangiovanni-Vincentelli, System Design. Traditional Concepts and New Paradigms. Proceedings of the 1999 Int. Conf. On Comp. Des, Oct 1999, Austin. [5] Jon Connell and Bruce Johnson, Early Hardware/Software Integration Using SystemC2.0 ; in Class 552, ESC San Francisco [6] Functional Specification for SystemC 2.0, Version 2.0-P, 0ct 2001 [7] Thorsten Grotker. Modeling Software with SystemC th European SystemC User Group Meeting, Italy October [8] Fabrice Baray. Contribution à l intégration de la vérification de modèle dans le processus de conception Codesign. Thesis, University of Clermont Ferrand [9] S. Dellacherie, S. Devulder, J-L. Lamber. Software verification based on linear programming. Formal Verification Conference 1999.

Transaction level modeling of SoC with SystemC 2.0

Transaction level modeling of SoC with SystemC 2.0 Transaction level modeling of SoC with SystemC 2.0 Sudeep Pasricha Design Flow and Reuse/CR&D STMicroelectronics Ltd Plot No. 2 & 3, Sector 16A Noida 201301 (U.P) India Abstract System architects working

More information

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc.

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc. Transaction Level Modeling with SystemC Thorsten Grötker Engineering Manager Synopsys, Inc. Outline Abstraction Levels SystemC Communication Mechanism Transaction Level Modeling of the AMBA AHB/APB Protocol

More information

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc.

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc. Transaction Level Modeling with System Thorsten Grötker Engineering Manager Synopsys, Inc. Outline Abstraction Levels System ommunication Mechanism Application 1: Generic Transaction Level ommunication

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

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

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

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

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

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

4 th European SystemC Users Group Meeting

4 th European SystemC Users Group Meeting 4 th European SystemC Users Group Meeting http://www-ti.informatik.uni-tuebingen.de/systemc Copenhagen October 5 th, 2001, 1100-1600 SystemC 2.0 Tutorial Thorsten Grötker R & D Manager Synopsys, Inc. Motivation

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

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

Test and Verification Solutions. ARM Based SOC Design and Verification

Test and Verification Solutions. ARM Based SOC Design and Verification Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion

More information

System-level design refinement using SystemC. Robert Dale Walstrom. A thesis submitted to the graduate faculty

System-level design refinement using SystemC. Robert Dale Walstrom. A thesis submitted to the graduate faculty System-level design refinement using SystemC by Robert Dale Walstrom A thesis submitted to the graduate faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Major: Computer

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

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

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

SystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc.

SystemC abstractions and design refinement for HW- SW SoC design. Dündar Dumlugöl. Vice President of Engineering, CoWare, Inc. SystemC abstractions and design refinement for HW- SW SoC design Dündar Dumlugöl Vice President of Engineering, CoWare, Inc. Overview SystemC abstraction levels & design flow Interface Synthesis Analyzing

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

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

Introduction to MLM. SoC FPGA. Embedded HW/SW Systems

Introduction to MLM. SoC FPGA. Embedded HW/SW Systems Introduction to MLM Embedded HW/SW Systems SoC FPGA European SystemC User s Group Meeting Barcelona September 18, 2007 rocco.le_moigne@cofluentdesign.com Agenda Methodology overview Modeling & simulation

More information

Co-synthesis and Accelerator based Embedded System Design

Co-synthesis and Accelerator based Embedded System Design Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer

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

Embedded System Design

Embedded System Design Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 9/29/2011 Outline System design trends Model-based synthesis Transaction level model generation Application

More information

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are

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

Energy Estimation Based on Hierarchical Bus Models for Power-Aware Smart Cards

Energy Estimation Based on Hierarchical Bus Models for Power-Aware Smart Cards Energy Estimation Based on Hierarchical Bus Models for Power-Aware Smart Cards U. Neffe, K. Rothbart, Ch. Steger, R. Weiss Graz University of Technology Inffeldgasse 16/1 8010 Graz, AUSTRIA {neffe, rothbart,

More information

Embedded System Design Modeling, Synthesis, Verification

Embedded System Design Modeling, Synthesis, Verification Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner Chapter 4: System Synthesis Outline System design trends Model-based synthesis Transaction level model

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey System-on-Chip Architecture for Mobile Applications Sabyasachi Dey Email: sabyasachi.dey@gmail.com Agenda What is Mobile Application Platform Challenges Key Architecture Focus Areas Conclusion Mobile Revolution

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

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

The Challenges of System Design. Raising Performance and Reducing Power Consumption

The Challenges of System Design. Raising Performance and Reducing Power Consumption The Challenges of System Design Raising Performance and Reducing Power Consumption 1 Agenda The key challenges Visibility for software optimisation Efficiency for improved PPA 2 Product Challenge - Software

More information

Simulink -based Programming Environment for Heterogeneous MPSoC

Simulink -based Programming Environment for Heterogeneous MPSoC Simulink -based Programming Environment for Heterogeneous MPSoC Katalin Popovici katalin.popovici@mathworks.com Software Engineer, The MathWorks DATE 2009, Nice, France 2009 The MathWorks, Inc. Summary

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

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

Design Space Exploration of Systems-on-Chip: DIPLODOCUS

Design Space Exploration of Systems-on-Chip: DIPLODOCUS Design Space Exploration of Systems-on-Chip: DIPLODOCUS Ludovic Apvrille Telecom ParisTech ludovic.apvrille@telecom-paristech.fr May, 2011 Outline Context Design Space Exploration Ludovic Apvrille DIPLODOCUS

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

A Cache Hierarchy in a Computer System

A Cache Hierarchy in a Computer System A Cache Hierarchy in a Computer System Ideally one would desire an indefinitely large memory capacity such that any particular... word would be immediately available... We are... forced to recognize the

More information

Performance Verification for ESL Design Methodology from AADL Models

Performance Verification for ESL Design Methodology from AADL Models Performance Verification for ESL Design Methodology from AADL Models Hugues Jérome Institut Supérieur de l'aéronautique et de l'espace (ISAE-SUPAERO) Université de Toulouse 31055 TOULOUSE Cedex 4 Jerome.huges@isae.fr

More information

Experiences and Challenges of Transaction-Level Modelling with SystemC 2.0

Experiences and Challenges of Transaction-Level Modelling with SystemC 2.0 Experiences and Challenges of Transaction-Level Modelling with SystemC 2.0 Alain CLOUARD STMicroelectronics Central R&D (Grenoble, France) STMicroelectronics TLM is useful SoC HW/SW design flow Standard

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

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

Operating system integrated energy aware scratchpad allocation strategies for multiprocess applications

Operating system integrated energy aware scratchpad allocation strategies for multiprocess applications University of Dortmund Operating system integrated energy aware scratchpad allocation strategies for multiprocess applications Robert Pyka * Christoph Faßbach * Manish Verma + Heiko Falk * Peter Marwedel

More information

Platform-based Design

Platform-based Design Platform-based Design The New System Design Paradigm IEEE1394 Software Content CPU Core DSP Core Glue Logic Memory Hardware BlueTooth I/O Block-Based Design Memory Orthogonalization of concerns: the separation

More information

Cycle accurate transaction-driven simulation with multiple processor simulators

Cycle accurate transaction-driven simulation with multiple processor simulators Cycle accurate transaction-driven simulation with multiple processor simulators Dohyung Kim 1a) and Rajesh Gupta 2 1 Engineering Center, Google Korea Ltd. 737 Yeoksam-dong, Gangnam-gu, Seoul 135 984, Korea

More information

Communication Abstractions for System-Level Design and Synthesis

Communication Abstractions for System-Level Design and Synthesis Communication Abstractions for System-Level Design and Synthesis Andreas Gerstlauer Technical Report CECS-03-30 October 16, 2003 Center for Embedded Computer Systems University of California, Irvine Irvine,

More information

Concurrent Programming

Concurrent Programming Concurrent Programming Real-Time Systems, Lecture 2 Martina Maggio 19 January 2017 Lund University, Department of Automatic Control www.control.lth.se/course/frtn01 Content [Real-Time Control System: Chapter

More information

Concurrent Programming. Implementation Alternatives. Content. Real-Time Systems, Lecture 2. Historical Implementation Alternatives.

Concurrent Programming. Implementation Alternatives. Content. Real-Time Systems, Lecture 2. Historical Implementation Alternatives. Content Concurrent Programming Real-Time Systems, Lecture 2 [Real-Time Control System: Chapter 3] 1. Implementation Alternatives Martina Maggio 19 January 2017 Lund University, Department of Automatic

More information

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces

Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces Modeling Performance Use Cases with Traffic Profiles Over ARM AMBA Interfaces Li Chen, Staff AE Cadence China Agenda Performance Challenges Current Approaches Traffic Profiles Intro Traffic Profiles Implementation

More information

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Gabor Madl Committee Chancellor s Professor Nikil Dutt (Chair) Professor Tony Givargis Professor Ian Harris University of California,

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

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models Jason Andrews Agenda System Performance Analysis IP Configuration System Creation Methodology: Create,

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

Implementing a Real-Time Architecting Method in a Commercial CASE Tool

Implementing a Real-Time Architecting Method in a Commercial CASE Tool Implementing a Real-Time Architecting Method in a Commercial CASE Tool José L. Fernández-Sánchez Escuela Técnica Superior de Ingenieros Industriales C/ José Gutiérrez Abascal 2 28006 Madrid - Spain Phone:

More information

Doğan Fennibay MS Thesis Presentation - June 7th, Supervisor: Assoc. Prof. Arda Yurdakul

Doğan Fennibay MS Thesis Presentation - June 7th, Supervisor: Assoc. Prof. Arda Yurdakul Doğan Fennibay MS Thesis Presentation - June 7th, 2010 Supervisor: Assoc. Prof. Arda Yurdakul Motivation System-level Modeling More integrated systems HW & SW modeled together Models larger but more abstract

More information

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group Operating Systems (2INC0) 20/19 Introduction (01) Dr. Courtesy of Prof. Dr. Johan Lukkien System Architecture and Networking Group Course Overview Introduction to operating systems Processes, threads and

More information

V&V: Model-based testing

V&V: Model-based testing V&V: Model-based testing Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

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

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous

More information

Vertical Reuse of functional verification from subsystem to SoC level (with seamless SoC emulation)

Vertical Reuse of functional verification from subsystem to SoC level (with seamless SoC emulation) Vertical Reuse of functional verification from subsystem to SoC level (with seamless SoC emulation) Pranav Kumar, Staff Engineer Digvijaya Pratap SINGH, Sr. Staff Engineer STMicroelectronics, Greater NOIDA,

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

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10

System-level simulation (HW/SW co-simulation) Outline. EE290A: Design of Embedded System ASV/LL 9/10 System-level simulation (/SW co-simulation) Outline Problem statement Simulation and embedded system design functional simulation performance simulation POLIS implementation partitioning example implementation

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

Universal Verification Methodology(UVM)

Universal Verification Methodology(UVM) Universal Verification Methodology(UVM) A Powerful Methodology for Functional Verification of Digital Hardware Abstract - With the increasing adoption of UVM, there is a growing demand for guidelines and

More information

The Next Generation of Virtual Prototyping: Ultra-fast Yet Accurate Simulation of HW/SW Systems

The Next Generation of Virtual Prototyping: Ultra-fast Yet Accurate Simulation of HW/SW Systems The Next Generation of Virtual Prototyping: Ultra-fast Yet Accurate Simulation of HW/SW Systems Oliver Bringmann 1, Wolfgang Ecker 2, Andreas Gerstlauer 3, Ajay Goyal 2, Daniel Mueller-Gritschneder 4,

More information

I/O Management and Disk Scheduling. Chapter 11

I/O Management and Disk Scheduling. Chapter 11 I/O Management and Disk Scheduling Chapter 11 Categories of I/O Devices Human readable used to communicate with the user video display terminals keyboard mouse printer Categories of I/O Devices Machine

More information

A Hybrid Instruction Set Simulator for System Level Design

A Hybrid Instruction Set Simulator for System Level Design Center for Embedded Computer Systems University of California, Irvine A Hybrid Instruction Set Simulator for System Level Design Yitao Guo, Rainer Doemer Technical Report CECS-10-06 June 11, 2010 Center

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

Design of Embedded Hardware and Firmware

Design of Embedded Hardware and Firmware Design of Embedded Hardware and Firmware Introduction on "System On Programmable Chip" NIOS II Avalon Bus - DMA Andres Upegui Laboratoire de Systèmes Numériques hepia/hes-so Geneva, Switzerland Embedded

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

Modeling and Simulating Discrete Event Systems in Metropolis

Modeling and Simulating Discrete Event Systems in Metropolis Modeling and Simulating Discrete Event Systems in Metropolis Guang Yang EECS 290N Report December 15, 2004 University of California at Berkeley Berkeley, CA, 94720, USA guyang@eecs.berkeley.edu Abstract

More information

An H.264/AVC Main Profile Video Decoder Accelerator in a Multimedia SOC Platform

An H.264/AVC Main Profile Video Decoder Accelerator in a Multimedia SOC Platform An H.264/AVC Main Profile Video Decoder Accelerator in a Multimedia SOC Platform Youn-Long Lin Department of Computer Science National Tsing Hua University Hsin-Chu, TAIWAN 300 ylin@cs.nthu.edu.tw 2006/08/16

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

Wireless Base Band Device (bbdev) Amr Mokhtar DPDK Summit Userspace - Dublin- 2017

Wireless Base Band Device (bbdev) Amr Mokhtar DPDK Summit Userspace - Dublin- 2017 Wireless Base Band Device (bbdev) Amr Mokhtar DPDK Summit Userspace - Dublin- 2017 why baseband..? MAC Tx Data Downlink * Reference: 3GPP TS 36.211 & 36.212 architecture Common programing framework for

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

Top-Level View of Computer Organization

Top-Level View of Computer Organization Top-Level View of Computer Organization Bởi: Hoang Lan Nguyen Computer Component Contemporary computer designs are based on concepts developed by John von Neumann at the Institute for Advanced Studies

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

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

System Debugging Tools Overview

System Debugging Tools Overview 9 QII53027 Subscribe About Altera System Debugging Tools The Altera system debugging tools help you verify your FPGA designs. As your product requirements continue to increase in complexity, the time you

More information

OCCN: A Network-On-Chip Modeling and Simulation Framework. M.Coppola, S.Curaba, M.Grammatikakis, R.Locatelli, G.Maruccia, F.Papariello, L.

OCCN: A Network-On-Chip Modeling and Simulation Framework. M.Coppola, S.Curaba, M.Grammatikakis, R.Locatelli, G.Maruccia, F.Papariello, L. OCCN: A Network-On-Chip Modeling and Simulation Framework M.Coppola, S.Curaba, M.Grammatikakis, R.Locatelli, G.Maruccia, F.Papariello, L.Pieralisi Outline Introduction SoC trends SoC: Towards a NoC centric

More information

Overview. Technology Details. D/AVE NX Preliminary Product Brief

Overview. Technology Details. D/AVE NX Preliminary Product Brief Overview D/AVE NX is the latest and most powerful addition to the D/AVE family of rendering cores. It is the first IP to bring full OpenGL ES 2.0/3.1 rendering to the FPGA and SoC world. Targeted for graphics

More information

2 TEST: A Tracer for Extracting Speculative Threads

2 TEST: A Tracer for Extracting Speculative Threads EE392C: Advanced Topics in Computer Architecture Lecture #11 Polymorphic Processors Stanford University Handout Date??? On-line Profiling Techniques Lecture #11: Tuesday, 6 May 2003 Lecturer: Shivnath

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 and Rainer Dömer Center for Embedded Computer Systems University of California, Irvine Motivation Higher productivity is

More information

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany 2013 The MathWorks, Inc. 1 Agenda Model-Based Design of embedded Systems Software Implementation

More information

Embedded Systems 1: On Chip Bus

Embedded Systems 1: On Chip Bus October 2016 Embedded Systems 1: On Chip Bus Davide Zoni PhD email: davide.zoni@polimi.it webpage: home.deib.polimi.it/zoni Additional Material and Reference Book 2 Reference Book Chapter Principles and

More information

Efficient Power Estimation Techniques for HW/SW Systems

Efficient Power Estimation Techniques for HW/SW Systems Efficient Power Estimation Techniques for HW/SW Systems Marcello Lajolo Anand Raghunathan Sujit Dey Politecnico di Torino NEC USA, C&C Research Labs UC San Diego Torino, Italy Princeton, NJ La Jolla, CA

More information

A Frame Study for Post-Processing Analysis on System Behavior: A Case Study of Deadline Miss Detection

A Frame Study for Post-Processing Analysis on System Behavior: A Case Study of Deadline Miss Detection Journal of Computer Science 6 (12): 1505-1510, 2010 ISSN 1549-3636 2010 Science Publications A Frame Study for Post-Processing Analysis on System Behavior: A Case Study of Deadline Miss Detection Junghee

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

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

Integration of System-On-Chip Simulation Models

Integration of System-On-Chip Simulation Models Integration of System-On-Chip Simulation Models Department of Informatics and Mathematical Modelling Technical University of Denmark M.Sc. Thesis No.13 Michael Storgaard (s011934) 28th February 2005 Technical

More information

Intel Thread Building Blocks

Intel Thread Building Blocks Intel Thread Building Blocks SPD course 2015-16 Massimo Coppola 08/04/2015 1 Thread Building Blocks : History A library to simplify writing thread-parallel programs and debugging them Originated circa

More information

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02 Fujitsu System Applications Support 1 Overview System Applications Support SOC Application Development Lab Multimedia VoIP Wireless Bluetooth Processors, DSP and Peripherals ARM Reference Platform 2 SOC

More information

Boost Verification Results by Bridging the Hardware/Software Testbench Gap

Boost Verification Results by Bridging the Hardware/Software Testbench Gap Boost Verification Results by Bridging the Hardware/Software Testbench Gap Matthew Ballance Mentor Graphics Corporation Design Verification Technology Division Wilsonville, Oregon matt_ballance@mentor.com

More information

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd

Optimizing ARM SoC s with Carbon Performance Analysis Kits. ARM Technical Symposia, Fall 2014 Andy Ladd Optimizing ARM SoC s with Carbon Performance Analysis Kits ARM Technical Symposia, Fall 2014 Andy Ladd Evolving System Requirements Processor Advances big.little Multicore Unicore DSP Cortex -R7 Block

More information

Diplomatic Design Patterns

Diplomatic Design Patterns Diplomatic Design Patterns Henry Cook Wesley Terpstra Yunsup Lee A TileLink Case Study 10/14/2017 Agenda Rocket-Chip Ecosystem Diplomacy TileLink Design Patterns DRYing out Parameterization Generation

More information

Modeling and SW Synthesis for

Modeling and SW Synthesis for Modeling and SW Synthesis for Heterogeneous Embedded Systems in UML/MARTE Hector Posadas, Pablo Peñil, Alejandro Nicolás, Eugenio Villar University of Cantabria Spain Motivation Design productivity it

More information

Intel Thread Building Blocks

Intel Thread Building Blocks Intel Thread Building Blocks SPD course 2017-18 Massimo Coppola 23/03/2018 1 Thread Building Blocks : History A library to simplify writing thread-parallel programs and debugging them Originated circa

More information

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010 SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single

More information

Abstraction. Abstraction

Abstraction. Abstraction 9/11/2003 1 Software today is more complex than it has ever been. Software controls Space shuttle systems during launch Elevators in 100-story buildings Cross-Atlantic transportation routes of freighters

More information