Exploring SW Performance using SoC Transaction-level Modeling
|
|
- Bethany Gregory
- 5 years ago
- Views:
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 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 informationTransaction 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 informationTransaction 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 informationFast 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 informationModeling 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 informationHardware/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 informationModeling 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 informationESE 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 informationSpecC 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 information4 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 informationEmbedded 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 informationHardware 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 informationTest 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 informationSystem-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 informationLong 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 informationReconOS: 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 informationThe 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 informationSystemC 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 informationDesign 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 informationChapter 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 informationIntroduction 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 informationCo-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 informationEEM870 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 informationEmbedded 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 informationMulti-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 informationFlexible 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 informationEnergy 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 informationEmbedded 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 informationCover 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 informationSystem-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 informationThe 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 informationSoftware 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 informationThe 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 informationSimulink -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 informationRapid-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 informationEmbedded 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 informationDesign 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 informationTransaction-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 informationA 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 informationPerformance 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 informationExperiences 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 informationAutomatic 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 informationARM 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 informationOperating 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 informationPlatform-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 informationCycle 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 informationCommunication 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 informationConcurrent 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 informationConcurrent 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 informationModeling 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 informationModel-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 informationIntegrating 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 informationPerformance 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 informationCodesign 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 informationImplementing 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 informationDoğ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 informationOperating 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 informationV&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 informationSystem 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 informationSYSTEMS 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 informationVertical 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 informationCode 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 informationSystem-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 informationA 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 informationUniversal 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 informationThe 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 informationI/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 informationA 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 informationJump-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 informationDesign 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 informationDIGITAL 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 informationModeling 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 informationAn 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 informationHardware-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 informationWireless 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 informationHardware-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 informationTop-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 informationSystem-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 informationSPACE: 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 informationSystem 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 informationOCCN: 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 informationOverview. 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 information2 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 informationQuantitative 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 informationModel-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 informationEmbedded 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 informationEfficient 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 informationA 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 informationEE382V: 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 informationSCope: 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 informationIntegration 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 informationIntel 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 informationFujitsu 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 informationBoost 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 informationOptimizing 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 informationDiplomatic 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 informationModeling 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 informationIntel 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 informationSEMICON 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 informationAbstraction. 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