Averest


Equalizer Module

This module contains transformations to make equations from the guarded actions. That means that every cell (not QName) is written by exactly one guarded action which has the guard true,i.e. it is assigned in every step. Obviously, such an guarded action must be contained in the 'main' part, because otherwise it would not be executed in every step. Furthermore, the guarded action can be an immediate or a delayed one. If a cell is assigned by a delayed guarded action, the cell must additionally be initalized by an immediate action in the 'init' part. There is also an optimized generation of equations which works for hardware synthesis and does not build equations for (some) delayed actions. The result can be handled in a better by other backend tools. (e.g. xilinx tools)

Functions and values

Function or value Description

Equalize

Full Usage: Equalize

Returns: SystemTrans

make equations for control flow and data flow

Returns: SystemTrans

EqualizeControl

Full Usage: EqualizeControl

Returns: SystemTrans

Returns: SystemTrans

EqualizeControlInSystemPart

Full Usage: EqualizeControlInSystemPart

Returns: SystemPartTrans

make equations for control flow

Returns: SystemPartTrans

EqualizeData

Full Usage: EqualizeData

Returns: SystemTrans

Returns: SystemTrans

EqualizeDataInSystemPart

Full Usage: EqualizeDataInSystemPart

Returns: SystemPartTrans

make equations for data flow

Returns: SystemPartTrans

EqualizeImmediateActionsInSystemPart

Full Usage: EqualizeImmediateActionsInSystemPart

Returns: SystemPartTrans

The transformation EqualizeImmediateActionsInSystemPart creates equations for immediate guarded actions of the data-flow only. However, if delayed and immediate guarded actions exists for a cell, also an equation for the delayed guarded actions needs to be created due to the carrier variable that is introduced in this case.

Returns: SystemPartTrans

EqualizeImmediateData

Full Usage: EqualizeImmediateData

Returns: SystemTrans

Returns: SystemTrans