EDAUtils provides a free, complete IP-XACT toolset for IEEE 1685-2009, 1685-2014 and 1685-2022: a GUI and Tcl shell to package IP into IP-XACT components, importers from Verilog and VHDL, register and memory-map capture, UVM and C model generators, a validator, a document generator and converters back to RTL. It is used at Intel, Ciena, SOCC, Renesas and 40+ other companies.
What IP-XACT is
IP-XACT (IEEE 1685) is the XML standard for describing IP blocks: their ports, parameters, bus interfaces, memory maps, registers and bit fields, and how instances of them are connected in a design. Because the description is tool-neutral, an IP packaged once in IP-XACT can be integrated by any IP-XACT-aware integration tool, and register models for software, verification (UVM) and documentation can all be generated from one source.
The EDAUtils IP-XACT tools
| Tool | What it does | Typical command |
|---|---|---|
| verilog2ipxact | IP-XACT component or design from Verilog | verilog2ipxact -in top.v -top top -out top.xml |
| vhdl2ipxact | IP-XACT component from VHDL | vhdl2ipxact -in top.vhd -top top -out top.xml |
| ipxact2verilog | Verilog module from an IP-XACT component or design | ipxact2verilog -in top.xml -out top.v |
| ipxact2vhdlentity | VHDL entity from an IP-XACT component | ipxact2vhdlentity -in top.xml -out top.vhd |
| xls2ipxact | Register and memory-map IP-XACT from a spreadsheet | xls2ipxact -in regs.xls -out regs.xml |
| genregisteruvmmodel | UVM register model (RAL) from IP-XACT | genregisteruvmmodel -in regs.xml -out regs_pkg.sv |
| genregistercmodel | C header / model from IP-XACT registers | genregistercmodel -in regs.xml -out regs.h |
| validateipxact | Syntax and semantic validation against IEEE 1685 | validateipxact -in top.xml |
| ipxactcoherencychecker | Check an IP-XACT component against its RTL | ipxactcoherencychecker -ipxact top.xml -rtl top.v |
| gendocipxact | Word document from IP-XACT | gendocipxact -in top.xml -out top.docx |
| ipxact-shell | Tcl shell with every capability above, 200+ commands | ipxact-shell |
| IP-XACT GUI | Component, bus interface, memory map and register editor; emits Tcl | Linux and Windows bundles |
Package an IP in three commands
$ curl -fsSL https://edautils.com/install.sh | sh -s -- verilog2ipxact validateipxact
$ verilog2ipxact -in uart.v -top uart -out uart.xml
$ validateipxact -in uart.xml
$ genregisteruvmmodel -in uart.xml -out uart_regs_pkg.sv
All tools accept -help and run on Linux and Windows with Java 8 or newer.
Frequently asked questions
validateipxact -in file.xml. It checks schema validity and semantic rules such as unresolved references and overlapping registers. ipxactcoherencychecker additionally compares the component against its Verilog or VHDL implementation.