GitPedia

Kactus2dev

Kactus2 is a graphical EDA tool based on the IP-XACT standard.

From kactus2·Updated June 26, 2026·View on GitHub·

README : Kactus2 Copyright (c) 2012-2026 Tampere University https://research.tuni.fi/system-on-chip/tools The project is written primarily in C++, distributed under the GNU General Public License v2.0 license, first published in 2016. Key topics include: design, eda, fpga, hardware, hdl.

Latest release: v3.14.1Release for version 3.14.1
May 29, 2026View Changelog →
                            README : Kactus2
			   Copyright (c) 2012-2026 Tampere University
              https://research.tuni.fi/system-on-chip/tools

Summary

Kactus2 logo

Kactus2 is a toolset for designing SoCs. The aim is easier IP reusability and integration for both hardware and
software. The tool supports both the IEEE 1685-2014 and IEEE 1685-2022 "IP-XACT" standards.

Windows installer and tar-package for Linux are available in
SourceForge

Guidelines for issue reporting and contributing are given in the wiki page Contributing to Kactus2.

Other support is provided by email: kactus2@tuni.fi

What you can do with Kactus2

Package IPs for reuse and exchange

  • Import your existing IPs as IP-XACT components
  • Create new IP-XACT components and generate their HDL module headers
  • Reuse IP-XACT files from any standard compatible vendor
  • Reuse the IPs in your designs and connect them with wires and busses

Create HW designs with hierarchy

  • Create multilevel hierarchies, where a design has multiple sub-designs
  • Configure component instances in designs, including the sub-designs
  • Use generator plugins to create HDL with wiring and parameterization

Integrate HW and SW

  • Use memory designer to preview memory maps and address spaces in your hierarchy
  • Package software to IP-XACT components and map them to hardware
  • Generate makefiles that build executables with rules defined in IP-XACT components

What you cannot do with Kactus2

  • Behavioral logic: Neither Kactus2 nor IP-XACT handles module implementations
  • Synthesis or simulation: These require tools that are specificly created for the purpose

Examples and tutorials

Example IPs are available in GitHub here.

Video tutorials are available in Youtube.

Windows install

An installer (SourceForge link above) will guide you through the installation on Windows platforms.

If you want to build Kactus2 on Windows, see separate instructions in our project
wiki.

Linux install

On Linux systems Kactus2 must be built from source. Instructions can be found in the
wiki.

Settings and configurations

Kactus2 uses a settings file for storing user-specific tool settings. The file default location
is ~/.config/TUT/Kactus2.ini in Linux and C:\Users\<username>\AppData\Roaming\TUT\Kactus2.ini
in Windows. The location can be checked on the general settings page in Kactus2.

A system wide default settings file is located in /etc/xdg and C:\ProgramData, respectively.
This will be used as a base for any new user-specific settings and a fallback mechanism, if
the user's file is missing a requested value.

Modifying the settings files manually is not recommended and should be done only by advanced
users. Most of the time all required changes can be applied in the Kactus2 GUI.

In addition, Kactus2 uses the file upgrade.cfg for updating the users' settings when
new setting options are introduced in the tool. Please do not modify this file as it will
break the compatibility with earlier versions.

Contributors

Antti Kamppi, Joni-Matti Määttä, Lauri Matilainen, Timo D. Hämäläinen,
Mikko Teuho, Juho Järvinen, Esko Pekkarinen, Janne Virtanen,
Anton Hagqvist, Vasilii Feshchenko

Kactus2 uses Icons8 provided by Icons8 LLC.

Licensing

This software is licensed under the GPL2 General Public License.

Kactus2 is also available for dual licensing. Please contact kactus2@tuni.fi
to purchase a commercial license.

Kactus2 is dynamically linked using Qt 6.2.4 open source libraries (LGPL),
copyright The Qt Company.

Kactus2 uses the Python language and interpreter for automating design tasks.
Python is a registered trademark of the Python Software Foundation. See also the
PSF license.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from kactus2/kactus2dev via the GitHub API.Last fetched: 6/27/2026