X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMachine.java;h=743284385e3147438ca7eb1c39a7f8d3a712f024;hb=69ec19d54ceb6d5abbb8b4faa55284af22174859;hp=f9d851dca6a2894bf12e9efb19d4fc3523416d34;hpb=d094b43f1697af4586f135790919f866cc53a9a5;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/Machine.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/Machine.java index f9d851dc..74328438 100644 --- a/plugins/net.mograsim.machine/src/net/mograsim/machine/Machine.java +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/Machine.java @@ -5,6 +5,7 @@ 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.standard.memory.AssignableMainMemory; public interface Machine { @@ -14,6 +15,7 @@ public interface Machine LogicModel getModel(); + // TODO replace with HLS references CoreClock getClock(); BitVector getRegister(Register r); @@ -22,8 +24,18 @@ public interface Machine Timeline getTimeline(); - MainMemory getMainMemory(); + AssignableMainMemory getMainMemory(); AssignableMicroInstructionMemory getMicroInstructionMemory(); -} + void addActiveMicroInstructionChangedListener(ActiveMicroInstructionChangedListener listener); + + void removeActiveMicroInstructionChangedListener(ActiveMicroInstructionChangedListener listener); + + long getActiveMicroInstructionAddress(); + + public interface ActiveMicroInstructionChangedListener + { + public void instructionChanged(long oldAddress, long newAddress); + } +} \ No newline at end of file