Gate Type
- class hal_py.GateType
- A gate type contains information about its internals such as input and output pins as well as its Boolean functions. - __init__(*args, **kwargs)
 - add_boolean_function(self: hal_py.GateType, pin_name: str, function: hal::BooleanFunction) None
- Add a Boolean function with the specified name to the gate type. - Parameters
- name (str) – The name of the Boolean function. 
- function (hal_py.BooleanFunction) – The Boolean function. 
 
 
 - add_boolean_functions(self: hal_py.GateType, functions: Dict[str, hal::BooleanFunction]) None
- Add multiple boolean functions to the gate type. - Parameters
- functions (dict[str,hal_py.BooleanFunction]) – A dict from names to Boolean functions. 
 
 - assign_pin_to_group(self: hal_py.GateType, pin_group: hal::PinGroup<hal::GatePin>, pin: hal::GatePin, delete_empty_groups: bool = True) bool
- Assign a pin to a pin group. - Parameters
- pin_group (hal_py.GatePinGroup) – The new pin group. 
- pin (hal_py.GatePin) – The pin to be added. 
- delete_empty_groups (bool) – Set - Trueto delete groups that are empty after the pin has been assigned to the new group,- Falseto keep empty groups. Defaults to- True.
 
- Returns
- Trueon success,- Falseotherwise.
- Return type
 
 - assign_property(self: hal_py.GateType, property: hal_py.GateTypeProperty) None
- Assign a new property to the gate type. - Parameters
- property (hal_py.GateTypeProperty) – The property to assign. 
 
 - property boolean_functions
- All Boolean functions of the gate type as a dict from names to Boolean functions. - Type
 
 - property components
- All components of the gate type as a list. - Type
 
 - create_pin(*args, **kwargs)
- Overloaded function. - create_pin(self: hal_py.GateType, id: int, name: str, direction: hal_py.PinDirection, type: hal_py.PinType = <PinType.none: 0>, create_group: bool = True) -> hal::GatePin - Create a gate pin with the specified name. - param int id
- The ID of the pin. 
- param str name
- The name of the pin. 
- param hal_py.PinDirection direction
- The direction of the pin. 
- param hal_py.PinType type
- The type of the pin. Defaults to - hal_py.PinType.none.
- param bool create_group
- Set - Trueto automatically assign the pin to a new pin group,- Falseotherwise. Defaults to- True.
- returns
- The gate pin on success, - Noneotherwise.
- rtype
- hal_py.GatePin or None 
 
- create_pin(self: hal_py.GateType, name: str, direction: hal_py.PinDirection, type: hal_py.PinType = <PinType.none: 0>, create_group: bool = True) -> hal::GatePin - Create a gate pin with the specified name. The ID of the pin is set automatically. - param str name
- The name of the pin. 
- param hal_py.PinDirection direction
- The direction of the pin. 
- param hal_py.PinType type
- The type of the pin. Defaults to - hal_py.PinType.none.
- param bool create_group
- Set - Trueto automatically assign the pin to a new pin group,- Falseotherwise. Defaults to- True.
- returns
- The gate pin on success, - Noneotherwise.
- rtype
- hal_py.GatePin or None 
 
 
 - create_pin_group(*args, **kwargs)
- Overloaded function. - create_pin_group(self: hal_py.GateType, id: int, name: str, pins: List[hal::GatePin] = [], direction: hal_py.PinDirection = <PinDirection.none: 0>, type: hal_py.PinType = <PinType.none: 0>, ascending: bool = True, start_index: int = 0, delete_empty_groups: bool = True) -> hal::PinGroup<hal::GatePin> - Create a gate pin group with the given name. - param int id
- The ID of the pin group. 
- param str name
- The name of the pin group. 
- param list[hal_py.GatePin] pins
- The pins to be assigned to the pin group. Defaults to an empty list. 
- param hal_py.PinDirection direction
- The direction of the pin group. Defaults to - hal_py.PinDirection.none.
- param hal_py.PinType type
- The type of the pin group. Defaults to - hal_py.PinType.none.
- param bool ascending
- Set - Truefor ascending pin order (from 0 to n-1),- Falseotherwise (from n-1 to 0). Defaults to- True.
- param int start_index
- The start index of the pin group. Defaults to - 0.
- param bool delete_empty_groups
- Set - Trueto delete groups that are empty after the pins have been assigned to the new group,- Falseto keep empty groups. Defaults to- True.
- returns
- The pin group on success, - Noneotherwise.
- rtype
- hal_py.GatePinGroup or None 
 
