1 / 17

FDL 2008 James Aldis, Texas Instruments Mark Burton, Robert G ü nzel, Greensocs

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

meganp
Download Presentation

FDL 2008 James Aldis, Texas Instruments Mark Burton, Robert G ü nzel, Greensocs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OCP-IP SLD New GenerationUsing 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. OCP-IP Abstraction Levels

  11. OCP-IP SystemC Next Generation Interface Standards

  12. 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

  13. 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

  14. 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

  15. OCP Configuration

  16. 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

  17. Wrap-up • This is not only going to work • 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

More Related