kactus2 / kactus2dev

Kactus2 is a graphical EDA tool based on the IP-XACT standard.
https://research.tuni.fi/system-on-chip/tools/
GNU General Public License v2.0
191 stars 34 forks source link
design eda fpga hardware hdl ip-xact mpsoc reuse system-on-chip
                            README : Kactus2
               Copyright (c) 2012-2024 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 is based on IEEE 1685-2014 "IP-XACT" standard.

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

Create HW designs with hierarchy

Integrate HW and SW

What you cannot do with Kactus2

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\\\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 configure.cfgfor 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.