Boolean Function Decorator

class hal_py.BooleanFunctionDecorator
__init__(self: hal_py.BooleanFunctionDecorator, bf: hal_py.BooleanFunction) → None

Construct new BooleanFunctionDecorator object.

Parameters:bf (hal_py.BooleanFunction) – The Booelan function to operate on.
static get_boolean_function_from(*args, **kwargs)

Overloaded function.

  1. get_boolean_function_from(functions: List[hal_py.BooleanFunction], extend_to_size: int = 0, sign_extend: bool = False) -> Optional[hal_py.BooleanFunction]

    Get the Boolean function that is the concatenation of Boolean functions. The Boolean function can optionally be extended to any desired size greater the size of the given net vector.

    param list[hal_py.BooleanFunction] functions:
     The Boolean functions to concatenate.
    param int extend_to_size:
     The size to which to extend the Boolean function. Set to 0 to prevent extension. Defaults to 0.
    param bool sign_extend:
     Set True to sign extend, False to zero extend. Defaults to False.
    returns:The resulting Boolean function on success, None otherwise.
    rtype:hal_py.BooleanFunction or None
  2. get_boolean_function_from(nets: List[hal_py.Net], extend_to_size: int = 0, sign_extend: bool = False) -> Optional[hal_py.BooleanFunction]

    Get the Boolean function that is the concatenation of variable names corresponding to nets of a netlist. The Boolean function can optionally be extended to any desired size greater the size of the given net vector.

    param list[hal_py.Net] nets:
     The nets to concatenate.
    param int extend_to_size:
     The size to which to extend the Boolean function. Set to 0 to prevent extension. Defaults to 0.
    param bool sign_extend:
     Set True to sign extend, False to zero extend. Defaults to False.
    returns:The resulting Boolean function on success, None otherwise.
    rtype:hal_py.BooleanFunction or None
  3. get_boolean_function_from(pin_group: hal_py.ModulePinGroup, extend_to_size: int = 0, sign_extend: bool = False) -> Optional[hal_py.BooleanFunction]

    Get the Boolean function that is the concatenation of variable names corresponding to the nets connected to the pins of the given pin group. The Boolean function can optionally be extended to any desired size greater the size of the given net vector.

    param hal_py.ModulePinGroup pin_group:
     The module pin group.
    param int extend_to_size:
     The size to which to extend the Boolean function. Set to 0 to prevent extension. Defaults to 0.
    param bool sign_extend:
     Set True to sign extend, False to zero extend. Defaults to False.
    returns:The resulting Boolean function on success, None otherwise.
    rtype:hal_py.BooleanFunction or None
substitute_power_ground_nets(self: hal_py.BooleanFunctionDecorator, nl: hal_py.Netlist) → Optional[hal_py.BooleanFunction]

Substitute all Boolean function variables fed by power or ground gates by constant 0 and 1.

Parameters:nl (hal_py.Netlist) – The netlist to operate on.
Returns:The resulting Boolean function on success, None otherwise.
Return type:hal_py.BooleanFunction or None
substitute_power_ground_pins(self: hal_py.BooleanFunctionDecorator, g: hal_py.Gate) → Optional[hal_py.BooleanFunction]

Substitute all Boolean function variables that belong to a pin connected to a power or ground gate by constant 0 and 1.

Parameters:g (hal_py.Gate) – The gate which is connected to the pins and belongs to the Boolean function under inspection.
Returns:The resulting Boolean function on success, None otherwise.
Return type:hal_py.BooleanFunction or None