The Spirit Consortium develops XML schema to ease the sharing of hardware designs between IP providers and system designers.
Briefly, when you create an hardware design (in VHDL, SystemC…) you also describe the design with XML files (using IP-XACT schema) that contain information about the external connections, memory map, bus interfaces… and also contain meta-data such as the language used, the vendor name… The hardware design can then be easily imported in a project that uses the same IP-XACT functionalities.
Using a common denominator as a description of the hardware is a good starting point. From that point, many tools can be created, for example:
- generate documentation from XML
- automatically create the XML description files from VHDL or SystemC
- generate RTL code that connects the IPs
- translate the hardware description from a language to another
I feel that adopting a standard like IP-XACT could improve the usability and visibility of some open source hardware projects. Maybe it’s not necessary to use IP-XACT, even if it’s adopted by such giants as ARM, Texas Instruments and Synopsys. Maybe some day an open standard will rise from the open source community. The heterogeneous world of open source doesn’t fit very well with the strict reliability requirements of hardware development. Having a common infrastructure to share hardware design could be the spine that keeps the community active, healthy and productive. Using IP-XACT in open source designs could bring some side effects: commercial vendors could start to use and improve some open IPs, tinkering them for real-word scenarios and modern silicon technology.
The schema files for IP-XACT are available here.