Clava is a C/C++ source-to-source compilation tool for instrumentation, controlled by the AOP language LARA.
This tool was developed in the context of the H2020 ANTAREX project.
Responsible: João Bispo
Kadabra is a Java source-to-source compilation tool for instrumentation, controlled by the AOP language LARA.
This tool was developed in the context of the PhD Thesis of Tiago Carvalho.
Responsible: Tiago Carvalho
MATLAB to C compiler targeting embedded systems that is based on Strategic and Aspect-Oriented Programming conceptss.
Receives as input MATLAB code and LARA aspects related to types and shapes, code insertion/removal, and specialization based directives defining default values.
MATISSE leverages data types and shapes to generate customized C compliant with high-level hardware synthesis tools.
Resulting hardware and software automatically generated implementations are comparable in terms of performance with hand-crafted solutions but derived automatically at a minute cost fraction.
Responsible: João Bispo
Jackdaw is a JavaScript source-to-source compilation tool for instrumentation, controlled by the AOP language LARA.
This tool was developed in the context of the MSc Thesis of Ricardo Silva.
Responsible: João Bispo
A LARA aspect-oriented programming language interpreter.
Larai is based on Rhino, an open-source implementation of a JavaScript interpreter written entirely in Java.
The main objective of larai is to provide an outer loop (external) mechanism to control the components of a toolchain.
LARA aspects input to larai can include instructions to execute tools, explore configurations and/or command line options, get attribute values from reports, and decide whether to continue to explore different configurations and/or options based on the results achieved at a particular stage of the design-flow.
Responsible: Tiago Carvalho
Cycle-accurate simulator of a 3-stage MicroBlaze processor which runs ELF files compiled with mb-gcc. Includes debugging facilities.
Responsible: João Bispo
Runs MicroBlaze ELF files and detects MegaBlocks. Extracts megablocks information to files.
The Megablock extractor uses internally a version of the MicroBlaze simulator developed by João Teixeira (IST student) for his MSc dissertation.
Responsible: João Bispo
MANET is a C-to-C compilation tool for instrumentation, controlled by the AOP language LARA.
This tool was developed in the context of the AutoSeer .
Responsible: Pedro Pinto
Aspect-driven C to microprocessor ISA or reconfigurable hardware circuit description compiler.
Constructed using the CoSy compiler development system, it relies on code generators for, but not limited to, the MicroBlaze and x86 microprocessors, and VHSIC Hardware Description Language (VHDL).
The compiler was created in the context of the FP7 REFLECT project, integrated in the optimization and code generation phases of an aspect-driven toolchain targetting heterogenerous reconfigurable hardware.
Optimization sequences are determined, as well as individual parameters of optimization engines (e.g. loop ranks and factors for loop unrolling engine), by an aspect-oriented language called LARA.
Responsible: Ricardo Nobre