From bb9a753477870961d776143bd37fb28b8c09c4c9 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Sun, 16 Jun 2024 09:34:19 +0200 Subject: WIP debugging --- GateAnd.h | 4 ++-- GateNand.cpp | 2 +- GateNand.h | 8 +++++--- circuits/nand-test.txt | 22 ++++++++++++++++++++++ 4 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 circuits/nand-test.txt diff --git a/GateAnd.h b/GateAnd.h index df456dd..4c19836 100644 --- a/GateAnd.h +++ b/GateAnd.h @@ -3,6 +3,8 @@ #include "Node.h" class GateAnd : public Node { + using Node::Node; + public: GateAnd() = default; ~GateAnd() = default; @@ -11,8 +13,6 @@ public: protected: SignalLevel level(); - using Node::Node; - private: GateAnd(const GateAnd * prototype); constexpr static const char * type = "and"; diff --git a/GateNand.cpp b/GateNand.cpp index 8ecb90f..5e43618 100644 --- a/GateNand.cpp +++ b/GateNand.cpp @@ -2,7 +2,7 @@ GateNand GateNand::instance(GateNand::type); -// GateNand::GateNand(const char * type) : GateAnd(type) { } +GateNand::GateNand(const char * type) : GateAnd(type) { } SignalLevel GateNand::level() { SignalLevel lvl = GateAnd::level(); diff --git a/GateNand.h b/GateNand.h index 7158040..5ed9956 100644 --- a/GateNand.h +++ b/GateNand.h @@ -4,11 +4,13 @@ #include "GateAnd.h" class GateNand : public GateAnd { -private: + using GateAnd::GateAnd; + +protected: SignalLevel level(); - // GateNand(const char * type); - using GateAnd::GateAnd; +private: + GateNand(const char * type); constexpr static const char * type = "nand"; static GateNand instance; }; diff --git a/circuits/nand-test.txt b/circuits/nand-test.txt new file mode 100644 index 0000000..03b29a6 --- /dev/null +++ b/circuits/nand-test.txt @@ -0,0 +1,22 @@ +# nand gate truth table +# vim:ft=cfg +LO: INPUT_LOW; +HI: INPUT_HIGH; + +LO_LO: PROBE; +LO_HI: PROBE; +HI_LO: PROBE; +HI_HI: PROBE; + +GATE1: NAND; +GATE2: NAND; +GATE3: NAND; +GATE4: NAND; + +LO: GATE1,GATE1,GATE2,GATE3; +HI: GATE2,GATE3,GATE4,GATE4; + +GATE1: LO_LO; +GATE2: LO_HI; +GATE3: HI_LO; +GATE4: HI_HI; -- cgit v1.2.3