Wie erstelle ich einen digitalen Komparator mit mehreren Eingängen?

Ich habe versucht, einen digitalen Komparator zu bauen, aber ich habe Mühe, mehr als einen Eingang einzugeben. Die Idee ist, dass ich 2 Sätze von 2 Zahlen habe (insgesamt 4 Eingaben) und ich möchte, dass die Ausgabe alle 4 Zahlen berücksichtigt und nicht nur 2. Hier ist, was ich bisher ungefähr habe:

Schaltung bisher

Ich möchte, dass die Schaltung die beiden Eingänge in den beiden Sätzen separat behandelt. Alle Ideen, wie dies erreicht werden kann, sind sehr willkommen.

Welche Ausgänge suchen Sie? Ich nehme an A=B=C=D. Aber was ist mit den Ausgaben < und >? Was bedeuten diese für 4 Eingänge?
Ich möchte, dass die Schaltung die beiden Zahlensätze vergleicht und dann entweder A < B, A = B oder A > B ausgibt. Wenn zum Beispiel a = 1, b = 1, c = 1 und d = 0 ist, sollte die Schaltung A > B ausgeben, da die Summe von A größer als B ist
Ich bin mir der Frage nicht sicher, aber vielleicht summieren Sie die Spannungen analog und danach Komparatoren? Wie viele Ausgänge möchten Sie?

Antworten (2)

Der Ausgangspunkt für ein solches Problem besteht darin, eine Wahrheitstabelle der Logik zu erstellen, die die Schaltung synthetisieren soll. Ihre Absicht ist auch nach den Kommentaren noch etwas vage.

Wenn wir vermuten, dass die Eingabepaare c:d und b:a tatsächlich zwei 2-Bit-Binärzahlen darstellen, zeigt die folgende Wahrheitstabelle die Ausgabe für wenn c:d == b:a.

Geben Sie hier die Bildbeschreibung ein

Anschließend können Sie der Tabelle zusätzliche Ausgabespalten hinzufügen, um die anderen gewünschten Ausgaben darzustellen.

Dies sollte Ihnen den Einstieg erleichtern. Ich werde nicht die ganze endgültige Lösung präsentieren, weil man daraus wenig lernt. Die Mechanik zum Reduzieren der gezeigten Tabelle für eine Ausgabe kann nach einer von mehreren bekannten Prozeduren durchgeführt werden, einschließlich Karnaugh-Maps.

Beim digitalen Design verbinden Sie sehr selten mehrere Gatter mit einem einzigen Draht oder Knoten (wie Sie es mit a, b und c, d getan haben). Dies liegt daran, dass es andernfalls, wenn ein Tor versucht, eine '1' und das andere eine '0' zu passieren, zu einem Kampf zwischen den Toren kommt, der normalerweise ein Strom-> Masse-Kurzschluss ist (was viel Hitze erzeugt, eine unbestimmte Logik Niveau und wahrscheinlich brechen einige Komponenten).

Ausnahmen hiervon wären Logikgatter, die immer denselben Ausgang erzeugen (dasselbe Gatter mit denselben Eingängen oder etwas weniger Übliches) oder wenn die vorherigen Gatter in einen sogenannten „Hochimpedanzzustand“ eintreten können (Tri-State-Inverter, Übertragungsgatter, Durchgangsgatter oder dynamische Gatter), damit jeweils nur ein einziges Gatter seinen Ausgang an den Knoten weitergeben kann.

Deine Beschreibung ist sehr zweideutig. Es hört sich so an, als ob Sie zwei Zahlen X und Y vergleichen möchten.

X = 0,1,2 

Und

Y = 0,1,2 

Wo

X = A + B (A/B = 0,1) 

Und

Y = C + D (C/D = 0,1)  

If X > Y, O1 = 1, O2=O3=0.  If X = Y, O2 = 1, O1=O3=0.  If X < Y, O3 = 1, O1=O2=0

Was mir nicht klar ist, ist, ob Sie AB und CD als digitale Zahlen behandeln möchten, die 4 verschiedene Werte (0,1,2,3) darstellen, oder als zwei separate Bits, die 3 verschiedene Werte (0,1,2) darstellen. Ich werde als separate Bits annehmen, die (0,1,2) darstellen.

Erstellen Sie in diesem Fall eine Wahrheitstabelle:

A B C D    O1  O2   O3
0 0 0 0     0   1    0
0 0 0 1     0   0    1
0 0 1 0     0   0    1
0 0 1 1     0   0    1
0 1 0 0     1   0    0
0 1 0 1     0   1    0
0 1 1 0     0   1    0
0 1 1 1     0   0    1
1 0 0 0     1   0    0
1 0 0 1     0   1    0
1 0 1 0     0   1    0
1 0 1 1     0   0    1
1 1 0 0     1   0    0
1 1 0 1     1   0    0
1 1 1 0     1   0    0
1 1 1 1     0   1    0

Nehmen Sie nun jede Ausgabe einzeln und erstellen Sie eine Karnaugh-Karte. Wenn Sie Begriffe in mehreren Ausgängen haben, können Sie Logikgatter speichern und die Logik wiederverwenden! Oder verwenden Sie einen Online-Kartenrechner für Karnaugh: karnaugh-auto

Ö 1 = B C ¯ D ¯ + A C ¯ D ¯ + A B C ¯ + A B D ¯ Ö 2 = B ¯ C ¯ D ¯ + A B ¯ C ¯ + A ¯ B C ¯ D + A ¯ B C D ¯ + A B C D Ö 3 = A ¯ B ¯ D + A ¯ B ¯ C + A ¯ C D + B ¯ C D

Wobei Variablen, die sich berühren, "UND" bedeuten; „+“ bedeutet „ODER“; Die

B A R ¯
bedeutet die Variable invertieren. Ich habe einen ähnlichen Begriff fett gedruckt, der wiederverwendet werden könnte, ich bin sicher, Sie können noch viel mehr finden.

Sie müssen O2 nicht auf diese Weise finden, Sie können einfach ein NOR machen, wie Sie es bei Ihren ersten Versuchen mit O1 und O3 gezeigt haben. Was, wenn Sie trainiert haben, dasselbe sein sollte:

Ö 2 = ( Ö 1 + Ö 3 ) ¯