Presentation on theme: "IP-XACT and Eclipse DSPD VPP launch meeting"— Presentation transcript:
1 IP-XACT and Eclipse DSPD VPP launch meeting Anthony BerentARM 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 designComponent – A description of a component type, including interfaces, memory maps, and registersBus 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.
3 IP-XACT design descriptions Component X InstanceDesignBus interface MInterconnectionBus interface MMBus interface MSComponent B (bus component) instanceBus interface MSInterconnectionInterconnectionBus interface SBus interface SComponent Y Instance 1Component Y Instance 2Main elements of IP-XACT designs:Component instances referencing IP-XACT component documentsPoint to point interconnections between bus interfaces of component instances.
4 IP-XACT component descriptions Main elements of components are:Bus interfaces, referencing bus definitions to describe the bus typeMemory maps, including register descriptionsPhysical signal descriptionsViews, referencing non-IP-XACT data or lower level designs.Memory map map1Bus interface B1Bus type XSlaveBus interface B2Bus type YMasterRegister R0Register R1ComponentSignal mapSignal MapSignalsPhysical signal Sig1Physical signal Sig2Physical signal Sig3View AView BView CReference to associated data (e.g. RTL model)Reference to associated data (e.g. drivers)Reference to Lower Level Design (IP-XACT Design Document)
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 interfacesOther connection restrictions:E.g. The maximum number of bus masters and slaves.
6 IP-XACT generatorsGenerators are tool independent utilities that process IP-XACT component or design dataDesign rule checkersDocumentation generatorsSometimes 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 independentDefined using WSDLProvides access to DE’s modelNo other communication allowed between generator and DE2. DE invokes generatorDesign EnvironmentGenerator4. Generator creates other outputOtherOutput1. User requests generator invocation3. Generator makes TGI calls to read and modify DE’s model of the current design
7 The SPIRIT Consortium membership ContributingMembersBoard ofDirectorsAssociateReviewingMoxonDesign
8 IP-XACT versions Most widely implemented version is IP-XACT 1.2: Released Summer 2006Only supports RTL component interfacesThere is no IP-XACT 1.3!IP-XACT 1.4 was released in March 2008:Includes support of transactional component interfaces for ESL modelingSome significant enhancements to RTL supportUses Tight Generator Interface (TGI) for generatorsUser guide rewritten as formal standard:Probably easier to follow than 1.2 user guide
9 IP-XACT and Eclipse DSPD What is IP-XACT?IP-XACT for debug, and the IP-XACT editorVPP and IP-XACT discussion
10 Using IP-XACT for embedded debug In the old days embedded systems were simple:One processorOne bus (maybe two)A few peripheralsThe only debug hardware (if any) was a breakpoint unit on the processor.Hence easy to describe to debugger
11 Using IP-XACT for embedded debug Embedded systems are now much more complicated:Many processors (sometimes dozens!)Many busesMany peripherals(Sometimes) lots of debug hardware:E.g. ARM’s CoreSight debug peripherals and buses.Difficult to describe to debugger
12 Using IP-XACT for embedded debug We need a language for describing systems to debuggers.IP-XACT fits well:Already existsDescribes most of what debuggers need to knowHardware and debugger neutralCan 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 activityEclipse DSDP have chosen to use IP-XACT as their standard way of describing embedded targets.
13 Data-flow between Design Teams IP ComponentsIP vendorARM CPUDSPETBDAPTRACE FUNNELOther IPPERIPHERALSComponent I/O and memory map information as a IP-XACT XML FileSystem designerARM CPUDAPOther tools:IP-XACT editorProprietary toolsAutodetect from SoCROM, RAMEDA / ESL ToolsETMDSPCTIPERIPHERALSFUNNELSoCPERIPHERALSTopology and System Memory Map Description as IP-XACT XMLSoftware developerDebuggerEmulatorReads programmer’smodel from IP-XACT filesReads debug accessdescriptions from IP-XACT files
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.
15 What does the IP-XACT editor do? Provides Enhanced and Customized XML editorAutomatically uses IP-XACT schemaSome 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 instancesBus definitions can be dragged into components to create new bus interfaces.
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 documentsInserting new elements into IP-XACT documentsIncludes IP-XACT semantic checker to check (mainly cross document) rules that are not enforced by IP-XACT schema.
18 The IP-XACT editor – current status Initial work contributed to DSDP/DD early 2007Europa (Eclipse 3.3) includes early preview version:IP-XACT 1.2 onlyOther limitationsGanymede (Eclipse 3.4) includes late preview version:Functionality basically completeSupport for IP-XACT 1.4Full release (1.0) will be in DSDP/DD November release:Will tidy up and formalize APIsIntended to make reuse and extension easier.No significant functional changes from Ganymede version.All work to date contributed by ARM.
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 frameworkTGI library for generatorImproved (graphical?) editing or analysis tools for IP-XACTHow 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.