dftlib.transformer.rewrite_rulesΒΆ

Functions

add_or_as_predecessor

(Rule #4): Add an OR-gate as the single predecessor of element.

check_dynamic_predecessor

Check whether element has at least one dynamic element (except a dependency) in its predecessor closure.

check_for_cycle

Check for cycle by checking whether element contains itself in its predecessor closure.

has_immediate_failure

Checks whether a failure of the gate leads to an immediate failure of the top level element.

try_factor_common_cause

Try to factor out a common cause failure.

try_flatten_gate

(Rule #5): Flattening of AND-/OR-/PAND-gates.

try_merge_bes_in_or

Try to merge BEs under an OR-gate into one BE.

try_merge_identical_gates

(Rule #2): Try to merge gates with the same type and identical successors.

try_remove_dependencies

Try to remove superfluous dependencies.

try_remove_duplicates

Try to remove duplicate elements in gate successors.

try_remove_fdep_successors

(Rule #27, Rule #28): Eliminate FDEP between two successors of an OR or PAND.

try_remove_gates_with_one_successor

(Rule #3): Remove gates with just one successor.

try_remove_superfluous_fdep

(Rule #25, Rule #26): Eliminate superfluous FDEP from AND or OR.

try_replace_fdep_by_or

(Rule #24): Eliminate FDEPs by introducing an OR-gate.

try_split_fdep

Split FDEPs with two or more children into single FDEPs with only one child.

try_subsumption

(Rule #8, Rule #9): Subsumption of OR-gate by AND-gate or of AND-gate by OR-gate.

Classes

RewriteRules

Rewrite rules.