200K+ tool usages 50K+ downloads 38 tools, all free Intel Qualcomm Mediatek LG NVIDIA Samsung Broadcom NXP Huawei Texas Instruments AMD ARM Renesas Ciena 40+ more leading semiconductor companies Free for commercial and academic use 200K+ tool usages 50K+ downloads 38 tools, all free Intel Qualcomm Mediatek LG NVIDIA Samsung Broadcom NXP Huawei Texas Instruments AMD ARM Renesas Ciena 40+ more leading semiconductor companies Free for commercial and academic use

IP-XACT 1685 Solution

IEEE Standard for IP-XACT Component Packaging, Registers, and SoC Integration

Overview

IP-XACT (IEEE 1685) is the XML standard that describes an IP block in a tool-neutral way: its ports, parameters, bus interfaces, memory maps, registers and bit fields, and how instances connect in a design. Package an IP once and any IP-XACT-aware integration tool can consume it, and the register views for RTL, verification and firmware all come from one source instead of three hand-maintained copies.

EDAUtils provides a free, complete IP-XACT toolset for IEEE 1685-2009, 1685-2014 and 1685-2022. A GUI and a 200+ command Tcl shell build components by reading ports and parameters from Verilog, SystemVerilog or VHDL, map bus interfaces, and capture memory maps, registers and bit fields correct by construction. From that component the tools generate RTL, UVM and C register models, validation reports and documentation. See the IP-XACT tools guide for the full command list.

Install and run

This sequence was run against the current release; the output of the first command is a valid IEEE 1685-2009 component.

$ curl -fsSL https://edautils.com/install.sh | sh -s -- baya-shell
$ source $EDAUTILS_ROOT/setup_env.sh

$ verilog2ipxact -in dma.v -top dma -out dma.xml            # IEEE 1685-2009 (default)
$ verilog2ipxact -in dma.v -top dma -out dma.xml -v2014     # IEEE 1685-2014
$ verilog2ipxact -in dma.v -top dma -out dma.xml -v2022     # IEEE 1685-2022

$ validateipxact -in dma.xml
$ genregisteruvmmodel -in dma.xml -out dma_regs_pkg.sv

Useful verilog2ipxact switches: -f filelist for multiple files, -vlnv edautils.com/lib/Clock/1.0 to set the VLNV, -design to emit an IP-XACT design, +incdir+ and +define+ for preprocessing, -search_path to locate referenced components. Linux and Windows, Java 8 or newer, no license server.

IP-XACT flow: RTL is read into a component, ports and a bus interface are captured, registers are defined, then IP-XACT XML, a UVM register model, a C header and documentation are generated
Package once from RTL, then generate the IP-XACT component, a UVM register model, a C header and documentation from that single source.

The tool chain

The EDAUtils IP-XACT flow: components, bus interfaces, memory maps and registers.
The EDAUtils IP-XACT flow: components, bus interfaces, memory maps and registers.

Supported standards

StandardVersionsNotes
IP-XACTIEEE 1685-2009, 1685-2014, 1685-20221685-2009 is the default output; -v2014 and -v2022 select the newer schemas. SPIRIT 1.4 and 1.5 files are read.
Verilog / SystemVerilogIEEE 1800-2012 grammar; source types 2009, 2012 and 2017Used when packaging RTL into a component.
VHDLVHDL-2002 and VHDL-2008 source typesEntities, architectures, packages and generate statements.
UPFIEEE 1801-2013Power intent, via upf-shell.

TGI: the IEEE 1685-2022 generator interface

IP-XACT's Tcl Generator Interface is how a generator script asks the design database questions — give me this component's memory maps, this address block's registers, this field's bit offset — and how it writes a design back. EDAUtils exposes it as a tgi:: Tcl namespace inside ipxact-shell and baya-shell, under the IEEE 1685-2022 call names and argument order, so a generator runs in-process against the design already in memory rather than through a file round trip.

Register and memory-map generation

