GTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

Ähnliche Dokumente
GTI ÜBUNG 12 KOMPARATOR UND ADDIERER

Inhalt. Zahlendarstellungen

3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.

Digitale Systeme und Schaltungen

3 Arithmetische Schaltungen

Grundlagen der Technischen Informatik. 11. Übung

Grundlagen der Technischen Informatik. 9. Übung

Wandeln Sie die folgenden Zahlen in Binärzahlen und Hexadezimalzahlen. Teilen durch die Basis des Zahlensystems. Der jeweilige Rest ergibt die Ziffer.

Digitaltechnik Grundlagen 5. Elementare Schaltnetze

Rechnerstrukturen, Teil 1

2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=

Kapitel 6 - Addierwerke

Aufgabe 1. Aufgabe 2. Abbildung 1: Schaltung für die Multiplikation mit 4

3.8 Sequentieller Multiplizierer 159

Darstellung von negativen binären Zahlen

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke

12. Tutorium Digitaltechnik und Entwurfsverfahren

Rechnerstrukturen WS 2012/13

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Carry-Lookahead Addierer (CLA)

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Musterlösung 1. Mikroprozessortechnik und Eingebettete Systeme 1 WS2015/2016

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Informatik I Modul 5: Rechnerarithmetik (2)

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

Durch das Borgen steht an der Zehner-Stelle jetzt nur noch eine 1 statt einer 2

Erste praktische Übung zur Vorlesung Grundlagen der Technischen Informatik

Übung zu Grundlagen der Technischen Informatik

6. Zahlendarstellungen und Rechnerarithmetik

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

3 Arithmetische Schaltungen

Kapitel 5. Standardschaltnetze. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Grundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik

Integrierte Schaltungen

Digital Design 2 Schaltnetze (kombinatorische Logik) Digital Design

Modul Computersysteme Prüfungsklausur SS Prof. Dr. J. Keller LG Parallelität und VLSI Prof. Dr.-Ing. W. Schiffmann LG Rechnerarchitektur

3 Verarbeitung und Speicherung elementarer Daten

N Bit binäre Zahlen (signed)

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

GTI ÜBUNG 9. Multiplexer, demultiplexer, shifter, cmos und pal FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

Minimierung nach Quine Mc Cluskey

Rechnergrundlagen SS Vorlesung

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Zahlen im Computer (Klasse 7 Aufbaukurs Informatik)

Grundlagen der Technischen Informatik. 9. Übung

, SS2012 Übungsgruppen: Do., Mi.,

Binäre Darstellung ganzer Zahlen

Rechnernetze und Organisation

Rechnergrundlagen SS Vorlesung

5. Computer Arithmetik. a i b i C in i-1 C out i s i. a b hc out hs. Addition mit Volladddierer (1 Bit) Halbadddierer (1 Bit) b c in.

Seminararbeit Sommersemester 2017

Von der Schaltungslogik zur Informationsverarbeitung

Informationsmenge. Maßeinheit: 1 Bit. 1 Byte. Umrechnungen: Informationsmenge zur Beantwortung einer Binärfrage kleinstmögliche Informationseinheit

Grundlagen der Rechnerarchitektur

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Schriftliche Prüfung

Menschliches Addierwerk

Rückblick. Zahlendarstellung zu einer beliebigen Basis b. Umwandlung zwischen Zahlendarstellung (214) 5 = (278) 10 =(?) 8

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Multiplikation

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Rechnerstrukturen WS 2012/13

3 Rechnen und Schaltnetze

Grundlagen der Technischen Informatik

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Boolesche Algebra (1)

Wirtschaftsingenieurwesen Elektronik/Schaltungstechnik Prof. M. Hoffmann FB ETIT Übung 7 Schaltnetze 2

2.1 Boole sche Funktionen

Übungsklausur - Beispiellösung

3-BIT VOLLADDIERER MIT EINZELNEM EINGABE-DATENBUS

3 Arithmetische Schaltungen

Rechnergrundlagen SS Vorlesung

6 Schaltwerke und endliche Automaten

II. Grundlagen der Programmierung

Zahlensysteme und Kodes. Prof. Metzler

Eingebettete Systeme

3.6 Bemerkungen zur Umformung boolescher Formeln (NAND): doppelte Negation

Lösungsvorschlag 4. Übung Technische Grundlagen der Informatik II Sommersemester 2009

FAKULTÄT FÜR INFORMATIK

2.Vorlesung Grundlagen der Informatik

Grundlagen der Technischen Informatik

