Kactus2 is a toolset to design embedded products, especially FPGA-based MP-SoCs. We aim easier IP reusabilility and practical HW/SW abstraction for easier application SW development. It is based on IEEE1685/IP-XACT XML metadata and design methodology, but extends the IP-XACT usage to upper product hierarchies and HW/SW abstraction with Multicore Association MCAPI. Kactus2 is aimed to offer easy entrance to metadata based design methodology.
Small and mid-size vendor and integrator companies that now have only the traditional toolset: office tools (doc, xls, ppt) for specification/documentation and VHDL, C/C++, and FPGA tools for designs. Kactus2 helps taking a step to metadata based design that keeps products much better manageable while still using also the familiar tools.
Universities and research laboratories that implement new content (IP bocks, SW modules). Kactus2 helps packetizing the content in a standard way for (re)using it much easier by others, specifically when the original contributor leave after e.g. a PhD project.
Bigger companies and tool providers that already have modern design tool flows and resources for developing higher abstraction methods. Kactus2 offers a great R&D environment for trying new methodology ideas and user interface innovations. We hope Kactus2 would be the well-known open reference for benchmarking other metadata-based tools.
- Metadata-based design flow makes selling, buying, integrating and reusing IPs and complete designs much less error prone
- Saves time and effort when managing several configurations and variants of the products
- Machine readable documentation also for the tools, languages and environments for backup and maintenance
- Increased design automation and standard compatibility
What you can do with Kactus2
Draft & Specify from scratch
- Quickly draft block diagram blueprints for product boards (PCB), chips, system-on-chip, IPs and get them stored in IP-XACT format
- Draft MCAPI endpoint design for all processors and fixed IPs in a product
- For new IP-blocks generate code templates (VHDL entities, headers) from IP-XACT components defined in Kactus2
Packetize IP for reuse and exchange
- Create "electronic datasheets" of your existing IPs for library as templates and blocks ready for integration
- Import, export and integrity check IP libraries from any standard compatible IP vendor
Create MP-SoC products
- Create HW designs with hierarchy
- Create system designs that map SW to HW
- Create SW architecture in MCAPI communication abstraction
- Configure all designs
- Generate everything ready for HDL synthesis and SW build for all processors
What you cannot do with Kactus2
- Create IP functionality. You should use HDL editors and SW IDEs. However, you may use TCE-tools to create "C to VHDL" so you can create IP from C source without knowing any HDL.
- Generate binaries/executables. You should use HDL synthesis and SW compilation tools, but there is clear path from Kactus2 to other tools. IP-XACT generators are the standard way to build automation between tools.