Skip to content
Snippets Groups Projects

Add set_latency_of_type

Merged Robier Al Kaadi requested to merge setlatency into master
+ 31
0
@@ -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:
Loading