IP-XACT is an XML schema for language and vendor-neutral IP descriptions that includes a generator interface for “plug-in” functionality. It is design language neutral, design tool neutral, efficient, and proven. The schema is built on the existing XML (W3C) standard with a standardized API for generator integration called the Tight Generator Interface (TGI). The schema, first released by the SPIRIT Consortium, is now an IEEE standard that is validated and released in accordance with the IEEE policies published as IEEE-1685.
XML schemas are used to define the legal building blocks of an XML document or document structure. An XML schema defines:
- Elements and attributes that can appear in a document
- Which elements are child elements
- The number and order of child elements
- Whether an element is empty or can include text
- Data types for elements and attributes
- Default and fixed values for elements and attributes
It is important to note that XML DOES NOT DO ANYTHING! It was created to structure, store and transport information. XML is just plain text. Software that can handle plain text can also handle XML. However, XML-aware applications can handle the XML tags specially. The functional meaning of the tags depends on the nature of the application. With XML, you invent your own tags, as XML has no pre-defined tags. XML is designed to support schemas like IP-XACT.
IP-XACT provides XML descriptions of components and systems. A component has several attributes that can map directly to XML. These include:
- Memory maps
- Bus interfaces
- Views (additional data files)
- File sets
When multiple components are connected, it becomes an IP-XACT design file. This includes the attributes above, as well as the interconnect information of all the components in the design. Figure 1 shows how IP-XACT is mapped to a component. Think of the IP-XACT files and generators as simply “another view” of an IP block.