projects
/
Mograsim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
07faf07
)
Generalized WireObserver to LogicObserver
author
Fabian Stemmler
<stemmler@in.tum.de>
Sun, 2 Jun 2019 09:33:57 +0000
(11:33 +0200)
committer
Fabian Stemmler
<stemmler@in.tum.de>
Sun, 2 Jun 2019 09:38:09 +0000
(11:38 +0200)
15 files changed:
net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObservable.java
[new file with mode: 0644]
patch
|
blob
net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObserver.java
[new file with mode: 0644]
patch
|
blob
net.mograsim.logic.core/src/net/mograsim/logic/core/components/BasicComponent.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/BitDisplay.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Connector.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Demux.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Merger.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Mux.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Splitter.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/TriStateBuffer.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/MultiInputGate.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NotGate.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/tests/ComponentTest.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/wires/Wire.java
patch
|
blob
|
history
net.mograsim.logic.core/src/net/mograsim/logic/core/wires/WireObserver.java
[deleted file]
patch
|
blob
|
history
diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObservable.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObservable.java
new file mode 100644
(file)
index 0000000..
bab49d2
--- /dev/null
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObservable.java
@@ -0,0
+1,10
@@
+package net.mograsim.logic.core;
+
+public interface LogicObservable
+{
+ public void registerObserver(LogicObserver ob);
+
+ public void notifyObservers();
+
+// public InnerState getInnerState();
+}
diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObserver.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObserver.java
new file mode 100644
(file)
index 0000000..
5955656
--- /dev/null
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/LogicObserver.java
@@ -0,0
+1,6
@@
+package net.mograsim.logic.core;
+
+public interface LogicObserver
+{
+ public void update(LogicObservable initiator);
+}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/BasicComponent.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/BasicComponent.java
index
426c6a1
..
56dc687
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/BasicComponent.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/BasicComponent.java
@@
-1,16
+1,15
@@
package net.mograsim.logic.core.components;
package net.mograsim.logic.core.components;
+import net.mograsim.logic.core.LogicObservable;
+import net.mograsim.logic.core.LogicObserver;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.timeline.Timeline;
-import net.mograsim.logic.core.types.BitVector;
-import net.mograsim.logic.core.wires.WireObserver;
-import net.mograsim.logic.core.wires.Wire.ReadEnd;
/**
* A basic component that recomputes all outputs (with a delay), when it is updated.
*
* @author Fabian Stemmler
*/
/**
* A basic component that recomputes all outputs (with a delay), when it is updated.
*
* @author Fabian Stemmler
*/
-public abstract class BasicComponent extends Component implements
Wire
Observer
+public abstract class BasicComponent extends Component implements
Logic
Observer
{
private int processTime;
{
private int processTime;
@@
-27,7
+26,7
@@
public abstract class BasicComponent extends Component implements WireObserver
}
@Override
}
@Override
- public void update(
ReadEnd initiator, BitVector oldValues
)
+ public void update(
LogicObservable initiator
)
{
timeline.addEvent(e -> compute(), processTime);
}
{
timeline.addEvent(e -> compute(), processTime);
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/BitDisplay.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/BitDisplay.java
index
268d157
..
bc54c23
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/BitDisplay.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/BitDisplay.java
@@
-17,7
+17,7
@@
public class BitDisplay extends BasicComponent
{
super(timeline, 1);
this.in = in;
{
super(timeline, 1);
this.in = in;
- in.
add
Observer(this);
+ in.
register
Observer(this);
compute();
}
compute();
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Connector.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Connector.java
index
16b8e70
..
7315e13
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Connector.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Connector.java
@@
-2,13
+2,13
@@
package net.mograsim.logic.core.components;
import java.util.List;
import java.util.List;
+import net.mograsim.logic.core.LogicObservable;
+import net.mograsim.logic.core.LogicObserver;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.timeline.Timeline;
-import net.mograsim.logic.core.types.BitVector;
-import net.mograsim.logic.core.wires.WireObserver;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
-public class Connector extends Component implements
Wire
Observer
+public class Connector extends Component implements
Logic
Observer
{
private boolean connected;
private final ReadWriteEnd a;
{
private boolean connected;
private final ReadWriteEnd a;
@@
-21,8
+21,8
@@
public class Connector extends Component implements WireObserver
throw new IllegalArgumentException(String.format("WireArray width does not match: %d, %d", a.length(), b.length()));
this.a = a;
this.b = b;
throw new IllegalArgumentException(String.format("WireArray width does not match: %d, %d", a.length(), b.length()));
this.a = a;
this.b = b;
- a.
add
Observer(this);
- b.
add
Observer(this);
+ a.
register
Observer(this);
+ b.
register
Observer(this);
}
public void connect()
}
public void connect()
@@
-48,13
+48,13
@@
public class Connector extends Component implements WireObserver
}
@Override
}
@Override
- public void update(
ReadEnd initiator, BitVector oldValues
)
+ public void update(
LogicObservable initiator
)
{
if (connected)
{
if (connected)
- timeline.addEvent(e ->
u
pdate(initiator), 1);
+ timeline.addEvent(e ->
innerU
pdate(initiator), 1);
}
}
- private void
update(ReadEnd
initiator)
+ private void
innerUpdate(LogicObservable
initiator)
{
if (initiator == a)
b.feedSignals(a.wireValuesExcludingMe());
{
if (initiator == a)
b.feedSignals(a.wireValuesExcludingMe());
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Demux.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Demux.java
index
5da1bf6
..
704fa9b
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Demux.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Demux.java
@@
-43,13
+43,13
@@
public class Demux extends BasicComponent
}
this.select = select;
}
this.select = select;
- select.
add
Observer(this);
+ select.
register
Observer(this);
int maxInputs = 1 << select.length();
if (this.outputs.length > maxInputs)
throw new IllegalArgumentException("There are more outputs (" + this.outputs.length + ") to the DEMUX than supported by "
+ select.length() + " select bits (" + maxInputs + ").");
int maxInputs = 1 << select.length();
if (this.outputs.length > maxInputs)
throw new IllegalArgumentException("There are more outputs (" + this.outputs.length + ") to the DEMUX than supported by "
+ select.length() + " select bits (" + maxInputs + ").");
- in.
add
Observer(this);
+ in.
register
Observer(this);
}
@Override
}
@Override
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Merger.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Merger.java
index
c4c7170
..
6fa5b93
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Merger.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Merger.java
@@
-2,14
+2,14
@@
package net.mograsim.logic.core.components;
import java.util.List;
import java.util.List;
+import net.mograsim.logic.core.LogicObservable;
+import net.mograsim.logic.core.LogicObserver;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.timeline.Timeline;
-import net.mograsim.logic.core.types.BitVector;
import net.mograsim.logic.core.wires.Wire;
import net.mograsim.logic.core.wires.Wire;
-import net.mograsim.logic.core.wires.WireObserver;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
-public class Merger extends Component implements
Wire
Observer
+public class Merger extends Component implements
Logic
Observer
{
private ReadWriteEnd out;
private ReadEnd[] inputs;
{
private ReadWriteEnd out;
private ReadEnd[] inputs;
@@
-32,7
+32,7
@@
public class Merger extends Component implements WireObserver
{
beginningIndex[i] = length;
length += inputs[i].length();
{
beginningIndex[i] = length;
length += inputs[i].length();
- inputs[i].
add
Observer(this);
+ inputs[i].
register
Observer(this);
}
if (length != union.length())
}
if (length != union.length())
@@
-51,14
+51,14
@@
public class Merger extends Component implements WireObserver
}
@Override
}
@Override
- public void update(
ReadEnd initiator, BitVector oldValues
)
+ public void update(
LogicObservable initiator
)
{
int index = find(initiator);
int beginning = beginningIndex[index];
out.feedSignals(beginning, inputs[index].getValues());
}
{
int index = find(initiator);
int beginning = beginningIndex[index];
out.feedSignals(beginning, inputs[index].getValues());
}
- private int find(
ReadEnd
r)
+ private int find(
LogicObservable
r)
{
for (int i = 0; i < inputs.length; i++)
if (inputs[i] == r)
{
for (int i = 0; i < inputs.length; i++)
if (inputs[i] == r)
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Mux.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Mux.java
index
bbb10f5
..
5e75f96
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Mux.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Mux.java
@@
-41,11
+41,11
@@
public class Mux extends BasicComponent
{
if (inputs[i].length() != outputSize)
throw new IllegalArgumentException("All MUX wire arrays must be of uniform length!");
{
if (inputs[i].length() != outputSize)
throw new IllegalArgumentException("All MUX wire arrays must be of uniform length!");
- inputs[i].
add
Observer(this);
+ inputs[i].
register
Observer(this);
}
this.select = select;
}
this.select = select;
- select.
add
Observer(this);
+ select.
register
Observer(this);
int maxInputs = 1 << select.length();
if (this.inputs.length > maxInputs)
int maxInputs = 1 << select.length();
if (this.inputs.length > maxInputs)
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Splitter.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Splitter.java
index
9eb5b2c
..
8a1ba20
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Splitter.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/Splitter.java
@@
-2,13
+2,14
@@
package net.mograsim.logic.core.components;
import java.util.List;
import java.util.List;
+import net.mograsim.logic.core.LogicObservable;
+import net.mograsim.logic.core.LogicObserver;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.types.BitVector;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.types.BitVector;
-import net.mograsim.logic.core.wires.WireObserver;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
import net.mograsim.logic.core.wires.Wire.ReadEnd;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
-public class Splitter extends Component implements
Wire
Observer
+public class Splitter extends Component implements
Logic
Observer
{
private ReadEnd input;
private ReadWriteEnd[] outputs;
{
private ReadEnd input;
private ReadWriteEnd[] outputs;
@@
-18,7
+19,7
@@
public class Splitter extends Component implements WireObserver
super(timeline);
this.input = input;
this.outputs = outputs;
super(timeline);
this.input = input;
this.outputs = outputs;
- input.
add
Observer(this);
+ input.
register
Observer(this);
int length = 0;
for (ReadEnd out : outputs)
length += out.length();
int length = 0;
for (ReadEnd out : outputs)
length += out.length();
@@
-40,7
+41,7
@@
public class Splitter extends Component implements WireObserver
}
@Override
}
@Override
- public void update(
ReadEnd initiator, BitVector oldValues
)
+ public void update(
LogicObservable initiator
)
{
compute();
}
{
compute();
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/TriStateBuffer.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/TriStateBuffer.java
index
f4f1b49
..
ac2e422
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/TriStateBuffer.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/TriStateBuffer.java
@@
-21,9
+21,9
@@
public class TriStateBuffer extends BasicComponent
if (enable.length() != 1)
throw new IllegalArgumentException("Tri-state enable must have exactly one bit, not " + enable.length() + ".");
this.in = in;
if (enable.length() != 1)
throw new IllegalArgumentException("Tri-state enable must have exactly one bit, not " + enable.length() + ".");
this.in = in;
- in.
add
Observer(this);
+ in.
register
Observer(this);
this.enable = enable;
this.enable = enable;
- enable.
add
Observer(this);
+ enable.
register
Observer(this);
this.out = out;
}
this.out = out;
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/MultiInputGate.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/MultiInputGate.java
index
afc8951
..
322ccce
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/MultiInputGate.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/MultiInputGate.java
@@
-28,7
+28,7
@@
public abstract class MultiInputGate extends BasicComponent
{
if (w.length() != length)
throw new IllegalArgumentException("All wires connected to the gate must be of uniform length.");
{
if (w.length() != length)
throw new IllegalArgumentException("All wires connected to the gate must be of uniform length.");
- w.
add
Observer(this);
+ w.
register
Observer(this);
}
this.out = out;
}
}
this.out = out;
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NotGate.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NotGate.java
index
b1cfefe
..
14fe85d
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NotGate.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NotGate.java
@@
-16,7
+16,7
@@
public class NotGate extends BasicComponent
{
super(timeline, processTime);
this.in = in;
{
super(timeline, processTime);
this.in = in;
- in.
add
Observer(this);
+ in.
register
Observer(this);
this.out = out;
}
this.out = out;
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/tests/ComponentTest.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/tests/ComponentTest.java
index
a47f792
..
5fb7d9c
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/tests/ComponentTest.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/tests/ComponentTest.java
@@
-295,19
+295,19
@@
class ComponentTest
t.addEvent((e) ->
{
if (!flag)
t.addEvent((e) ->
{
if (!flag)
- fail();
+ fail(
"Events executed out of order!"
);
flag = false;
}, 15);
t.addEvent((e) ->
{
if (flag)
flag = false;
}, 15);
t.addEvent((e) ->
{
if (flag)
- fail();
+ fail(
"Events executed out of order!"
);
flag = true;
}, 10);
t.addEvent((e) ->
{
if (flag)
flag = true;
}, 10);
t.addEvent((e) ->
{
if (flag)
- fail();
+ fail(
"Events executed out of order!"
);
flag = true;
}, 20);
t.addEvent((e) ->
flag = true;
}, 20);
t.addEvent((e) ->
@@
-318,7
+318,7
@@
class ComponentTest
t.executeUntil(t.laterThan(20), 100);
if (!flag)
t.executeUntil(t.laterThan(20), 100);
if (!flag)
- fail();
+ fail(
"Not all events were executed in order!"
);
}
@Test
}
@Test
@@
-342,12
+342,12
@@
class ComponentTest
wI2.feedSignals(Bit.ONE, Bit.Z);
ReadEnd rE = w.createReadOnlyEnd();
wI2.feedSignals(Bit.ONE, Bit.Z);
ReadEnd rE = w.createReadOnlyEnd();
- rE.
addObserver((i, oldValues
) -> fail("WireEnd notified observer, although value did not change."));
+ rE.
registerObserver((i
) -> fail("WireEnd notified observer, although value did not change."));
t.executeAll();
rE.close();
wI1.feedSignals(Bit.X, Bit.X);
t.executeAll();
t.executeAll();
rE.close();
wI1.feedSignals(Bit.X, Bit.X);
t.executeAll();
- wI1.
addObserver((i, oldValues
) -> fail("WireEnd notified observer, although it was closed."));
+ wI1.
registerObserver((i
) -> fail("WireEnd notified observer, although it was closed."));
wI1.close();
assertBitArrayEquals(w.getValues(), Bit.ONE, Bit.Z);
}
wI1.close();
assertBitArrayEquals(w.getValues(), Bit.ONE, Bit.Z);
}
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/Wire.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/Wire.java
index
d73ee61
..
12f0f8a
100644
(file)
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/wires/Wire.java
+++ b/
net.mograsim.logic.core/src/net/mograsim/logic/core/wires/Wire.java
@@
-6,6
+6,8
@@
import static net.mograsim.logic.core.types.Bit.Z;
import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
+import net.mograsim.logic.core.LogicObservable;
+import net.mograsim.logic.core.LogicObserver;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.types.Bit;
import net.mograsim.logic.core.types.BitVector;
import net.mograsim.logic.core.timeline.Timeline;
import net.mograsim.logic.core.types.Bit;
import net.mograsim.logic.core.types.BitVector;
@@
-165,10
+167,10
@@
public class Wire
}
/**
}
/**
- * Adds an {@link
Wire
Observer}, who will be notified when the value of the {@link Wire} is updated.
+ * Adds an {@link
Logic
Observer}, who will be notified when the value of the {@link Wire} is updated.
*
*
- * @param ob The {@link
Wire
Observer} to be notified of changes.
- * @return true if the given {@link
Wire
Observer} was not already registered, false otherwise
+ * @param ob The {@link
Logic
Observer} to be notified of changes.
+ * @return true if the given {@link
Logic
Observer} was not already registered, false otherwise
*
* @author Fabian Stemmler
*/
*
* @author Fabian Stemmler
*/
@@
-216,9
+218,9
@@
public class Wire
*
* @author Fabian Stemmler
*/
*
* @author Fabian Stemmler
*/
- public class ReadEnd
+ public class ReadEnd
implements LogicObservable
{
{
- private List<
WireObserver> observers = new ArrayList<Wire
Observer>();
+ private List<
LogicObserver> observers = new ArrayList<Logic
Observer>();
private ReadEnd()
{
private ReadEnd()
{
@@
-228,8
+230,7
@@
public class Wire
public void update(BitVector oldValues)
{
public void update(BitVector oldValues)
{
- for (WireObserver ob : observers)
- ob.update(this, oldValues);
+ notifyObservers();
}
/**
}
/**
@@
-333,14
+334,22
@@
public class Wire
return length;
}
return length;
}
- public
boolean addObserver(WireObserver ob
)
+ public
Wire getWire(
)
{
{
- return
observers.add(ob)
;
+ return
Wire.this
;
}
}
- public Wire getWire()
+ @Override
+ public void registerObserver(LogicObserver ob)
{
{
- return Wire.this;
+ observers.add(ob);
+ }
+
+ @Override
+ public void notifyObservers()
+ {
+ for (LogicObserver ob : observers)
+ ob.update(this);
}
}
}
}
@@
-479,7
+488,6
@@
public class Wire
public String toString()
{
return String.format("wire 0x%08x value: %s inputs: %s", hashCode(), values, inputs);
public String toString()
{
return String.format("wire 0x%08x value: %s inputs: %s", hashCode(), values, inputs);
- // Arrays.toString(values), inputs.stream().map(i -> Arrays.toString(i.inputValues)).reduce((s1, s2) -> s1 + s2)
}
public static ReadEnd[] extractEnds(Wire[] w)
}
public static ReadEnd[] extractEnds(Wire[] w)
diff --git
a/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/WireObserver.java
b/net.mograsim.logic.core/src/net/mograsim/logic/core/wires/WireObserver.java
deleted file mode 100644
(file)
index
66914b4
..0000000
--- a/
net.mograsim.logic.core/src/net/mograsim/logic/core/wires/WireObserver.java
+++ /dev/null
@@
-1,9
+0,0 @@
-package net.mograsim.logic.core.wires;
-
-import net.mograsim.logic.core.types.BitVector;
-import net.mograsim.logic.core.wires.Wire.ReadEnd;
-
-public interface WireObserver
-{
- public void update(ReadEnd initiator, BitVector oldValues);
-}