diff --git a/src/main/dig/lib/74xx/arithmetic/7480.dig b/src/main/dig/lib/74xx/arithmetic/7480.dig
new file mode 100644
index 000000000..f18644bcc
--- /dev/null
+++ b/src/main/dig/lib/74xx/arithmetic/7480.dig
@@ -0,0 +1,531 @@
+
+
+ 1
+
+
+ isDIL
+ true
+
+
+ Description
+ Gated Full Adder with Complementary Inputs
+and Complementary Sum Outputs
+
+
+ lockedMode
+ true
+
+
+
+
+ Or
+
+
+ inverterConfig
+
+ In_2
+ In_3
+
+
+
+ Inputs
+ 3
+
+
+
+
+
+ And
+
+
+
+
+ In
+
+
+ Label
+ A1
+
+
+ pinNumber
+ 8
+
+
+
+
+
+ In
+
+
+ Label
+ A2
+
+
+ pinNumber
+ 9
+
+
+
+
+
+ In
+
+
+ Label
+ AC
+
+
+ pinNumber
+ 11
+
+
+
+
+
+ In
+
+
+ Label
+ A*
+
+
+ pinNumber
+ 10
+
+
+
+
+
+ Or
+
+
+ inverterConfig
+
+ In_2
+ In_3
+
+
+
+ Inputs
+ 3
+
+
+
+
+
+ And
+
+
+
+
+ In
+
+
+ Label
+ B1
+
+
+ pinNumber
+ 12
+
+
+
+
+
+ In
+
+
+ Label
+ B2
+
+
+ pinNumber
+ 13
+
+
+
+
+
+ In
+
+
+ Label
+ BC
+
+
+ pinNumber
+ 2
+
+
+
+
+
+ In
+
+
+ Label
+ B*
+
+
+ pinNumber
+ 1
+
+
+
+
+
+ XOr
+
+
+
+
+ And
+
+
+
+
+ And
+
+
+
+
+ XOr
+
+
+
+
+ In
+
+
+ Description
+ Übertragsbit der Vorgängerschaltung.
+
+
+ Label
+ Cn
+
+
+ pinNumber
+ 3
+
+
+
+
+
+ Out
+
+
+ Description
+ Übertragsbit
+
+
+ Label
+ ~Cn+1
+
+
+ pinNumber
+ 4
+
+
+
+
+
+ Out
+
+
+ Description
+ Summe
+
+
+ Label
+ S
+
+
+ pinNumber
+ 6
+
+
+
+
+
+ Out
+
+
+ Description
+ Summe
+
+
+ Label
+ ~S
+
+
+ pinNumber
+ 5
+
+
+
+
+
+ Not
+
+
+
+
+ PowerSupply
+
+
+
+
+ In
+
+
+ Label
+ VCC
+
+
+ pinNumber
+ 14
+
+
+ InDefault
+
+
+
+
+
+
+ In
+
+
+ Label
+ GND
+
+
+ pinNumber
+ 7
+
+
+
+
+
+ Testcase
+
+
+ Testdata
+
+ B* A* Cn AC BC ~Cn+1 S ~S
+1 1 0 1 1 1 0 1
+1 1 0 1 0 1 1 0
+1 1 0 0 1 1 1 0
+1 1 0 0 0 0 0 1
+1 1 1 1 1 1 1 0
+1 1 1 1 0 0 0 1
+1 1 1 0 1 0 0 1
+1 1 1 0 0 0 1 0
+
+
+
+
+
+
+
+ NOr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/dig/lib/74xx/counter/74163.dig b/src/main/dig/lib/74xx/counter/74163.dig
index bcccb8930..ac3486939 100644
--- a/src/main/dig/lib/74xx/counter/74163.dig
+++ b/src/main/dig/lib/74xx/counter/74163.dig
@@ -60,11 +60,11 @@
Label
- ~LD
+ ~PE
pinNumber
- 9
+ 9
Default
@@ -92,11 +92,11 @@
Label
- ~CLR
+ ~SR
pinNumber
- 1
+ 1
Default
@@ -114,11 +114,11 @@
Label
- CLK
+ CP
pinNumber
- 2
+ 2
@@ -128,11 +128,11 @@
Label
- RCO
+ TC
pinNumber
- 15
+ 15
@@ -147,11 +147,11 @@
Label
- ENT
+ CET
pinNumber
- 10
+ 10
@@ -161,11 +161,11 @@
Label
- ENP
+ CEP
pinNumber
- 7
+ 7
@@ -214,14 +214,14 @@
Label
- A
+ P0
pinNumber
- 3
+ 3
-
+
Splitter
@@ -235,49 +235,49 @@
4
-
+
In
Label
- B
+ P1
pinNumber
- 4
+ 4
-
+
In
Label
- C
+ P2
pinNumber
- 5
+ 5
-
+
In
Label
- D
+ P3
pinNumber
- 6
+ 6
-
+
Splitter
@@ -298,11 +298,11 @@
Label
- QA
+ Q0
pinNumber
- 14
+ 14
@@ -312,11 +312,11 @@
Label
- QB
+ Q1
pinNumber
- 13
+ 13
@@ -326,11 +326,11 @@
Label
- QC
+ Q2
pinNumber
- 12
+ 12
@@ -340,19 +340,39 @@
Label
- QD
+ Q3
pinNumber
- 11
+ 11
+
+ Testcase
+
+
+ Testdata
+
+ ~SR ~PE CP CET CEP P0 P1 P2 P3 Q0 Q1 Q2 Q3
+
+# load
+loop(i,4)
+loop(n,16)
+1 0 C bits(2,i) bits(4,n) bits(4,n)
+end loop
+end loop
+
+
+
+
+
+
PowerSupply
-
+
In
@@ -363,14 +383,14 @@
pinNumber
- 16
+ 16
InDefault
-
+
In
@@ -381,17 +401,13 @@
pinNumber
- 8
+ 8
-
+
-
-
-
-
@@ -400,17 +416,17 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -422,10 +438,6 @@
-
-
-
-
@@ -436,17 +448,25 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -456,10 +476,6 @@
-
-
-
-
@@ -478,7 +494,7 @@
-
+
@@ -486,16 +502,16 @@
-
+
+
+
+
+
-
-
-
-
@@ -505,8 +521,8 @@
-
-
+
+
@@ -524,30 +540,30 @@
-
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
@@ -558,23 +574,23 @@
-
+
+
+
+
+
-
+
-
-
-
-
\ No newline at end of file
diff --git a/src/main/dig/lib/74xx/plexers/74238.dig b/src/main/dig/lib/74xx/plexers/74238.dig
index 3d7c97a1e..76677be99 100644
--- a/src/main/dig/lib/74xx/plexers/74238.dig
+++ b/src/main/dig/lib/74xx/plexers/74238.dig
@@ -49,7 +49,7 @@
pinNumber
- 1
+ 1
@@ -63,7 +63,7 @@
pinNumber
- 3
+ 3
@@ -77,7 +77,7 @@
pinNumber
- 2
+ 2
@@ -101,7 +101,7 @@
pinNumber
- 6
+ 6
@@ -120,7 +120,7 @@
pinNumber
- 5
+ 5
@@ -139,7 +139,7 @@
pinNumber
- 4
+ 4
@@ -149,11 +149,11 @@
Label
- ~Y0
+ Y0
pinNumber
- 15
+ 15
@@ -163,11 +163,11 @@
Label
- ~Y1
+ Y1
pinNumber
- 14
+ 14
@@ -177,11 +177,11 @@
Label
- ~Y2
+ Y2
pinNumber
- 13
+ 13
@@ -191,11 +191,11 @@
Label
- ~Y3
+ Y3
pinNumber
- 12
+ 12
@@ -205,11 +205,11 @@
Label
- ~Y4
+ Y4
pinNumber
- 11
+ 11
@@ -219,11 +219,11 @@
Label
- ~Y5
+ Y5
pinNumber
- 10
+ 10
@@ -233,11 +233,11 @@
Label
- ~Y6
+ Y6
pinNumber
- 9
+ 9
@@ -247,11 +247,11 @@
Label
- ~Y7
+ Y7
pinNumber
- 7
+ 7
@@ -270,7 +270,7 @@
pinNumber
- 16
+ 16
InDefault
@@ -288,11 +288,34 @@
pinNumber
- 8
+ 8
+
+ Testcase
+
+
+ Testdata
+
+ ~GA ~GB G A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
+1 X X X X X 0 0 0 0 0 0 0 0
+X 1 X X X X 0 0 0 0 0 0 0 0
+X X 0 X X X 0 0 0 0 0 0 0 0
+0 0 1 0 0 0 1 0 0 0 0 0 0 0
+0 0 1 1 0 0 0 1 0 0 0 0 0 0
+0 0 1 0 1 0 0 0 1 0 0 0 0 0
+0 0 1 1 1 0 0 0 0 1 0 0 0 0
+0 0 1 0 0 1 0 0 0 0 1 0 0 0
+0 0 1 1 0 1 0 0 0 0 0 1 0 0
+0 0 1 0 1 1 0 0 0 0 0 0 1 0
+0 0 1 1 1 1 0 0 0 0 0 0 0 1
+
+
+
+
+
diff --git a/src/main/java/de/neemann/digital/draw/model/ModelCreator.java b/src/main/java/de/neemann/digital/draw/model/ModelCreator.java
index e62eeceef..5860acd58 100644
--- a/src/main/java/de/neemann/digital/draw/model/ModelCreator.java
+++ b/src/main/java/de/neemann/digital/draw/model/ModelCreator.java
@@ -94,7 +94,9 @@ public class ModelCreator implements Iterable {
Pins pins = ve.getPins();
ElementTypeDescription elementType = library.getElementType(ve.getElementName());
ElementAttributes attr = ve.getElementAttributes();
- if (attr.getCleanLabel().contains("*")) {
+ if (attr.getCleanLabel().contains("*")
+ && !ve.equalsDescription(In.DESCRIPTION)
+ && !ve.equalsDescription(Out.DESCRIPTION)) {
attr = new ElementAttributes(attr);
attr.set(Keys.LABEL, attr.getCleanLabel().replace("*", subName));
}
diff --git a/src/test/java/de/neemann/digital/integration/TestExamples.java b/src/test/java/de/neemann/digital/integration/TestExamples.java
index d70a95815..aa89cb755 100644
--- a/src/test/java/de/neemann/digital/integration/TestExamples.java
+++ b/src/test/java/de/neemann/digital/integration/TestExamples.java
@@ -29,8 +29,8 @@ public class TestExamples extends TestCase {
*/
public void testDistExamples() throws Exception {
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
- assertEquals(200, new FileScanner(this::check).scan(examples));
- assertEquals(102, testCasesInFiles);
+ assertEquals(201, new FileScanner(this::check).scan(examples));
+ assertEquals(105, testCasesInFiles);
}
/**