OCP-IP SLD New Generation Using OSCI-TLM-2

Slides:



Advertisements
Similar presentations
OCP-IP SLD New Generation Using OSCI-TLM-2.0 to Model a Real Bus Protocol at Multiple Levels of Abstraction FDL 2008 James Aldis, Texas Instruments Mark.
Advertisements

1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
Standard Interfaces for FPGA Components Joshua Noseworthy Mercury Computer Systems Inc.
COM vs. CORBA.
OSCI TLM-2.0 The Transaction Level Modeling standard of the Open SystemC Initiative (OSCI)
Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.
Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P Member :陳嘉雄 R Member :林振民 P
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
Role of Standards in TLM driven D&V Methodology
OCP: Open Core Protocol Marta Posada ESA/ESTEC June 2006.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
SystemC: A Complete Digital System Modeling Language: A Case Study Reni Rambus Inc.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
SpaceWire Plug-and-Play: A Roadmap Peter Mendham, Albert Ferrer Florit, Steve Parkes Space Technology Centre, University of Dundee 1.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Fast Simulation Techniques for Design Space Exploration Daniel Knorreck, Ludovic Apvrille, Renaud Pacalet
Presentation by Tom Hummel OverSoC: A Framework for the Exploration of RTOS for RSoC Platforms.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
Presenter : Shao-Chieh Hou 2012/8/27 Second ACM/IEEE International Symposium on Networks-on-Chip IEEE computer society.
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
TLM Convenience Socket Parvinder Pal Singh Girish Verma.
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
Recen progress R93088 李清新. Recent status – about hardware design Finishing the EPXA10 JPEG2000 project. Due to the DPRAM problem can’t be solved by me,
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
TTCN-3 Testing and Test Control Notation Version 3.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Liana Duenha (FACOM and Unicamp) A SystemC Benchmark Suite for Evaluating MPSoC Tools and Methodologies Rodolfo Azevedo (Unicamp)
Operating System Overview
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
Bus Interfacing Processor-Memory Bus Backplane Bus I/O Bus
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Some Historical Context And Some Prognostication
Framework For Exploring Interconnect Level Cache Coherency
Current Generation Hypervisor Type 1 Type 2.
Chapter 1 Introduction.
Network Architecture Layered Architectures Network Protocols
CSCI-235 Micro-Computer Applications
Networking Devices.
A Closer Look at Instruction Set Architectures
SOFTWARE DESIGN AND ARCHITECTURE
How to Quick Start Virtual Platform Development
Direct Attached Storage and Introduction to SCSI
Distribution and components
Chapter 1 Introduction.
Overview Introduction General Register Organization Stack Organization
Hierarchical Architecture
Cache Memory Presentation I
Chapter III Desktop Imaging Systems & Issues
IEEE1666 SystemC TLM2.0 Coulpling gem5 with Dipl.-Ing. Matthias Jung
CSCI/CMPE 3334 Systems Programming
Chapter 2: Operating-System Structures
Timothy Pertuit, David Lacey, Doug Gibson
Introduction to cosynthesis Rabi Mahapatra CSCE617
Software Defined Networking (SDN)
FPro Bus Protocol and MMIO Slot Specification
Central Processing Unit
CoCentirc System Studio (CCSS) by
November 18 July 2008 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: Task Group 4e definitions Date.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
An Introduction to Software Architecture
Chapter 2: Operating-System Structures
Transaction Level Modeling: An Overview
Chapter 2: Operating-System Structures
ONAP Architecture Principle Review
Object Oriented Design
Presentation transcript:

OCP-IP SLD New Generation Using OSCI-TLM-2 OCP-IP SLD New Generation Using OSCI-TLM-2.0 to Model a Real Bus Protocol at Multiple Levels of Abstraction FDL 2008 James Aldis, Texas Instruments Mark Burton, Robert Günzel, Greensocs Herve Alexanian, Sonics

