Merge remote-tracking branch 'origin/development' into development
[Mograsim.git] / plugins / net.mograsim.machine / src / net / mograsim / machine / Machine.java
index 8325068..66408ce 100644 (file)
@@ -1,10 +1,13 @@
 package net.mograsim.machine;
 
+import java.util.function.Consumer;
+
 import net.mograsim.logic.core.components.CoreClock;
 import net.mograsim.logic.core.timeline.Timeline;
 import net.mograsim.logic.core.types.BitVector;
 import net.mograsim.logic.model.model.LogicModel;
 import net.mograsim.machine.mi.AssignableMicroInstructionMemory;
+import net.mograsim.machine.registers.Register;
 import net.mograsim.machine.standard.memory.AssignableMainMemory;
 
 public interface Machine
@@ -15,12 +18,17 @@ public interface Machine
 
        LogicModel getModel();
 
+       // TODO replace with HLS references
        CoreClock getClock();
 
        BitVector getRegister(Register r);
 
        void setRegister(Register r, BitVector value);
 
+       void addRegisterListener(Register r, Consumer<BitVector> listener);
+
+       void removeRegisterListener(Register r, Consumer<BitVector> listener);
+
        Timeline getTimeline();
 
        AssignableMainMemory getMainMemory();