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.
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.