ALU ALU. ALU-Aufbau. Eine ALU (arithmetisch-logische Einheit) besteht in der Regel aus. Addierer. Logischer Einheit. Shifter

Eine Logikschaltung zur Addition zweier Zahlen

Zahlendarstellungen und Rechnerarithmetik*

FAKULTÄT FÜR INFORMATIK

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , ,

Computational Engineering I

Werbeblock: Hiwis gesucht

GTI ÜBUNG 4 BINÄR-, HEX- UND GLEITKOMMAZAHLEN-ARITHMETIK

ERA-Zentralübung 12. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 12

E Zahlendarstellungen und Rechnerarithmetik

3 Initialisierung. Initialisierung. Addieren clk_mkand= clk_produkt= multiplexer= multiplexer= I0 init/>>1= mon. init/>>1= 0.

Transkript:

GTI ÜBUNG 12 Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1

AUFGABE 1 KOMPARATOR Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander vergleicht. Die Schaltung besitzt drei Ausgänge: < ist logisch 1, genau dann, wenn a<b. Entsprechend ist > genau dann 1, wenn a > b. Der Ausgang = soll genau dann eine 1 anzeigen, wenn a und b gleich sind. Hinweis: Beginnen Sie mit einer Funktionstabelle. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 2

AUFGABE 1 KOMPARATOR Funktionstabelle Verlässliche Grundlage der digitalen Schaltungsbildung ist das Aufstellen einer Funktionstabelle, welche die abstrakte Beschreibung in funktional, logischer Form vereinfacht. a b a < b a = b a > b 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 3

AUFGABE 1 KOMPARATOR Schaltfunktionen a b a < b a = b a > b 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 f < = ab f = = a b + ab = a b = a xnor b f > = a b FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 4

AUFGABE 1 KOMPARATOR Gatterumsetzung f < = ab f = = a b + ab = a b = a xnor b f > = a b a b & a > b & a < b 1 a = b FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 5

AUFGABE 1 KOMPARATOR Beschreibung Die Schaltung aus a) wird nun als Black-Box mit den Eingängen a und b und den Ausgängen <, > und = betrachtet. Bestimmen Sie ein Komparator- Schaltnetz für vorzeichenlose zweistellige Binärzahlen unter Verwendung von 1-Bit-Komparatoren aus Teilaufgabe a). Darauf aufbauend soll nun ein Komparator für zwei 4-Bit Binärzahlen A = a 3... a 0 und B = b 3... b 0 aufgebaut werden Hinweis: wie würde man das schriftlich rechnen? FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 6

AUFGABE 1 KOMPARATOR Blackbox: Um wiederkehrende Bauelement nicht jedes Mal auf Grund auf neu implementieren zu müssen, fügt man eine abstrahierte Blackbox des Bauelementes in die Schaltung ein Diese definiert sich nur noch über ihre Ein- und Ausgänge. Das Verhalten ist aus der Schaltung nicht mehr direkt ersichtlich. Beispiele dieser Abstrahierung: Flipflops (De-) Multiplexer Komparator Schieberegister FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 7

AUFGABE 1 KOMPARATOR Blackbox des Komparators: a b a > < b = a > b a < b a = b Verhalten bei einer Zweibitzahl: A = a 1 a 0 und B = b 1 b 0 Der Wert der einzelnen Bits sinkt von links nach rechts, wobei jedes Bit vom Betrag her größer ist als alle seine rechten Nachbarn zusammen. Ist ein Bit von A kleiner als von B, so ist A auch insgesamt kleiner als B, wenn die Bits links von diesen identisch bzw. auch kleiner sind. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 8

AUFGABE 1 KOMPARATOR Verhalten bei einer Zweibitzahl: A = a 1 a 0 und B = b1b0 a > b: (a 1 > b 1 ) oder (a 1 = b 1 ) (a 0 > b 0 ) a a > a > b a = b: (a 1 = b 1 ) und (a 0 = b 0 ) a < b: (a 1 < b 1 ) oder (a 1 = b 1 ) (a 0 < b 0 ) b b < = a < b a = b a 0 a > < & 1 A > B b 0 b = & 1 A < B a 1 a > b 1 b < = & A = B FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 9

AUFGABE 1 KOMPARATOR Blackbox des 2-Bit-Komparators: Verhalten bei einer Vierbitzahl: A = a 3... a 0 und B = b 3... b 0 > < = > < = > < = a > b a < b a = b Wir benutzen zwei 2-Bit-Komparatoren (a 32, b 32 ) und (a 10, b 10 ), da auch hier von links nach rechts verglichen werden muss. Somit gleicht die Auswertung der des 1-Bit-Komparators. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 10

