Skip to content
Snippets Groups Projects

Integrated ID system, traversing and som signal tests

Merged Jacob Wahlman requested to merge integration_branch into develop
15 files
+ 314
69
Compare changes
  • Side-by-side
  • Inline
Files
15
+ 11
7
@@ -5,7 +5,7 @@ TODO: More info.
from b_asic.port import InputPort, OutputPort
from b_asic.signal import SignalSource, SignalDestination
from b_asic.operation import OperationId, Operation
from b_asic.operation import Operation
from b_asic.simulation import SimulationState, OperationState
from abc import ABC, abstractmethod
from typing import List, Dict, Optional, Any
@@ -18,16 +18,14 @@ class BasicOperation(Operation):
TODO: More info.
"""
_identifier: OperationId
_input_ports: List[InputPort]
_output_ports: List[OutputPort]
_parameters: Dict[str, Optional[Any]]
def __init__(self, identifier: OperationId):
def __init__(self):
"""
Construct a BasicOperation.
"""
self._identifier = identifier
self._input_ports = []
self._output_ports = []
self._parameters = {}
@@ -39,9 +37,6 @@ class BasicOperation(Operation):
"""
pass
def identifier(self) -> OperationId:
return self._identifier
def inputs(self) -> List[InputPort]:
return self._input_ports.copy()
@@ -102,4 +97,13 @@ class BasicOperation(Operation):
return results
return [self]
@property
def neighbours(self) -> List[Operation]:
neighbours: List[Operation] = []
for port in self._output_ports + self._input_ports:
for signal in port.signals():
neighbours += [signal.source.operation, signal.destination.operation]
return neighbours
# TODO: More stuff.
Loading