Gibt es Transistorschaltungen für Voll / Halbaddierer?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das kann man in gewissen Grenzen machen.

Man kann nicht nur "normale" Gatter bauen, wie

Y = /(A + B), also NOR

Y = /(A * B), also NAND

sondern auch Kombinationsgatter wie

Y = /(A + B * C)

Ich habe hier mit +, * und / die Oder-Verknüpfung, die Und-Verknüpfung und die Negation bezeichnet.

Die Gatter (CMOS) haben aber die Restriktion, dass die Eingangsgrößen nicht invertiert sein dürfen und die Ausgangsgröße automatisch invertiert ist. Wer das nicht mag, braucht Inverter, die auch wieder eigene Gatter sind.

Also insgesamt lohnen sich Kombinationsgatter bei den heutigen Technologien nicht mehr.

Ergänzung:

Ich habe schon ein Kombinationsgatter gesehen, wo man statt Y = /(A + B * C)

lieber Y = /((A + B)*(A + C)) implementiert hat.

Das kostet zwar einen Transistor mehr, spart aber Verdrahtungsfläche. Das Optimierungskriterium ist Chipfäche, nicht Anzahl der Transistoren.

Die Frage ist, an was man Effizienz fest macht. Ist es Entwicklungs- und Testzeit? Ist es Komplexität? Sind es Ressourcen? Aus Ressourcen-Sicht hast du Recht. Aus Sicht der Beherrschung großer Komplexer Systeme ist eine abstraktere Form, wie Gatter, Register/Schaltwerke sinnvoller. Dann kommt es auf die paar mehr Transistoren auch nicht darauf an. Aber: Das was du siehst, oder was ein Entwickler zeichnet muss nicht das sein, was am Schluss als Schaltung umgesetzt wird. Es gibt sehr ausgefeilte Logikoptimierungen, die zum Einen bereits auf Gatterebene optimieren, zum anderen aber auch bei der Umsetzung von Gattern auf Transistorebene.

Ansonsten kann es auch aus elektrischer Sicht sinnvoll sein, nicht jeden Transistor einsparen zu wollen. CMOS hat sich z.B. durchgesetzt, weil es ziemlich stabil und störungsfrei ist. Mit Logik aus Transmission Gates würden sich teilweise auch etliche Transistoren sparen lassen. Es gibt auch noch andere Logikumsetzungen, wie z.B. NORA-Logik... auch damit würde man meiner Erinnerung aus dem Studium nach, weniger Transistoren benötigen - ist aber halt nicht so stabil oder gut testbar.

Nein, das ist nicht ineffizient.

Jedes Gatter führt eine logische Operation aus. Und dafür benutzen sie die niedrigste mögliche Anzahl an Transistoren.

Ich sehe keinen Grund warum man da Transistoren sparen sollte wenn man das einzeln aus Transistoren zusammenbaut.

ikmmki 
Fragesteller
 27.07.2022, 14:46

Hmm also ich meinte mit Gattern wirklich die Grundgatter.

Wenn ich eine Funktion habe wie zB : y = (A und nicht B ) ODER (nicht A und B) ist es nicht effizient das aus und oder und nicht Gatter aufzubauen.

0
ikmmki 
Fragesteller
 27.07.2022, 14:47
@ikmmki

Das nur als Beispiel gibt noch viel mehr Beispiele wo das viel ineffizienter ist.

0
ikmmki 
Fragesteller
 27.07.2022, 14:52

Hab jetzt nochmal genauer danach gegooglet und kann meine Frage besesr stellen. Ich habe folgendes CMOS Schaltung gefunden https://de.wikipedia.org/wiki/Volladdierer#/media/Datei:Inverting_full_adder_CMOS_24T.svg

Diese hat insgesamt weniger Transistoren wie wenn man es aus den einzelnen Gattern zusammen bastelt. Also warum macht man es nicht so ?

0
jort93  27.07.2022, 15:11
@ikmmki

Naja, wenn das so besser ist, macht man das bereits vermutlich so.

Man verbaut ja heute keine Gatter, sondern lasert alles direkt auf den Chip.

0