1 package net.mograsim.logic.model.am2900.machine;
3 import net.mograsim.logic.core.components.Clock;
4 import net.mograsim.logic.core.timeline.Timeline;
5 import net.mograsim.logic.core.types.BitVector;
6 import net.mograsim.logic.model.model.ViewModel;
7 import net.mograsim.logic.model.model.ViewModelModifiable;
8 import net.mograsim.logic.model.model.components.atomic.GUIClock;
9 import net.mograsim.logic.model.modeladapter.LogicModelParameters;
10 import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
11 import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
12 import net.mograsim.machine.Machine;
13 import net.mograsim.machine.MachineDefinition;
14 import net.mograsim.machine.Register;
16 public class Am2900Machine implements Machine
18 private Am2900MachineDefinition machineDefinition;
19 private ViewModel viewModel;
20 private Timeline timeline;
23 public Am2900Machine(Am2900MachineDefinition am2900MachineDefinition)
25 this.machineDefinition = am2900MachineDefinition;
26 ViewModelModifiable viewModelModifiable = new ViewModelModifiable();
27 IndirectGUIComponentCreator.createComponent(viewModelModifiable, "resource:Am2900Loader:/components/GUIAm2900.json");
28 LogicModelParameters params = new LogicModelParameters();
29 params.gateProcessTime = 50;
30 params.wireTravelTime = 10;
31 timeline = ViewLogicModelAdapter.convert(viewModelModifiable, params);
32 clock = ((GUIClock) viewModelModifiable.getComponentsByName().get("GUIClock#0")).getClock();
36 public MachineDefinition getDefinition()
38 return machineDefinition;
44 // TODO Auto-generated method stub
49 public ViewModel getModel()
55 public Timeline getTimeline()
61 public Clock getClock()
67 public BitVector getRegister(Register r)
69 // TODO Auto-generated method stub
74 public void setRegister(Register r, BitVector value)
76 // TODO Auto-generated method stub