X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.am2900%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Fmachine%2FAm2900Machine.java;h=84703433e21101f959935239babb378880943660;hb=9bb76ff610ab0fcc07a9049e4a572053339593c9;hp=bf98d73dcac801d0da72ba08949cf4ecf4545647;hpb=3a52b6bffe52db5dd5ca907b4b3dfd368a58e14f;p=Mograsim.git diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java index bf98d73d..84703433 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java @@ -10,13 +10,19 @@ import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; import net.mograsim.machine.Machine; import net.mograsim.machine.MachineDefinition; +import net.mograsim.machine.MainMemory; import net.mograsim.machine.Register; +import net.mograsim.machine.mi.MicroInstructionMemory; +import net.mograsim.machine.mi.StandardMicroInstructionMemory; +import net.mograsim.machine.standard.memory.WordAddressableMemory; public class Am2900Machine implements Machine { private Am2900MachineDefinition machineDefinition; private LogicModelModifiable logicModel; private Timeline timeline; + private MainMemory mainMemory; + private MicroInstructionMemory instMemory; private CoreClock clock; public Am2900Machine(Am2900MachineDefinition am2900MachineDefinition) @@ -24,10 +30,12 @@ public class Am2900Machine implements Machine this.machineDefinition = am2900MachineDefinition; logicModel = new LogicModelModifiable(); IndirectModelComponentCreator.createComponent(logicModel, - "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/ModelAm2900.json"); + "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900.json"); CoreModelParameters params = new CoreModelParameters(); params.gateProcessTime = 50; params.wireTravelTime = 10; + mainMemory = new WordAddressableMemory(am2900MachineDefinition.getMainMemoryDefinition()); + instMemory = new StandardMicroInstructionMemory(am2900MachineDefinition.getMicroInstructionMemoryDefinition()); timeline = LogicCoreAdapter.convert(logicModel, params); } @@ -76,4 +84,16 @@ public class Am2900Machine implements Machine } + @Override + public MainMemory getMainMemory() + { + return mainMemory; + } + + @Override + public MicroInstructionMemory getMicroInstructionMemory() + { + return instMemory; + } + }