Resources‎ > ‎



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

back to top


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

back to top


MATLAB to C compiler targeting embedded systems that is based on Strategic and Aspect-Oriented Programming concepts.
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

back to top


MANET is a C-to-C compilation tool for instrumentation, controled by the AOP language LARA.
This tool was developed in the context of the AutoSeer project.

Responsible: Pedro Pinto

MicroBlaze Simulator

Cycle-accurate simulator of a 3-stage MicroBlaze processor which runs ELF files compiled with mb-gcc. Includes debugging facilities.

Responsible: João Bispo

back to top

Megablock Extractor

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.

Download (updated 2016-11-24)

Responsible: João Bispo
Subpages (2): LARA Megablocks