From 513d9bf5f97a2e51c6494e29a2113aee4f7a2f0e Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 19 Jun 2017 07:42:40 +0200 Subject: [PATCH] added some nmos examples --- src/main/dig/nmos/and.dig | 135 ++++++++++++++++ src/main/dig/nmos/inverter.dig | 79 ++++++++++ src/main/dig/nmos/nand.dig | 104 ++++++++++++ src/main/dig/nmos/nor.dig | 117 ++++++++++++++ src/main/dig/nmos/or.dig | 148 ++++++++++++++++++ .../digital/integration/TestExamples.java | 4 +- 6 files changed, 585 insertions(+), 2 deletions(-) create mode 100644 src/main/dig/nmos/and.dig create mode 100644 src/main/dig/nmos/inverter.dig create mode 100644 src/main/dig/nmos/nand.dig create mode 100644 src/main/dig/nmos/nor.dig create mode 100644 src/main/dig/nmos/or.dig diff --git a/src/main/dig/nmos/and.dig b/src/main/dig/nmos/and.dig new file mode 100644 index 000000000..9e49fb2a1 --- /dev/null +++ b/src/main/dig/nmos/and.dig @@ -0,0 +1,135 @@ + + + 1 + + + + NFET + + + + + NFET + + + + + Ground + + + + + PullUp + + + + + In + + + Label + B + + + + + + In + + + Label + A + + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A B Y +0 0 0 +0 1 0 +1 0 0 +1 1 1 + + + + + + + + NFET + + + + + Ground + + + + + PullUp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/nmos/inverter.dig b/src/main/dig/nmos/inverter.dig new file mode 100644 index 000000000..e3c51321c --- /dev/null +++ b/src/main/dig/nmos/inverter.dig @@ -0,0 +1,79 @@ + + + 1 + + + + NFET + + + + + Ground + + + + + PullUp + + + + + In + + + Label + A + + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A Y +0 1 +1 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/nmos/nand.dig b/src/main/dig/nmos/nand.dig new file mode 100644 index 000000000..8660c1280 --- /dev/null +++ b/src/main/dig/nmos/nand.dig @@ -0,0 +1,104 @@ + + + 1 + + + + NFET + + + + + NFET + + + + + Ground + + + + + PullUp + + + + + In + + + Label + B + + + + + + In + + + Label + A + + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A B Y +0 0 1 +0 1 1 +1 0 1 +1 1 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/nmos/nor.dig b/src/main/dig/nmos/nor.dig new file mode 100644 index 000000000..3dcc7f9e1 --- /dev/null +++ b/src/main/dig/nmos/nor.dig @@ -0,0 +1,117 @@ + + + 1 + + + + NFET + + + + + NFET + + + + + Ground + + + + + PullUp + + + + + In + + + Label + B + + + + + + In + + + Label + A + + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A B Y +0 0 1 +0 1 0 +1 0 0 +1 1 0 + + + + + + + + Ground + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/nmos/or.dig b/src/main/dig/nmos/or.dig new file mode 100644 index 000000000..c00c0308f --- /dev/null +++ b/src/main/dig/nmos/or.dig @@ -0,0 +1,148 @@ + + + 1 + + + + NFET + + + + + NFET + + + + + Ground + + + + + PullUp + + + + + In + + + Label + B + + + + + + In + + + Label + A + + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A B Y +0 0 0 +0 1 1 +1 0 1 +1 1 1 + + + + + + + + Ground + + + + + NFET + + + + + Ground + + + + + PullUp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/de/neemann/digital/integration/TestExamples.java b/src/test/java/de/neemann/digital/integration/TestExamples.java index cae0d47fe..232580351 100644 --- a/src/test/java/de/neemann/digital/integration/TestExamples.java +++ b/src/test/java/de/neemann/digital/integration/TestExamples.java @@ -28,8 +28,8 @@ public class TestExamples extends TestCase { */ public void testDistExamples() throws Exception { File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig"); - assertEquals(183, new FileScanner(this::check).scan(examples)); - assertEquals(82, testCasesInFiles); + assertEquals(188, new FileScanner(this::check).scan(examples)); + assertEquals(87, testCasesInFiles); } /**