Top Banner
Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling
27
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Puneet AroraESCUG, 09

Abstraction Levels in SoC Modelling

Page 2: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Agenda

• Introduction• Abstraction levels• Terminologies• Implementation• Implementation Example• Adaptors• Conclusion and References

Page 3: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Introduction

• SoC Modelling: Software model / Executable representation of SoC

• Various use cases– Functional verification– Early s/w development– HW/SW partitioning, resource sharing– Architecture Exploration– Verify memory and bus designs– Cycle accurate h/w models

Page 4: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Abstraction Levels

• Required to cater to different use-cases• Control amount and frequency of

communication• Control simulation speed and accuracy• SystemC signal: RTL• TLM2.0 (Payload / Phases): Higher

abstractions

Page 5: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Terminologies ..

Popular Terminology• Programmer's View: functional correct, fast

models for embedded software development• Architect's View: explore design features

like bus-width, memory organization, die-area etc

• Verification View: cycle-accurate modelling, simulate actual timing and memory requirements, closest to RTL

Page 6: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Terminologies ..

OCP-IP modelling kit• Introduces four levels

– TL1: cycle accurate modelling, supports all dataflow signals of OCP through extensions and phases

– TL2/TL3: approximate timed modelling, fewer extensions and phases

– TL4: loosely timed modelling, phases are not used, blocking transport mechanism is used

– Compatible with OSCI BP wherever possible

Page 7: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Terminologies ..

OSCI TLM2.0• Provides generic framework for memory

mapped busses• Defines a Base protocol• Provides infrastructure for extending base

protocol to model at different abstraction levels

• Recommends two coding styles• Abstraction levels not well defined

Page 8: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Terminologies ..

STARC TLM Guideline• Uses timing and data granularity axis to

define abstraction levels• Combines points on these axis to define

Abstraction levels• Timing : UnTimed, ApproximatelyTimed,

CycleAccurate• Data : TRansaction, BusPhase, BusCycle,

BusSignal

Page 9: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Source: STARC TL Guideline, 2nd Edition

Terminologies ..

Page 10: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Terminologies ..

Timing Accuracy

Data Granularity

Mapping of the OSCI Abstraction Levels

Untimed Approximate CycleAccurateTransaction OSCI LTBusPhase OSCI ATBusCycleBusSignal

Page 11: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Terminologies ..

Timing Accuracy

Data Granularity

Mapping of the OCP Abstraction Levels

Untimed Approximate CycleAccurateTransaction OCP TL4BusPhase OCP TL3BusCycle OCP TL2BusSignal OCP TL1

Page 12: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Source: STARC TL Guideline, 2nd Edition

Mapping UseCases

Page 13: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Implementation

• By extending OSCI TLM2.0– blocking and non_blocking transport APIs– blocking can use wait, temporal decoupling– non_blocking uses phases and PEQs– Extend protocol for lower abstraction levels or

bus specific features• typedef generic_payload• Define new payload• Define new phases

Page 14: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Implementation ExampleOCP-IP Modelling Kit

• Support for advanced communication protocols at various abstraction levels– Built on top of TLM2.0– Payload extensions– Phase extensions– Master Sockets with memory management for

payload and extensions– Slave sockets with PEQ for timing annotations

Page 15: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Implementation Example ..

OCP-IP TL1• Cycle accurate using extensions & phases• Support for individual beats of burst transfers• Different from OSCI BP

– Enforces END_X for every BEGIN_X– Allows phase overlap– Disallows use of TLM_COMPLETED(no

shortcuts)– Modules synchronized at boundary of same

clock and supports non-default timing

Page 16: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Implementation Example ..

Page 17: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

OCP TL2

• Used for Approximate Timed coding styles• Acts as bridge between TL1 and TL3• Phases like TL1 but exact clocking is

optional• Used for intra-burst timing

Implementation Example ..

Page 18: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

OCP TL3

• Data phases are not used• Some extensions are not used as intermediate

timing is not captured• Maximum interoperability with OSCI BP• Different bursts are indistinguishable as data

transfer completes in one go• Synchronized at interface method calls

Implementation Example ..

Page 19: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

TL3 example :phases same as OSCI BP

Implementation Example ..

Page 20: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

TL3 example :request_accept_delay and response latency is zero

Implementation Example ..

Page 21: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

OCP TL4

• loosely timed coding style of OSCI BP• Phases are not used• Transfer completes when b_transport returns• Detail timing behavior not modelled

Implementation Example ..

Page 22: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Adapters

TL3 Slave

TL3 Slave

RTL Master

TL1 Module

InterConnect

Models at different abstraction levels are to be connected-Skip intermediate phases by combining them-May need to arrange data within themselves

Page 23: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

TL1 Master to TL3 SlaveTL1 M TL3 SAdapter

Beg_RespBeg_Resp

Beg_Req

Beg_Data

Beg_Data

Beg_Req

End_Resp

End_Resp

Adapters

Page 24: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

TL4 M

TL4 Master to TL3 SlaveTL3 SAdapter

b_transportnb_tr ( beg_req)

nb_tr ( beg_resp)

wait()

Return b_transport

Adapters

Page 25: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Conclusion

• OSCI TLM2.0 can be extended to implement different abstraction levels. OCP-IP TLM Kit extends TLM2.0 for OCP-IP bus protocol.

• Models at different abstraction levels can be easily connected using adapters

Page 26: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

References

• OSCI TLM2.0 User Manual• OCP-IP TLM Modelling Kit Manual• STARC TLM Guide, 2nd Edition

Page 27: Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.

Questions

SoC Modelling Services (SystemC, TLM2.0)[email protected]