Outline Introduction to OCP OCP-IP’s Existing SystemC Infrastructure Channels and Ports Levels of Abstraction Next Generation OCP-IP SystemC Infrastructure Use of OSCI TLM-2.0 Compatibility with TLM-2.0 Extensions Bindability Increasing the Level of Timing Accuracy

Introduction to OCP OCP is a memory-mapped “bus” protocol for SoCs READ from an address, or WRITE to an address OCP is point-to-point one “bus master” connects to one “bus slave” it does not include any routing, arbitration, etc.. OCP cores should connect to any bus Motivation is to be able to define IP cores’ interfaces independently of the systems in which they are used

Introduction to OCP Scaleable and Universal Can be seen as a formalism of all memory-mapped busses into a common language Every IP core chooses the bus interface that it needs CPU needs semaphores and instruction-set-specific qualifiers Datapath accelerator needs sophisticated addressing modes, deep pipelining Simple peripheral needs only basic read/write operations Responsibility of the system to bridge between them not every OCP master is directly pluggable into every OCP slave well-defined rules for pluggability Not only a memory-mapped bus Interrupts Errors, control and status signalling Debug and test signals and so on; but these are not the topic today

Introduction to OCP Open Standard Owned by the OCP International Partnership OCP-IP provides much more than only a protocol Functional verification specifications Verification tools: BFMs and protocol checkers Parameter capture formats RTL timing classes Analysis and debug tools System-Level Design support Standard interfaces for SystemC models of cores as well as RTL models of cores Enabling automation of core provision and SoC specification and assembly

OCP-IP’s Existing SystemC Infrastructure Objectives Help people to model OCP interfaces in SystemC by providing infrastructure code Enable exchange of SystemC models of cores in addition to RTL models History SystemC infrastructure available from OCP since 2003 Widely used: 100s of downloads, many users Maintained up-to-date with latest OCP protocol version Largely based on SystemC-2.0 technology Supported by EDA vendors

OCP-IP’s Existing SystemC Infrastructure OCP-IP does not provide a bus router model OCP is point-to-point EDA tools and open source busses are available Network-on-chip vendors provide compatible models of their IPs 3 levels of abstraction are available TL1: cycle accurate TL2: intra-burst timing TL3: inter-burst timing

Next Generation OCP-IP SystemC Infrastructure OSCI TLM-2.0 Adoption The OCP-IP technology has some disadvantages does not use SystemC-2.2 features such as exports very much OCP-specific making bridging to other bus technologies expensive relatively complex and costly to maintain because a complete infrastructure OCP-IP even owns the abstraction level definitions Therefore we pushed strongly for OSCI to develop a bus modelling infrastructure including generic memory-mapped bus payload including definitions of abstraction levels OCP will be just a thin layer on top of TLM-2.0 should be faster, cleaner, better, closer to non-OCP Existing OCP-IP SystemC technology is still supported through backwards-compatibility adapters

Why Isn’t OSCI TLM-2.0 Enough? Generic Payload and Base Protocol provide a memory-mapped bus API with 100% interoperability But It is functionally limited simple addressing modes no semaphores or bus locking etc It only offers two levels of abstraction loosely-timed (~ OCP-IP TL4) approximately-timed (~ OCP-IP TL3) Nevertheless For many bus interfaces, TLM-2.0 is enough the majority of IP cores have simple bus interfaces At higher levels of abstraction, distinctions between OCPs or OCP and other protocols disappear OCP-IP interfaces will be compatible with TLM-2.0 Base Protocol wherever possible

