Kactus2
Kactus2: A graphical EDA tool built on the IP-XACT standard - Published in JOSS (2017)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Repository
Kactus2 is a graphical EDA tool based on the IP-XACT standard.
Basic Info
- Host: GitHub
- Owner: kactus2
- License: gpl-2.0
- Language: C++
- Default Branch: main
- Homepage: https://research.tuni.fi/system-on-chip/tools/
- Size: 146 MB
Statistics
- Stars: 226
- Watchers: 24
- Forks: 41
- Open Issues: 32
- Releases: 14
Topics
Metadata Files
README.md
README : Kactus2
Copyright (c) 2012-2025 Tampere University
https://research.tuni.fi/system-on-chip/tools
Summary
![]()
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 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.
Owner
- Name: kactus2
- Login: kactus2
- Kind: organization
- Email: kactus2@cs.tut.fi
- Location: Tampere, Finland
- Website: http://funbase.cs.tut.fi
- Repositories: 6
- Profile: https://github.com/kactus2
JOSS Publication
Kactus2: A graphical EDA tool built on the IP-XACT standard
Authors
Tampere University of Technology
Tampere University of Technology
Tampere University of Technology
Tampere University of Technology
Tampere University of Technology
Tampere University of Technology
Tampere University of Technology
Tampere University of Technology
Tags
IP-XACT EDA Design FPGA Hardware Intellectual Property reuse mpsocGitHub Events
Total
- Issues event: 12
- Watch event: 28
- Delete event: 7
- Member event: 1
- Issue comment event: 10
- Push event: 62
- Gollum event: 1
- Fork event: 6
- Create event: 4
Last Year
- Issues event: 12
- Watch event: 28
- Delete event: 7
- Member event: 1
- Issue comment event: 10
- Push event: 63
- Gollum event: 1
- Fork event: 6
- Create event: 4
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Esko Pekkarinen | e****n@t****i | 1,061 |
| Mikko Teuho | m****o@t****i | 697 |
| Joni-Matti Määttä | j****a@t****i | 535 |
| hagantsa | a****g@g****m | 502 |
| epekkar | e****n@t****i | 498 |
| Antti Kamppi | a****i@t****i | 425 |
| Janne Virtanen | j****n@t****i | 389 |
| Lauri Matilainen | l****n@t****i | 27 |
| Dan Chianucci | c****i@x****m | 24 |
| VasiliiFeshchenko | v****3@g****m | 17 |
| Erno Salminen | e****n@t****i | 15 |
| Huang Rui | v****r@g****m | 14 |
| Antti Sillanpää | a****a@t****i | 11 |
| Timo Korpela | t****a@o****i | 9 |
| Ameya Vikram Singh | a****h@g****m | 5 |
| Gwenhael Goavec-Merou | g****u@t****m | 4 |
| Olof Kindgren | o****n@g****m | 3 |
| Lasse Laukkanen | l****n@t****i | 2 |
| Timo Hämäläinen | t****n@t****i | 2 |
| Michał Kruszewski | m****u@p****m | 1 |
| Wilfried Chauveau | w****u@i****e | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 84
- Total pull requests: 17
- Average time to close issues: 3 months
- Average time to close pull requests: about 1 month
- Total issue authors: 38
- Total pull request authors: 5
- Average comments per issue: 1.63
- Average comments per pull request: 1.29
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 11
- Pull requests: 0
- Average time to close issues: 19 days
- Average time to close pull requests: N/A
- Issue authors: 8
- Pull request authors: 0
- Average comments per issue: 0.64
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Kyrhe (17)
- TonyReinberger (10)
- vowstar (5)
- AmeyaVS (5)
- epekkar (4)
- DenizzzGuzell (4)
- olofk (4)
- 0tti (3)
- rsiddharth-TT (2)
- Ryuji-Yatahagane (2)
- polyxemus (1)
- Paul-Chaffey (1)
- maloo (1)
- jm4rtin (1)
- CalamaroS (1)
Pull Request Authors
- vowstar (9)
- AmeyaVS (4)
- epekkar (2)
- DanChianucci (1)
- olofk (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 15
proxy.golang.org: github.com/kactus2/kactus2dev
- Documentation: https://pkg.go.dev/github.com/kactus2/kactus2dev#section-documentation
- License: gpl-2.0
-
Latest release: v3.13.5+incompatible
published 10 months ago
Rankings
Dependencies
- actions/checkout v1 composite
- jurplel/install-qt-action v2 composite
- Warchant/setup-sonar-scanner v3 composite
- actions/checkout v2 composite
- jurplel/install-qt-action v2 composite
