Transistoranzahl in NAND- oder NOR-Implementierung der booleschen Algebra?

Ich habe eine komplexe Ausgabefunktion in der booleschen Algebra (wobei '~' NICHT bedeutet):

F=~( (ac ~d) + (a ~c ~d) + (~ac) + (~ acd) + (ac ! db) )

Ich weiß, dass dies vereinfacht werden kann zu:

F = (~a ~c) + (ad)

Jetzt kann die vereinfachte Version in CMOS mit 8 Transistoren und benutzerdefinierten Gates implementiert werden. (dh nicht ausschließlich NAND und NOR)

Wenn ich das Vereinfachte in CMOS nur mit NAND- oder NOR-Gattern implementieren würde, wie viele Transistoren gäbe es? Gibt es eine einfache Möglichkeit zu zählen, indem man sich nur die Funktion ansieht?

Das habe ich mir gedacht

  • 1 UND -> 2 NAND
  • 1 NICHT -> 1 NAND
  • 1 ODER -> 3 NAND
  • 1 NAND -> 4 Transistoren
  • 1 NICHT -> 2 Transistoren

Das heißt, die vereinfachte Version kann aus 28 Transistoren bestehen?

BEARBEITEN:

Wenn ich also Demorgane verwende: F=~( ~(~a ~c) ~(ad) )

  • ~(~a ~c) sind 8 Transistoren (2*2 für die Inverter + 4 für NAND)
  • ~ (ad) sind 4 Transistoren (für ein einzelnes NAND)
  • Die obigen 2 werden dann in 4 Transistoren kombiniert (1 weiterer NAND)
  • Also insgesamt 8+4+4=16 ?
Was bedeutet '!'?

Antworten (2)

Ihre Logik sieht aus wie eine Summe von Produkten (UNDs, die in ein ODER eingespeist werden). In diesem Fall können Sie sowohl das UND als auch das ODER durch NAND-Gatter ersetzen. Außerdem können Sie (~a ~c) durch ~(a + c) ersetzen, was ein Gate spart. Zusammengenommen ergibt das 1 NOR, 1 NOT und 2 NAND für insgesamt 14 Transistoren.

Komplexe CMOS-Gatter ergeben bei dieser Art der Faktorisierung bessere Transistorzahlen und weniger Gatterverzögerungen.

F = (!a && !c) || (Anzeige)

F = !( !(!a && !c) && !(a && d))

F = !( (a && c) && !(a && d) )

Das ist ein OAI21 und ein NAND2 – 6 FETs im OAI und 4 FETs im NAND2. 10 insgesamt.

Die unterschwellige Leckage wäre wahrscheinlich auch geringer.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Siehe diese Antwort für eine 6T-OAI-Implementierung wie oben vorgeschlagen.