IP-XACT XML Schema Vanderlei Bonato Sep 2008 Outline XML Schema The seven top-level IP-XACT schema definitions IP-XACT Docs 2 What is XML? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to carry data, not to display data XML tags are not predefined. You must define your own tags XML is designed to be self-descriptive XML is a W3C Recommendation 3 XML documents form a tree structure that starts at "the root" and branches to "the leaves" <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </bookstore> </bookstore> 4 XML Schema XML schema provide a means for defining the structure, content and semantics of XML documents It expresses shared vocabularies and allow machines to carry out rules made by people It is an XML-based alternative to DTDs (Document Type Definition) It is also referred to as XML Schema Definition (XSD) It became a W3C Recommendation in May 2001 5 XML Schemas are the Successors of DTDs XML Schemas are extensible to future additions XML Schemas are richer and more powerful than DTDs XML Schemas are written in XML XML Schemas support data types XML Schemas support namespaces 6 What does XML Schema define? defines elements that can appear in a document defines attributes that can appear in a document defines which elements are child elements defines the order of child elements defines the number of child elements defines whether an element is empty or can include text defines data types for elements and attributes defines default and fixed values for elements and attributes 7 Well Formed and Valid XML XML with correct syntax is "Well Formed" XML. XML validated against a DTD is "Valid" XML. 8 IP-XACT XML Schema IP-XACT is a well-defined XML schema for meta-data that documents the characteristics of IP required for the automation of the configuration and integration of IP blocks 9 The IP-XACT schema defined by seven top-level schema definitions 10 Bus and Abstraction Definition descriptions These two descriptions are referenced by components or abstractors in their bus or abstractor interfaces They describe a group of ports that together perform some function The abstraction definition description contains the high-level attributes of the interface, including items such as the connection method and indication of addressing The bus definition contains the low-level attributes of the interface, including items such as the name, direction, and width of the ports 11 Component description An IP-XACT component is the central placeholder for the objects meta-data Components are used to: describe cores (processors, co-processors, DSPs, etc.) peripherals (memories, DMA controllers, timers, UART, etc.) and buses (simple buses, multi-layer buses, cross bars, network on chip, etc.) 12 Component description An IP-XACT component can be of two kinds: static or configurable. A DE cannot change a static component. A configurable (or parameterized) component has configurable elements (such as parameters) that can be configured by the DE and these elements may also configure the RTL or TLM model. 13 Component description An IP-XACT component can be a hierarchical object or a leaf object Leaf components do not contain other IPXACT components, while hierarchical components contain other IP-XACT subcomponents This can be recursive by having hierarchical components that contain hierarchical components, etc 14 Component description: interfaces Each IP component normally identifies one or more bus interfaces Bus interfaces are groups of ports that belong to an identified bus type and an abstraction type The purpose of the bus interface is to map the physical ports of the component to the logical ports of the abstraction definition There are seven possible modes for a bus interface: master, slave, system interface, and may be direct or mirrored the seventh interface mode is the monitor mode A monitor interface can be used to connect IP into the design for verification 15 Design descriptions An IP-XACT design is the central placeholder for the assembly of component objects meta-data A design describes a list of components referenced by this description, their configuration, and their interconnections to each other The interconnections may be between interfaces or between ports on a component A design description is analogous to a schematic of components 16 Design descriptions While a design description, with referenced components and interconnections, describes most of the information for a design, some information is missing, such as the exact port names used by a bus interface To resolve this a component description (referred to as a hierarchical component) is used, which contains a view with a reference to the design description Together, the component and referenced design description form a complete single-level hierarchical description 17 Abstractor descriptions Designs that incorporate IP models using different interface modeling styles (e.g., TLM and RTL modeling styles) may contain interconnections between such component interfaces using different abstractions of the same bus type An IP-XACT description may describe how such interconnections are to be made using a special-purpose object called an abstractor 18 Abstractor descriptions An abstractor is used to connect between two different abstractions of the same bus type (e.g., an APB_RTL and an APB_TLM) An abstractor shall only contain two interfaces, which shall be of the same bus definition and different abstraction definitions Unlike a component, an abstractor is not referenced from a design description, but instead is referenced from a design configuration description 19 Generator chain descriptions In IP-XACT, a design flow can be represented as a generator chain A generator chain is an ordered sequence of named tasks Each named task can be represented as a single generator or as another generator chain This way, design flow hierarchies can be constructed and executed from within a given DE The DE itself is responsible for understanding the semantics of the specified chain described in the generator chain description 20 Design configuration descriptions An IP-XACT design configuration is a placeholder for additional configuration information of a design or generator chain description Design configuration information is useful when transporting designs between design environments and automating generator chain execution for a design, by storing information that would otherwise have to be re-entered by the designer 21 Design configuration descriptions The design configuration description contains the following configuration information: configurable information for parameters defined in generators within generator chains; this information is not referenced via the design description the active view or current view selected for instances in the design description the configuration information for interconnections between the same bus types with differing abstraction types (i.e., abstractor reference, parameter configuration, and view selection). A design configuration applies to a single design, but a design may have multiple design configuration descriptions 22 IP-XACT schemaDOC ../IP-XACT-1.4release/schemaDOC/index.html 23 IP-XACT User’s Group http://www.ipxact-ug.org/organization.htm http://www.ecsiassociation.org/ecsi/main_wide.asp?l1=events&l 2=ipxact-ug1lib&fn=def 24 References XML tutorial XML Schema http://www.w3schools.com/xml/xml_elements.a sp http://www.w3schools.com/schema/default.asp IP-XACT-1.4-specification.pdf (from Spirit Consortium) 25 Thanks! 26