From ec2c0827f8d791b669de3ab0135d483ad86713e0 Mon Sep 17 00:00:00 2001 From: Fabian Stemmler Date: Tue, 4 Jun 2019 22:21:01 +0200 Subject: [PATCH] Added nand and nor gate due to popular demand --- .../logic/core/components/gates/NandGate.java | 14 ++++++++++++++ .../logic/core/components/gates/NorGate.java | 14 ++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NandGate.java create mode 100644 net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NorGate.java diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NandGate.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NandGate.java new file mode 100644 index 00000000..ff8f790d --- /dev/null +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NandGate.java @@ -0,0 +1,14 @@ +package net.mograsim.logic.core.components.gates; + +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.types.BitVector.BitVectorMutator; +import net.mograsim.logic.core.wires.Wire.ReadEnd; +import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; + +public class NandGate extends MultiInputGate +{ + public NandGate(Timeline timeline, int processTime, ReadWriteEnd out, ReadEnd... in) + { + super(timeline, processTime, BitVectorMutator::nand, out, in); + } +} diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NorGate.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NorGate.java new file mode 100644 index 00000000..cfadf46f --- /dev/null +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/gates/NorGate.java @@ -0,0 +1,14 @@ +package net.mograsim.logic.core.components.gates; + +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.types.BitVector.BitVectorMutator; +import net.mograsim.logic.core.wires.Wire.ReadEnd; +import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; + +public class NorGate extends MultiInputGate +{ + public NorGate(Timeline timeline, int processTime, ReadWriteEnd out, ReadEnd... in) + { + super(timeline, processTime, BitVectorMutator::nor, out, in); + } +} -- 2.17.1