X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fexamples%2FAtomicAm2901Example.java;fp=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fexamples%2FAtomicAm2901Example.java;h=39ee8fc4ce0ee9f6dd295680378c2e4dc3218b42;hb=7df30691216ad44712c2664d1717aff550952752;hp=0000000000000000000000000000000000000000;hpb=6c7b38a5ba03942d754dbb4ecd1f4b6d6478c68e;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/AtomicAm2901Example.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/AtomicAm2901Example.java new file mode 100644 index 00000000..39ee8fc4 --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/AtomicAm2901Example.java @@ -0,0 +1,39 @@ +package net.mograsim.logic.ui.examples; + +import net.mograsim.logic.ui.SimpleLogicUIStandalone; +import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.AtomicAm2901NANDBased; +import net.mograsim.logic.ui.model.components.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.GUIManualSwitch; +import net.mograsim.logic.ui.model.wires.GUIWire; +import net.mograsim.logic.ui.modeladapter.LogicModelParameters; + +public class AtomicAm2901Example +{ + public static void main(String[] args) + { + LogicModelParameters params = new LogicModelParameters(); + params.gateProcessTime = 1; + params.wireTravelTime = 1; + SimpleLogicUIStandalone.executeVisualisation(AtomicAm2901Example::createAm2901Example, params); + } + + @SuppressWarnings("unused") // for GUIWires being created + public static void createAm2901Example(ViewModelModifiable model) + { + AtomicAm2901NANDBased am2901 = new AtomicAm2901NANDBased(model); + am2901.moveTo(100, 0); + for (int i = 0; i < am2901.inputNames.size(); i++) + { + GUIManualSwitch sw = new GUIManualSwitch(model); + sw.moveTo(0, 20 * i); + new GUIWire(model, am2901.getPins().get(i), sw.getOutputPin()); + } + for (int i = 0; i < am2901.outputNames.size(); i++) + { + GUIBitDisplay bd = new GUIBitDisplay(model); + bd.moveTo(200, 20 * i); + new GUIWire(model, am2901.getPins().get(am2901.inputNames.size() + i), bd.getInputPin()); + } + } +} \ No newline at end of file