IP-XACT

From Wikipedia, the free encyclopedia
Jump to: navigation, search

IP-XACT is an XML format that defines and describes individual, re-usable electronic circuit designs (individual pieces of intellectual property, or IPs) to facilitate their use in creating integrated circuits (i.e. microchips). IP-XACT was created by the SPIRIT Consortium as a standard to enable automated configuration and integration through tools.[1]

The goals of the standard are

  • to ensure delivery of compatible component descriptions from multiple component vendors,
  • to enable exchanging complex component libraries between electronic design automation (EDA) tools for SoC design (design environments),
  • to describe configurable components using metadata, and
  • to enable the provision of EDA vendor-neutral scripts for component creation and configuration (generators, configurators).

Approved as IEEE 1685-2009 on December 9, 2009, published on February 18, 2010.[2] Superseded by IEEE 1685-2014. IEEE 1685-2009 was adopted as IEC 62014-4:2015.

Overview[edit]

All documents will have the following basic titular attributes spirit:vendor, spirit:library, spirit:name, spirit:version.

A document typically represents one of:

  • bus specification, giving its signals and protocol etc.;
  • leaf IP block data sheet;
  • or a hierarchic component wiring diagram that describes a sub-system by connecting up or abstracting other components made up of spirit:componentInstance and spirit:interconnection elements.

For each port of a component there will be a spirit:busInterface element in the document, this may have a spirit:signalMap that gives the mapping of the formal net names in the interface to the names used in a corresponding formal specification of the port. A simple wiring tool will use the signal map to know which net on one interface to connect to which net on another instance of the same formal port on another component.

There may be various versions of a component referenced in the document, each as a spirit:view element, relating to different versions of a design: typical levels are gate-level, RTL and TLM, each view typically contains a list of filenames as a spirit:fileSet that implement the design at that level of abstraction in appropriate language, like Verilog, C++ or PSL.

Non-functional data present includes the programmer's view with a list of spirit:register declarations inside a spirit:memoryMap or spirit:addressBlock.

Alphabetical list of Companies/Tools[edit]

  • Agnisys's IDesignSpec is an UVM Register Generator and an IP-XACT Reader/Writer
  • Atrenta's Gensys assembly
  • ARM's ARM Socrates System IP Tooling
  • EDAUtils IP-XACT (Free IP-XACT 1685 platform available in GUI and command line for Component packaging, Register and Memory specification, C and UVM Model generators, import and export into XLS, translators like verilog2ipxact, ipxact2verilog, vhdl2ipxact, ipxact2vhdl ...)[promotional language] & EDAUtils Baya (SoC Platform Assembly Tool)
  • FuseSoC is an open source package manager and build system for HDL designs[promotional language]
  • Magillem's Industrial IP-XACT Solution for a complete RTL and ESL front end capture
  • Kactus2 open source IP-XACT design environment[promotional language]
  • Scineric Workspace IP-XACT based IDE[promotional language]
  • Xilinx's Vivado tool supports IP-XACT component by way of a Xilinx Core Instance (XCI) files. The XCI file represents an IP-XACT component XML file that records the values of project options, customization parameters, and port parameters used to create the IP. Most of the IP in the Vivado IP catalog uses the IP-XACT standard format (based on IEEE Std 1685-2009).
  • Tanto is a Python tool to slice and dice IP-XACT into a variety of output formats[promotional language]
  • pyIPXACT is an IP-XACT DOM for IEEE 1685-2014 in Python[promotional language]
  • ipyxact is a Python-based IP-XACT parser[promotional language]

See also[edit]

References[edit]

Further reading[edit]

External links[edit]