AUFGABE 1 KOMPARATOR Verhalten bei einer Vierbitzahl: A = a 3... a 0 und B = b 3... b 0 a > b: (a 32 > b 32 ) oder (a 32 = b 32 ) (a 10 > b 10 ) a = b: (a 32 = b 32 ) und (a 10 = b 10 ) a < b: (a 32 < b 32 ) oder (a 32 = b 32 ) (a 10 < b 10 ) a 0 b 0 a 1 b 1 a 2 b 2 a 3 b 3 a > < b = a > < b = a > < b = a > < b = > < = > < = > < = > < = > < = > < = > < = > < = > < = A > B A < B A = B FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG 11 JAN SPIECK

Beschreibung Realisieren Sie einen Halbaddierer mit Hilfe von NAND-Gattern. Realisieren Sie einen Volladdierer ebenfalls mit Hilfe von NAND-Gattern. Bestimmen Sie jeweils die Anzahl der verwendeten Gatter und die Anzahl der Gatter des kritischen Pfades. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 12

Realisieren Sie einen Halbaddierer mit Hilfe von NAND-Gattern. Halbaddierer: a + b = s mit c o S: Summe der beiden Operanden o C: Carry, d.h. der Übertrag a b S c 0 + 0 = 0 0 0 + 1 = 1 0 1 + 0 = 1 0 1 + 1 = 0 1 s = a b c = ab FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 13

Nandisierung der Funktionen s = a b = a b + ab Doppelnegation = ab1 + a1b De Morgan = ab1 a1b c = ab = ab1 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 14

Gatterumsetzung s = ab1 a1b c = ab1 a s b c FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 15

Gatteranzahl, Kritischer Pfad Momentan: 7 Gatter Kritischer Pfad: 3 (Summe), 2 (Carry) a 1 2 3 s Kritischer Pfad: Größtmöglicher Anzahl Gatter auf einem Pfad bis zu dem bestimmten Ausgang. b 1 2 So beträgt der kritischer Pfad der Summe 3, da genau drei Gatter durchlaufen werden müssen, bis man zum Ausgang gelangt. 1 2 c Der kritische Pfad ist ein Maß der Zeit, welche die Schaltung zur Auswertung der Funktion benötigt. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 16

a Minimierung Wir haben Summe und Carry getrennt verschaltet. Wenn wir die beiden Schaltungen verschmelzen, können wir uns zwei Gatter sparen. a s s b b c c FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 17

Realisieren Sie einen Volladdierer ebenfalls mit Hilfe von NAND-Gattern. Wir nutzen dazu die Implementierung des Halbaddierers. Dessen Blackbox, die wir hier leider nicht benutzen dürfen, sieht folgendermaßen aus: a b HA s c Ein Volladdierer berücksichtigt im Gegensatz dazu ein Carrybit in der Eingabe. Dessen Schaltbild sieht dann folgendermaßen aus: a b VA s c in c out FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 18

Realisieren Sie einen Volladdierer ebenfalls mit Hilfe von NAND-Gattern. Überlegen wir uns das gewünschte Verhalten (ohne NANDs): a b c in S c out 0 + 0 + 0 = 0 0 0 + 1 + 0 = 1 0 1 + 0 + 0 = 1 0 1 + 1 + 0 = 0 1 0 + 0 + 1 = 1 0 0 + 1 + 1 = 0 1 1 + 0 + 1 = 0 1 1 + 1 + 1 = 1 1 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 19

Realisieren Sie einen Volladdierer ebenfalls mit Hilfe von NAND-Gattern. Wir bilden das Problem des Volladdierers auf zwei Halbaddierer ab. Nun müssen wir uns überlegen, wie wir die Halbaddierer verkabeln müssen. a b c HA s 1 s 2 c HA 1 c 2 c out FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 20

Realisieren Sie einen Volladdierer ebenfalls mit Hilfe von NAND-Gattern. Summenbildung: ((a+b) + c in ) = Summe, d.h. s 1 + c in = s 2 (mit c 2 ) S 1 c 1 c in S 2 c 2 c out 0 0 0 = 0 0 0 1 0 0 = 1 0 0 1 0 0 = 1 0 0 0 1 0 = 0 0 1 0 0 1 = 1 0 0 Das Carry-Bit ist 1, wenn: a, im ersten Halbaddierer 1 ist oder b, im zweiten Halbaddierer 1 ist 1 0 1 = 0 1 1 1 0 1 = 0 1 1 0 1 1 = 1 0 1 H1 H2 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 21

