Forum: Mikrocontroller und Digitale Elektronik Substrahieren


von Markus (Gast)


Lesenswert?

Hallo,
ich habe gerade ein Problem mit einer Schaltung die 2 16bit Zahlen von
einander substrahieren soll, dies soll sie aber ohne Microcontroller
usw. machen, sondern nur mit standart TTL Bausteinen.
Hat jemand eine Ahnung, wie man das realisieren könnte, ohne hunderte
einzelne und/or usw. Gatter zu benutzen?

Markus

von Alex (Gast)


Lesenswert?

Bilde doch von der zweiten Zahl der Zweierkomplement und addiere :-)

von Sebastian (Gast)


Lesenswert?

Ebend. Und notfalls auch das Einerkomplement, dann wird es noch etwas
einfacher. Das eine Ursprungssignal bitweise durch einen Inverter
schicken, dann bitweise durch ein AND-Gatter mit dem anderen Signal
verknüpfen. Das Carry-Bit natürlich auch mit auswerten. Ich müsste mal
in meinem DaDi-Skript gucken, wie das noch mal genau aussah, aber so
ist ja letztlich jede ALU aufgebaut.

von Dominik (Gast)


Lesenswert?

Das sollte eigentlich mit zwei 8-Bit Volladdierer kein Problem sein...

Gruß, Dominik

von Peter D. (peda)


Lesenswert?

"dies soll sie aber ohne Microcontroller usw. machen, sondern nur mit
standart TTL Bausteinen."

Da dürfte ein Kuchenblech voller 7400 reichen.
Oder eine Turnhalle voller EC92 (Röhren-Triode).

Aber mal im Ernst, wer denkt sich bloß solchen Unsinn aus ???

Ich glaub die 4-Bit-ALU hieß 74181, aber den mußt Du wohl auch schon
aus dem Museum klauen.


Preislich und platzmäßig sinnvoll ist aber nur eine Lösung mit MC oder
CPLD (z.B. XCR3032).

Peter

von Markus (Gast)


Lesenswert?

ja, das das Unsinn ist, glaub ich auch*g*, aber diese Aufgabe wurde uns
halt leider auf dem TG gestellt. Wir dürfen nur einzelne Gatter oder
auch Volladdierer benutzen. Der Platzbedarf spielt hier weniger eine
Rolle, da wir nur einen Schaltplan entwerfen müssen.

Markus

von Markus (Gast)


Lesenswert?

Ich hab jetzt bischen rumprobiert und glaube, dass ich eure Antworten
jetzt verstehe*g*


1. Zahl:     11110010       = 242
2. Zahl:     00111101       = 61

Die 1. Zahl bleibt wie sie ist.
Die 2. Zahl wird invertiert
Dann werden beide Zahlen miteinander addiert.

Dan bekommt man das Ergebnis 10110101          = 181

Das müsste dann so stimmen, oder?


Markus

von Sebastian (Gast)


Lesenswert?

Ach Volladdierer dürfen benutzt werden? Wie wäre es, wenn der Herr uns
das mal früher mitgeteilt hätte?! ;-)

Die Aufgabe ist doch mega-trivial. K2 bilden (wenn alle Gatter benutzt
werden dürfen, einfach z.B. ein NAND mit zwei identischen Eingängen
benutzen), die beiden Wörter auf die Volladdierer geben und das Carry
jeweils zum Eingang des nächsten durch. That's it.

von Markus (Gast)


Lesenswert?

Sorry, hab noch vergessen, dass man beim addieren das zu den 1. bits
noch eine 1 dazu zählen muss!!

Bsp:

11110010
00111101

---------------
invertieren

11110010
11000010

----------------
1.bit setzen

11110010
11000010
       1

----------------
addieren

10110101



Markus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.