From 8e231245650b803c146ff9fa9404d70ba99df77d Mon Sep 17 00:00:00 2001 From: angloth <angus.lothian@hotmail.com> Date: Tue, 25 Feb 2020 16:04:35 +0100 Subject: [PATCH] Move signalID to SFG class --- b_asic/basic_operation.py | 2 +- b_asic/signal.py | 13 +------------ b_asic/signal_flow_graph.py | 11 +++++++---- b_asic/simulation.py | 1 - 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/b_asic/basic_operation.py b/b_asic/basic_operation.py index 6810a9a7..42689a74 100644 --- a/b_asic/basic_operation.py +++ b/b_asic/basic_operation.py @@ -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. """ diff --git a/b_asic/signal.py b/b_asic/signal.py index 4fac563f..6ef55c8d 100644 --- a/b_asic/signal.py +++ b/b_asic/signal.py @@ -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. diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py index 3c709ab3..3f804f0e 100644 --- a/b_asic/signal_flow_graph.py +++ b/b_asic/signal_flow_graph.py @@ -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. diff --git a/b_asic/simulation.py b/b_asic/simulation.py index e219445b..5f9dffb6 100644 --- a/b_asic/simulation.py +++ b/b_asic/simulation.py @@ -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 -- GitLab