From 32da3e7d9bb6e8cd6e292b6e4ad50a561791062d Mon Sep 17 00:00:00 2001 From: hneemann Date: Sun, 9 Jul 2017 20:53:52 +0200 Subject: [PATCH] added nmos xor example --- distribution/Assembly.xml | 7 + distribution/ReleaseNotes.txt | 2 +- src/main/dig/nmos/xnor.dig | 137 ++++++++++++++ src/main/dig/nmos/xor.dig | 178 ++++++++++++++++++ .../digital/integration/TestExamples.java | 4 +- 5 files changed, 325 insertions(+), 3 deletions(-) create mode 100644 src/main/dig/nmos/xnor.dig create mode 100644 src/main/dig/nmos/xor.dig diff --git a/distribution/Assembly.xml b/distribution/Assembly.xml index a8dbce89c..296e7e295 100644 --- a/distribution/Assembly.xml +++ b/distribution/Assembly.xml @@ -82,6 +82,13 @@ *.dig + + ${basedir}/src/main/dig/nmos + /examples/nmos/ + + *.dig + + ${basedir}/src/main/dig/test /examples/test/ diff --git a/distribution/ReleaseNotes.txt b/distribution/ReleaseNotes.txt index beaf438fd..33ddd0e85 100644 --- a/distribution/ReleaseNotes.txt +++ b/distribution/ReleaseNotes.txt @@ -1,6 +1,6 @@ Release Notes -planned as v0.13 +HEAD, planned as v0.13 - Added a barrel shifter (thanks to roy77) - In case of oscillations almost all affected components are shown. - If an error occurs, the name of the affected circuit file is shown. diff --git a/src/main/dig/nmos/xnor.dig b/src/main/dig/nmos/xnor.dig new file mode 100644 index 000000000..3cd95b934 --- /dev/null +++ b/src/main/dig/nmos/xnor.dig @@ -0,0 +1,137 @@ + + + 1 + + + + In + + + Label + A + + + + + + In + + + Label + B + + + + + + NFET + + + + + NFET + + + + + PullUp + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A B Y +0 0 1 +0 1 0 +1 0 0 +1 1 1 + + +# transitions +0 0 1 +0 1 0 +0 0 1 +1 0 0 +0 0 1 +1 1 1 +0 0 1 +0 1 0 +1 0 0 +0 1 0 +1 1 1 +0 1 0 +1 0 0 +1 1 1 +1 0 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/nmos/xor.dig b/src/main/dig/nmos/xor.dig new file mode 100644 index 000000000..e452e3883 --- /dev/null +++ b/src/main/dig/nmos/xor.dig @@ -0,0 +1,178 @@ + + + 1 + + + + In + + + Label + A + + + + + + In + + + Label + B + + + + + + NFET + + + + + NFET + + + + + PullUp + + + + + PullUp + + + + + NFET + + + + + Ground + + + + + Out + + + Label + Y + + + + + + Testcase + + + Testdata + + A B Y +0 0 0 +0 1 1 +1 0 1 +1 1 0 + + + + +# transitions +0 0 0 +0 1 1 +0 0 0 +1 0 1 +0 0 0 +1 1 0 +0 0 0 +0 1 1 +1 0 1 +0 1 1 +1 1 0 +0 1 1 +1 0 1 +1 1 0 +1 0 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 6bd327897..f8fe0926c 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(188, new FileScanner(this::check).scan(examples)); - assertEquals(87, testCasesInFiles); + assertEquals(190, new FileScanner(this::check).scan(examples)); + assertEquals(89, testCasesInFiles); } /**