Merge branch 'development' of
authorFabian Stemmler <stemmler@in.tum.de>
Fri, 6 Sep 2019 20:13:45 +0000 (22:13 +0200)
committerFabian Stemmler <stemmler@in.tum.de>
Fri, 6 Sep 2019 20:13:45 +0000 (22:13 +0200)
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

1  2 
net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/machine/Am2900Machine.java
net.mograsim.machine/src/net/mograsim/machine/Machine.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
@@@ -54,9 -45,9 +53,9 @@@
        }
  
        @Override
-       public ViewModel getModel()
+       public LogicModel getModel()
        {
-               return viewModel;
+               return logicModel;
        }
  
        @Override
@@@ -66,7 -57,7 +65,7 @@@
        }
  
        @Override
-       public Clock getClock()
+       public CoreClock getClock()
        {
                return clock;
        }
  
        }
  
 +      @Override
 +      public MainMemory getMainMemory()
 +      {
 +              return mainMemory;
 +      }
 +
 +      @Override
 +      public MicroInstructionMemory getMicroInstructionMemory()
 +      {
 +              return instMemory;
 +      }
 +
  }
@@@ -1,28 -1,22 +1,28 @@@
  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();
        
        void reset();
        
-       ViewModel getModel();
+       LogicModel getModel();
        
-       Clock getClock();
+       CoreClock getClock();
        
        BitVector getRegister(Register r);
        
        void setRegister(Register r, BitVector value);
  
        Timeline getTimeline();
 +      
 +      MainMemory getMainMemory();
 +      
 +      MicroInstructionMemory getMicroInstructionMemory();
 +      
  }