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;
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/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
}
@Override
- public ViewModel getModel()
+ public LogicModel getModel()
{
- return viewModel;
+ return logicModel;
}
@Override
}
@Override
- public Clock getClock()
+ public CoreClock getClock()
{
return clock;
}