Skip to content
Snippets Groups Projects
Commit bbdda836 authored by Robier Al Kaadi's avatar Robier Al Kaadi :penguin: Committed by Oscar Gustafsson
Browse files

Add set_latency_of_type

parent fa6b6fb8
No related branches found
No related tags found
1 merge request!447Add set_latency_of_type
Pipeline #132037 passed
......@@ -526,6 +526,37 @@ class Schedule:
"""
self._sfg.set_execution_time_of_type(type_name, execution_time)
def set_latency_of_type(
self, type_name: TypeName, latency: int
) -> None:
"""
Set the latency of all operations with the given type name.
Parameters
----------
type_name : TypeName
The type name of the operation. For example, obtained as
``Addition.type_name()``.
latency : int
The latency of the operation.
"""
passed = True
for op in self._sfg.operations:
if type_name == op.type_name() or type_name == op.graph_id:
change_in_latency = latency - op.latency
if change_in_latency > (self.forward_slack(op.graph_id)):
passed = False
raise ValueError(
f"Error: Can't increase latency for all components. Try increassing forward slack time by rescheduling. "
f"Error in: {op.graph_id}"
)
break
if change_in_latency < 0 or passed:
for op in self._sfg.operations:
if type_name == op.type_name() or type_name == op.graph_id:
cast(Operation, op).set_latency(latency)
def move_y_location(
self, graph_id: GraphID, new_y: int, insert: bool = False
) -> None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment