AMBA Programmer's View Extensions to OSCI TLM v2.0

Document Sample
AMBA Programmer's View Extensions to OSCI TLM v2.0 Powered By Docstoc
					 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
   AMBA PV Extensions to OSCI TLM v2.0
   Support in the RealView Tools
   Further work




                                          2
ARM activities within OSCI
   ARM is committed to engaging in OSCI
   Board level
     ARM is a Corporate Member in OSCI
   Promotion group level
     ARM is a Global OSCI Sponsor
   Working groups level
     OSCI TLM WG
        More engineering presence in the OSCI TLM WG
        OSCI TLM PV compliant AMBA implementation
     Other working groups
        Monitoring position and engaging when asked to help



                                                               3
Presentation Structure
   ARM Activities within OSCI
   AMBA Protocols: AXI focus
   AMBA PV Extensions to OSCI TLM v2.0
   Support in the RealView Tools
   Further work




                                          4
AMBA - History

      2003 – ARM, working with industry partners, announces the AXI protocol
      AXI – A high performance, flexible protocol
      AHB – retained for compatibility and to ease the transition
      APB – retained for support of simple, low bandwidth peripherals
      ASB – no longer actively supported

Performance

                                                            AXI

                                                 AHB

                            ASB

                                      APB

                                                                       Time
       1995                  1999                2003


                                                                          5
AXI Channel architecture
   AXI interface implemented as five distinct channels

                Write Address
                          A0     A1
                Write Data
                          D00 D01 D02 D03        D10    D11
                Write Response
        AXI                                 B0                     B1    AXI
       Master                                                           Slave
                Read Address
                         A2 A3
                Read Data
                                 D30 D31         D20 D21 D22 D23




   Data flows in a single direction in each channel
   Read and Write independent – can occur in parallel
   Burst based: One address corresponds to multiple data items

                                                                                6
Presentation Structure
   ARM Activities within OSCI
   AMBA Protocols: AXI focus
   AMBA PV Extensions to OSCI TLM v2.0
   Support in the RealView Tools
   Further work




                                          7
Specific Features
   AXI has specific features that are not covered by the OSCI
    TLM v2.0 draft for public review generic payload:
      Security support
      Cache support
      Atomic access model
   There is a need for extending the generic payload to cover
    these features
   OSCI TLM v2.0 draft for public review offers an extension
    mechanism to do so




                                                      8
OSCI TLM v2.0 compliant AMBA-PV


                                                          SystemC
                            AMBA-PV
                            User Layer
                                                          licensees

                  TLM 2.0 – Interoperability Layer


               TLM 1.0 – Common Transport Mechanism       OSCI

   IEEE 1666         SystemC Core Language


   ANSI C++                    C++                        C++




                                                      9
AMBA-PV – Overview
Protocol related data types
    Use of custom extension mechanism for additional AMBA AXI control signals
    Inheritance used only to add convenience methods => no additional variable


    tlm_custom_base                 tlm_request



    amba_pv_control              amba_pv_request



                                 amba_pv_response             amba_pv_status



                                    tlm_response                 tlm_status


                                                                      10
AMBA-PV – Overview
Core API                 tlm_transport_if
    transport()

                       amba_pv_transport_if



User-layer
    User-layer API => read(), write(), burst_read(), burst_write()
    Base class for all AMBA-PV slave modules => not an sc_module => convert
     transport() into user-layer API calls

                     amba_pv_if              amba_pv_transport_if




                             amba_pv_slave_base



                                                                   11
AMBA-PV – Overview
Ports
    Master port => bound to only one interface (not for use in routers)
    Slave export => export_id constructor argument (optional)

                               amba_pv_if                  tlm_initiator_port




                                                          amba_pv_master_port
             tlm_target_port




         amba_pv_slave_export




                                                                           12
Examples
                           Master
                                        transport()
                                                               Slave



   exclusive_example
       Illustrates use of specific AMBA protocol control information with exclusive access to a
        memory
   interop_example
       Illustrates interoperability with generic TLM protocol/payload with the use of
        amba_pv_from_tlm_bridge and amba_pv_to_tlm_bridge
   tlm-2.0/pass_by_example
       Illustrates performance penalty of TLM_PASS_BY_COPY compared to
        TLM_PASS_BY_POINTER
   tlm-2.0/custom_example
       Illustrates performance penalty of slightly less “cumbersome” payload extension
        mechanism
   tlm-2.0/custom2_example
       Illustrates performance gain of inheritance-based payload extension mechanism

                                                                                  13
Presentation Structure
   ARM Activities within OSCI
   AMBA Protocols: AXI focus
   AMBA PV Extensions to OSCI TLM v2.0
   Support in the RealView Tools
   Further work




                                          14
OSCI TLM v2.0 support in RealView Tools
   OSCI TLM v2.0 support is on the roadmap of RealView tools
   AMBA-PV
     OSCI TLM compliant AMBA-PV implementation in RealView ESL APIs
        v2.0 scheduled for June 2007 (DAC07)
   RealView System Generator
     First prototype of export of ARM PV CPU models with AMBA-PV
        interfaces scheduled for May 2007
       Automation of ARM PV models / subsystems export is on the roadmap
        for v3.0 scheduled for Q4 2007
   RealView SoC Designer
     Support to OSCI TLM v2.0 compliant models import is on the roadmap
        for v8.0
   RealView Model Compiler
     Support to OSCI TLM v2.0 compliant ARM models export is on the
        roadmap for H2 2008

                                                             15
Presentation Structure
   ARM Activities within OSCI
   AMBA Protocols: AXI focus
   AMBA PV Extensions to OSCI TLM v2.0
   Support in the RealView Tools
   Further work




                                          16
AMBA-PV – Further work
   Payload extension mechanism
     Inheritance option to be further refined
   Models
     Additional models to be included, e.g. router, memory…
   Examples
     Slightly more complex example (possibly based on pv_example from
       TLM 2.0 draft)
   Release
     To be done shortly after the final release of OSCI TLM v2.0
     Will be provided open source and for free on ARM website




                                                               17
Thank You




            18