Skip to content
Snippets Groups Projects
Commit 8e231245 authored by angloth's avatar angloth
Browse files

Move signalID to SFG class

parent 688796f3
Branches
No related tags found
1 merge request!2Integrated ID system, traversing and som signal tests
......@@ -23,7 +23,7 @@ class BasicOperation(Operation):
_output_ports: List[OutputPort]
_parameters: Dict[str, Optional[Any]]
def __init__(self, identifier: OperationId):
def __init__(self):
"""
Construct a BasicOperation.
"""
......
......@@ -6,9 +6,6 @@ TODO: More info.
from b_asic.operation import Operation
from typing import NewType
SignalId = NewType("SignalId", int)
class SignalSource:
"""
Handle to a signal source.
......@@ -50,22 +47,14 @@ class Signal:
A connection between two operations consisting of a source and destination handle.
TODO: More info.
"""
_identifier: SignalId
source: SignalSource
destination: SignalDestination
def __init__(self, identifier: SignalId, source: SignalSource, destination: SignalDestination):
def __init__(self, source: SignalSource, destination: SignalDestination):
"""
Construct a Signal.
"""
self._identifier = identifier
self.source = source
self.destination = destination
def identifier(self) -> SignalId:
"""
Get the unique identifier.
"""
return self._identifier
# TODO: More stuff.
......@@ -5,12 +5,14 @@ TODO: More info.
from b_asic.operation import Operation
from b_asic.basic_operation import BasicOperation
from b_asic.signal import SignalSource, SignalDestination
from b_asic.signal import Signal, SignalSource, SignalDestination
from b_asic.simulation import SimulationState, OperationState
from typing import List, Dict
# Types
OperationId = NewType("OperationId", int)
SignalId = NewType("SignalId", int)
class SFG(BasicOperation):
......@@ -20,8 +22,9 @@ class SFG(BasicOperation):
"""
_operations: Dict[OperationID, Operation]
_signals: Dict[SignalID, Signal]
def __init__(self, identifier: OperationId, input_destinations: List[SignalDestination], output_sources: List[SignalSource]):
def __init__(self, input_destinations: List[SignalDestination], output_sources: List[SignalSource]):
"""
Construct a SFG.
"""
......@@ -29,6 +32,7 @@ class SFG(BasicOperation):
# TODO: Allocate input/output ports with appropriate IDs.
self._operations = dict # Map Operation ID to Operation objects
self._signals = dict # Map Signal ID to Signal objects
# TODO: Traverse the graph between the inputs/outputs and add to self._operations.
# TODO: Connect ports with signals with appropriate IDs.
......@@ -37,6 +41,5 @@ class SFG(BasicOperation):
return [] # TODO: Implement
def split(self) -> List[Operation]:
return self._operations
return self
# TODO: More stuff.
......@@ -3,7 +3,6 @@ B-ASIC Simulation Module.
TODO: More info.
"""
from b_asic.operation import OperationId
from numbers import Number
from typing import List, Dict
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment