How to apply TLM 2.0 to the "Real World" A Tutorial E lectronic S ystem L evel X perts www.eslx.com Bill Bunton – presenting David Black – co-author Agenda Motivation and Background Overview of TLM 2 Terminology Project Level Use Case - Evolution ©2008 ESLX, Inc. 2 TLM Motivation Industry • Enable system-level virtual prototypes for software development • Enable modeling of Memory Mapped Bus • Define an interoperable interface for IP vendor • Create an IP component ecosystem OSCI • Evolve the SystemC Standard to address industry’s need • Ensure interoperability with the existing standard • Provide guidance to continued evolution of modeling interconnect • Maintain SystemC leadership as the language for ESL modeling ©2008 ESLX, Inc. 3 History of TLM TLM 1.0 • Approved by OSCI April 2005 • Blocking, Pass-by-value, common payload unspecified TLM2 2.0 D1 • Released for review December 2006 • Non-blocking, Pass-by-value, common payload TLM 2.0 D2 • Released for review November 2007 • Interoperable levels of abstraction • Pass-by-reference for speed • Common and extensible generic payload ©2008 ESLX, Inc. 4 TLM 2.0 Draft 2 Requirements Speed, speed, and more speed • Multi-megahertz on a modern server • Boot OS in less than 2 minutes Focus on Memory-Mapped Bus interconnects • Perceived industry need Selectable levels of abstraction (fidelity) • Addresses different use cases – both technical and business Use case driven • Platform for early software development • Hardware Software integration • Additional use cases Ease of use ©2008 ESLX, Inc. 5 References OSCI Resources www.systemc.org TLM 2.0-d2 Manual 1_0_0 • TLM-2 draft kit examples and unit test • Additional examples pending review by working group The OSCI TLM-2 in 2008: Tutorial Tuesday at 1:30 Watch for updates of web pages throughout the industry ©2008 ESLX, Inc. 6 Agenda Motivation and Background Overview of TLM 2 Terminology Project Level Use Case - Evolution ©2008 ESLX, Inc. 7 Overview of TLM 2 Terminology Generic Payload TLM transport Blocking and Non-Blocking Un-Timed Modeling Style Loosely-Timed Modeling Style Approximately-Timed Modeling Style Performance Accelerators ©2008 ESLX, Inc. 8 The Generic Payload Off-the-shelf general purpose payload for MMB • Abstract bus modelling • Typical attributes of memory-mapped busses Command, address, data, byte enables, single word transfers, burst transfers, streaming, response status Extensibility for specific MMB protocols • Ignorable extensions • Mandatory extensions with compile-time checking • Simplified protocol bridging ©2008 ESLX, Inc. 9 Generic Payload Structure Generic Payload Command Address Data pointer Data Length Byte Enable Status Extensions Generic Payload Extensions Transaction Data Byte Array ©2008 ESLX, Inc. 10 Loosely-Timed (LT) Focus on speed Single-phase • Expected style • Non-blocking call where transaction is complete on return Completes without relinquishing the simulator Target elapsed time is returned to initiator Two-Phase • Allows target to advance simulator time • Two Non-blocking calls Initiator to target (request) Target to initiator (response) • Synchronization feature to support temporal decoupling ©2008 ESLX, Inc. 11 Loosely-Timed (LT) Single-Phase Timing Ladder Target Initiator Phase Local time Call +0ns BEGIN_REQ Return -, BEGIN_REQ, 0ns TLM_COMPLETED, BEGIN_RESP, 10ns +10ns BEGIN_RESP 12 ©2008 ESLX, Inc. 12 Loosely-Timed (LT) Two-Phase Timing Ladder Phase Target Initiator Simulation time = 100ns Call BEGIN_REQ Return -, BEGIN_REQ, 0ns TLM_ACCEPTED, -, - Simulation time = 110ns -, BEGIN_RESP, 0ns BEGIN_RESP 13 TLM_COMPLETED, -, - Call Return ©2008 ESLX, Inc. 13 Approximately-Timed (AT) Enhanced timing accuracy Two-Phase • Two Non-blocking calls Initiator to target (request) – target returns delay to next phase Target to initiator (response) – initiator returns delay to next phase Four-Phase • Four Non-blocking calls Initiator to target (begin request) Target to initiator (end request) Target to initiator (begin response) Initiator to target (end response) ©2008 ESLX, Inc. 14 Two-Phase AT Timing Ladder Target Initiator Phase Simulation time = 100ns Call BEGIN_REQ END_REQ Return wait(10ns) -, BEGIN_REQ, 0ns TLM_UPDATED, END_REQ, 10ns Simulation time = 110ns Simulation time = 150ns -, BEGIN_RESP, 0ns BEGIN_RESP END_RESP 15 TLM_COMPLETED, END_RESP, 5ns Call Return wait (5ns) Simulation time = 155ns ©2008 ESLX, Inc. 15 Four-Phase AT Timing Ladder Phase BEGIN_REQ Target Initiator Simulation time = 100ns Call -, BEGIN_REQ, 0ns Return TLM_ACCEPTED, -, - Simulation time = 110ns -, END_REQ, 0ns END_REQ Call TLM_ACCEPTED, -, - Return -, BEGIN_RESP, 0ns Call TLM_ACCEPTED, -, - Return Simulation time = 120ns BEGIN_RESP Simulation time = 130ns Call END_RESP 16 Return -, END_RESP, 0ns TLM_COMPLETED, -, ©2008 ESLX, Inc. 16 Performance Accelerators Model Style Switching • LT and AT modeling styles fundamentally compatible • Components can switch styles during execution to select simulation speed or accuracy Temporal Decoupling • • • • Multiple initiator transactions without relinquishing control simulator At time quantum, control is returned to the simulator kernel Not restricted to a single initiator Reduces simulator context switching (speed) • • • • Cooperating targets and initiators bypass the model interconnect Initiators use pointer access to target memory Eliminates functions call May eliminate context switching Direct Memory Interface (DMI) ©2008 ESLX, Inc. 17 Agenda Motivation and Background Overview of TLM 2 Terminology Project Level Use Case - Evolution ©2008 ESLX, Inc. 18 Project Level Use Case - Evolution System Architectural Modeling SW development platform HW/SW integration (co-simulation of detailed HW with SW) HW refinement performance verification ©2008 ESLX, Inc. 19 Initial System Model Auxiliary Processor DSP Processor Flash System Bus Processor Auxiliary Processor GPIO NIC DDR timer ©2008 ESLX, Inc. 20 Project Evolution Model Functionality HW SW HW DVT AT Traffic Gen RTL LT Function Correct CA AT Function Correct AT Arch Model LT RTL Traffic Generator SW Dev UT UT LT AT CA RTL Model Interface ©2008 ESLX, Inc. 21 System Architectural Modeling Traffic Generator DSP Traffic Generator SRAM timing only DRAM timing only TLM2 Bus Model Detailed CPU Traffic Generator Traffic Generator IO Traffic Generators AT Traffic Gen LT Function Correct AT Function Correct RTL Traffic Generator ©2008 ESLX, Inc. 22 DSP Functional ISS SRAM DRAM Auxiliary Processor Auxiliary Processor Adapter DMA Controller TLM2 Bus Model 32 bit Processor Functional ISS TLM2 Bus Model 64 bit System Model for Software Development GPIO environment model NIC environment model timer other PIO AT Traffic Gen LT Function Correct AT Function Correct RTL Traffic Generator ©2008 ESLX, Inc. 23 HW Refinement and Performance Verification RAM when needed Auxiliary Processor environment model Adapter TLM2 Initiator LT / AT TLM2 Bus Model Test Driver Direct Execution AT Traffic Gen LT Function Correct AT Function Correct RTL Traffic Generator ©2008 ESLX, Inc. 24 DRAM Adapter DMA Controller TLM2 Bus Model 32 bit SRAM Auxiliary Processor DSP Functional ISS Auxiliary Processor Adapter Processor Functional ISS TLM2 Bus Model 64 bit System Model for HW SW integration GPIO environment model NIC environment model timer other PIO AT Traffic Gen LT Function Correct AT Function Correct RTL Traffic Generator ©2008 ESLX, Inc. 25 Conclusion TLM2 Draft 2 is available and very usable • Meets real world goals of inter-operability of abstraction levels • Allows easy, independent refinement of IP components ESLX fully supports TLM2 Draft 2 Questions ©2008 ESLX, Inc. 26
© Copyright 2024