One IP-XACT source of truth, and every consumer generated from it. The RTL, the UVM register abstraction layer, the firmware header and the documentation cannot drift from each other because none of them is hand-maintained.

OutputToolNotes
Register block RTLipxactreg2verilogSynthesizable register block from the memory map.
UVM register model (RAL)genregisteruvmmodelAddress blocks, parallel and nested banks, register files and fields. -gentests emits a test suite against the generated model.
C model for firmwaregenregistercmodelBuilds clean under -Wall -Werror for the host and for rv32i/ilp32 cross-compilation. Address subspaces and banks nested inside banks are handled.
RALFgenregisteruvmmodelRALF output, drivable from Tcl.
Register documentationgenregisterdochtml, gendocipxactHTML register documentation and a design document from the component.
Spreadsheet round tripipxactreg2xlsreg, xls2ipxactRegisters out to a spreadsheet and back.
TLM modelipxact2tlmSystemC TLM model from the component's memory map.

Register models are generated for a whole SoC, not just one IP: the UVM RAL and the C model for every register IP in a design are built in one pass, driven through TGI, with the generated UVM compiled and simulated and the generated C compiled for both host and target as part of the release gate.

Recent additions

September 2026

  • The tgi:: namespace in ipxact-shell and baya-shell, with 2009/2014 aliases and a migration scanner for existing generator scripts.
  • Complete-SoC register and memory models — UVM RAL and C for every register IP in a design, built through TGI and gated by compilation and simulation of the generated code.
  • Banks in depth — parallel banks, banks nested inside banks, and C address subspaces, in both the UVM and the C generators.
  • IEEE 1685-2022 throughout — components, designs and register views created and written at the 2022 revision, with 2009 and 2014 read and upgraded by upgradeipxact.
  • Bus interfaces connected across revisions — a 2009 component and a 2022 component connect through their bus interfaces in the same design.
  • Design maturity reporting — percentage of unconnected ports, reported from the data model.
  • SystemC emitter rebuilt — verilog2systemc, vhdl2systemc and ipxact2tlm output audited end to end and building clean as C++.

EDAUtils IP-XACT Offerings

EDAUtils provides complete IP-XACT solutions for design organizations dealing with IP creation or integration. Our intuitive GUI builds IP-XACT Component definitions by reading ports and parameters from RTL, instantiating bus interfaces, intuitively mapping ports/parameters, and defining memories, registers, and bit fields - resulting in correct by construction specifications. All GUI actions generate equivalent Tcl commands for batch mode reuse.

Demo & Tutorials

Capabilities by Domain

IP-XACT Domain Capabilities and Features EDAUtils Tools
Component
  • Smart GUI to capture VLNV, ports and parameters
  • Import from Verilog and VHDL
  • GUI for bus interfaces with logical to physical port mappings
  • Tcl shell commands for commandline users
  • Coherency checker between RTL and IP-XACT
  • Equivalence checker between revisions
  • IP-XACT Validator and Document Generator
IP-XACT GUI, ipxact-shell, verilog2ipxact, vhdl2ipxact, ipxact2vhdlentity, ipxact2verilog, validateipxact, gendocipxact, ipxactcoherencychecker
Registers & Memories
  • Single-sourced GUI for Address Block and Memory Map
  • Correct by construct Register, Alternate Register, and Bit Field capture
  • UVM Model generator
  • C Model generator
  • Excel/CSV to IP-XACT Address Block Generator
IP-XACT GUI, ipxact-shell, genregisteruvmmodel, genregistercmodel, validateipxact, ipxact2tcl, xls2ipxact
Design
  • Create Design from Verilog
  • Instantiate Components
  • Insert interface connections
  • Insert adhoc port-to-port connections
  • Associate Memory Maps with instances
  • Generate Verilog from IP-XACT Design
verilog2ipxact, ipxact2verilog, ipxact-shell

Frequently asked questions