- create_pin_group(self: hal_py.GateType, name: str, pins: List[hal::GatePin] = [], direction: hal_py.PinDirection = <PinDirection.none: 0>, type: hal_py.PinType = <PinType.none: 0>, ascending: bool = True, start_index: int = 0, delete_empty_groups: bool = True) -> hal::PinGroup<hal::GatePin> - Create a gate pin group with the given name. The ID of the pin group is set automatically. - param str name
- The name of the pin group. 
- param list[hal_py.GatePin] pins
- The pins to be assigned to the pin group. Defaults to an empty list. 
- param hal_py.PinDirection direction
- The direction of the pin group. Defaults to - hal_py.PinDirection.none.
- param hal_py.PinType type
- The type of the pin group. Defaults to - hal_py.PinType.none.
- param bool ascending
- Set - Truefor ascending pin order (from 0 to n-1),- Falseotherwise (from n-1 to 0). Defaults to- True.
- param int start_index
- The start index of the pin group. Defaults to - 0.
- param bool delete_empty_groups
- Set - Trueto delete groups that are empty after the pins have been assigned to the new group,- Falseto keep empty groups. Defaults to- True.
- returns
- The pin group on success, - Noneotherwise.
- rtype
- hal_py.GatePinGroup or None 
 
 
 - delete_pin_group(self: hal_py.GateType, pin_group: hal::PinGroup<hal::GatePin>) bool
- Delete the given pin group. - Parameters
- pin_group (hal_py.GatePinGroup) – The pin group to be deleted. 
- Returns
- Trueon success,- Falseotherwise.
- Return type
 
 - property gate_library
- The gate library this gate type is associated with. - Type
 
 - get_boolean_function(*args, **kwargs)
- Overloaded function. - get_boolean_function(self: hal_py.GateType, name: str) -> hal::BooleanFunction - Get the Boolean function specified by the given name. This name can for example be an output pin of the gate or any other user-defined function name. - param str name
- The name of the Boolean function. 
- returns
- The Boolean function on success, an empty Boolean function otherwise. 
- rtype
- hal_py.BooleanFunction 
 
- get_boolean_function(self: hal_py.GateType, pin: hal::GatePin = None) -> hal::BooleanFunction - Get the Boolean function corresponding to the given output pin. If pin is a None, the Boolean function of the first output pin is returned. - param hal_py.GatePin pin
- The pin. 
- returns
- The Boolean function on success, an empty Boolean function otherwise. 
- rtype
- hal_py.BooleanFunction 
 
 
 - get_boolean_functions(self: hal_py.GateType) Dict[str, hal::BooleanFunction]
- Get all Boolean functions of the gate type. - Returns
- A map from names to Boolean functions. 
- Return type
 
 - get_component(self: hal_py.GateType, filter: Callable[[hal::GateTypeComponent], bool] = None) hal::GateTypeComponent
- Get a single component matching the filter condition (if provided). Returns None if (i) the gate type does not contain any components, (ii) multiple components match the filter condition, or (iii) no component matches the filter condition. - Parameters
- filter (lambda) – The filter applied to all candidate components. 
- Returns
- The component or None. 
- Return type
 
 - get_components(self: hal_py.GateType, filter: Callable[[hal::GateTypeComponent], bool] = None) List[hal::GateTypeComponent]
- Get all components matching the filter condition (if provided) as a list. Returns an empty list if (i) the gate type does not contain any components or (ii) no component matches the filter condition. - Parameters
- filter (lambda) – The filter applied to all candidate components, disabled by default. 
- Returns
- The components. 
- Return type
 
 - get_gate_library(self: hal_py.GateType) hal::GateLibrary
- Get the gate library this gate type is associated with. - Returns
- The gate library. 
- Return type
 
 - get_id(self: hal_py.GateType) int
- Get the unique ID of the gate type. - Returns
- The unique ID of the gate type. 
- Return type
 
 - get_input_pin_names(self: hal_py.GateType) List[str]
- Get an ordered list of the names of all input pins of the gate type (including inout pins). 
 - get_input_pins(self: hal_py.GateType) List[hal::GatePin]
- Get an ordered list of all input pins of the gate type (including inout pins). - Returns
- An ordered list of input pins. 
- Return type
 
 - get_name(self: hal_py.GateType) str
- Get the name of the gate type. - Returns
- The name of the gate type. 
- Return type
 
 - get_output_pin_names(self: hal_py.GateType) List[str]
- Get an ordered list of the names of all output pins of the gate type (including inout pins). 
 - get_output_pins(self: hal_py.GateType) List[hal::GatePin]
- Get an ordered list of all output pins of the gate type (including inout pins). - Returns
- An ordered list of output pins. 
- Return type
 
 - get_pin_by_id(self: hal_py.GateType, id: int) hal::GatePin
- Get the pin corresponding to the given ID. - Parameters
- id (int) – The ID of the pin. 
- Returns
- The pin on success, - Noneotherwise.
- Return type
 
 - get_pin_by_name(self: hal_py.GateType, name: str) hal::GatePin
