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