Hallo Leute,
in einem Projekt möchte ich eine Logikschaltung mit 7400 Gattern
realisieren. Also NAND mit zwei Eingängen. Die Logikschaltung soll für
jeden Zustand des BCD-Codes ein Signal liefern. Anders gesagt: Zu jeder
mögliche Kombination des BCD gibt es einen bestimmten Ausgang. Im Anhang
mal eine Schaltung von mir. Es werden zuerst je zwei Eingänge (A&B)
(C&D) in jeder möglichen Kombination UND-Verknüpft. Im nächsten Schritt
werden jeweils zwei Kombinationen wieder UND-Verknüpt. Macht 16
Möglichkeiten und 52 Gatter.
Hat jemand noch einen Vereinfachungsvorschlag? Oder gar einen ganz
anderen Lösungsansatz mit 7400 Gattern?
Ich hoffe irgendwer hat verstanden was ich meine. Sonst sende ich gleich
nochmal eine Funktionstabelle.
Danke
Hein
PS: Ja, ich kann mit µC umgehen. :)
Die als Inverter geschalteten NANDS V7 bis V10 und V17 bis V20 kannst
du weglassen, wenn du A0 mit A3, A1 mit A2, A4 mit A8 (sollte wohl A7
heißen) und A5 mit A6 tauschst.
Du schriebst etwas von BCD. Das heißt doch, dass an den Eingängen
nicht alle Kombinationen von 0 (0000) bis 15 (1111), sondern nur von 0
(0000) bis 9 (1001) auftreten. Damit kannst du V21 bis V32 ebenfalls
weglassen.
So arg viel mehr lässt sich meinem Gefühl nach nicht vereinfachen, es
sei denn, jemand hat eine Idee, wie man einige der hässlichen Inverter
an den Ausgängen (V44, V42, V40 usw.) wegbekommt.
@Läubi
danke guter tipp, habe ich noch nicht gekannt. Leider hilft es in diesem
speziellen Fall nicht weiter, da er sich einfach ein 4-Fach-NAND nimmt.
Oder kann man das noch umstellen?
@Yalu
Danke, das werde ich gleich mal prüfen. Und ja du hast recht, es ist
nicht wirklich ein BCD sondern einfach 4Bit
Hein
@ hein (Gast)
>Hat jemand noch einen Vereinfachungsvorschlag? Oder gar einen ganz>anderen Lösungsansatz mit 7400 Gattern?
GAL, CPLD, EPROM.
>PS: Ja, ich kann mit µC umgehen. :)
Und warum nutzt du den dann nicht?
MfG
Falk
@Falk
So eine Antwort habe ich von dir erwartet und ich werde sie auch nicht
weiter kommentieren. Nix für ungut. :D
@Yalu
Jo, habe mich grade stark gewundert.
Hein
Na klar, es gibt viele Möglichkeiten dieses Problem zu lösen. 74154 ist
dabei wohl die eleganteste, aber es geht mir darum das Problem
ausschießlich mit 7400 zu lösen.
Hein
>alternativ: KV-diagramm
Das werd ich morgen mal probieren, lange ists her..
A,B,C,D sind EIngänge und 0..9 sind die Ausgänge?
Was ist mit den nicht eingetragenene Werten in der Tabelle?
Alle Null nehme ich an?
74HC00 = NAND...
Eine Möglichkeit: Minimieren mittels Quine/McClusky, danach die
N-fach-NANDs durch Kaskaden von 2-NANDs realisieren. Ist aber fraglich
wie "minimal" das dann noch ist. Versuchen kann mans aber mal.
Ansonsten kannst du natürlich auch per Programm und Brute-Force diverse
Möglichkeiten durchprobieren. Beachte dabei, nicht jede Ausgangsfunktion
für sich zu minimieren, sondern gemeinsame Terme mitzubenutzen.
Suchbäume, die auf jeden Fall ein schlechteres Ergebnis als eine bereits
gefundene Lösung liefern (start: deine Lösung), kannst du gleich an
deren Wurzel ignorieren, das spart Laufzeit.
Gibts in 74xx Multiplexer? Wenn ja kannst du damit die Funktionen nach
je einer Variablen entwickeln:
F(a,b,c,d) = (a AND F(1,b,c,d)) OR (/a AND F(0,b,c,d))
Das entspricht einem Mux mit a als selector und den 3-Eingänge-Fs als
Daten.
Überleg auch mal ob du noch mehr Schaltungen rein auf 74xx aufbauen
willst; in dem Fall machst du es dir sicher einfacher wenn du den
Computer für dich rechnen lässt.
Matthias Lipinsky wrote:
>>alternativ: KV-diagramm>> Das werd ich morgen mal probieren, lange ists her..>>> A,B,C,D sind EIngänge und 0..9 sind die Ausgänge?>
Laut funktionstabelle sind die A,B,C,D eingänge. Ausgänge sind
0...9,A',B',C',D',E,F
Die striche bei den ABCD deshalb weil laut schematik die eingangs ABCDs
nicht mit den ausgangs ABCDs zusammenhängen.
> Was ist mit den nicht eingetragenene Werten in der Tabelle?> Alle Null nehme ich an?>
Nein können auch Dont Cares sein, musst du überprüfen.
> 74HC00 = NAND...
kA :-)
Wozu dient eine solche Schaltung?
Es gibt doch dafür einerseits fertige 74xx und wenn einem das nicht
dienlich ist kann man ja ein GAL/PAL/PALCE... nehmen. Und CPLDs gibts ja
auch noch, und wenn man ein etwas dickeres Portemmonaie hat kann man
auch noch einen FPGA verwenden.
@ Michael Wilhelm (Gast)
>>Wozu dient eine solche Schaltung?>Wurde oben schon erwähnt. Entweder Lötmasochist, Aktieninhaber von z. B.>TI, ...
Oder da gabs auf Ebay billig ein kg 7400, die müssen jetzt verbaut
werden, koste es was es wolle! ;-)
MFG
Falk
@Falk:
Nur ein kg? Das reicht ja nirgends hin.
Wenn schon soll er doch einen eigenen, neuen 64 Bit Processor mit NANDs
erfinden. Das könnte man nachher auch brauchen... ;)
>Oder da gabs auf Ebay billig ein kg 7400, die müssen jetzt verbaut>werden, koste es was es wolle! ;-)
Das wären 7727 ICs. Eben bei TI nachgesehen, einer wiegt 129,4 mg.
Könnte bei verbleiter Version etwas weniger werden :-( .
MW
hein wrote:
> in einem Projekt möchte ich eine Logikschaltung mit 7400 Gattern> realisieren.
Und ich dachte, er will 7.400 Gatter verbauen (obwohl er nur 52
braucht).
Vereinfachungsvorschlag: nimmt ein paar Relais...
Hallo,
danke für die Antworten. Ich hatte die Aufgabe aus einem Gray-Code 15
verschiedene Schaltzustände auszuwerten. Jetzt habe ich das ganze
nochmal verkompliziert. Einfach nur so ein Gedankenspiel wie weit man
mit 2-Fach-NANDS vereinfachen kann. Das heißt ich habe nicht vor diese
Schaltung zu bauen, sondern nur zu vereinfachen. Dabei habe ich das
Gefühl, dass mein Vorschlag noch nicht das kleinst möglichste Ergebnis
ist.
Man stelle sich einfach eine theoretische Übungsaufgabe vor(andere lösen
Sudoku) mit folgender Aufgabenstellung: Von einen 4-Bit Signal(A,B,C,D)
soll für jede Kombination je ein Ausgang (1-F) auf 1 geschaltet werden.
Entwerfe eine möglichst kleine Logikschaltung ausschließlich mit
2-Fach-NANDS.
So und bitte keine Haarspaltereien mit meiner Aufgabenformulierung. ;)
@Morin
Das mit dem NAND Kaskadieren verstehe ich nicht, kannst du mir das
nochmal erläutern?
Nochwas: In der Wertetabelle stehen die freien Felder auf der
Ausgangseite für 0.
Gruß
Hein
Ja... da macht man ne Wertetabele... trägt das in ein KV-Diagramm oder
Quine MC-Clusky wenn man lustig ist und schon hat man eine Minimierung
ereicht, sogar in zweistufiger Logik.