k351-Arithmetische_Schaltungen_Carry_Ripple

Page 1

page-01.png

Kapitel 3 – Kombinatorische Logik

  1. Kombinatorische Schaltkreise
  2. Boolesche Algebren
  3. Boolesche Ausdrücke, Normalformen, zweistufige Synthese
  4. Berechnung eines Minimalpolynoms
  5. Arithmetische Schaltungen
    • 5.1 Carry-Ripple-Addierer
    • 5.2 CSA, 2er-Komplement, Subtraktion
  6. Anwendung: ALU von ReTI

Albert-Ludwigs-Universität Freiburg
Prof. Dr. Armin Biere
Institut für Informatik

Page 2

page-02.png

Arithmetische Schaltungen

  • Addieren nach der Schulmethode: Carry-Ripple-Addierer.
  • Effizienteres Addieren: Conditional-Sum-Addierer.
  • Addition von Zweierkomplement-Zahlen.
  • Subtrahierer.

Page 3

page-03.png

Kosten von Schaltkreisen

Um unterschiedliche Schaltkreise, die eine Funktion (z.B. Addierer) implementieren, miteinander zu vergleichen, benötigt man ein Kostenmaß.

Definition: Die Kosten eines Schaltkreises sind durch die Anzahl seiner Gatter gegeben.

  • Deutet auf die Fläche und den Energieverbrauch der resultierenden Hardware-Blöcke hin.

Definition: Die Tiefe eines Schaltkreises ist die maximale Anzahl von Gattern auf einem Pfad von einem beliebigen Eingang zu einem beliebigen Ausgang von .

  • Deutet auf die Signallaufzeit durch und somit die maximal mögliche Taktfrequenz (Geschwindigkeit) des Schaltkreises hin.

Page 4

page-04.png

Beispiel: Kosten und Tiefe

Page 5

page-05.png

Teilschaltkreise, hierarchischer Entwurf (informell)

Illustration eines Teilschaltkreises.

Page 6

page-06.png

Hierarchische Schaltkreise

  • In hierarchischen Schaltkreisen sind Teilschaltkreise durch Symbole ersetzt.
  • Den zugehörigen („flachen") Schaltkreis erhält man, indem man die Symbole durch Einsetzen der Teilschaltkreise wieder entfernt.

Page 7

page-07.png

Wiederholung Zahlendarstellung

Sei eine Folge von Ziffern, .

Binärdarstellung:

Zweierkomplement:

Rechenregel: mit .

Page 8

page-08.png

Addierer für nichtnegative Zahlen

Gegeben:

2 positive Binärzahlen , mit Eingangsübertrag .

Gesucht:

Schaltkreis, der Binärdarstellung von berechnet.

Wegen genügen Stellen für die Darstellung von , d.h. der Schaltkreis hat Ausgänge.

Page 9

page-09.png

Formale Definition n-Bit-Addierer

Ein n-Bit-Addierer ist ein Schaltkreis, der die folgende Boolesche Funktion berechnet:

mit

Page 10

page-10.png

Addieren nach der Schulmethode (1/4)

Wir werden im Folgenden den einfachsten Addierertypen einführen, der die „Schulmethode" umsetzt. Hierzu werden einige Grundschaltungen (Halb- und Volladdierer) notwendig sein.

Beispiel für die Schulmethode:

  a:   1 0 1 1
+ b:   0 1 1 0
       -------
  c: 1 1 1 0 0
  s: 1 0 0 0 1

Page 11

page-11.png

Addieren nach der Schulmethode (2/4)

  a:     1 0 1 1
+ b:     0 1 1 0
         -------
  c:   0 0 1 1 1 0
  s:     1 0 0 0 1

Verwendung eines Halbaddierers (HA) für die niederwertigste Stelle.

Page 12

page-12.png

Halbaddierer (Half Adder, HA)

Ein Halbaddierer dient zur Addition zweier 1-Bit-Zahlen ohne Eingangsübertrag. Er berechnet die Funktion

wobei .

0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Page 13

page-13.png

Schaltkreis eines Halbaddierers

dabei gilt:

Page 14

page-14.png

Addieren nach der Schulmethode (3/4)

  a:     1 0 1 1
+ b:     0 1 1 0
         -------
  c:   0 0 1 1 1 0
  s:     1 0 0 0 1

Verwendung eines Volladdierers (FA) für die höherwertigen Stellen.

Page 15

page-15.png

Volladdierer (Full Adder, FA)

Ein Volladdierer dient zur Addition zweier 1-Bit-Zahlen mit Eingangsübertrag. Er berechnet die Funktion

wobei

0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Page 16

page-16.png

Volladdierer als Funktion von HAs

Aus der Tabelle folgt:

Kosten und Tiefe eines FA:

Page 17

page-17.png

Schaltkreis eines Volladdierers

Page 18

page-18.png

Addieren nach der Schulmethode (4/4)

  a:     1 0 1 1
+ b:     0 1 1 0
         -------
  c:   0 0 1 1 1 0
  s:     1 0 0 0 1

Verwendung von HA und FA im Carry-Ripple-Addierer (CRA).

Page 19

page-19.png

Aufbau eines Carry-Ripple-Addierers

  • : Eingangsübertrag
  • : Übertrag von Stelle nach

Page 20

page-20.png

Induktive Definition des Carry-Ripple-Addierers CR

Für :

Für : Folgender Schaltkreis:

  • : Eingangsübertrag
  • : Übertrag von Stelle nach

Page 21

page-21.png

Zwei (identische) Darstellungen von CR

Page 22

page-22.png

Carry-Ripple-Addierer

Satz: ist ein n-Bit-Addierer.

Beweis (durch Induktion):

() ✓

: Eingabe an :

Zeige für Ausgabe von :

Nach Induktionsvoraussetzung gilt für :

Wegen FA-Eigenschaft gilt:

Insgesamt:

Page 23

page-23.png

Schaltbild und Komplexität von CR

Page 24

page-24.png

Schaltbild und Komplexität von CR

Sowohl die Kosten als auch die Tiefe von sind somit linear in .

Es gibt (asymptotisch) bessere Addierer. Wir werden hier den Conditional-Sum-Addierer kennen lernen, für den wir wieder eine Hilfsschaltung (Multiplexer) benötigen. Eine weitere wichtige Schaltung ist der Inkrementer.