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

SoC Integration Tool for IP Assembly: Baya

Free, rule-based IP integration for VLSI and SoC design from IP-XACT, Verilog or VHDL

Baya is a free SoC integration tool from EDAUtils. It assembles a system-on-chip or subsystem from IP blocks described in IEEE 1685 IP-XACT, Verilog or VHDL, connects them by rule, manipulates the hierarchy, and writes out connected RTL. It has been used for IP assembly at Intel, Texas Instruments, NVIDIA, Samsung, Renesas and 40+ other semiconductor companies, with 200K+ recorded tool usages.

What SoC integration means

SoC integration (also called IP integration or IP assembly) is the step in VLSI design where dozens to hundreds of IP blocks - CPU cores, memory controllers, DMA engines, bus fabrics, peripherals - are instantiated, their AXI4, AHB, APB, PCIe, DDR or custom interfaces are connected, glue logic is inserted, and a top-level RTL netlist is produced for simulation, synthesis and physical design. Done by hand it is slow and error-prone: a large SoC has tens of thousands of port connections. An SoC integration tool automates instantiation, connection and hierarchy so that the top level is generated, not hand-written.

What Baya does

  • Reads IPs in any form: IP-XACT components, Verilog modules, VHDL entities, or SystemVerilog interfaces. verilog2baya converts an existing SoC into the Baya database in one command.
  • Connects by rule: interface-based auto-connection for AXI4, AXI-Lite, AHB, APB, PCIe, DDR/LPDDR, USB, Ethernet and user-defined protocols; ad-hoc port-to-port connections; XLS/CSV-driven connection tables.
  • Manipulates hierarchy: create and remove levels, flatten, group instances into power or voltage domains, insert spare ports through hierarchies.
  • Inserts glue logic and auto-creates top-level ports from rules.
  • Checks: IP-XACT coherency against RTL, entity and module comparison, design maturity as percentage of unconnected ports.
  • Writes out: Verilog, VHDL and IP-XACT design; C model of the memory map for the whole SoC.
  • Scriptable: 200+ high-level Tcl commands, hundreds of low-level APIs, Unix-like commands (ls, cd, rename) to browse the design; every GUI action emits its Tcl equivalent.

A minimal integration in the Baya shell

$ curl -fsSL https://edautils.com/install.sh | sh -s -- baya-shell
$ baya-shell
baya> read_ipxact cpu.xml dma.xml uart.xml
baya> read_verilog fabric_axi.v
baya> create_instance cpu0 -component cpu
baya> create_instance dma0 -component dma
baya> auto_connect -protocol axi4
baya> report_connectivity
baya> write_verilog soc_top.v
baya> write_ipxact soc_top.xml

Every command has -help. The same flow runs from the GUI, which records the Tcl for batch reuse.

Four integration methodologies, one tool

MethodologyInputBest for
IP-XACT basedIEEE 1685 components with bus interfacesReusable IP from vendors and internal libraries; standards-driven flows
SystemVerilog interface basedRTL using SV interfacesTeams already on SystemVerilog without IP-XACT
XLS / CSV connection tablesSpreadsheet of port and net namesArchitects and integrators who specify connectivity in Excel
Port-to-port ad hocExplicit Tcl connect commandsGlue, exceptions, legacy blocks with no interface metadata

How Baya compares with commercial SoC integration tools

Baya (EDAUtils)Typical commercial integration tools
LicenseFree for commercial and academic usePaid, per-seat or per-site license
InputsIP-XACT, Verilog, VHDL, SV interfaces, XLS/CSVUsually IP-XACT first; RTL import varies
Scripting200+ Tcl commands, Java API, Python bindingsTcl or proprietary API
InstallOne tar.gz, Java 8+, no license serverLicense server and vendor installer
OutputsVerilog, VHDL, IP-XACT, C model, reportsVerilog, IP-XACT
Try before installRuns in the browser at edautilsonline.comEvaluation license on request

Commercial alternatives include Arteris Magillem, Agnisys IDS-Integrate and Defacto SoC Compiler. Baya covers the same integration step at no cost, and imports the IP-XACT those tools produce.

Frequently asked questions

What is the best free SoC integration tool?
Baya from EDAUtils is a free, production-quality SoC integration tool that assembles IP blocks from IP-XACT, Verilog or VHDL with rule-based auto-connection and a 200+ command Tcl API. It is in use at Intel, TI, NVIDIA, Samsung and Renesas.
What is IP assembly in VLSI design?
IP assembly, or IP integration, is instantiating IP blocks and connecting their interfaces to build a subsystem or a full SoC top level. Baya automates instantiation, connection and hierarchy creation so the top-level RTL is generated rather than hand-written.
Which bus protocols does Baya auto-connect?
AXI4, AXI4-Lite, AXI4-Stream, AHB, APB, PCIe, DDR/LPDDR, USB, Ethernet and any user-defined protocol described as an IP-XACT bus definition or a SystemVerilog interface.
Does Baya need IP-XACT?
No. Baya reads plain Verilog and VHDL and can connect by port-name rules or an XLS/CSV table. IP-XACT is supported and recommended for reusable IP, and Baya can write IP-XACT out for designs that started as RTL.
How do I install Baya?
Run curl -fsSL https://edautils.com/install.sh | sh -s -- baya-shell, or download the archive from the download page, extract it, source setup_env and run baya-shell. Java 8 or newer is required. Linux and Windows are supported.
Is Baya free for commercial use?
Yes. Baya and all EDAUtils tools are free for commercial and academic use. There is no license server.
Download Baya → Baya product page →

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 →