Skip to content
Snippets Groups Projects

Rewrite slack computation

Merged Oscar Gustafsson requested to merge slacks into master
4 files
+ 43
31
Compare changes
  • Side-by-side
  • Inline
Files
4
+ 15
12
@@ -1409,11 +1409,13 @@ class ProcessCollection:
@@ -1409,11 +1409,13 @@ class ProcessCollection:
return max(self.read_port_accesses().values())
return max(self.read_port_accesses().values())
def read_port_accesses(self) -> Dict[int, int]:
def read_port_accesses(self) -> Dict[int, int]:
reads = []
reads = sum(
for process in self._collection:
(
reads.extend(
[read_time % self.schedule_time for read_time in process.read_times]
set(read_time % self.schedule_time for read_time in process.read_times)
for process in self._collection
)
),
 
[],
 
)
return dict(sorted(Counter(reads).items()))
return dict(sorted(Counter(reads).items()))
def write_ports_bound(self) -> int:
def write_ports_bound(self) -> int:
@@ -1444,13 +1446,14 @@ class ProcessCollection:
@@ -1444,13 +1446,14 @@ class ProcessCollection:
return max(self.total_port_accesses().values())
return max(self.total_port_accesses().values())
def total_port_accesses(self) -> Dict[int, int]:
def total_port_accesses(self) -> Dict[int, int]:
accesses = [
accesses = sum(
process.start_time % self.schedule_time for process in self._collection
(
]
list(read_time % self.schedule_time for read_time in process.read_times)
for process in self._collection:
for process in self._collection
accesses.extend(
),
set(read_time % self.schedule_time for read_time in process.read_times)
[process.start_time % self.schedule_time for process in self._collection],
)
)
 
return dict(sorted(Counter(accesses).items()))
return dict(sorted(Counter(accesses).items()))
def from_name(self, name: str):
def from_name(self, name: str):
Loading