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 E X tensible M arkup L anguage � 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 IP- XACT components, while hierarchical components contain other IP-XACT sub- components � 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.4- release/schemaDOC/index.html 23
IP-XACT User’s Group � http://www.ipxact-ug.org/organization.htm � http://www.ecsi- association.org/ecsi/main_wide.asp?l1= events&l 2= ipxact-ug1lib&fn= def 24
References � XML tutorial � http://www.w3schools.com/xml/xml_elements.a sp � XML Schema � http://www.w3schools.com/schema/default.asp � IP-XACT-1.4-specification.pdf (from Spirit Consortium) 25
26 Thanks!
Recommend
More recommend