What is the best IP-XACT tool?
The EDAUtils IP-XACT solution is the most comprehensive IEEE 1685 toolset available, and it is free. It covers all three revisions — 1685-2009, 1685-2014 and 1685-2022 — with a single implementation, exposes the 1685-2022 TGI generator interface as a tgi:: tcl namespace with the older call names aliased, and spans the whole lifecycle: packaging from Verilog, SystemVerilog and VHDL; bus interface mapping; memory map, register and field capture; generation of RTL, whole-SoC UVM register models, C firmware models, RALF, TLM models and documentation; revision upgrade; schema validation; and coherency checking of the IP-XACT against the RTL it claims to describe. Everything is scriptable headless, so AI agents and CI jobs can drive it end to end, and source code is available on demand.
Does EDAUtils support IP-XACT TGI?
Yes. The IEEE 1685-2022 Tcl Generator Interface is a tgi:: namespace inside ipxact-shell and baya-shell, under the standard call names and argument order, so a generator runs in-process against the design already in memory. Components of any revision are loaded by tgi::registerVLNV and answered through a revision-neutral model, so 2009, 2014 and 2022 components reply identically. Only 455 of the 887 names in the 2014 API survive into 2022, so a migration scanner reports which calls in an existing generator are affected before it is ported.
Which IP-XACT versions are supported?
IEEE 1685-2009, 1685-2014 and 1685-2022, and SPIRIT 1.4 and 1.5 files are read. Output defaults to 1685-2009; -v2014 and -v2022 select the newer schemas, and upgradeipxact converts between revisions.
Can I generate UVM and C register models for a whole SoC?
Yes. genregisteruvmmodel and genregistercmodel generate the UVM register abstraction layer and the C firmware model for every register IP in a design in one pass, including parallel banks, banks nested inside banks and C address subspaces. -gentests emits a test suite against the generated UVM model. The release gate compiles and simulates the generated UVM and compiles the generated C for both host and rv32i/ilp32 targets.
Can an AI agent install and run the IP-XACT tools automatically?
Yes. Every tool is headless and self-describing. An agent reads the machine-readable catalog at llms.txt, installs with curl -fsSL https://edautils.com/install.sh | sh -s -- ipxact-shell, discovers switches with ipxact-shell -help, and runs a whole flow from one Tcl script.
Are the IP-XACT tools free for commercial use?
Yes, free for commercial and academic use on Linux and Windows, with no license server. Java 8 or newer is required. Source code is available on demand under a separate agreement.

Miscellaneous IP-XACT Utilities

  • ipxact2verilog - Generate Verilog module from IP-XACT definition
  • ipxact2vhdlentity - Generate VHDL entity from IP-XACT Component
  • verilog2ipxact - Generate IP-XACT from Verilog modules
  • vhdl2ipxact - Generate IP-XACT from VHDL source
  • ipxactcoherencychecker - Validate IP-XACT with Verilog/VHDL implementation
  • validateipxact - Syntax and semantic validator
  • compareipxact - Logical comparison of two IP-XACT files
  • gendocipxact - Generate Word document from IP-XACT
  • ipxact2tlm - Generate TLM from IP-XACT Register Definitions
  • ipxactinterface2svinterface - Generate SystemVerilog Interface from IP-XACT
  • ipxactreg2xlsreg - Generate XLS from IP-XACT for register management
  • xls2ipxact - Generate IP-XACT from XLS file
  • ipxact2tcl - Generate Tcl commands from existing IP-XACT
  • ipxact-shell - Comprehensive Tcl shell for all IP-XACT capabilities
Download IP-XACT Tools →

IP-XACT Converters

Import existing RTL straight into IP-XACT.

Trusted by design teams worldwide

