Build

The Build options let you customize the LCM build parameters.

Select this tab to access options for:

Build Options



Optimize

This option is dedicated to dataflow applications in order to generate a more compact code. When selected, this option merges all parallel actions inside the same control point, and removes dead code (for example, in an instruction like if true then... , the optimize option will remove the test).

The compilation might be long using this option for large programs, and debug information might be altered.

Detect potential double emissions

If this option is selected, the compiler checks if potential double emissions of valued signals will or might happen at run time.

A warning is issued at compilation time if a valued signal is written or might be written more than once within the same cycle. Checking double emissions might be a heavy and long process for large programs.

However, for a given signal, if a double emission with a different value occurs during the execution of a program, the behavior cannot be guaranteed, because one signal value is arbitrary chosen by the compiler. Double emissions are not checked on pure signals: there is no conflict on a pure value.

Note: A double emission warning is not issued if a conflict affects a signal mapped to an input port of the block. The value of the input port is always chosen by the compiler. In this case, a warning is issued only if the signal is mapped to more than one input port.

Default Types



The LCM compiler does not generate code if any polymorphism (either full polymorphism expressed with a type variable 'any, or polymorphism of type class expressed with a type class variable 'any::class) remains before compiling a program (that is, before invoking the Build command).

For each type class, a default core type is chosen by the compiler from the user-defined type/type class correspondence table. Full polymorphism will generate an element with a pure value.

Warning: Values appear in the drop-down boxes only if a LCM logic is loaded in session.

Working Output Directory



The Build command generates the object file <block_name>.lcmo used when running a simulation. This option allows you to change the output directory of the .lcmo files.