- Get the pin corresponding to the given name. - Parameters
- name (str) – The name of the pin. 
- Returns
- The pin on success, - Noneotherwise.
- Return type
 
 - get_pin_group_by_id(self: hal_py.GateType, id: int) hal::PinGroup<hal::GatePin>
- Get the pin group corresponding to the given ID. - Parameters
- id (int) – The ID of the pin group. 
- Returns
- The pin group on success, - Noneotherwise.
- Return type
 
 - get_pin_group_by_name(self: hal_py.GateType, name: str) hal::PinGroup<hal::GatePin>
- Get the pin group corresponding to the given name. - Parameters
- name (str) – The name of the pin group. 
- Returns
- The pin group on success, - Noneotherwise.
- Return type
 
 - get_pin_groups(self: hal_py.GateType, filter: Callable[[hal::PinGroup<hal::GatePin>], bool] = None) List[hal::PinGroup<hal::GatePin>]
- Get an ordered list of all pin groups of the gate type. The optional filter is evaluated on every candidate such that the result only contains those matching the specified condition. - Parameters
- filter (lambda) – An optional filter. 
- Returns
- An ordered list of pin groups. 
- Return type
 
 - get_pin_names(self: hal_py.GateType, filter: Callable[[hal::GatePin], bool] = None) List[str]
- Get an ordered list of the names of all pins of the gate type. The optional filter is evaluated on every candidate such that the result only contains those matching the specified condition. 
 - get_pins(self: hal_py.GateType, filter: Callable[[hal::GatePin], bool] = None) List[hal::GatePin]
- Get an ordered list of all pins of the gate type. The optional filter is evaluated on every candidate such that the result only contains those matching the specified condition. - Parameters
- filter (lambda) – An optional filter. 
- Returns
- An ordered list of pins. 
- Return type
 
 - get_properties(self: hal_py.GateType) Set[hal_py.GateTypeProperty]
- Get the properties assigned to the gate type. - Returns
- The properties of the gate type. 
- Return type
 
 - get_property_list(self: hal_py.GateType) List[hal_py.GateTypeProperty]
- Get the properties assigned to the gate type as list where the most significant property stands at first position. - Returns
- The properties of the gate type. 
- Return type
 
 - has_component_of_type(self: hal_py.GateType, type: hal::GateTypeComponent::ComponentType) bool
- Check if the gate type contains a component of the specified type. - Parameters
- type (hal_py.GateTypeComponent.ComponentType) – The component type to check for. 
- Returns
- True if the gate type contains a component of the speciifed type, False otherwise. 
- Return type
 
 - has_property(self: hal_py.GateType, arg0: hal_py.GateTypeProperty) bool
- Check whether the gate type has the specified property. - Parameters
- type (hal_py.GateTypeProperty) – The property to check for. 
- Returns
- True if the gate type has the specified property, false otherwise. 
- Return type
 
 - property id
- Type
- The unique ID of the gate type. 
 
 - property input_pin_names
- An ordered list of the names of all input pins of the gate type (including inout pins). 
 - property input_pins
- An ordered list of all input pins of the gate type (including inout pins). - Type
 
 - property output_pin_names
- An ordered list of the names of all output pins of the gate type (including inout pins). 
 - property output_pins
- An ordered list of all output pins of the gate type (including inout pins). - Type
 
 - property pins
- An ordered list of all pins of the gate type. - Type
 
 - property properties
- The properties assigned to the gate type. - Type
 
 - set_pin_group_direction(self: hal_py.GateType, pin_group: hal::PinGroup<hal::GatePin>, new_direction: hal_py.PinDirection) bool
- Set the direction of the given pin group. - Parameters
- pin_group (hal_py.GatePinGroup) – The pin group. 
- new_direction (hal_py.PinDirection) – The direction to be assigned to the pin group. 
 
- Returns
- Trueon success,- Falseotherwise.
- Return type
 
 - set_pin_group_name(self: hal_py.GateType, pin_group: hal::PinGroup<hal::GatePin>, new_name: str) bool
- Set the name of the given pin group. - Parameters
- pin_group (hal_py.GatePinGroup) – The pin group. 
- new_name (str) – The name to be assigned to the pin group. 
 
- Returns
- Trueon success,- Falseotherwise.
- Return type
 
 - set_pin_group_type(self: hal_py.GateType, pin_group: hal::PinGroup<hal::GatePin>, new_type: hal_py.PinType) bool
- Set the type of the given pin group. - Parameters
- pin_group (hal_py.GatePinGroup) – The pin group. 
- new_type (hal_py.PinType) – The type to be assigned to the pin group. 
 
- Returns
- Trueon success,- Falseotherwise.
- Return type