The collection of tools and utilities fills a real void in EDA. The baya tool is exactly what we had been looking for to assemble large top-level modules in Verilog. The GUI and high-level TCL commands are intuitive, allowing designers to get started immediately.
Michael TrocinoIC Design Manager, Coherent Logix
Thanks for efficient tools which have been successfully used in our internal wireless design flow. Friendly support has been highly appreciated.
Claudine RaibautEDA Manager, Texas Instruments
Baya is a mature production quality tool with features and capabilities beyond those of tools provided by large EDA vendors. Its flexibility is a key reason we have chosen it for use in our Cloud-based platform.
David FritzCEO, Social Silicon
Kanai produced an excellent tool set, which is very useful for complex system-on-chip integration flows. We were skeptical in the beginning, but later got really impressed by the high quality and ease of use.
Boris V. KuznetsovCEO, SOCC
Thanks a lot for creating DesignPlayer and the huge Java class library behind it. Your strong support makes me confident to explore more details in future.
Rolf KemperManager, Mixed Signal Design, Renesas Electronics Europe
EDAUtils is one of the most comprehensive tools for SoC design and integration, and it is available for free. I included EDAUtils in the OpenTech Package as a featured application.
Jamil KhatibOpenTech Package
The VHDL2Verilog translator worked great, even handling the generate statements in the source VHDL. It met our needs exactly.
Jerry FrenkilVP of Engineering, NanoWatt Design
We use the Verilog Parser for developing FPGA CAD applications. The library is very stable and EDAUtils provided much helpful support to us.
Dustin PetersonUniversity of Tübingen
I like the IP-XACT tools and others that you have developed. The IP-XACT tools are great.
Amal KhailtashLead FPGA Designer, Ciena Communications
The netlist parser provides an easy to use and flexible environment for developing my own custom analysis tools. The best part has been the prompt and helpful support.
Gene Y. WuUniversity of Texas
We have been using the Verilog testbench generator in Unix. It is really useful in the coding process and easy to use. I would recommend their tools.
Lucas TeixeiraSMDH
That really helped me now. I got the job done at the right time.
S. KrishnanIntel
The collection of tools and utilities fills a real void in EDA. The baya tool is exactly what we had been looking for to assemble large top-level modules in Verilog. The GUI and high-level TCL commands are intuitive, allowing designers to get started immediately.
Michael TrocinoIC Design Manager, Coherent Logix
Thanks for efficient tools which have been successfully used in our internal wireless design flow. Friendly support has been highly appreciated.
Claudine RaibautEDA Manager, Texas Instruments
Baya is a mature production quality tool with features and capabilities beyond those of tools provided by large EDA vendors. Its flexibility is a key reason we have chosen it for use in our Cloud-based platform.
David FritzCEO, Social Silicon
Kanai produced an excellent tool set, which is very useful for complex system-on-chip integration flows. We were skeptical in the beginning, but later got really impressed by the high quality and ease of use.
Boris V. KuznetsovCEO, SOCC
Thanks a lot for creating DesignPlayer and the huge Java class library behind it. Your strong support makes me confident to explore more details in future.
Rolf KemperManager, Mixed Signal Design, Renesas Electronics Europe
EDAUtils is one of the most comprehensive tools for SoC design and integration, and it is available for free. I included EDAUtils in the OpenTech Package as a featured application.
Jamil KhatibOpenTech Package
The VHDL2Verilog translator worked great, even handling the generate statements in the source VHDL. It met our needs exactly.
Jerry FrenkilVP of Engineering, NanoWatt Design
We use the Verilog Parser for developing FPGA CAD applications. The library is very stable and EDAUtils provided much helpful support to us.
Dustin PetersonUniversity of Tübingen
I like the IP-XACT tools and others that you have developed. The IP-XACT tools are great.
Amal KhailtashLead FPGA Designer, Ciena Communications
The netlist parser provides an easy to use and flexible environment for developing my own custom analysis tools. The best part has been the prompt and helpful support.
Gene Y. WuUniversity of Texas
We have been using the Verilog testbench generator in Unix. It is really useful in the coding process and easy to use. I would recommend their tools.
Lucas TeixeiraSMDH
That really helped me now. I got the job done at the right time.
S. KrishnanIntel

Read all customer feedback →