Realisieren Sie einen Volladdierer ebenfalls mit Hilfe von NAND-Gattern. ((a+b) + c in ) = Summe c 1 + c 2 = c out a b HA s 1 s 2 c HA c 2 1 c c out FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 22

NAND-Realisierung a s 1 b c 1 s 2 c 1 Umformung: c out = c 1 + c 2 = c 1 c 2 c in c 2 c 2 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 23

NAND-Realisierung a 2 1 3 s 1 5 b 9 Gatter KP: 6 (Summe) 5 (Carry) c 1 2 2 c 1 c in 4 c 2 5 5 6 c 2 s 2 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 24

Beschreibung Erstellen Sie aus den Volladdiererzellen aus a) einen Carry-Ripple-Addierer für 4-Bit breite Operanden (a 3... a 0 + b 3... b 0 + c in = c out s 3...s 0 ). Wie viele Gatter enthält nun der kritische Pfad des gesamten Schaltnetzes? FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 25

Carry-Ripple-Addierer Carry: Übertrag, Ripple: Rieseln Mehrere kaskadierte Volladdierer, bei denen der Übertrag von einem Volladdierer zum nächsten weitergereicht wird Umsetzen des Schulprinzips zum Addieren zweier Zahlen A und B: a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 + c3 c2 c1 s 4 s 3 s 2 s 1 s 0 S 4 wird hierbei im Allgemeinen aber vernachlässigt Gerechnet wird also von rechts nach links FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 26

Erstellen Sie aus den Volladdiererzellen aus a) einen Carry-Ripple-Addierer für 4-Bit breite Operanden (a 3... a 0 + b 3... b 0 + c in = c out s 3...s 0 ). a 0 s 0 b 0 VA a 1 a 2 s 1 s 2 b 1 VA b 2 VA VA a 3 b 3 s 3 c out c in c 1 c 2 c 3 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 27

Wie viele Gatter enthält nun der kritische Pfad des gesamten Schaltnetzes? a 0 6 s 0 b 0 VA 5 c in c 1 a 1 a 2 s 1 s 2 b 1 VA b 2 VA VA c 2 c 3 a 3 b 3 s 3 c out Zur Erinnerung der kritische Pfad eines VA: 6 (Summe) 5 (Carry) 1: s 0 ist nach 6 Schritten ausgerechnet, c 1 somit nach 5 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 28

Übersicht über den Volladdierer: a 2 1 3 s 1 5 b Der rote Bereich benötigt das Ergebnis des vorherigen c 2 1 Volladdierers. c in Der anfängliche Bereich kann parallel ausgewertet werden. Neue Gatter des KP: 3 Gatter für s 2 und 2 für c 2 c 1 2 4 c 2 5 5 6 c 2 s 2 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 29

Wie viele Gatter enthält nun der kritische Pfad des gesamten Schaltnetzes? a 0 6 s 0 b 0 VA 5 c in c 1 a 1 8 a 2 s 1 s 2 b 1 VA b 2 VA VA 7 9 10 c 2 c 3 a 3 b 3 12 s 3 11 c out Zur Erinnerung der kritische Pfad eines VA: 6 (Summe) 5 (Carry) 1: s 0 ist nach 6 Schritten ausgerechnet, c 1 somit nach 5 2: 5 + 3 = 8 für s 1 5 + 2 = 7 für c 2 3: 7 + 3 = 10 für s 2 7 + 2 = 9 für c 3 4: 9 + 3 = 12 für s 3 9 + 2 = 11 für c 4 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 30

Beschreibung Der Addierer aus b) soll nun als Block betrachtet werden und so erweitert werden, dass er durch ein zusätzliches Steuerbit Add/Sub auch subtrahieren kann (durch Umwandlung von B in das 1er-Komplement). Dazu stehen Ihnen beliebige Gatter zur Verfügung. Beachten Sie: Erzeugung negativer Zahlen (Komplementierer) Behandlung des Übertrags Erkennung eines Überlaufs (Overflow) FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 31

Aufgaben: zusätzliches Steuerbit Add/Sub Subtraktion durch Umwandlung von B in das 1er-Komplement Blockschaltbild: A B 4 Carry Ripple c c S FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 32

