The TLM-2.0 Standard. John Aynsley, Doulos
|
|
- Julianna Crawford
- 6 years ago
- Views:
Transcription
1 The TLM-2.0 Standard John Aynsley, Doulos
2 The TLM-2.0 Standard CONTENTS Review of SystemC and TLM Review of TLM-2.0 Frequently Asked Questions
3 What is SystemC? System-level modeling language Network of communicating processes (c.f. HDL) Modeling hardware and software together New: SystemC-AMS (mixed signal) C++ class library Communicating processes Industry standard IEEE 1666 Owned and driven by OSCI (Open SystemC Initiative) Open source implementation Mature, robust, easy-to-integrate and free 3
4 Transaction Level Modeling RTL Behavioral Model Pin Accurate Function Call write(address,data) RTL Behavioral Model Simulate every event! ,000 X faster simulation! 4
5 Reasons for using TLM Accelerates product release schedule Firmware / software Software development Fast TLM Ready before RTL Architectural exploration RTL Hardware verification Test bench TLM = golden model 5
6 TLM is Communication-Oriented Concurrent simulation environment Transaction + timing Simple functional models, e.g. C programs Could be synthesized by an ESL synthesis tool? 6
7 TLM and Synthesis ESL Synthesis Compare ESL Synthesis Pin-level Compare 7
8 The TLM-2.0 Standard CONTENTS Review of SystemC and TLM Review of TLM-2.0 Frequently Asked Questions
9 OSCI TLM Timeline Apr 2005 Jun 2008 July 2009 TLM-1.0 put, get and transport Request-response model TLM-2.0 Pass-by-reference Unified interfaces Generic payload TLM LRM TLM-2.0 focusses on memory-mapped bus modeling 9
10 Typical Use Case: Virtual Platform Multiple software stacks Software Software CPU ROM RAM DMA DSP ROM RAM Bridge Interrupt Timer I/O Bridge Interrupt Timer A/D Multiple buses and bridges TLM-2.0 I/O Memory interface RAM DMA Custom peripheral D/A Digital and analog hardware IP blocks 10
11 Virtual Platform Characteristics Instruction Set Simulator or software stubs Transaction-Level Model RTL Available early Available early Much later Fast enough to run applications Fast enough to run applications Too slow to run applications Little or no hardware detail Register-accurate Register-accurate and pin-accurate No timing information Some timing information Cycle-accurate timing 11
12 Coding Styles and Mechanisms Use cases Software development Software performance Architectural analysis Hardware verification TLM-2 Coding styles (just guidelines) Loosely-timed Approximately-timed Mechanisms (definitive API for TLM-2.0 enabling interoperability) Blocking transport DMI Quantum Sockets Generic payload Phases Non-blocking transport 12
13 Interoperability Layer 1. Core interfaces and sockets Initiator The first function call Target 2. Generic payload 3. Base protocol Command Address Data Byte enables Streaming Response status Extensions BEGIN_REQ END_REQ BEGIN_RESP END_RESP Either write bytes or read bytes 13
14 Interoperability layer Utilities Initiator Target Coding Style Loosely- or Approximately-timed Core interfaces Sockets Generic payload Base protocol Utilities Convenience sockets Quantum keeper (LT) Payload event queues (AT) Instance-specific extensions (GP) Productivity Shortened learning curve Consistent coding style 14
15 The TLM-2.0 Standard CONTENTS Review of SystemC and TLM Review of TLM-2.0 Frequently Asked Questions
16 FAQ #1 "Do I want LT or AT or CA?" 16
17 Loosely-Timed Executing software The End! Initiator Initiator Initiator Resources: Bus Memory Peripherals Goal: execute software at full speed of host processor Target models do not consume any time, initiators run ahead Need the initiators to take turns Either have explicit synchronization points (can be untimed) or initiators must use a time quantum 17
18 Loosely-Timed Executing software Sync Initiator Initiator Initiator Resources: Bus Memory Peripherals Goal: execute software at full speed of host processor Target models do not consume any time, initiators run ahead Need the initiators to take turns Either have explicit synchronization points (can be untimed) or initiators must use a time quantum 18
19 Loosely-Timed Executing software Initiator Resources: Initiator Bus Memory Peripherals Initiator Quantum Goal: execute software at full speed of host processor Target models do not consume any time, initiators run ahead Need the initiators to take turns Either have explicit synchronization points (can be untimed) or initiators must use a time quantum 19
20 AT and CA No running ahead of simulation time; everything stays in sync AT CA BEGIN_REQ END_REQ BEGIN_RESP END_RESP Wake up at significant timing points Wake up every cycle 20
21 FAQ #2 "How do I model such-and-such a feature using TLM-2?" "What does it take to make a model TLM-2-compliant?" "How much of this 194-page LRM do I really need to understand?" "How can TLM-2 make models of different protocols interoperable?" 21
22 First Kind of Interoperability Use the full interoperability layer Use the generic payload + ignorable extensions Obey all the rules of the base protocol. The LRM is your rule book tlm_initiator_socket<32, tlm_base_protocol_types> my_socket; Initiator Interconnect Target Functional incompatibilities are still possible (e.g. writing to a ROM) 22
23 Second Kind of Interoperability Create a new protocol traits class Create user-defined generic payload extensions and phases as needed Make your own rules! tlm_initiator_socket<32, my_protocol> my_socket; Initiator Adapter Target One rule enforced: cannot bind sockets of differing protocol types Recommendation: keep close to the base protocol. The LRM is your guidebook The clever stuff in TLM-2.0 makes the adapter fast 23
24 FAQ #2 Q. "How do I model such-and-such a feature using TLM-2?" A. Either make do with the generic payload, or create extensions Q. "What does it take to make a model TLM-2-compliant?" A. Either obey the base protocol or make your own rules Q. "How much of this 194-page LRM do I really need to understand?" A. For the base protocol, everything except Utilities and TLM-1 Q. "How can TLM-2 make models of different protocols interoperable?" A. Either map onto the base protocol, or write adapters 24
25 FAQ #3 Q. "How do I model my algorithm using TLM-2.0" A1. Not applicable. TLM is communication-centric A2. Use the LT/AT coding styles as guidelines A3. Use the utilities at least as examples 25
26 FAQ #4 Q. "How do I use extensions? It's not really explained anywhere." 26
27 Create an Extension Class struct my_extension: tlm::tlm_extension<my_extension> { my_extension() { m_attribute1 =...; } virtual tlm_extension_base* clone() const { my_extension* ext = new my_extension; ext->m_attribute1 = this->m_attribute1; ext->m_attribute2 = this->m_attribute2; return ext; } Standard code to clone/copy virtual void copy_from( tlm_extension_base const& ext ) { m_attribute1 = static_cast<my_extension const &>(ext).m_attribute1; m_attribute2 = static_cast<my_extension const &>(ext).m_attribute2; } int m_attribute1; string m_attribute2; }; Any number of attributes 27
28 Setting and Getting Extensions Initiator tlm_generic_payload* trans;... my_extension* ext = new my_extension; ext->m_attribute1 = 1; ext->m_attribute2 = "foo"; trans->set_auto_extension( ext ); socket->b_transport( *trans, delay ); Target virtual void b_transport(... ) { my_extension* ext; trans.get_extension(ext); if (ext) {... = ext->m_attribute1;... = ext->m_attribute2;... } Have the initiator add the extension Target can test for an extension 28
29 FAQ #5 Q. "Okay, but you've not shown me how to create ignorable extensions. How do I do that?" A. Being ignorable is not an explicit property of an extension, but about how you use it 29
30 Ignorable Extensions An ignorable extension is able to be ignored Timestamp when the transaction was created An initiator ID or transaction ID Extensions that might not be ignorable An extended address (initiator might rely on extended address space) A priority (initiator might rely on high priority transaction executing first) A flag to lock the interconnect (initiator might rely on have exclusive access) 30
31 FAQ #6 Q. "How do I dispose of the extension object? Can I re-use it?" A. Use a memory manager 31
32 Using a Memory Manager Initiator Interconnect Target Allocate transaction object # refs 0123 acquire() Call nb_transport_fw acquire() nb_transport_fw acquire() nb_transport_fw Return nb_transport_fw Return nb_transport_bw Call nb_transport_bw Call release() Return nb_transport_bw release() Return nb_transport_bw release() free() 32
33 Memory Management Methods class tlm_generic_payload { public: tlm_generic_payload () ; tlm_generic_payload(tlm_mm_interface* mm) ; virtual ~tlm_generic_payload (); void set_mm(tlm_mm_interface* mm); bool has_mm(); void acquire(); void release(); int get_ref_count(); }; void deep_copy_from( const tlm_generic_payload& ) ; void update_original_from( const tlm_generic_payload& ); void free_all_extensions(); void reset();... Frees all auto-extensions 33
34 A User-Defined Memory Manager #include "tlm.h" class gp_mm: public tlm::tlm_mm_interface { typedef tlm::tlm_generic_payload gp_t; public: gp_mm(); virtual ~gp_mm(); gp_t* allocate() {... ptr = new gp_t( this );... } void free(gp_t* trans) { trans->reset();... }... Pass mm as constructor arg Called when ref count == 0 Free auto-extensions 34
35 Typical Coding Idiom my_module(sc_module_name _n, gp_mm* mm) : m_mm(mm) {...} Pass mm as constructor arg tlm_generic_payload* trans; trans = m_mm.allocate(); trans->acquire(); Get transaction object from mm Increment reference count my_extension* ext = new my_extension; ext->m_attribute1 = 1; ext->m_attribute2 = "foo"; trans->set_auto_extension( ext ); Allocate extension on heap Set for auto-deletion socket->b_transport( *trans, delay ); Not just for nb_transport trans->release(); Decrement reference count 35
36 FAQ #7 Q. "How do I connect multiple components together?" Q. "How do I model a bus with multiple masters/slaves?" Q. "How many sockets do I need for two-way communication?" Q. "How many transactions do I use?" 36
37 Example Topology Control Memory manager Initiator Data Target Target Initiator Multi-sockets Target Initiator Bus Interconnect Target Thread Target Initiator Controller Thread Target 37
38 Bridges tlm_*_socket< 32, protocol_a > tlm_*_socket< 32, protocol_b > Initiator Bridge Target deep_copy_from() update_original_from() Generic Payload Generic Payload Generic Payload Generic Payload Extension Extension Extension Extension Extension Extension Extension Extension Extension Extension Extension Extension Could pass the same transaction if their lifetimes allow 38
39 Copying the Data Array Deep-copy the data array in the bridge new_trans->set_data_ptr( &data_buffer ); new_trans->deep_copy_from ( original_trans ); new_trans->b_transport(...); original_trans->update_original_from( new_trans ); Copies back data array on read Shallow-copy the data array in the bridge new_trans->set_data_ptr( 0 ); new_trans->deep_copy_from ( original_trans ); new_trans->set_data_ptr( original_trans->get_data_ptr() ); new_trans->b_transport(...); original_trans->update_original_from( new_trans ); Does not touch data array 39
40 FAQ #7 Q. "How do I connect multiple components together?" A. By having one or more components act as a hub Q. "How do I model a bus with multiple masters/slaves?" A. The "hub" can do arbitration and routing. Use multi-sockets for convenience Q. "How many sockets do I need for two-way communication?" A. Each initiator needs an initiator socket, each target a target socket Q. "How many transactions do I use?" A. As few as possible 40
41 FAQ #8 Q. "How do I model something like a SPI port?" A. If you can abstract the functionality, use the base protocol Q. "How do I model something like a SPI port with accurate timing?" A. You can model precise timing with the AT coding style, but why not use RTL? Q. "How do I model something like AMBA, PCI, or USB?" A. Buy a model (or get one through a university/research program) 41
42 For More FREE Information IEEE 1666 standards.ieee.org/getieee/1666/index.html OSCI SystemC 2.2 and TLM and examples and videos Tutorial introduction to TLM-2.0 and Free TLM-2.0 Protocol Checker 42
43
Introduction to Accellera TLM 2.0
Introduction to Accellera TLM 2.0 Aravinda Thimmapuram 10 th Sept 2015 Accellera Systems Initiative 1 Agenda Introduction to TLM and TLM 2.0 standard Case study of modelling a bus protocol using TLM 2.0
More informationGetting Started with TLM-2.0
Getting Started with TLM-2.0 A Series of Tutorials based on a set of Simple, Complete Examples John Aynsley, Doulos, June 2008 Tutorial 1 Sockets, Generic Payload, Blocking Transport Introduction The TLM-2.0
More informationQEMU and SystemC. Màrius Màrius Montón
QEMU and SystemC March March 2011 2011 QUF'11 QUF'11 Grenoble Grenoble Màrius Màrius Montón Outline Introduction Objectives Virtual Platforms and SystemC Checkpointing for SystemC Conclusions 2 Introduction
More informationIntroduction to TLM Mechanics Presented by David C Black
Introduction to TLM Mechanics Presented by David C Black Topics Simulation Use Cases Basic Concepts Generic Payload Information API - The Transaction Call Sockets Connectivity Loosely Timed Fast Approximately
More informationARM s IP and OSCI TLM 2.0
ARM s IP and OSCI TLM 2.0 Deploying Implementations of IP at the Programmer s View abstraction level via RealView System Generator ESL Marketing and Engineering System Design Division ARM Q108 1 Contents
More informationA Beginner's Guide to Using SystemC TLM-2.0 IP with UVM
A Beginner's Guide to Using SystemC TLM-2.0 IP with UVM Dr David Long and John Aynsley Doulos Ringwood, UK Doug Smith Doulos Austin, Tx, USA www.doulos.com ABSTRACT UVM 1.x includes support for the communication
More informationChecking for TLM-2.0 Compliance - Why Bother? Dr. Andrea Kroll VP Marketing and Business Development JEDA Technologies, Inc.
Checking for TLM-2.0 Compliance - Why Bother? Dr. Andrea Kroll VP Marketing and Business Development JEDA Technologies, Inc. Agenda Model Integration Challenges TLM2.0 Rules Beyond Transport Calls OSCI
More informationThe SystemC TLM 2.0 Draft 1 Kit
European SystemC Users Group Nice 2007 The SystemC TLM 2.0 Draft 1 Kit John Aynsley Technical Director, Doulos The SystemC TLM 2.0 Draft 1 Kit CONTENTS Introduction Generic Payloads Timing Annotation Layered
More informationOSCI Update. Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder
OSCI Update Guido Arnout OSCI Chief Strategy Officer CoWare Chairman & Founder Chief Strategy Officer charter Ensure that OSCI strategy is created, coordinated, communicated & executed Identify OSCI technical
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 informationIntroduction to the SystemC TLM Standard Stuart Swan Cadence Design Systems, Inc June 2005
Introduction to the SystemC TLM Standard Stuart Swan Cadence Design Systems, Inc June 2005 1 Copyright 2005 CADENCE DESIGN SYSTEMS, INC. SystemC Transaction Level Modeling What is TLM? Communication uses
More informationSTARC Compliant Models
STARC Compliant Models Software for Semiconductors Copyright 2009 CircuitSutra Technologies Pvt Ltd All Rights Reserved Page 1/21 Document History: Date Name Comment Version 2 nd March, 2009 CircuitSutra
More informationGetting Started with TLM-2.0
Getting Started with TLM-2.0 A Series of Tutorials based on a set of Simple, Complete Examples John Aynsley, Doulos, June 2008 Tutorial 2 Response Status, DMI, and Debug Transport Introduction This second
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 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 informationParallel Simulation Accelerates Embedded Software Development, Debug and Test
Parallel Simulation Accelerates Embedded Software Development, Debug and Test Larry Lapides Imperas Software Ltd. larryl@imperas.com Page 1 Modern SoCs Have Many Concurrent Processing Elements SMP cores
More informationOSCI TLM-2.0 LANGUAGE REFERENCE MANUAL
July 2009 OSCI TLM-2.0 LANGUAGE REFERENCE MANUAL Software version: TLM 2.0.1 Document version: JA32 All rights reserved Contributors The TLM-2.0 standard was created under the leadership of the following
More informationEE382V: Embedded System Design and Modeling
EE382V: Embedded System Design and Communication & Refinement Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu : Outline Communication layers Application
More informationEE382N: Embedded System Design and Modeling
EE382N: Embedded System Design and Modeling Lecture 9 Communication Modeling & Refinement Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture
More informationModular SystemC. In-house Training Options. For further information contact your local Doulos Sales Office.
Modular SystemC is a set of modules related to SystemC TM (IEEE 1666-2005) aimed at fulfilling teambased training requirements for engineers from a range of technical backgrounds, i.e. hardware and software
More informationESL design with the Agility Compiler for SystemC
ESL design with the Agility Compiler for SystemC SystemC behavioral design & synthesis Steve Chappell & Chris Sullivan Celoxica ESL design portfolio Complete ESL design environment Streaming Video Processing
More informationInput/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture
168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU
More informationPhilip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition
FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7
More informationCSE 451: Operating Systems Winter I/O System. Gary Kimura
CSE 451: Operating Systems Winter 2012 I/O System Gary Kimura What s Ahead Principles of I/O Hardware Structuring of I/O Software Layers of an I/O System Operation of an I/O System 2 Hardware Environment
More informationIntroduction. CS3026 Operating Systems Lecture 01
Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program
More informationThe CoreConnect Bus Architecture
The CoreConnect Bus Architecture Recent advances in silicon densities now allow for the integration of numerous functions onto a single silicon chip. With this increased density, peripherals formerly attached
More informationContents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)
1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional
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 informationEfficient use of Virtual Prototypes in HW/SW Development and Verification
Efficient use of Virtual Prototypes in HW/SW Development and Verification Rocco Jonack, MINRES Technologies GmbH Eyck Jentzsch, MINRES Technologies GmbH Accellera Systems Initiative 1 Virtual prototype
More informationThree Steps to Unified SoC Design and Verification by Shabtay Matalon and Mark Peryer, Mentor Graphics
Three Steps to Unified SoC Design and Verification by Shabtay Matalon and Mark Peryer, Mentor Graphics Developing a SoC is a risky business in terms of getting it right considering the technical complexity
More informationFPQ9 - MPC8360E implementation
Training MPC8360E implementation: This course covers PowerQUICC II Pro MPC8360E - PowerPC processors: NXP Power CPUs FPQ9 - MPC8360E implementation This course covers PowerQUICC II Pro MPC8360E Objectives
More informationCadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015
Cadence SystemC Design and Verification NMI FPGA Network Meeting Jan 21, 2015 The High Level Synthesis Opportunity Raising Abstraction Improves Design & Verification Optimizes Power, Area and Timing for
More informationGeneric Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals
William Stallings Computer Organization and Architecture 7 th Edition Chapter 7 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In
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 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 informationTowards a SystemC Transaction Level Modeling Standard. Stuart Swan Senior Architect Cadence Design Systems, Inc. June 2004
Towards a SystemC Transaction Level Modeling Standard Stuart Swan Senior Architect Cadence Design Systems, Inc. June 2004 SystemC Transaction Level Modeling What is TLM? Communication uses function calls
More informationAMBA Programmer s View Extensions to OSCI TLM v2.0. Nizar ROMDHANE Technical Marketing Manager RealView Tools, DSTG April, 2007
AMBA Programmer s View Extensions to OSCI TLM v2.0 Nizar ROMDHANE Technical Marketing Manager RealView Tools, DSTG April, 2007 1 Presentation Structure ARM Activities within OSCI AMBA Protocols: AXI focus
More informationLast Time. Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads
Last Time Cost of nearly full resources RAM is limited Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads Embedded C Extensions for
More informationCosimulation of ITRON-Based Embedded Software with SystemC
Cosimulation of ITRON-Based Embedded Software with SystemC Shin-ichiro Chikada, Shinya Honda, Hiroyuki Tomiyama, Hiroaki Takada Graduate School of Information Science, Nagoya University Information Technology
More informationHigh Level Synthesis Re-usable model of AMBA AXI4 communication protocol for HLS based design flow developed using SystemC Synthesis subset
High Level Synthesis Re-usable model of AMBA 4 communication protocol for HLS based design flow developed using Synthesis subset NASCUG, San Francisco, USA (June, 2014) Presenter Dinesh Malhotra, CircuitSutra
More informationModule 11: I/O Systems
Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance
More informationVirtual Prototyping in SpaceFibre System-on-Chip Design
Virtual Prototyping in SpaceFibre System-on-Chip Design System-level design Elena Suvorova, Nadezhda Matveeva, Ilya Korobkov, Alexey Shamshin, Yuriy Sheynin Saint-Petersburg State University of Aerospace
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 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 informationAccessing I/O Devices Interface to CPU and Memory Interface to one or more peripherals Generic Model of IO Module Interface for an IO Device: CPU checks I/O module device status I/O module returns status
More informationLook Ma, No Clocks! Techniques to Improve Model Performance by. ESL Practice Leader
Look Ma, No Clocks! Techniques to Improve Model Performance by David dc Black of XtremeEDA te e Copoato Corporation ESL Practice Leader v2 Agenda Motivation Solutions Example 1 - Timers without Clocks
More informationLast class: Today: Course administration OS definition, some history. Background on Computer Architecture
1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O
More informationUsing Formalized Programming Sequences for Higher Quality Virtual Prototypes
Using Formalized Programming Sequences for Higher Quality Virtual Prototypes Sean Boylan Duolog Technologies Outline Motivation - VSP Quality Programming Sequences Applying Sequences Tools for Sequences
More informationResource management. Real-Time Systems. Resource management. Resource management
Real-Time Systems Specification Implementation Verification Mutual exclusion is a general problem that exists at several levels in a real-time system. Shared resources internal to the the run-time system:
More informationGenerating TLM Bus Models from Formal Protocol Specification. Tom Michiels CoWare
Generating TLM Bus Models from Formal Protocol Specification Tom Michiels CoWare Agenda Cycle accurate TLM Requirements Difficulties in creating TLM bus models Generating from formal specification Example
More informationConcurrency, Thread. Dongkun Shin, SKKU
Concurrency, Thread 1 Thread Classic view a single point of execution within a program a single PC where instructions are being fetched from and executed), Multi-threaded program Has more than one point
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 informationInput / Output. Kevin Webb Swarthmore College April 12, 2018
Input / Output Kevin Webb Swarthmore College April 12, 2018 xkcd #927 Fortunately, the charging one has been solved now that we've all standardized on mini-usb. Or is it micro-usb? Today s Goals Characterize
More informationSystemC Community. ISCUG May 9, 2008 Girish Nanappa, OSCI
SystemC Community Update ISCUG May 9, 2008 Girish Nanappa, OSCI OSCI Membership Corporate Members Associate Members 36 member companies, including 8 new since DATE 2007: CISC, CoFluent, ITRI, UPMC, STARC,
More informationOrganisasi Sistem Komputer
LOGO Organisasi Sistem Komputer OSK 5 Input Output 1 1 PT. Elektronika FT UNY Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats
More informationConcurrency: Mutual Exclusion (Locks)
Concurrency: Mutual Exclusion (Locks) Questions Answered in this Lecture: What are locks and how do we implement them? How do we use hardware primitives (atomics) to support efficient locks? How do we
More informationThe SystemC Verification Standard (SCV) Stuart Swan Senior Architect Cadence Design Systems, Inc.
The SystemC Verification Standard (SCV) Stuart Swan Senior Architect Cadence Design Systems, Inc. stuart@cadence.com The Verification Problem System Level Verification is typically done last, is typically
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 informationChapter 13: I/O Systems. Operating System Concepts 9 th Edition
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations
More informationV8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs
V8-uRISC 8-bit RISC Microprocessor February 8, 1998 Product Specification VAutomation, Inc. 20 Trafalgar Square Nashua, NH 03063 Phone: +1 603-882-2282 Fax: +1 603-882-1587 E-mail: sales@vautomation.com
More informationEasy Steps Towards Virtual Prototyping using the SystemVerilog DPI
Easy Steps Towards Virtual Prototyping using the SystemVerilog DPI Dave Rich Mentor Graphics, Inc. Fremont, CA dave_rich@mentor.com Abstract The hardware and software worlds have been drifting apart ever
More informationLogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a)
DS799 June 22, 2011 LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.01.a) Introduction The AXI Video Direct Memory Access (AXI VDMA) core is a soft Xilinx IP core for use with the Xilinx Embedded
More informationDISTRIBUTED EMBEDDED ARCHITECTURES
DISTRIBUTED EMBEDDED ARCHITECTURES A distributed embedded system can be organized in many different ways, but its basic units are the Processing Elements (PE) and the network as illustrated in Figure.
More informationCPSC 213. Introduction to Computer Systems. I/O Devices, Interrupts and DMA. Unit 2a Oct 27, 29, 31. Winter Session 2014, Term 1
CPSC 213 Introduction to Computer Systems Winter Session 2014, Term 1 Unit 2a Oct 27, 29, 31 I/O Devices, Interrupts and DMA Overview Reading in Text 8.1, 8.2.1, 8.5.1-8.5.3 Learning Goals Explain what
More informationRM3 - Cortex-M4 / Cortex-M4F implementation
Formation Cortex-M4 / Cortex-M4F implementation: This course covers both Cortex-M4 and Cortex-M4F (with FPU) ARM core - Processeurs ARM: ARM Cores RM3 - Cortex-M4 / Cortex-M4F implementation This course
More informationParallel Programming Languages COMP360
Parallel Programming Languages COMP360 The way the processor industry is going, is to add more and more cores, but nobody knows how to program those things. I mean, two, yeah; four, not really; eight,
More informationWelcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to
Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to handle the STM32 peripheral data transfers. 1 The Direct
More informationIntroduction to ARM LPC2148 Microcontroller
Introduction to ARM LPC2148 Microcontroller Dr.R.Sundaramurthy Department of EIE Pondicherry Engineering College Features of LPC2148 in a Nut Shell CPU = ARM 7 Core Word Length = 32 Bit ROM = 512 KB RAM
More informationDigital IP Cell 8-bit Microcontroller PE80
1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly
More informationUVM: The Next Generation in Verification Methodology
UVM: The Next Generation in Verification Methodology Mark Glasser, Methodology Architect February 4, 2011 UVM is a new verification methodology that was developed by the verification community for the
More informationInput/Output Systems
Input/Output Systems CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating
More informationComputer Architecture CS 355 Busses & I/O System
Computer Architecture CS 355 Busses & I/O System Text: Computer Organization & Design, Patterson & Hennessy Chapter 6.5-6.6 Objectives: During this class the student shall learn to: Describe the two basic
More informationSpaceWire. Design of the SystemC model of the SpaceWire-b CODEC. Dr. Nikos Mouratidis
SpaceWire Design of the SystemC model of the SpaceWire-b CODEC Dr. Nikos Mouratidis Qualtek Sprl. 36 Avenue Gabriel Emile Lebon B-1160, Brussels, Belgium 19/09/2011 Activity objectives: High-level modeling
More informationCMSC421: Principles of Operating Systems
CMSC421: Principles of Operating Systems Nilanjan Banerjee Assistant Professor, University of Maryland Baltimore County nilanb@umbc.edu http://www.csee.umbc.edu/~nilanb/teaching/421/ Principles of Operating
More informationAsynchronous Serial Communication Protocol (without Flow Control) using TLM 2.0 (Example of Non memory based protocol )
Asynchronous Serial Communication Protocol (without Flow Control) using TLM 2.0 (Example of Non memory based protocol ) Copyright GreenSocs Ltd 2008 Developed by: Manish Aggarwal, Ruchir Bharti Circuitsutra
More informationOperating Systems. Lecture 4 - Concurrency and Synchronization. Master of Computer Science PUF - Hồ Chí Minh 2016/2017
Operating Systems Lecture 4 - Concurrency and Synchronization Adrien Krähenbühl Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Mutual exclusion Hardware solutions Semaphores IPC: Message passing
More informationSystem On Chip: Design & Modelling (SOC/DAM) 1 R: Verilog RTL Design with examples.
System On Chip: Design & Modelling (SOC/DAM) Exercises Here is the first set of exercises. These are intended to cover subject groups 1-4 of the SOC/DAM syllabus (R, SC, SD, ESL). These questions are styled
More informationChapter 13: I/O Systems
COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives
More informationI/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)
I/O Fall 2011 Tore Larsen Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) Big Picture Today we talk about I/O characteristics interconnection devices & controllers (disks
More informationI/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)
I/O Fall 2010 Tore Larsen Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum) Big Picture Today we talk about I/O characteristics interconnection devices & controllers (disks
More information연세대학교전기전자공학과프로세서연구실박사과정김재억.
이강좌는연세대학교이용석교수연구실에서제작되었으며 copyright가없으므로비영리적인목적에한하여누구든지복사, 배포가가능합니다. 연구실홈페이지에는 고성능마이크로프로세서에관련된많은강의가있으며누구나무료로다운로드받을 수있습니다. 연세대학교전기전자공학과프로세서연구실박사과정김재억 Email: yonglee@yonsei.ac.kr 멀티스레드프로그래밍 (Multithreaded
More informationPractical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim
Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim Ray Duran Staff Design Specialist FAE, Altera Corporation 408-544-7937
More information2. HW/SW Co-design. Young W. Lim Thr. Young W. Lim 2. HW/SW Co-design Thr 1 / 21
2. HW/SW Co-design Young W. Lim 2016-03-11 Thr Young W. Lim 2. HW/SW Co-design 2016-03-11 Thr 1 / 21 Outline 1 Software Engineering Young W. Lim 2. HW/SW Co-design 2016-03-11 Thr 2 / 21 Based on Software
More informationVerification of Power Management Protocols through Abstract Functional Modeling
Verification of Power Management Protocols through Abstract Functional Modeling G. Kamhi, T. Levy, Niranjan M, M. Mhameed, H. Rawlani, R. B. Rajput, E. Singerman, V. Vedula, Y. Zbar Motivation Microprocessor
More informationCOMP 346 WINTER Tutorial 2 SHARED DATA MANIPULATION AND SYNCHRONIZATION
COMP 346 WINTER 2018 1 Tutorial 2 SHARED DATA MANIPULATION AND SYNCHRONIZATION REVIEW - MULTITHREADING MODELS 2 Some operating system provide a combined user level thread and Kernel level thread facility.
More informationLecture 23. I/O, Interrupts, exceptions
Lecture 23 I/O, Interrupts, exceptions 1 A Timely Question. Most modern operating systems pre-emptively schedule programs. If you are simultaneously running two programs A and B, the O/S will periodically
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 informationC++ for System Developers with Design Pattern
C++ for System Developers with Design Pattern Introduction: This course introduces the C++ language for use on real time and embedded applications. The first part of the course focuses on the language
More informationLogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.00.a)
DS799 March 1, 2011 LogiCORE IP AXI Video Direct Memory Access (axi_vdma) (v3.00.a) Introduction The AXI Video Direct Memory Access (AXI VDMA) core is a soft Xilinx IP core for use with the Xilinx Embedded
More informationReal-Time Systems. Lecture #4. Professor Jan Jonsson. Department of Computer Science and Engineering Chalmers University of Technology
Real-Time Systems Lecture #4 Professor Jan Jonsson Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Specification Resource management Mutual exclusion
More informationCSCI-375 Operating Systems
CSCI-375 Operating Systems Lecture 2 Note: Many slides and/or pictures in the following are adapted from: slides 2005 Silberschatz, Galvin, and Gagne Some slides and/or pictures in the following are adapted
More informationI/O. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter 6.5-6
I/O Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 6.5-6 Computer System = Input + Output + Memory + Datapath + Control Video Network Keyboard USB Computer System
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 informationTheoretical Computer Science. Facilitating the design of fault tolerance in transaction level SystemC programs
Theoretical Computer Science 496 (2013) 50 68 Contents lists available at SciVerse ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs Facilitating the design of fault
More information2 Threads vs. Processes
9 2 Threads vs. Processes A process includes an address space (defining all the code and data pages) a resource container (OS resource and accounting information) a thread of control, which defines where
More informationC86 80C88 DS-186
MCS-86 8086 8088 80C86 80C88 Ceibo In-Circuit Emulator Supporting MCS-86: DS-186 http://ceibo.com/eng/products/ds186.shtml www.ceibo.com Chapter 1 Introduction Manual Organization 8086 Family Architecture
More informationSeamless Refinement from Transaction Level to RTL Using SystemVerilog Interfaces
Seamless Refinement from Transaction Level to RTL Using SystemVerilog Interfaces Jonathan Bromley Doulos Ltd, Ringwood, UK jonathan.bromley@doulos.com 2 Outline Introduction: refinement steps and verification
More informationDesigning with ALTERA SoC Hardware
Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory
More informationThreads Tuesday, September 28, :37 AM
Threads_and_fabrics Page 1 Threads Tuesday, September 28, 2004 10:37 AM Threads A process includes an execution context containing Memory map PC and register values. Switching between memory maps can take
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 information