Skip to content

Commit 8ef6cf5

Browse files
committed
Add missing tasks in L9
1 parent 992e071 commit 8ef6cf5

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

09_Rechnerarithmetik.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -681,9 +681,8 @@ $$
681681

682682
> **Aufgabe:** Die obige Gleichungen sind identisch und unterscheiden sich nur durch $/oplus$ und $+$. Erklären Sie den vermeintlichen Widerspruch.
683683
684-
![](./images/09_Arithmetik/Full_Adder_Symbol_2HA.png)<!-- style="width: 100%; max-width: 800px;" -->
685-
686-
![](./images/09_Arithmetik/Full_Adder.svg.png)<!-- style="width: 100%; max-width: 800px;" -->
684+
![](./images/09_Arithmetik/Full_Adder.svg.png)<!-- style="width: 45%; max-width: 600px;" -->
685+
![](./images/09_Arithmetik/Full_Adder_Symbol_2HA.png)<!-- style="width: 15%; max-width: 800px;" -->
687686

688687
``` json @DigiSim.evalJson
689688
{"devices":{"a":{"label":"a","type":"Button","propagation":0,"position":{"x":15,"y":0}},"b":{"label":"b","type":"Button","propagation":0,"position":{"x":15,"y":50}},"cin":{"label":"cin","type":"Button","propagation":0,"position":{"x":15,"y":100}},"s":{"label":"s","type":"Lamp","propagation":1,"position":{"x":470,"y":70}},"cout":{"label":"cout","type":"Lamp","propagation":1,"position":{"x":540,"y":-5}},"xor1":{"label":"a xor b","type":"Xor","propagation":1,"bits":1,"position":{"x":140,"y":20}},"xor2":{"label":"(a xor b) xor cin","type":"Xor","propagation":1,"bits":1,"position":{"x":275,"y":75}},"and1":{"label":"(a xor b) and cin","type":"And","propagation":1,"bits":1,"position":{"x":290,"y":25}},"and2":{"label":"a and b","type":"And","propagation":1,"bits":1,"position":{"x":210,"y":-25}},"or":{"label":"((a xor b) and cin) or (a and b)","type":"Or","propagation":1,"bits":1,"position":{"x":380,"y":-30}}},"connectors":[{"from":{"id":"xor2","port":"out"},"to":{"id":"s","port":"in"}},{"from":{"id":"xor1","port":"out"},"to":{"id":"xor2","port":"in1"}},{"from":{"id":"cin","port":"out"},"to":{"id":"xor2","port":"in2"}},{"from":{"id":"a","port":"out"},"to":{"id":"xor1","port":"in1"}},{"from":{"id":"b","port":"out"},"to":{"id":"xor1","port":"in2"}},{"from":{"id":"cin","port":"out"},"to":{"id":"and1","port":"in2"},"vertices":[{"x":225,"y":115}]},{"from":{"id":"xor1","port":"out"},"to":{"id":"and1","port":"in1"}},{"from":{"id":"a","port":"out"},"to":{"id":"and2","port":"in1"}},{"from":{"id":"b","port":"out"},"to":{"id":"and2","port":"in2"},"vertices":[{"x":105,"y":25}]},{"from":{"id":"and1","port":"out"},"to":{"id":"or","port":"in2"}},{"from":{"id":"and2","port":"out"},"to":{"id":"or","port":"in1"}},{"from":{"id":"or","port":"out"},"to":{"id":"cout","port":"in"}}],"subcircuits":{}}
@@ -702,14 +701,25 @@ Wie können wir also ein paralleles binäres Addierwerk umsetzen? Für die Addit
702701

703702
Das Carry wird von Stelle zu Stelle weitergegeben, woraus der Name „Ripple Carry“-Addierer resultiert. Das Ergebnis steht damit erst nach dem kompletten Durchlauf durch alle Volladdierer zur Verfügung.
704703

704+
{{1-3}}
705+
********************************************************************************
706+
705707
Wie lässt sich ausgehend von diesen Überlegungen ein 4-Bit Addier-/Subtrahierwerk realisieren. Wir wollen die Funktion $A+B$ sowie $A-B$ umsetzen können.
706708

707709
> **Aufgabe:** Entwerfen Sie die externe Beschaltung!
708710
709711
![Bild](./images/09_Arithmetik/Subtractor_template.png)<!-- style="width: 100%; max-width: 800px;" -->
710712

713+
********************************************************************************
714+
715+
716+
{{2}}
717+
********************************************************************************
718+
711719
![Bild](./images/09_Arithmetik/Subtractor_Final.png)<!-- style="width: 100%; max-width: 800px;" -->
712720

721+
********************************************************************************
722+
713723
### Carry Look Ahead Addierer
714724

715725
Die Verzögerung bei der sequenziellen Berechnung ist für realistische Systeme nicht tolerabel. Entsprechend suchen wir nach alternativen Vorgehensweisen. Ein Konzept implementiert der "Carry Look Ahead Addierer", Anstelle des sequentiellen Übertrag-Durchlaufs eine parallele Vorausberechnung aller Überträge $C_i$ vornimmt.
@@ -835,4 +845,5 @@ Ergebnis: 1010100111001010 (43466)
835845

836846
## Übungsaufgaben
837847

838-
+
848+
+ Implementieren Sie einen 2Bit Multiplikator in einer Simulation. Welche Breite braucht man für das Ausgangsregister.
849+
+ Realisieren Sie ein Subtraktions- / Additionswerk

0 commit comments

Comments
 (0)