From 4799a81e01344467aafbe749a60ecd68a84deac9 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 15 May 2017 22:06:12 +0200 Subject: [PATCH] added some more 74xx circuits --- src/main/dig/74xx/lib/basic/7413.dig | 222 ++++++++++++ src/main/dig/74xx/lib/basic/7414.dig | 268 +++++++++++++++ src/main/dig/74xx/lib/basic/7451.dig | 82 ++--- src/main/dig/74xx/lib/basic/7455.dig | 233 +++++++++++++ src/main/dig/74xx/lib/plexers/7442.dig | 323 ++++++++++++++++++ .../digital/integration/TestExamples.java | 2 +- 6 files changed, 1088 insertions(+), 42 deletions(-) create mode 100644 src/main/dig/74xx/lib/basic/7413.dig create mode 100644 src/main/dig/74xx/lib/basic/7414.dig create mode 100644 src/main/dig/74xx/lib/basic/7455.dig create mode 100644 src/main/dig/74xx/lib/plexers/7442.dig diff --git a/src/main/dig/74xx/lib/basic/7413.dig b/src/main/dig/74xx/lib/basic/7413.dig new file mode 100644 index 000000000..a3c4c9678 --- /dev/null +++ b/src/main/dig/74xx/lib/basic/7413.dig @@ -0,0 +1,222 @@ + + + 1 + + + isDIL + true + + + Description + dual 4-input NAND gate, Schmitt trigger + + + lockedMode + true + + + + + In + + + Label + 1A + + + pinNumber + 1 + + + + + + In + + + Label + 1C + + + pinNumber + 4 + + + + + + Out + + + Label + 1Y + + + pinNumber + 6 + + + + + + In + + + Label + 2A + + + pinNumber + 9 + + + + + + In + + + Label + 2C + + + pinNumber + 12 + + + + + + Out + + + Label + 2Y + + + pinNumber + 8 + + + + + + In + + + Label + 1B + + + pinNumber + 2 + + + + + + In + + + Label + 2B + + + pinNumber + 10 + + + + + + NAnd + + + Inputs + 4 + + + + + + NAnd + + + Inputs + 4 + + + + + + In + + + Label + 1D + + + pinNumber + 5 + + + + + + In + + + Label + 2D + + + pinNumber + 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/74xx/lib/basic/7414.dig b/src/main/dig/74xx/lib/basic/7414.dig new file mode 100644 index 000000000..db7bac8c1 --- /dev/null +++ b/src/main/dig/74xx/lib/basic/7414.dig @@ -0,0 +1,268 @@ + + + 1 + + + isDIL + true + + + Description + hex inverter, Schmitt trigger + + + lockedMode + true + + + + + Not + + + + + In + + + Label + 1A + + + pinNumber + 1 + + + + + + Out + + + Label + 1Y + + + pinNumber + 2 + + + + + + Not + + + + + In + + + Label + 2A + + + pinNumber + 3 + + + + + + Out + + + Label + 2Y + + + pinNumber + 4 + + + + + + Not + + + + + In + + + Label + 3A + + + pinNumber + 5 + + + + + + Out + + + Label + 3Y + + + pinNumber + 6 + + + + + + Not + + + + + In + + + Label + 4A + + + pinNumber + 9 + + + + + + Out + + + Label + 4Y + + + pinNumber + 8 + + + + + + Not + + + + + In + + + Label + 5A + + + pinNumber + 11 + + + + + + Out + + + Label + 5Y + + + pinNumber + 10 + + + + + + Not + + + + + In + + + Label + 6A + + + pinNumber + 13 + + + + + + Out + + + Label + 6Y + + + pinNumber + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/dig/74xx/lib/basic/7451.dig b/src/main/dig/74xx/lib/basic/7451.dig index cf579a3dc..3bc90c6a3 100644 --- a/src/main/dig/74xx/lib/basic/7451.dig +++ b/src/main/dig/74xx/lib/basic/7451.dig @@ -8,7 +8,7 @@ Description - 2-input/3-input AND-OR invert gate + 2-input/3-input AND-NOR gate lockedMode @@ -16,31 +16,6 @@ - - Or - - - Inputs - 3 - - - - - - Or - - - Inputs - 3 - - - - - - NAnd - - - Out @@ -139,21 +114,6 @@ - - Or - - - - - Or - - - - - NAnd - - - Out @@ -224,6 +184,46 @@ + + And + + + + + And + + + + + And + + + Inputs + 3 + + + + + + And + + + Inputs + 3 + + + + + + NOr + + + + + NOr + + + diff --git a/src/main/dig/74xx/lib/basic/7455.dig b/src/main/dig/74xx/lib/basic/7455.dig new file mode 100644 index 000000000..62d8677f5 --- /dev/null +++ b/src/main/dig/74xx/lib/basic/7455.dig @@ -0,0 +1,233 @@ + + + 1 + + + isDIL + true + + + Description + 2 wide 4-input AND-NOR gate + + + lockedMode + true + + + + + Out + + + Label + Y + + + pinNumber + 8 + + + + + + In + + + Label + 1A + + + pinNumber + 1 + + + + + + In + + + Label + 1C + + + pinNumber + 3 + + + + + + In + + + Label + 1B + + + pinNumber + 2 + + + + + + And + + + Inputs + 4 + + + + + + And + + + Inputs + 4 + + + + + + NOr + + + + + In + + + Label + 1D + + + pinNumber + 4 + + + + + + In + + + Label + 2A + + + pinNumber + 10 + + + + + + In + + + Label + 2C + + + pinNumber + 12 + + + + + + In + + + Label + 2B + + + pinNumber + 11 + + + + + + In + + + Label + 2D + + + pinNumber + 13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/dig/74xx/lib/plexers/7442.dig b/src/main/dig/74xx/lib/plexers/7442.dig new file mode 100644 index 000000000..b3b4995fb --- /dev/null +++ b/src/main/dig/74xx/lib/plexers/7442.dig @@ -0,0 +1,323 @@ + + + 1 + + + isDIL + true + + + Description + 4-line BCD to 10-line decimal decoder + + + lockedMode + true + + + + + Demultiplexer + + + Selector Bits + 4 + + + Default + 1 + + + + + + Splitter + + + Input Splitting + 1*4 + + + Output Splitting + 4 + + + + + + In + + + Label + A + + + pinNumber + 15 + + + + + + In + + + Label + C + + + pinNumber + 13 + + + + + + In + + + Label + B + + + pinNumber + 14 + + + + + + In + + + Label + D + + + pinNumber + 12 + + + + + + Out + + + Label + Y0 + + + pinNumber + 1 + + + + + + Out + + + Label + Y1 + + + pinNumber + 2 + + + + + + Out + + + Label + Y2 + + + pinNumber + 3 + + + + + + Out + + + Label + Y3 + + + pinNumber + 4 + + + + + + Out + + + Label + Y4 + + + pinNumber + 5 + + + + + + Out + + + Label + Y5 + + + pinNumber + 6 + + + + + + Out + + + Label + Y6 + + + pinNumber + 7 + + + + + + Out + + + Label + Y7 + + + pinNumber + 9 + + + + + + Out + + + Label + Y8 + + + pinNumber + 10 + + + + + + Out + + + Label + Y9 + + + pinNumber + 11 + + + + + + Ground + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 144f463a3..f7e11f184 100644 --- a/src/test/java/de/neemann/digital/integration/TestExamples.java +++ b/src/test/java/de/neemann/digital/integration/TestExamples.java @@ -28,7 +28,7 @@ public class TestExamples extends TestCase { */ public void testDistExamples() throws Exception { File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig"); - assertEquals(166, new FileScanner(this::check).scan(examples)); + assertEquals(170, new FileScanner(this::check).scan(examples)); assertEquals(78, testCasesInFiles); }