Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • da/B-ASIC
  • lukja239/B-ASIC
  • robal695/B-ASIC
3 results
Show changes
Commits on Source (3)
...@@ -327,7 +327,7 @@ class Operation(GraphComponent, SignalSourceProvider): ...@@ -327,7 +327,7 @@ class Operation(GraphComponent, SignalSourceProvider):
@abstractmethod @abstractmethod
def quantize_input(self, index: int, value: Num, bits: int) -> Num: def quantize_input(self, index: int, value: Num, bits: int) -> Num:
""" """
Truncate the value to be used as input at the given index to a certain bit Quantize the value to be used as input at the given index to a certain bit
length. length.
""" """
raise NotImplementedError raise NotImplementedError
...@@ -944,7 +944,7 @@ class AbstractOperation(Operation, AbstractGraphComponent): ...@@ -944,7 +944,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
bits_override: Optional[int] = None, bits_override: Optional[int] = None,
) -> Sequence[Num]: ) -> Sequence[Num]:
""" """
Truncate the values to be used as inputs to the bit lengths specified Quantize the values to be used as inputs to the bit lengths specified
by the respective signals connected to each input. by the respective signals connected to each input.
""" """
args = [] args = []
......
...@@ -46,18 +46,18 @@ def generate_random_interleaver( ...@@ -46,18 +46,18 @@ def generate_random_interleaver(
ProcessCollection ProcessCollection
""" """
inputorder = list(range(size)) inputorders = list(range(size))
outputorder = inputorder[:] outputorders = inputorders[:]
random.shuffle(outputorder) random.shuffle(outputorders)
inputorder, outputorder = _insert_delays( inputorders, outputorders = _insert_delays(
inputorder, outputorder, min_lifetime, cyclic inputorders, outputorders, min_lifetime, cyclic
) )
return ProcessCollection( return ProcessCollection(
{ {
PlainMemoryVariable(inputorder[i], 0, {0: outputorder[i] - inputorder[i]}) PlainMemoryVariable(inputorder, 0, {0: outputorders[i] - inputorder})
for i in range(len(inputorder)) for i, inputorder in enumerate(inputorders)
}, },
len(inputorder), len(inputorders),
cyclic, cyclic,
) )
......
...@@ -411,7 +411,7 @@ class Schedule: ...@@ -411,7 +411,7 @@ class Schedule:
self.set_y_location(gid, self.get_y_location(gid) + 1) self.set_y_location(gid, self.get_y_location(gid) + 1)
self.set_y_location(graph_id, new_y) self.set_y_location(graph_id, new_y)
used_locations = {*self._y_locations.values()} used_locations = {*self._y_locations.values()}
possible_locations = set(range(max(used_locations) + 1)) possible_locations = set(range(round(max(used_locations)) + 1))
if not possible_locations - used_locations: if not possible_locations - used_locations:
return return
remapping = {} remapping = {}
......
...@@ -738,9 +738,7 @@ class SFG(AbstractOperation): ...@@ -738,9 +738,7 @@ class SFG(AbstractOperation):
# Find all first iter output ports for precedence # Find all first iter output ports for precedence
first_iter_ports = [ first_iter_ports = [
op.output(i) output for op in (no_input_ops + delay_ops) for output in op.outputs
for op in (no_input_ops + delay_ops)
for i in range(op.output_count)
] ]
self._precedence_list = self._traverse_for_precedence_list(first_iter_ports) self._precedence_list = self._traverse_for_precedence_list(first_iter_ports)
...@@ -756,8 +754,7 @@ class SFG(AbstractOperation): ...@@ -756,8 +754,7 @@ class SFG(AbstractOperation):
pg.attr(rankdir="LR") pg.attr(rankdir="LR")
# Creates nodes for each output port in the precedence list # Creates nodes for each output port in the precedence list
for i in range(len(p_list)): for i, ports in enumerate(p_list):
ports = p_list[i]
with pg.subgraph(name=f"cluster_{i}") as sub: with pg.subgraph(name=f"cluster_{i}") as sub:
sub.attr(label=f"N{i}") sub.attr(label=f"N{i}")
for port in ports: for port in ports:
...@@ -779,8 +776,7 @@ class SFG(AbstractOperation): ...@@ -779,8 +776,7 @@ class SFG(AbstractOperation):
) )
# Creates edges for each output port and creates nodes for each operation # Creates edges for each output port and creates nodes for each operation
# and edges for them as well # and edges for them as well
for i in range(len(p_list)): for i, ports in enumerate(p_list):
ports = p_list[i]
for port in ports: for port in ports:
source_label = port.operation.graph_id source_label = port.operation.graph_id
node_node = port.name node_node = port.name
......