From: Fabian Stemmler Date: Fri, 6 Sep 2019 20:13:45 +0000 (+0200) Subject: Merge branch 'development' of X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=b32414f8406634aca730d724a011023c0da8bf22 Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019.git into development Conflicts: net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java net.mograsim.machine/src/net/mograsim/machine/Machine.java --- b32414f8406634aca730d724a011023c0da8bf22 diff --cc net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java index ff0704a1,bf98d73d..84703433 --- 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 @@@ -1,43 -1,34 +1,42 @@@ package net.mograsim.logic.model.am2900.machine; - import net.mograsim.logic.core.components.Clock; + 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.ViewModel; - import net.mograsim.logic.model.model.ViewModelModifiable; - import net.mograsim.logic.model.modeladapter.LogicModelParameters; - import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; - import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; + import net.mograsim.logic.model.model.LogicModel; + import net.mograsim.logic.model.model.LogicModelModifiable; + import net.mograsim.logic.model.modeladapter.CoreModelParameters; + 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 ViewModelModifiable viewModel; + private LogicModelModifiable logicModel; private Timeline timeline; - private Clock clock; + private MainMemory mainMemory; + private MicroInstructionMemory instMemory; + private CoreClock clock; public Am2900Machine(Am2900MachineDefinition am2900MachineDefinition) { this.machineDefinition = am2900MachineDefinition; - viewModel = new ViewModelModifiable(); - IndirectGUIComponentCreator.createComponent(viewModel, - "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/GUIAm2900.json"); - LogicModelParameters params = new LogicModelParameters(); + 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; - timeline = ViewLogicModelAdapter.convert(viewModel, params); - + mainMemory = new WordAddressableMemory(am2900MachineDefinition.getMainMemoryDefinition()); + instMemory = new StandardMicroInstructionMemory(am2900MachineDefinition.getMicroInstructionMemoryDefinition()); + timeline = LogicCoreAdapter.convert(logicModel, params); } @Override diff --cc net.mograsim.machine/src/net/mograsim/machine/Machine.java index 621af8ee,372c1886..0849b8a6 --- a/net.mograsim.machine/src/net/mograsim/machine/Machine.java +++ b/net.mograsim.machine/src/net/mograsim/machine/Machine.java @@@ -1,10 -1,9 +1,10 @@@ package net.mograsim.machine; - import net.mograsim.logic.core.components.Clock; + 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.ViewModel; +import net.mograsim.machine.mi.MicroInstructionMemory; + import net.mograsim.logic.model.model.LogicModel; public interface Machine { MachineDefinition getDefinition();