OCP-IP Abstraction Levels Timing Accuracy Abstractions OSCI equivalent TL0 Cycle accurate None, this is the RTL level SystemC synthesise-able subset TL1 Can be fully cycle-accurate, requiring clock synchronisation between bus master and bus slave, and respecting the OCP protocol. All beats of a burst are modelled. Wires and signals are not modelled none so far TL2 User selectable number of timing points per bus burst No clock synchronisation therefore some non-determinism. Optional averaging of bus occupancy over bursts or parts of bursts. Flow control not modelled explicitly. TL3 4 timing points per bus burst, bus occupancy determined only by ‘data receiver’ No modelling of independent write data phases, no ability to model intra-burst timing effects, no distinction between address order within a burst (eg wrapping and incrementing bursts are equivalent) Approx-timed (AT) nb_transport() TL4 Minimum necessary to run software on a virtual platform “Pure functional” representation of memory-mapped bus. No flow control or ordering effects are modelled. Loosely-timed (LT) b_transport() and nb_transport()

OCP-IP SystemC Next Generation Interface Standards OCP-IP SystemC Interface OSCI TLM compatibility TL0 Not specified by OCP-IP separately for SystemC from other HDLs None, this is the RTL level TL1 OCP-IP TL1 Uses TLM-2 generic payload, sometimes with extensions. Uses different protocol phases and rules from OSCI TLM-2.0 BP. Uses nb_transport() TL2 OCP-IP TL2 Uses TLM-2 generic payload, sometimes with extensions. Extensions are a subset of the extensions used at OCP-IP-TL1. Uses different protocol phases and rules from OSCI TLM-2.0 BP and from OCP-IP-TL1. TL3 OCP-IP TL3 Uses TLM-2 generic payload, sometimes with extensions. Extensions are a subset of the extensions used at OCP-IP-TL2. Uses the same protocol phases and rules as OSCI-TLM-2.0 BP. Extensions may be ignorable in which case OCP-IP-TL3 is directly interoperable with OSCI-TLM-2.0-BP. Uses nb_transport() and b_transport() TL4

Layered Structure of the Interfaces The orange arrows show where technology from a high level of abstraction is re-used at a lower level Thus TL2 is a superset of TL3 which is a superset of OSCI BP TL1 is not quite a superset of TL2 but is a superset of TL3 TL1 and TL2 technology for modelling timing is different

Generic Payload Extensions for OCP All levels of abstraction (pure functional) bus locking and semaphores exotic addressing modes (eg 2D or user-defined bursts) TL3 and below out-of-order responses for pipelined transactions TL2 and below writes with early or no response non-blocking flow control intra-transaction address ordering (eg wrapping bursts) TL1 and below mapping user extensions to and from bitmaps Approximately 15 extensions are derived from the OSCI extension base class for OCP more will be required in the future as OCP grows for any given OCP configuration only a subset are required in many cases none are required

Socket Bindability OSCI TLM-2.0 proposes a compile-time mechanism for testing compatibility OCP needs something more sophisticated there are too many OCPs (1000s) to have a traits class for every one inter-OCP compatibility rules are too sophisticated: can not divide OCPs into disjoint sets of mutually compatible direct binding to OSCI Base Protocol ought to be possible for TL3 with appropriate configuration future plans include OCP sockets that can adapt to the abstraction level at bind time Therefore OCP-IP will provide an elaboration-time compatibility check based on exchange of OCP configuration information during binding permits the SystemC models to fall back to a common configuration permits creation of “generic” components that adapt their behaviour to the core they are bound to

OCP Configuration

Increased Timing Accuracy TL1 and TL2 are more accurate than can be supported by TLM-2.0 Base Protocol OCP-IP will provide some technology for interoperability with higher timing accuracy than offered by TLM-2.0 TL1 is fully cycle-accurate timing points for every beat of a burst for master and slave clock synchronisation rules timing information exchange for managing combinatorial dependencies TL2 provides a user-selectable level of accuracy transactions may be broken into smaller “chunks” data “creation rate” may be specified dynamically without needing to model every beat of a burst no requirement to be clock-synchronised so some inevitable limit to attainable accuracy

Wrap-up This is not only going to work OCP can exploit all of TLM-2.0 it is going to work efficiently OCP can exploit all of TLM-2.0 Generic Payload Extension Mechanism Timing Annotation Base Protocol OCP needs to add Extensions Run-time compatibility testing Technology for increased timing accuracy