1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

19
1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd

Transcript of 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

Page 1: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

1

IP-XACT and Eclipse DSPDVPP launch meeting

Anthony Berent

ARM Ltd

Page 2: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

2

What is IP-XACT? Developed by The SPIRIT Consortium (http://spiritconsortium.org).

Originally developed for delivering IP descriptions of components to EDA tools, and for exchanging IP descriptions of designs between EDA tools: Now starting to be used in other contexts, including the description of debugger

targets.

An IP-XACT description of a design or component consists of a set of XML documents referring to one another: Main document types are:

Design – A high level description of a design

Component – A description of a component type, including interfaces, memory maps, and registers

Bus Definition – A description of a bus type.

References between IP-XACT document are by 4 element identifier (vendor, library, name and version; often abbreviated to VLNV).

IP-XACT also defines an interface for generators, which are utilities called up from Design Environments to process IP-XACT data.

Page 3: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

3

IP-XACT design descriptions

Main elements of IP-XACT designs: Component instances referencing IP-XACT component documents

Point to point interconnections between bus interfaces of component instances.

Component Y Instance 1

Bus interface S

Component Y Instance 2

Bus interface S

Component X Instance

Bus interface M

Component B (bus component) instance

Bus interface MM

Bus interface MSBus interface MS

Interconnection

InterconnectionInterconnection

Design

Page 4: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

4

IP-XACT component descriptions Main elements of

components are: Bus interfaces,

referencing bus definitions to describe the bus type

Memory maps, including register descriptions

Physical signal descriptions

Views, referencing non-IP-XACT data or lower level designs.

Component

View A

Reference to associated

data (e.g. RTL model)

View B View C

Reference to associated data (e.g. drivers)

Reference to Lower Level Design (IP-

XACT Design Document)

Physical signal Sig1

Physical signal Sig2

Physical signal Sig3

Bus interface B1

Bus type X

Slave

Bus interface B2

Bus type Y

Master

Signal mapSignal Map

Memory map map1

Register R0

Register R1

Signals

Page 5: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

5

IP-XACT bus definitions Bus definitions contain:

A list logical bus signals:

Includes signal direction, width, etc.

mapped onto physical signals in components by the signal maps in bus interfaces

Other connection restrictions:

E.g. The maximum number of bus masters and slaves.

Page 6: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

6

IP-XACT generators Generators are tool independent utilities that process IP-XACT component or design data

Design rule checkers Documentation generators

Sometimes distributed with IP-XACT components (and referenced by them) The Tight Generator Interface (TGI) defines remote procedure calls that run over SOAP

(Simple Object Access Protocol): Programming language independent

Defined using WSDL Provides access to DE’s model No other communication allowed between generator and DE

Design Environment

1. User requests generator invocation Generator

2. DE invokes generator

Other

Output

4. Generator creates other

output 3. Generator makes TGI calls to read and modify

DE’s model of the current

design

Page 8: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

8

IP-XACT versions Most widely implemented version is IP-XACT 1.2:

Released Summer 2006

Only supports RTL component interfaces

There is no IP-XACT 1.3!

IP-XACT 1.4 was released in March 2008: Includes support of transactional component interfaces for ESL

modeling

Some significant enhancements to RTL support

Uses Tight Generator Interface (TGI) for generators

User guide rewritten as formal standard:

Probably easier to follow than 1.2 user guide

Page 9: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

9

IP-XACT and Eclipse DSPD What is IP-XACT?

IP-XACT for debug, and the IP-XACT editor

VPP and IP-XACT discussion

Page 10: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

10

Using IP-XACT for embedded debug In the old days embedded systems were simple:

One processor

One bus (maybe two)

A few peripherals

The only debug hardware (if any) was a breakpoint unit on the processor.

Hence easy to describe to debugger

Page 11: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

11

Using IP-XACT for embedded debug Embedded systems are now much more complicated:

Many processors (sometimes dozens!)

Many buses

Many peripherals

(Sometimes) lots of debug hardware:

E.g. ARM’s CoreSight debug peripherals and buses.

Difficult to describe to debugger

Page 12: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

12

Using IP-XACT for embedded debug We need a language for describing systems to debuggers. IP-XACT fits well:

Already exists Describes most of what debuggers need to know Hardware and debugger neutral Can be created by hardware design tools. Can be converted to proprietary debugger formats, or used directly by

debuggers as their format.

The SPIRIT Consortium have created a Debug Working Group to support this activity

Eclipse DSDP have chosen to use IP-XACT as their standard way of describing embedded targets.

Page 13: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

13

Data-flow between Design Teams

IP Components

Softw

are developer

EDA / ESL

Tools

Component I/O and memory map information as a IP-XACT XML File

Other tools:• IP-XACT editor

• Proprietary tools

• Autodetect from SoC

Emulator

PERIPHERALS

DSP

Topology and System Memory Map Description as IP-XACT XML

Reads debug access

descriptions from IP-XACT files

DebuggerReads programmer’s

model from IP-XACT files

IP vendor

System

designer

ARM CPU

ROM, RAM

PERIPHERALS

DAP

ETM

CTI

FUNNEL

DSP

SoC

ETBDAP

ARM CPU

TRACE FUNNEL PERIPHERALS Other IP

Page 14: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

14

Why develop an editor for IP-XACT? IP-XACT was originally developed as a standard for exchanging data

between EDA tools: Typically large expensive tools (~ $1,000s per seat) Often assume that IP-XACT component descriptions are supplied by IP

suppliers, hence have no tools for component description creation. When IP-XACT used for debug target description:

EDA tools may not be conveniently available. IP-XACT design flow may not be complete. New components and designs may need to be described (or descriptions

enhanced). Hence an IP-XACT editor would be valuable. Also useful for other IP-XACT users:

ARM and other IP vendors: for creating and editing component descriptions.

Page 15: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

15

What does the IP-XACT editor do? Provides Enhanced and Customized XML editor

Automatically uses IP-XACT schema

Some context sensitive knowledge of IP-XACT semantics, used to give editing hints.

Provides view of IP-XACT library: VLNVs of IP-XACT documents may not correspond to file name or folder

structure.

Library view sorts documents by vendor, library, name and version.

Library objects can be dragged to the editor window to create new references to them:

Components can be dragged into designs to create new component instances

Bus definitions can be dragged into components to create new bus interfaces.

Page 16: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

16

What does the IP-XACT editor do? Searches for and displays uses of and references to IP-XACT

documents. Includes references window and search window.

Provides Wizards for: Creating new IP-XACT documents

Inserting new elements into IP-XACT documents

Includes IP-XACT semantic checker to check (mainly cross document) rules that are not enforced by IP-XACT schema.

Page 17: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

17

The IP-XACT Editor

Page 18: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

18

The IP-XACT editor – current status Initial work contributed to DSDP/DD early 2007

Europa (Eclipse 3.3) includes early preview version: IP-XACT 1.2 only

Other limitations

Ganymede (Eclipse 3.4) includes late preview version: Functionality basically complete

Support for IP-XACT 1.4

Full release (1.0) will be in DSDP/DD November release: Will tidy up and formalize APIs

Intended to make reuse and extension easier.

No significant functional changes from Ganymede version.

All work to date contributed by ARM.

Page 19: 1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony Berent ARM Ltd.

19

VPP and IP-XACT discussion What does VPP want to provide for IP-XACT support, and

relationship to needs of DSDP/DD. Possibilities include: API providing some level of abstraction of IP-XACT (what level?)

TGI server, or server framework

TGI library for generator

Improved (graphical?) editing or analysis tools for IP-XACT

How does the IP-XACT work relates to other VPP work?

How do DD's IP-XACT work and VPP's IP-XACT work relate?

Offers of participation in the IP-XACT work.