The machine IDs are unchanged.
<extension
point="net.mograsim.machine.machine_definition">
<machineDefinitionImplementation
- class="net.mograsim.logic.model.am2900.machine.SimpleAm2900MachineDefinition"
+ class="net.mograsim.logic.model.am2900.machine.Am2900TeachingMachineDefinition"
unique_id="Am2900Simple">
</machineDefinitionImplementation>
<machineDefinitionImplementation
- class="net.mograsim.logic.model.am2900.machine.StrictAm2900MachineDefinition"
+ class="net.mograsim.logic.model.am2900.machine.Am2900ExpertMachineDefinition"
unique_id="Am2900Strict">
</machineDefinitionImplementation>
</extension>
//(used for detecting installed machines in plugin.core)
public class AbstractAm2900MachineDefinition implements MachineDefinition
{
- public static final String SIMPLE_AM2900_MACHINE_ID = "Am2900Simple";
- public static final String STRICT_AM2900_MACHINE_ID = "Am2900Strict";
- public static final String SIMPLE_AM2900_DESCRIPTION = "Am2900Simple\nTODO Description";
- public static final String STRICT_AM2900_DESCRIPTION = "Am2900Strict\nTODO Description";
+ public static final String AM2900_TEACHING_MACHINE_ID = "Am2900Simple";
+ public static final String AM2900_EXPERT_MACHINE_ID = "Am2900Strict";
+ public static final String AM2900_TEACHING_DESCRIPTION = "Am2900Teaching\nTODO Description";
+ public static final String AM2900_EXPERT_DESCRIPTION = "Am2900Expert\nTODO Description";
public static final List<Register> unsortedRegisters;
public static final List<RegisterGroup> registerGroups;
registerGroups = Collections.unmodifiableList(registerGroupsModifiable);
}
- public final boolean strict;
+ public final boolean expert;
- protected AbstractAm2900MachineDefinition(boolean strict)
+ protected AbstractAm2900MachineDefinition(boolean expert)
{
- this.strict = strict;
+ this.expert = expert;
}
@Override
public String getId()
{
- return strict ? STRICT_AM2900_MACHINE_ID : SIMPLE_AM2900_MACHINE_ID;
+ return expert ? AM2900_EXPERT_MACHINE_ID : AM2900_TEACHING_MACHINE_ID;
}
@Override
public String getDescription()
{
- return strict ? STRICT_AM2900_DESCRIPTION : SIMPLE_AM2900_DESCRIPTION;
+ return expert ? AM2900_EXPERT_DESCRIPTION : AM2900_TEACHING_DESCRIPTION;
}
@Override
@Override
public int hashCode()
{
- return strict ? 12345 : 54321;
+ return expert ? 12345 : 54321;
}
@Override
public boolean equals(Object obj)
{
return obj != null && obj instanceof AbstractAm2900MachineDefinition
- && ((AbstractAm2900MachineDefinition) obj).strict == this.strict;
+ && ((AbstractAm2900MachineDefinition) obj).expert == this.expert;
}
@Override
--- /dev/null
+package net.mograsim.logic.model.am2900.machine;
+
+public class Am2900ExpertMachineDefinition extends AbstractAm2900MachineDefinition
+{
+ public Am2900ExpertMachineDefinition()
+ {
+ super(true);
+ }
+}
\ No newline at end of file
defaultParams[19] = paramClassifications[19].parse("JZ");
MicroInstruction jzMI = MicroInstruction.create(defaultParams);
am2900.setHighLevelState("muir_2.q", jzMI.toBitVector());
- Bit regsValue = machineDefinition.strict ? Bit.U : Bit.ZERO;
+ Bit regsValue = machineDefinition.expert ? Bit.U : Bit.ZERO;
setRegistersTo(machineDefinition.getUnsortedRegisters(), regsValue);
setRegisterGroupTo(machineDefinition.getRegisterGroups(), regsValue);
// TODO reset latches?
--- /dev/null
+package net.mograsim.logic.model.am2900.machine;
+
+public class Am2900TeachingMachineDefinition extends AbstractAm2900MachineDefinition
+{
+ public Am2900TeachingMachineDefinition()
+ {
+ super(false);
+ }
+}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.logic.model.am2900.machine;
-
-public class SimpleAm2900MachineDefinition extends AbstractAm2900MachineDefinition
-{
- public SimpleAm2900MachineDefinition()
- {
- super(false);
- }
-}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.logic.model.am2900.machine;
-
-public class StrictAm2900MachineDefinition extends AbstractAm2900MachineDefinition
-{
- public StrictAm2900MachineDefinition()
- {
- super(true);
- }
-}
\ No newline at end of file
public static void createTestbench(LogicModelModifiable model)
{
Am2900Loader.setup();
-// ModelComponent comp = new StrictAm2900MachineDefinition().createNew(model).getAm2900();
+// ModelComponent comp = new Am2900ExpertMachineDefinition().createNew(model).getAm2900();
ModelComponent comp = IndirectModelComponentCreator.createComponent(model, "ram5_12");
List<String> inputPinNames = new ArrayList<>();
import net.mograsim.logic.model.am2900.machine.Am2900MainMemoryDefinition;
import net.mograsim.logic.model.am2900.machine.Am2900MicroInstructionDefinition;
import net.mograsim.logic.model.am2900.machine.Am2900MicroInstructionMemoryDefinition;
-import net.mograsim.logic.model.am2900.machine.StrictAm2900MachineDefinition;
+import net.mograsim.logic.model.am2900.machine.Am2900ExpertMachineDefinition;
import net.mograsim.logic.model.am2900.machine.registers.am2901.NumberedRegister;
import net.mograsim.logic.model.preferences.DefaultRenderPreferences;
import net.mograsim.machine.MainMemory;
public void setupMachine() throws IOException
{
Am2900Loader.setup();
- mach = new StrictAm2900MachineDefinition().createNew();
+ mach = new Am2900ExpertMachineDefinition().createNew();
mpm = MicroInstructionMemoryParser.parseMemory(Am2900MicroInstructionMemoryDefinition.instance,
TestGCD.class.getResourceAsStream("gcd.mpm"));
ram = new WordAddressableMemory(Am2900MainMemoryDefinition.instance);