Wandeln in das Einerkomplement: Unser Steuerbit (AS = Add/Sub) entscheidet, ob B in das Einerkomplement gewandelt wird. Erinnerung: A B = A + (-B) Wir legen fest: AS-Bit 1: Subtraktion AS-Bit 0: Addition AS B B neu A 0 0 0 0 1 1 1 0 1 4 Carry Ripple 1 1 0 B AS Diese Schalttabelle entspricht einem XOR! c S FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 33

Behandlung des Übertrags: Einerkomplement: Null wird sowohl durch 0000, als auch 1111 dargestellt. Beispiel der Subtraktion: 4 (0100) 3 (0011) Einerkomplement (3): 0011 -> 1100 Addition: 0100 + 1100 = 0000 C1 Damit das Ergebnis stimmt muss das Carry wieder addiert werden 0000 + 1 = 0001. Dies geschieht einen Takt später, indem es in den CRA zurückgeleitet wird Name: End-Around Carry, EAC 4 Carry Ripple Weiteres Beispiel: 3 (0011) 1 (0001) = 0011 + 1110 = 0001 C1 0001 +1 = 0010 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 34 A c S B AS

Behandlung des Überlaufs: Wie erkennt man einen Überlauf (Overflow) bzw. Unterlauf: 1. Das Vorzeichen von A und B muss identisch sein. 2. Zusätzlich muss das Vorzeichenbit invers dazu sein Beispiel: 0 100 + 0 100 = 1 000 (Überlauf) OF A B 4 Carry Ripple AS Wie benötigen also das MSB von A und B, sowie das MSB vom Ergebnis S. c S FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 35

Behandlung des Überlaufs: Overflow: Vorzeichenbit identisch; MSB von S dazu invers Bedingungen: a 3 b 3 s 3 + a 3 b 3 s 3 A a 3 b 3 s 3 B AS OF 4 Carry Ripple c S FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 36

Beschreibung Führen Sie den Schritt c) für eine Recheneinheit durch, die B in Abhängigkeit von Add/Sub in das Zweierkomplement umwandelt. Hinweis: Nur eine kleine Änderung! FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 37

Unterschied des Zweierkomplements 1. Zweierkomplement = Einerkomplement + 1, dazu nutzen wir den Carry Eingang. Das AS-Bit ist sowieso 1, wenn subtrahiert wird, was wir ausnutzen B 2. Nur eine 0, damit entfällt das End-Around Carry A AS a 3 b 3 s 3 OF 4 Carry Ripple c S FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 38

AUFGABE 3 MO - ADDIERER Beschreibung In dieser Aufgabe soll ein Schaltnetz für die Addition von vier Summanden (u, v, w, x) erstellt werden, das beispielsweise für die Addition von Teilprodukten eines Multiplizierers benutzt werden könnte. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 39

AUFGABE 3 MO - ADDIERER Beschreibung Eine mögliche Lösung besteht darin, zuerst u + v und w + x mit Hilfe je eines Carry-Ripple Addierers zu berechnen. Die Teilsummen werden dann baumartig zu dem Endergebnis zusammenaddiert. Wie viele NAND-Gatterverzögerungszeiten umfasst dann der kritische Pfad minimal, wenn nur die in Aufgabe 2a) entworfenen Volladdierer verwendet werden dürfen? FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 40

AUFGABE 3 MO - ADDIERER U + v = a x + w = b a + b = s Diesmal achten wir auf den entstehende weitere Ergebnis- Bits, indem wir die Carrys auch addieren x 3 w 3 x 2 w 2 x 1 w 1 x 0 w 0 u 3 v 3 u 2 v 2 u 1 v 1 u 0 v 0 4 Carry Ripple 4 Carry Ripple c 1 b 3 b 2 b 1 b 0 c 2 a 3 a 2 a 1 a 0 VA c 3 4 Carry Ripple s 5 s 4 s 3 s 2 s 1 s0 FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 41

AUFGABE 3 MO - ADDIERER Kritischer Pfad Durch Einleiten einer Null in den ersten Volladdierer (da noch kein Carry) verkürzt sich der kritische Pfad im ersten Schritt auf 5 bzw. 2. Danach entsteht - wie in der vorherigen Aufgabe gezeigt eine Verzögerung von 3 (Summe) und 2 (Carry). Die gesamte Laufzeit anhand folgenden Schaubilds. FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 42

AUFGABE 3 MO - ADDIERER U + v = a x + w = b a + b = s FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 43

VIELEN DANK FÜR DIE SCHMEICHELNDE AUFMERKSAMKEIT Без труда ничего не даётся. oder auch Любишь кататься, люби и саночки возить FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 44