From 552986fd8718d5f2db00802015fdd1ecd58a5a2f Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Thu, 5 Sep 2019 18:35:53 +0200 Subject: [PATCH] Renamed logic to core where appropiate --- .../model/am2900/machine/Am2900Machine.java | 8 ++-- .../am2900/util/TestEnvironmentHelper.java | 10 ++--- .../OSGI-INF/l10n/bundle.properties | 2 +- .../mograsim/logic/model/LogicExecuter.java | 2 +- .../logic/model/SimpleLogicUIStandalone.java | 14 +++---- .../model/components/atomic/ModelAndGate.java | 4 +- .../components/atomic/ModelBitDisplay.java | 8 ++-- .../model/components/atomic/ModelClock.java | 8 ++-- .../components/atomic/ModelFixedOutput.java | 4 +- .../components/atomic/ModelManualSwitch.java | 40 +++++++++---------- .../model/components/atomic/ModelMerger.java | 6 +-- .../components/atomic/ModelNandGate.java | 4 +- .../model/components/atomic/ModelNotGate.java | 4 +- .../model/components/atomic/ModelOrGate.java | 4 +- .../components/atomic/ModelSplitter.java | 6 +-- .../components/atomic/ModelTextComponent.java | 4 +- .../atomic/ModelTriStateBuffer.java | 4 +- ...pleRectangularHardcodedModelComponent.java | 8 ++-- .../logic/model/model/wires/ModelWire.java | 20 +++++----- .../model/wires/ModelWireCrossPoint.java | 8 ++-- ...rameters.java => CoreModelParameters.java} | 2 +- ...odelAdapter.java => LogicCoreAdapter.java} | 28 ++++++------- .../componentadapters/BitDisplayAdapter.java | 6 +-- .../componentadapters/ClockAdapter.java | 6 +-- .../componentadapters/ComponentAdapter.java | 4 +- .../componentadapters/FixedOutputAdapter.java | 4 +- .../ManualSwitchAdapter.java | 6 +-- .../componentadapters/MergerAdapter.java | 6 +-- .../componentadapters/NoLogicAdapter.java | 4 +- .../componentadapters/SimpleGateAdapter.java | 4 +- ...angularHardcodedModelComponentAdapter.java | 6 +-- .../componentadapters/SplitterAdapter.java | 6 +-- .../TriStateBufferAdapter.java | 4 +- ...ireForcingAtomicHighLevelStateHandler.java | 8 ++-- .../standard/memory/ModelMemoryWA.java | 6 +-- .../memory/WordAddressableMemoryAdapter.java | 2 +- .../mograsim/plugin/SimulationPreview.java | 8 ++-- 37 files changed, 139 insertions(+), 139 deletions(-) rename net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/{LogicModelParameters.java => CoreModelParameters.java} (75%) rename net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/{ViewLogicModelAdapter.java => LogicCoreAdapter.java} (83%) diff --git 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 index ecb13b4c..a7719478 100644 --- 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 @@ -5,8 +5,8 @@ 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.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; @@ -25,10 +25,10 @@ public class Am2900Machine implements Machine viewModel = new ViewModelModifiable(); IndirectModelComponentCreator.createComponent(viewModel, "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/ModelAm2900.json"); - LogicModelParameters params = new LogicModelParameters(); + CoreModelParameters params = new CoreModelParameters(); params.gateProcessTime = 50; params.wireTravelTime = 10; - timeline = ViewLogicModelAdapter.convert(viewModel, params); + timeline = LogicCoreAdapter.convert(viewModel, params); } @Override diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java index bf8ee363..a71c9de3 100644 --- a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/TestEnvironmentHelper.java @@ -27,8 +27,8 @@ import net.mograsim.logic.model.model.components.atomic.ModelManualSwitch; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.ModelWire; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; import net.mograsim.logic.model.util.ModellingTool; @@ -87,11 +87,11 @@ public class TestEnvironmentHelper component.getPins().values().forEach(this::extendModelPin); - // Create logic model - LogicModelParameters params = new LogicModelParameters(); + // Create core model + CoreModelParameters params = new CoreModelParameters(); params.gateProcessTime = 50; params.wireTravelTime = 10; - timeline = ViewLogicModelAdapter.convert(viewModel, params); + timeline = LogicCoreAdapter.convert(viewModel, params); timelineField.ifPresent(f -> setField(f, timeline)); // Bind switches/displays to this test class diff --git a/net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties b/net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties index 420d2fc2..fad36e3e 100644 --- a/net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties +++ b/net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties @@ -1,3 +1,3 @@ #Properties file for net.mograsim.logic.model Bundle-Vendor = Mograsim Team -Bundle-Name = Mograsim logic user interface \ No newline at end of file +Bundle-Name = Mograsim logic model and user interface \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java index aa36b1c4..a9fde7a1 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java @@ -8,7 +8,7 @@ import net.mograsim.logic.core.timeline.Timeline; //TODO maybe move to logic core? public class LogicExecuter { - // TODO replace with LogicModel when it exists + // TODO replace with CoreModel when it exists private final Timeline timeline; private final AtomicBoolean shouldBeRunningLive; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java index 2b945b11..6a31d474 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java @@ -4,8 +4,8 @@ import java.util.function.Consumer; import net.mograsim.logic.core.timeline.Timeline; 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.modeladapter.CoreModelParameters; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; public class SimpleLogicUIStandalone { @@ -16,26 +16,26 @@ public class SimpleLogicUIStandalone public static void executeVisualisation(Consumer setupViewModel, Consumer beforeRun) { - LogicModelParameters params = new LogicModelParameters(); + CoreModelParameters params = new CoreModelParameters(); params.gateProcessTime = 50; params.wireTravelTime = 10; executeVisualisation(setupViewModel, params, beforeRun); } - public static void executeVisualisation(Consumer setupViewModel, LogicModelParameters params) + public static void executeVisualisation(Consumer setupViewModel, CoreModelParameters params) { executeVisualisation(setupViewModel, params, null); } - public static void executeVisualisation(Consumer setupViewModel, LogicModelParameters params, + public static void executeVisualisation(Consumer setupViewModel, CoreModelParameters params, Consumer beforeRun) { // setup view model ViewModelModifiable viewModel = new ViewModelModifiable(); setupViewModel.accept(viewModel); - // convert to logic model - Timeline timeline = ViewLogicModelAdapter.convert(viewModel, params); + // convert to core model + Timeline timeline = LogicCoreAdapter.convert(viewModel, params); // initialize UI and executer LogicUIStandaloneGUI ui = new LogicUIStandaloneGUI(viewModel); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelAndGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelAndGate.java index 3707a783..820991bf 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelAndGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelAndGate.java @@ -2,7 +2,7 @@ package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.CoreAndGate; import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -21,7 +21,7 @@ public class ModelAndGate extends SimpleRectangularModelGate static { - ViewLogicModelAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelAndGate.class, CoreAndGate::new)); + LogicCoreAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelAndGate.class, CoreAndGate::new)); IndirectModelComponentCreator.setComponentSupplier(ModelAndGate.class.getCanonicalName(), (m, p, n) -> new ModelAndGate(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelBitDisplay.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelBitDisplay.java index b0a97b4d..fbcaf643 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelBitDisplay.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelBitDisplay.java @@ -13,7 +13,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.BitDisplayAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -66,7 +66,7 @@ public class ModelBitDisplay extends ModelComponent gc.setFont(oldFont); } - public void setLogicModelBinding(CoreBitDisplay bitDisplay) + public void setCoreModelBinding(CoreBitDisplay bitDisplay) { if (this.bitDisplay != null) this.bitDisplay.deregisterObserver(logicObs); @@ -75,7 +75,7 @@ public class ModelBitDisplay extends ModelComponent bitDisplay.registerObserver(logicObs); } - public boolean hasLogicModelBinding() + public boolean hasCoreModelBinding() { return bitDisplay != null; } @@ -104,7 +104,7 @@ public class ModelBitDisplay extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new BitDisplayAdapter()); + LogicCoreAdapter.addComponentAdapter(new BitDisplayAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelBitDisplay.class.getCanonicalName(), (m, p, n) -> new ModelBitDisplay(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelClock.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelClock.java index 2755ac10..e26e3ff1 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelClock.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelClock.java @@ -16,7 +16,7 @@ import net.mograsim.logic.model.model.components.Orientation; import net.mograsim.logic.model.model.components.OrientationCalculator; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.ClockAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -73,7 +73,7 @@ public class ModelClock extends ModelComponent gc.setFont(oldFont); } - public void setLogicModelBinding(CoreClock clock) + public void setCoreModelBinding(CoreClock clock) { if (this.clock != null) this.clock.deregisterObserver(logicObs); @@ -82,7 +82,7 @@ public class ModelClock extends ModelComponent clock.registerObserver(logicObs); } - public boolean hasLogicModelBinding() + public boolean hasCoreModelBinding() { return clock != null; } @@ -142,7 +142,7 @@ public class ModelClock extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new ClockAdapter()); + LogicCoreAdapter.addComponentAdapter(new ClockAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelClock.class.getName(), (m, p, n) -> { ModelClockParams params = JsonHandler.fromJsonTree(p, ModelClockParams.class); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelFixedOutput.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelFixedOutput.java index b052dedd..2bdd36eb 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelFixedOutput.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelFixedOutput.java @@ -14,7 +14,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.FixedOutputAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -70,7 +70,7 @@ public class ModelFixedOutput extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new FixedOutputAdapter()); + LogicCoreAdapter.addComponentAdapter(new FixedOutputAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelFixedOutput.class.getCanonicalName(), (m, p, n) -> new ModelFixedOutput(m, Objects.requireNonNull(JsonHandler.fromJsonTree(p, BitVector.class)), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelManualSwitch.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelManualSwitch.java index d0a0b15b..b7053d3c 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelManualSwitch.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelManualSwitch.java @@ -15,7 +15,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.ManualSwitchAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -32,7 +32,7 @@ public class ModelManualSwitch extends ModelComponent private final Pin outputPin; private final LogicObserver logicObs; - private CoreManualSwitch logicSwitch; + private CoreManualSwitch manualSwitch; public ModelManualSwitch(ViewModelModifiable model, int logicWidth) { @@ -56,7 +56,7 @@ public class ModelManualSwitch extends ModelComponent if (foreground != null) gc.setForeground(foreground); gc.drawRectangle(getBounds()); - String label = BitVectorFormatter.formatAsString(logicSwitch == null ? null : logicSwitch.getValues()); + String label = BitVectorFormatter.formatAsString(manualSwitch == null ? null : manualSwitch.getValues()); Font oldFont = gc.getFont(); Font labelFont = new Font(oldFont.getName(), fontHeight, oldFont.getStyle()); gc.setFont(labelFont); @@ -67,14 +67,14 @@ public class ModelManualSwitch extends ModelComponent gc.drawText(label, getPosX() + (width - textExtent.x) / 2, getPosY() + (height - textExtent.y) / 2, true); gc.setFont(oldFont); - if (logicSwitch != null && logicWidth > 1 && heightMiniButtons > 0 && visibleRegion.y < getPosY() + heightMiniButtons) + if (manualSwitch != null && logicWidth > 1 && heightMiniButtons > 0 && visibleRegion.y < getPosY() + heightMiniButtons) { double x = getPosX(); double y = getPosY(); gc.drawLine(x, y + heightMiniButtons, x + width, y + heightMiniButtons); Color c = gc.getBackground(); gc.setBackground(gc.getForeground()); - BitVector bv = logicSwitch.getValues(); + BitVector bv = manualSwitch.getValues(); double part = width / bv.length(); for (int i = 0; i < bv.length(); i++) { @@ -92,18 +92,18 @@ public class ModelManualSwitch extends ModelComponent } } - public void setLogicModelBinding(CoreManualSwitch logicSwitch) + public void setCoreModelBinding(CoreManualSwitch logicSwitch) { - if (this.logicSwitch != null) - this.logicSwitch.deregisterObserver(logicObs); - this.logicSwitch = logicSwitch; + if (this.manualSwitch != null) + this.manualSwitch.deregisterObserver(logicObs); + this.manualSwitch = logicSwitch; if (logicSwitch != null) logicSwitch.registerObserver(logicObs); } - public boolean hasLogicModelBinding() + public boolean hasCoreModelBinding() { - return logicSwitch != null; + return manualSwitch != null; } @Override @@ -112,8 +112,8 @@ public class ModelManualSwitch extends ModelComponent switch (stateID) { case "out": - if (logicSwitch != null) - return logicSwitch.getValues(); + if (manualSwitch != null) + return manualSwitch.getValues(); return null; default: return super.getHighLevelState(stateID); @@ -126,8 +126,8 @@ public class ModelManualSwitch extends ModelComponent switch (stateID) { case "out": - if (logicSwitch != null) - logicSwitch.setState((BitVector) newState); + if (manualSwitch != null) + manualSwitch.setState((BitVector) newState); break; default: super.setHighLevelState(stateID, newState); @@ -138,15 +138,15 @@ public class ModelManualSwitch extends ModelComponent @Override public boolean clicked(double x, double y) { - if (logicSwitch != null) + if (manualSwitch != null) { if (heightMiniButtons > 0 && y - getPosY() < heightMiniButtons) { int part = (int) ((x - getPosX()) * logicWidth / width); - logicSwitch.setState(logicSwitch.getValues().withBitChanged(part, Bit::not)); + manualSwitch.setState(manualSwitch.getValues().withBitChanged(part, Bit::not)); } else { - logicSwitch.toggle(); + manualSwitch.toggle(); } } return true; @@ -154,7 +154,7 @@ public class ModelManualSwitch extends ModelComponent public CoreManualSwitch getManualSwitch() { - return logicSwitch; + return manualSwitch; } public Pin getOutputPin() @@ -176,7 +176,7 @@ public class ModelManualSwitch extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new ManualSwitchAdapter()); + LogicCoreAdapter.addComponentAdapter(new ManualSwitchAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelManualSwitch.class.getName(), (m, p, n) -> new ModelManualSwitch(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelMerger.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelMerger.java index c2856e13..79ea13e5 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelMerger.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelMerger.java @@ -10,7 +10,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.MergerAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -91,7 +91,7 @@ public class ModelMerger extends ModelComponent return logicWidth; } - public void setLogicModelBinding(ReadEnd[] inputEnds, ReadEnd outputEnd) + public void setCoreModelBinding(ReadEnd[] inputEnds, ReadEnd outputEnd) { System.arraycopy(inputEnds, 0, this.inputEnds, 0, logicWidth); this.outputEnd = outputEnd; @@ -104,7 +104,7 @@ public class ModelMerger extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new MergerAdapter()); + LogicCoreAdapter.addComponentAdapter(new MergerAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelMerger.class.getCanonicalName(), (m, p, n) -> new ModelMerger(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNandGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNandGate.java index f2acc944..fa584d69 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNandGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNandGate.java @@ -2,7 +2,7 @@ package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.CoreNandGate; import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -21,7 +21,7 @@ public class ModelNandGate extends SimpleRectangularModelGate static { - ViewLogicModelAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelNandGate.class, CoreNandGate::new)); + LogicCoreAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelNandGate.class, CoreNandGate::new)); IndirectModelComponentCreator.setComponentSupplier(ModelNandGate.class.getCanonicalName(), (m, p, n) -> new ModelNandGate(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNotGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNotGate.java index 0262c8f3..a24bbc06 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNotGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelNotGate.java @@ -2,7 +2,7 @@ package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.CoreNotGate; import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -21,7 +21,7 @@ public class ModelNotGate extends SimpleRectangularModelGate static { - ViewLogicModelAdapter + LogicCoreAdapter .addComponentAdapter(new SimpleGateAdapter<>(ModelNotGate.class, (t, p, o, i) -> new CoreNotGate(t, p, i[0], o))); IndirectModelComponentCreator.setComponentSupplier(ModelNotGate.class.getCanonicalName(), (m, p, n) -> new ModelNotGate(m, p.getAsInt(), n)); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelOrGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelOrGate.java index de0aa7f7..2a80d64f 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelOrGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelOrGate.java @@ -2,7 +2,7 @@ package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.CoreOrGate; import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -21,7 +21,7 @@ public class ModelOrGate extends SimpleRectangularModelGate static { - ViewLogicModelAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelOrGate.class, CoreOrGate::new)); + LogicCoreAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelOrGate.class, CoreOrGate::new)); IndirectModelComponentCreator.setComponentSupplier(ModelOrGate.class.getCanonicalName(), (m, p, n) -> new ModelOrGate(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java index 2f7a98de..1bf22b06 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelSplitter.java @@ -10,7 +10,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SplitterAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -91,7 +91,7 @@ public class ModelSplitter extends ModelComponent return logicWidth; } - public void setLogicModelBinding(ReadEnd inputEnd, ReadEnd[] outputEnds) + public void setCoreModelBinding(ReadEnd inputEnd, ReadEnd[] outputEnds) { this.inputEnd = inputEnd; System.arraycopy(outputEnds, 0, this.outputEnds, 0, logicWidth); @@ -104,7 +104,7 @@ public class ModelSplitter extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new SplitterAdapter()); + LogicCoreAdapter.addComponentAdapter(new SplitterAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelSplitter.class.getCanonicalName(), (m, p, n) -> new ModelSplitter(m, p.getAsInt(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTextComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTextComponent.java index 628cb13a..d45bfa86 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTextComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTextComponent.java @@ -7,7 +7,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.NoLogicAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -65,7 +65,7 @@ public class ModelTextComponent extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new NoLogicAdapter<>(ModelTextComponent.class)); + LogicCoreAdapter.addComponentAdapter(new NoLogicAdapter<>(ModelTextComponent.class)); IndirectModelComponentCreator.setComponentSupplier(ModelTextComponent.class.getName(), (m, p, n) -> new ModelTextComponent(m, p.getAsString(), n)); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTriStateBuffer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTriStateBuffer.java index 04f7caee..733d4b62 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTriStateBuffer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/ModelTriStateBuffer.java @@ -12,7 +12,7 @@ import net.mograsim.logic.model.model.components.Orientation; import net.mograsim.logic.model.model.components.OrientationCalculator; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.TriStateBufferAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; @@ -100,7 +100,7 @@ public class ModelTriStateBuffer extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new TriStateBufferAdapter()); + LogicCoreAdapter.addComponentAdapter(new TriStateBufferAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelTriStateBuffer.class.getName(), (m, p, n) -> { ModelTriStateBufferParams params = JsonHandler.fromJsonTree(p, ModelTriStateBufferParams.class); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedModelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedModelComponent.java index cad271cc..4314a439 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedModelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedModelComponent.java @@ -10,7 +10,7 @@ import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SimpleRectangularHardcodedModelComponentAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.snippets.HighLevelStateHandler; @@ -112,9 +112,9 @@ public abstract class SimpleRectangularHardcodedModelComponent extends ModelComp public abstract Object recalculate(Object lastState, Map readEnds, Map readWriteEnds); - // logic model binding + // core model binding - public void setLogicModelBindingAndResetState(AtomicReference state, Runnable recalculate) + public void setCoreModelBindingAndResetState(AtomicReference state, Runnable recalculate) { this.state = state; this.recalculate = recalculate; @@ -148,6 +148,6 @@ public abstract class SimpleRectangularHardcodedModelComponent extends ModelComp static { - ViewLogicModelAdapter.addComponentAdapter(new SimpleRectangularHardcodedModelComponentAdapter()); + LogicCoreAdapter.addComponentAdapter(new SimpleRectangularHardcodedModelComponentAdapter()); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWire.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWire.java index 1d7c9a44..8283749b 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWire.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWire.java @@ -36,7 +36,7 @@ public class ModelWire */ public final String name; /** - * The logical width of this wire. Is equal to the logical with of {@link #pin1} and {@link #pin2}. + * The logical width of this wire. Is equal to the logical width of {@link #pin1} and {@link #pin2}. */ public final int logicWidth; /** @@ -65,11 +65,11 @@ public class ModelWire private final List> pathChangedListeners; /** - * A LogicObserver calling redrawListeners. Used for logic model bindings. + * A LogicObserver calling redrawListeners. Used for core model bindings. */ private final LogicObserver logicObs; /** - * A ReadEnd of the logic wire this model wire currently is bound to. + * A ReadEnd of the core wire this model wire currently is bound to. */ private ReadEnd end; @@ -463,7 +463,7 @@ public class ModelWire return new Point(p.x, p.y); } - // logic model binding + // core model binding /** * Binds this {@link ModelWire} to the given {@link ReadEnd}: The color of this {@link ModelWire} will now depend on the state of the @@ -472,7 +472,7 @@ public class ModelWire * * @author Daniel Kirschten */ - public void setLogicModelBinding(ReadEnd end) + public void setCoreModelBinding(ReadEnd end) { if (this.end != null) this.end.deregisterObserver(logicObs); @@ -482,17 +482,17 @@ public class ModelWire } /** - * Returns whether this {@link ModelWire} has a logic model binding or not. + * Returns whether this {@link ModelWire} has a core model binding or not. * * @author Daniel Kirschten */ - public boolean hasLogicModelBinding() + public boolean hasCoreModelBinding() { return end != null; } /** - * If this {@link ModelWire} has a logic model binding, delegates to {@link CoreWire#forceValues(BitVector)} for the {@link CoreWire} + * If this {@link ModelWire} has a core model binding, delegates to {@link CoreWire#forceValues(BitVector)} for the {@link CoreWire} * corresponding to this {@link ModelWire}. * * @author Daniel Kirschten @@ -503,8 +503,8 @@ public class ModelWire } /** - * If this {@link ModelWire} has a logic model binding, delegates to {@link ReadEnd#getValues()} for the {@link ReadEnd} corresponding - * to this {@link ModelWire}. + * If this {@link ModelWire} has a core model binding, delegates to {@link ReadEnd#getValues()} for the {@link ReadEnd} corresponding to + * this {@link ModelWire}. * * @author Daniel Kirschten */ diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWireCrossPoint.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWireCrossPoint.java index f8d32ac5..28181b20 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWireCrossPoint.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/ModelWireCrossPoint.java @@ -89,7 +89,7 @@ public class ModelWireCrossPoint extends ModelComponent gc.fillOval(getPosX(), getPosY(), CIRCLE_DIAM, CIRCLE_DIAM); } - // logic model binding + // core model binding /** * Binds this {@link ModelWireCrossPoint} to the given {@link ReadEnd}: The color of this {@link ModelWireCrossPoint} will now depend on @@ -99,7 +99,7 @@ public class ModelWireCrossPoint extends ModelComponent * * @author Daniel Kirschten */ - public void setLogicModelBinding(ReadEnd end) + public void setCoreModelBinding(ReadEnd end) { if (this.end != null) this.end.deregisterObserver(logicObs); @@ -109,9 +109,9 @@ public class ModelWireCrossPoint extends ModelComponent } /** - * Returns whether this {@link ModelWireCrossPoint} has a logic model binding or not. + * Returns whether this {@link ModelWireCrossPoint} has a core model binding or not. */ - public boolean hasLogicModelBinding() + public boolean hasCoreModelBinding() { return end != null; } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicModelParameters.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java similarity index 75% rename from net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicModelParameters.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java index 1d83c5f8..db3b5ac6 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicModelParameters.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/CoreModelParameters.java @@ -1,6 +1,6 @@ package net.mograsim.logic.model.modeladapter; -public class LogicModelParameters +public class CoreModelParameters { public int wireTravelTime; public int gateProcessTime; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicCoreAdapter.java similarity index 83% rename from net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicCoreAdapter.java index ffeff19a..397f9138 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicCoreAdapter.java @@ -22,7 +22,7 @@ import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.ModelWireCrossPoint; import net.mograsim.logic.model.modeladapter.componentadapters.ComponentAdapter; -public class ViewLogicModelAdapter +public class LogicCoreAdapter { private final static Map, ComponentAdapter> componentAdapters = new HashMap<>(); @@ -31,9 +31,9 @@ public class ViewLogicModelAdapter componentAdapters.put(componentAdapter.getSupportedClass(), componentAdapter); } - public static Timeline convert(ViewModel viewModel, LogicModelParameters params) + public static Timeline convert(ViewModel viewModel, CoreModelParameters params) { - // TODO replace Timeline with LogicModel as soon as it exists + // TODO replace Timeline with CoreModel as soon as it exists Timeline timeline = new Timeline(10); convert(viewModel, params, timeline, Map.of()); @@ -41,7 +41,7 @@ public class ViewLogicModelAdapter return timeline; } - private static void convert(ViewModel viewModel, LogicModelParameters params, Timeline timeline, Map externalWires) + private static void convert(ViewModel viewModel, CoreModelParameters params, Timeline timeline, Map externalWires) { Map logicWiresPerPin = convertWires(getAllPins(viewModel), viewModel.getWiresByName().values(), externalWires, params, timeline); @@ -59,7 +59,7 @@ public class ViewLogicModelAdapter } else if (modelComp instanceof ModelWireCrossPoint) { ModelWireCrossPoint modelCompCasted = (ModelWireCrossPoint) modelComp; - modelCompCasted.setLogicModelBinding(logicWiresPerPin.get(modelCompCasted.getPin()).createReadOnlyEnd()); + modelCompCasted.setCoreModelBinding(logicWiresPerPin.get(modelCompCasted.getPin()).createReadOnlyEnd()); } else if (!(modelComp instanceof SubmodelInterface))// nothing to do for SubmodelInterfaces createAndLinkComponent(timeline, params, modelComp, logicWiresPerPinUnmodifiable); } @@ -72,16 +72,16 @@ public class ViewLogicModelAdapter } private static Map convertWires(Set allPins, Collection wires, Map externalWires, - LogicModelParameters params, Timeline timeline) + CoreModelParameters params, Timeline timeline) { Map> connectedPinGroups = getConnectedPinGroups(allPins, wires); Map logicWiresPerPin = createLogicWires(params, timeline, connectedPinGroups, externalWires); - setModelWiresLogicModelBinding(wires, logicWiresPerPin); + setModelWiresCoreModelBinding(wires, logicWiresPerPin); return logicWiresPerPin; } - private static Map createLogicWires(LogicModelParameters params, Timeline timeline, - Map> connectedPinGroups, Map externalWires) + private static Map createLogicWires(CoreModelParameters params, Timeline timeline, Map> connectedPinGroups, + Map externalWires) { Map logicWiresPerPin = new HashMap<>(); Map, CoreWire> logicWiresPerPinGroup = new HashMap<>(); @@ -106,12 +106,12 @@ public class ViewLogicModelAdapter return logicWiresPerPin; } - private static void setModelWiresLogicModelBinding(Collection wires, Map logicWiresPerPin) + private static void setModelWiresCoreModelBinding(Collection wires, Map logicWiresPerPin) { Map modelWireSharedReadEnd = logicWiresPerPin.values().stream().distinct() .collect(Collectors.toMap(Function.identity(), CoreWire::createReadOnlyEnd)); for (ModelWire modelWire : wires) - modelWire.setLogicModelBinding(modelWireSharedReadEnd.get(logicWiresPerPin.get(modelWire.getPin1()))); + modelWire.setCoreModelBinding(modelWireSharedReadEnd.get(logicWiresPerPin.get(modelWire.getPin1()))); } private static Map> getConnectedPinGroups(Set allPins, Collection wires) @@ -143,7 +143,7 @@ public class ViewLogicModelAdapter } @SuppressWarnings("unchecked") - private static void createAndLinkComponent(Timeline timeline, LogicModelParameters params, + private static void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelComponent modelComponent, Map logicWiresPerPin) { Class cls = modelComponent.getClass(); @@ -158,8 +158,8 @@ public class ViewLogicModelAdapter adapter.createAndLinkComponent(timeline, params, (G) modelComponent, logicWiresPerPin); } - private ViewLogicModelAdapter() + private LogicCoreAdapter() { - throw new UnsupportedOperationException("No ViewLogicModelConverter instances"); + throw new UnsupportedOperationException("No LogicCoreAdapter instances"); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java index db24aff5..517e9464 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java @@ -8,7 +8,7 @@ import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.model.model.components.atomic.ModelBitDisplay; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class BitDisplayAdapter implements ComponentAdapter { @@ -19,11 +19,11 @@ public class BitDisplayAdapter implements ComponentAdapter } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelBitDisplay modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelBitDisplay modelComponent, Map logicWiresPerPin) { ReadEnd end = logicWiresPerPin.get(modelComponent.getInputPin()).createReadOnlyEnd(); CoreBitDisplay bitDisplay = new CoreBitDisplay(timeline, end); - modelComponent.setLogicModelBinding(bitDisplay); + modelComponent.setCoreModelBinding(bitDisplay); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java index 10560f08..adcda831 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java @@ -8,7 +8,7 @@ import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; import net.mograsim.logic.model.model.components.atomic.ModelClock; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class ClockAdapter implements ComponentAdapter { @@ -20,12 +20,12 @@ public class ClockAdapter implements ComponentAdapter } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelClock modelClock, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelClock modelClock, Map logicWiresPerPin) { ReadWriteEnd out = logicWiresPerPin.get(modelClock.getOutputPin()).createReadWriteEnd(); CoreClock c = new CoreClock(timeline, out, modelClock.getDelta()); - modelClock.setLogicModelBinding(c); + modelClock.setCoreModelBinding(c); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java index 7849d4d0..d7f2d2cf 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java @@ -6,12 +6,12 @@ import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public interface ComponentAdapter { public Class getSupportedClass(); - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, G modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, G modelComponent, Map logicWiresPerPin); } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/FixedOutputAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/FixedOutputAdapter.java index f6a3c0e5..f8236652 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/FixedOutputAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/FixedOutputAdapter.java @@ -6,7 +6,7 @@ import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.model.model.components.atomic.ModelFixedOutput; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class FixedOutputAdapter implements ComponentAdapter { @@ -17,7 +17,7 @@ public class FixedOutputAdapter implements ComponentAdapter } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelFixedOutput modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelFixedOutput modelComponent, Map logicWiresPerPin) { logicWiresPerPin.get(modelComponent.getPin("out")).createReadWriteEnd().feedSignals(modelComponent.bits); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java index ac00c5b6..75305f61 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java @@ -8,7 +8,7 @@ import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; import net.mograsim.logic.model.model.components.atomic.ModelManualSwitch; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class ManualSwitchAdapter implements ComponentAdapter { @@ -19,11 +19,11 @@ public class ManualSwitchAdapter implements ComponentAdapter } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelManualSwitch modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelManualSwitch modelComponent, Map logicWiresPerPin) { ReadWriteEnd end = logicWiresPerPin.get(modelComponent.getOutputPin()).createReadWriteEnd(); CoreManualSwitch manualSwitch = new CoreManualSwitch(timeline, end); - modelComponent.setLogicModelBinding(manualSwitch); + modelComponent.setCoreModelBinding(manualSwitch); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/MergerAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/MergerAdapter.java index 4b2834d1..22d61122 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/MergerAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/MergerAdapter.java @@ -7,7 +7,7 @@ import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.model.model.components.atomic.ModelMerger; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class MergerAdapter implements ComponentAdapter { @@ -18,7 +18,7 @@ public class MergerAdapter implements ComponentAdapter } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelMerger modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelMerger modelComponent, Map logicWiresPerPin) { CoreWire output = logicWiresPerPin.get(modelComponent.getPin("O")); @@ -29,6 +29,6 @@ public class MergerAdapter implements ComponentAdapter CoreWire.fuse(input, output, 0, i); inputEnds[i] = input.createReadOnlyEnd(); } - modelComponent.setLogicModelBinding(inputEnds, output.createReadOnlyEnd()); + modelComponent.setCoreModelBinding(inputEnds, output.createReadOnlyEnd()); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java index 20c1aef2..3cc859eb 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java @@ -6,7 +6,7 @@ import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; /** * For ModelComponents that do not have any simulation logic behaviour @@ -29,7 +29,7 @@ public class NoLogicAdapter implements ComponentAdapte } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, T modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, T modelComponent, Map logicWiresPerPin) { // do nothing diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java index 80830bdd..72008e1c 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java @@ -9,7 +9,7 @@ import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularModelGate; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class SimpleGateAdapter implements ComponentAdapter { @@ -29,7 +29,7 @@ public class SimpleGateAdapter implements } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, G modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, G modelComponent, Map logicWiresPerPin) { ReadWriteEnd out = logicWiresPerPin.get(modelComponent.getPin("Y")).createReadWriteEnd(); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java index 1dab1d35..dbebc0ff 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedModelComponentAdapter.java @@ -12,7 +12,7 @@ import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedModelComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class SimpleRectangularHardcodedModelComponentAdapter implements ComponentAdapter { @@ -23,7 +23,7 @@ public class SimpleRectangularHardcodedModelComponentAdapter implements Componen } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, SimpleRectangularHardcodedModelComponent modelComponent, Map logicWiresPerPin) { Map readEnds = new HashMap<>(); @@ -34,7 +34,7 @@ public class SimpleRectangularHardcodedModelComponentAdapter implements Componen Runnable recalculate = () -> state.updateAndGet(s -> modelComponent.recalculate(s, readEnds, readWriteEnds)); LogicObserver logicObs = c -> timeline.addEvent(e -> recalculate.run(), params.gateProcessTime); - modelComponent.setLogicModelBindingAndResetState(state, recalculate); + modelComponent.setCoreModelBindingAndResetState(state, recalculate); for (Pin pin : modelComponent.getPins().values()) { diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SplitterAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SplitterAdapter.java index bfe8308c..3cfa5f28 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SplitterAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SplitterAdapter.java @@ -7,7 +7,7 @@ import net.mograsim.logic.core.wires.CoreWire; import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.model.model.components.atomic.ModelSplitter; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class SplitterAdapter implements ComponentAdapter { @@ -18,7 +18,7 @@ public class SplitterAdapter implements ComponentAdapter } @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, ModelSplitter modelComponent, + public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelSplitter modelComponent, Map logicWiresPerPin) { CoreWire input = logicWiresPerPin.get(modelComponent.getPin("I")); @@ -29,6 +29,6 @@ public class SplitterAdapter implements ComponentAdapter CoreWire.fuse(input, output, i, 0); outputEnds[i] = output.createReadOnlyEnd(); } - modelComponent.setLogicModelBinding(input.createReadOnlyEnd(), outputEnds); + modelComponent.setCoreModelBinding(input.createReadOnlyEnd(), outputEnds); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java index 1263e0ad..56a838b7 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java @@ -9,7 +9,7 @@ import net.mograsim.logic.core.wires.CoreWire.ReadEnd; import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd; import net.mograsim.logic.model.model.components.atomic.ModelTriStateBuffer; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.CoreModelParameters; public class TriStateBufferAdapter implements ComponentAdapter { @@ -21,7 +21,7 @@ public class TriStateBufferAdapter implements ComponentAdapter logicWiresPerPin) { ReadEnd in = logicWiresPerPin.get(modelTsb.getPin("IN")).createReadOnlyEnd(); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java index cd09bd8e..ecf3a4d9 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java @@ -80,11 +80,11 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt { BitVector result = BitVector.of(Bit.ZERO, logicWidth); for (ModelWire wire : wiresToForceInverted) - if (wire.hasLogicModelBinding()) + if (wire.hasCoreModelBinding()) result = result.or(wire.getWireValues()); result = result.not(); for (ModelWire wire : wiresToForce) - if (wire.hasLogicModelBinding()) + if (wire.hasCoreModelBinding()) result = result.and(wire.getWireValues()); return result; } @@ -98,11 +98,11 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt else vector = (BitVector) newState; for (ModelWire wire : wiresToForce) - if (wire.hasLogicModelBinding()) + if (wire.hasCoreModelBinding()) wire.forceWireValues(vector); vector = vector.not(); for (ModelWire wire : wiresToForceInverted) - if (wire.hasLogicModelBinding()) + if (wire.hasCoreModelBinding()) wire.forceWireValues(vector); } diff --git a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/ModelMemoryWA.java b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/ModelMemoryWA.java index 8da1dbb2..8f40ceda 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/ModelMemoryWA.java +++ b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/ModelMemoryWA.java @@ -7,7 +7,7 @@ import net.mograsim.logic.model.model.components.ModelComponent; import net.mograsim.logic.model.model.components.atomic.ModelAndGate; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.model.wires.PinUsage; -import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.LogicCoreAdapter; import net.mograsim.logic.model.serializing.IdentifyParams; import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; import net.mograsim.logic.model.snippets.Renderer; @@ -59,7 +59,7 @@ public class ModelMemoryWA extends ModelComponent return rWPin; } - public void setLogicModelBinding(WordAddressableMemoryComponent memory) + public void setCoreModelBinding(WordAddressableMemoryComponent memory) { this.memory = memory; } @@ -100,7 +100,7 @@ public class ModelMemoryWA extends ModelComponent static { - ViewLogicModelAdapter.addComponentAdapter(new WordAddressableMemoryAdapter()); + LogicCoreAdapter.addComponentAdapter(new WordAddressableMemoryAdapter()); IndirectModelComponentCreator.setComponentSupplier(ModelAndGate.class.getCanonicalName(), (m, p, n) -> { ModelMemoryWAParams params = JsonHandler.fromJsonTree(p, ModelMemoryWAParams.class); diff --git a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryAdapter.java b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryAdapter.java index 51a0883b..6b632613 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryAdapter.java +++ b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/WordAddressableMemoryAdapter.java @@ -28,7 +28,7 @@ public class WordAddressableMemoryAdapter implements ComponentAdapter