Gate Type Component
- class hal_py.GateTypeComponent
A component defining additional functionality of a gate type.
- class ComponentType
The type of a gate type component.
Members:
lut : LUT component type.
ff : Flip-flop component type.
latch : Latch component type.
ram : RAM component type.
mac : MAC component type.
init : Initializiation component type.
state : State component type.
ram_port : RAM port component type.
- property name
- property components
All components of the gate type component as a list.
- Type
- get_component(self: hal_py.GateTypeComponent, filter: Callable[[hal_py.GateTypeComponent], bool] = None) hal_py.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.GateTypeComponent, filter: Callable[[hal_py.GateTypeComponent], bool] = None) List[hal_py.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_type(self: hal_py.GateTypeComponent) hal_py.GateTypeComponent.ComponentType
Get the type of the gate type component.
- Returns
The type of the gate type component.
- Return type
- property type
The type of the gate type component.
- class hal_py.LUTComponent
A LUT component specifying the LUT gate type’s functionality.
- property init_ascending
The bit-order of the initialization string. True if ascending, False otherwise.
- Type
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is a LUTComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a LUTComponent, False otherwise.
- Return type
- is_init_ascending(self: hal_py.LUTComponent) bool
Get the bit-order of the initialization string.
- Returns
True if ascending bit-order, False otherwise.
- Return type
- set_init_ascending(self: hal_py.LUTComponent, init_ascending: bool = True) None
Set the bit-order of the initialization string.
- Parameters
init_ascending (bool) – True if ascending bit-order, False otherwise.
- class hal_py.FFComponent
A FF component specifying the FF gate type’s functionality.
- property async_reset_function
The Boolean function describing the asynchronous reset behavior of the flip-flop. Is an empty function if asynchronous reset is not supported by the flip-flop.
- property async_set_function
The Boolean function describing the asynchronous set behavior of the flip-flop. Is an empty function if asynchronous set is not supported by the flip-flop.
- property clock_function
The Boolean function describing the clock input of the flip-flop.
- get_async_reset_function(self: hal_py.FFComponent) hal::BooleanFunction
Get the Boolean function describing the asynchronous reset behavior of the flip-flop. Returns an empty function if asynchronous reset is not supported by the flip-flop.
- Returns
The function describing the asynchronous reset behavior.
- Return type
- get_async_set_function(self: hal_py.FFComponent) hal::BooleanFunction
Get the Boolean function describing the asynchronous set behavior of the flip-flop. Returns an empty function if asynchronous set is not supported by the flip-flop.
- Returns
The function describing the asynchronous set behavior.
- Return type
- get_async_set_reset_behavior(self: hal_py.FFComponent) Tuple[hal_py.AsyncSetResetBehavior, hal_py.AsyncSetResetBehavior]
Get the behavior of the internal state and the negated internal state when both asynchronous set and reset are active at the same time.
- Returns
The values specifying the behavior for the internal and negated internal state.
- Rytpe
tuple(hal_py.AsyncSetResetBehavior, hal_py.AsyncSetResetBehavior)
- get_clock_function(self: hal_py.FFComponent) hal::BooleanFunction
Get the Boolean function describing the clock input of the flip-flop.
- Returns
The function describing the clock input.
- Return type
- get_next_state_function(self: hal_py.FFComponent) hal::BooleanFunction
Get the Boolean function describing the next internal state of the flip-flop.
- Returns
The function describing the internal state.
- Return type
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is a FFComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a FFComponent, False otherwise.
- Return type
- property next_state_function
The Boolean function describing the next internal state of the flip-flop.
- set_async_reset_function(self: hal_py.FFComponent, async_reset_bf: hal::BooleanFunction) None
Set the Boolean function describing the asynchronous reset behavior of the flip-flop.
- Parameters
async_reset_bf (hal_py.BooleanFunction) – The function describing the asynchronous reset behavior.
- set_async_set_function(self: hal_py.FFComponent, async_set_bf: hal::BooleanFunction) None
Set the Boolean function describing the asynchronous set behavior of the flip-flop.
- Parameters
async_set_bf (hal_py.BooleanFunction) – The function describing the asynchronous set behavior.
- set_async_set_reset_behavior(self: hal_py.FFComponent, behav_state: hal_py.AsyncSetResetBehavior, behav_neg_state: hal_py.AsyncSetResetBehavior) None
Set the behavior of the internal state and the negated internal state when both asynchronous set and reset are active at the same time.
- Parameters
behav_state (hal_py.AsyncSetResetBehavior) – The behavior of the internal state.
behav_neg_state (hal_py.AsyncSetResetBehavior) – The behavior of the negated internal state.
- set_clock_function(self: hal_py.FFComponent, clock_bf: hal::BooleanFunction) None
Set the Boolean function describing the clock input of the flip-flop.
- Parameters
clock_bf (hal_py.BooleanFunction) – The function describing the clock input.
- set_next_state_function(self: hal_py.FFComponent, next_state_bf: hal::BooleanFunction) None
Set the Boolean function describing the next internal state of the flip-flop.
- Parameters
next_state_bf (hal_py.BooleanFunction) – The function describing the internal state.
- class hal_py.LatchComponent
A latch component specifying the latch gate type’s functionality.
- property async_reset_function
The Boolean function describing the asynchronous reset behavior of the latch. Is an empty function if asynchronous reset is not supported by the latch.
- property async_set_function
The Boolean function describing the asynchronous set behavior of the latch. Is an empty function if asynchronous set is not supported by the latch.
- property data_in_function
The Boolean function describing the data input of the latch.
- property enable_function
The Boolean function describing the enable behavior of the latch.
- get_async_reset_function(self: hal_py.LatchComponent) hal::BooleanFunction
Get the Boolean function describing the asynchronous reset behavior of the latch. Returns an empty function if asynchronous reset is not supported by the latch.
- Returns
The function describing the asynchronous reset behavior.
- Return type
- get_async_set_function(self: hal_py.LatchComponent) hal::BooleanFunction
Get the Boolean function describing the asynchronous set behavior of the latch. Returns an empty function if asynchronous set is not supported by the latch.
- Returns
The function describing the asynchronous set behavior.
- Return type
- get_async_set_reset_behavior(self: hal_py.LatchComponent) Tuple[hal_py.AsyncSetResetBehavior, hal_py.AsyncSetResetBehavior]
Get the behavior of the internal state and the negated internal state when both asynchronous set and reset are active at the same time.
- Returns
The values specifying the behavior for the internal and negated internal state.
- Rytpe
tuple(hal_py.AsyncSetResetBehavior, hal_py.AsyncSetResetBehavior)
- get_data_in_function(self: hal_py.LatchComponent) hal::BooleanFunction
Get the Boolean function describing the data input of the latch.
- Returns
The function describing the data input.
- Return type
- get_enable_function(self: hal_py.LatchComponent) hal::BooleanFunction
Get the Boolean function describing the enable behavior of the latch.
- Returns
The function describing the enable behavior.
- Return type
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is a LatchComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a LatchComponent, False otherwise.
- Return type
- set_async_reset_function(self: hal_py.LatchComponent, async_reset_bf: hal::BooleanFunction) None
Set the Boolean function describing the asynchronous reset behavior of the latch.
- Parameters
async_reset_bf (hal_py.BooleanFunction) – The function describing the asynchronous reset behavior.
- set_async_set_function(self: hal_py.LatchComponent, async_set_bf: hal::BooleanFunction) None
Set the Boolean function describing the asynchronous set behavior of the latch.
- Parameters
async_set_bf (hal_py.BooleanFunction) – The function describing the asynchronous set behavior.
- set_async_set_reset_behavior(self: hal_py.LatchComponent, behav_state: hal_py.AsyncSetResetBehavior, behav_neg_state: hal_py.AsyncSetResetBehavior) None
Set the behavior of the internal state and the negated internal state when both asynchronous set and reset are active at the same time.
- Parameters
behav_state (hal_py.AsyncSetResetBehavior) – The behavior of the internal state.
behav_neg_state (hal_py.AsyncSetResetBehavior) – The behavior of the negated internal state.
- set_data_in_function(self: hal_py.LatchComponent, data_in_bf: hal::BooleanFunction) None
Set the Boolean function describing the data input of the latch.
- Parameters
data_in_bf (hal_py.BooleanFunction) – The function describing the data input.
- set_enable_function(self: hal_py.LatchComponent, enable_bf: hal::BooleanFunction) None
Set the Boolean function describing the enable behavior of the latch.
- Parameters
enable_bf (hal_py.BooleanFunction) – The function describing the enable behavior.
- class hal_py.RAMComponent
A RAM component specifying the RAM gate type’s functionality.
- get_bit_size(self: hal_py.RAMComponent) int
Get the size of the RAM in bits.
- Returns
The size of the RAM in bits.
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is a RAMComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a RAMComponent, False otherwise.
- Return type
- set_bit_size(self: hal_py.RAMComponent, bit_size: int) None
Set the size of the RAM in bits.
- Parameters
bit_size (int) – The size of the RAM in bits.
- class hal_py.InitComponent
An initialization component specifying the initialization behavior of a gate type.
- get_init_category(self: hal_py.InitComponent) str
Get the category in which to find the initialization data.
- Returns
The data category.
- Return type
- get_init_identifier(self: hal_py.InitComponent) List[str]
Get the list of identifiers at which to find the initialization data.
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is an InitComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a InitComponent, False otherwise.
- Return type
- set_init_category(self: hal_py.InitComponent, init_category: str) None
Set the category in which to find the initialization data.
- Parameters
init_category (str) – The data category.
- class hal_py.StateComponent
A StateComponent with given child component and the internal state identifiers.
- get_neg_state_identifier(self: hal_py.StateComponent) str
Get the identifier of the negated internal state.
- Returns
The identifier of the negated internal state.
- Return type
- get_state_identifier(self: hal_py.StateComponent) str
Get the identifier of the internal state.
- Returns
The identifier of the internal state.
- Return type
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is an StateComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a StateComponent, False otherwise.
- Return type
- set_neg_state_identifier(self: hal_py.StateComponent, neg_state_identifier: str) None
Set the identifier of the negated internal state.
- Parameters
neg_state_identifier (str) – The identifier of the negated internal state.
- set_state_identifier(self: hal_py.StateComponent, state_identifier: str) None
Set the identifier of the internal state.
- Parameters
state_identifier (str) – The identifier of the internal state.
- class hal_py.RAMPortComponent
A RAM port component specifying the behavior of a port belonging to a RAM gate type.
- property clock_function
The Boolean function determining the read or write clock.
- property enable_function
The Boolean function determining the read or write enable.
- get_address_group(self: hal_py.RAMPortComponent) str
Get the name of the read or write address pin group.
- Returns
The name of the pin group.
- Return type
- get_clock_function(self: hal_py.RAMPortComponent) hal::BooleanFunction
Get the Boolean function determining the read or write clock.
- Returns
The Boolean function.
- Return type
- get_data_group(self: hal_py.RAMPortComponent) str
Get the name of the read or write data pin group.
- Returns
The name of the pin group.
- Return type
- get_enable_function(self: hal_py.RAMPortComponent) hal::BooleanFunction
Get the Boolean function determining the read or write enable.
- Returns
The Boolean function.
- Return type
- static is_class_of(component: hal_py.GateTypeComponent) bool
Check whether a component is a RAMPortComponent.
- Parameters
component (hal_py.GateTypeComponent) – The component to check.
- Returns
True if component is a RAMPortComponent, False otherwise.
- Return type
- is_write_port(self: hal_py.RAMPortComponent) bool
Check whether the port is a write or a read port.
- Returns
True if the port is a write port, false if it is a read port.
- Return type
- set_address_group(self: hal_py.RAMPortComponent, addr_group: str) None
Set the name of the read or write address pin group.
- Parameters
addr_group (str) – The name of the pin group.
- set_clock_function(self: hal_py.RAMPortComponent, clock_bf: hal::BooleanFunction) None
Set the Boolean function determining the read or write clock.
- Parameters
clock_bf (hal_py.BooleanFunction) – The Boolean function.
- set_data_group(self: hal_py.RAMPortComponent, data_group: str) None
Set the name of the read or write data pin group.
- Parameters
data_group (str) – The name of the pin group.
- set_enable_function(self: hal_py.RAMPortComponent, enable_bf: hal::BooleanFunction) None
Set the Boolean function determining the read or write enable.
- Parameters
enable_bf (hal_py.BooleanFunction) – The Boolean function.
- set_write_port(self: hal_py.RAMPortComponent, is_write: bool) None
Set the port to be a write or a read port.
- Parameters
is_write (bool) – True if the port is a write port, false if it is a read port.