Ich habe einen rechner gebaut, der zwei Dualzahlen (4bit) addiert. Jetzt
stehe ich aber vor einem Problem:
Ich möchte, dass das Ergebnis auf zwei 7 Segment anzeigen aufleuchtet.
Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht
also bis 15) in 2x 4 bit umwandelt (also je 4bit von 0 bis 9).
Vielen dank für hilfreiche antworten schon im voraus!
Elektronik Bastler schrieb:> Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht> also bis 15) in 2x 4 bit umwandelt (also je 4bit von 0 bis 9).
Dein Stichwort für Google ist 'BCD'
Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein
gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann.
Ich habe dann einen Attiny und ein Shiftregister genommen und mir
schnell selber die Anzeige zusammengefrickelt.
Alexander schrieb:> Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein> gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann.
Wenn Du auf A-F verzichtest, gab es solche Ics schon vor fünfzig
Jahren. Z.B. SN7447
Harald W. schrieb:> Wenn Du auf A-F verzichtest, gab es solche Ics schon vor fünfzig> Jahren. Z.B. SN7447
Hi,
gibt auch CMOS der 4xxx-Serie, die A-F darstellen.
Bitte um etwas Geduld, ich muß gerade noch die "Hex-Anzeige" für den
EPrommer raussuchen.
Momang...der 40511 war's wohl. (Wo gibt's den heute noch zu kaufen?)
ciao
gustav
Elektronik Bastler schrieb:> Vielen dank für hilfreiche antworten schon im voraus!
Das würde ich mit Digitaltechnik angehen. Wenn das mit handelsüblichen
Logikbausteinen richtig aufgebaut ist, ist da analoge Elektronik eher
wenig gefragt (bis auf evtl. Vorwiderstände zur Stabilisierung des
Stroms durch die LEDs der 7-Segment Anzeige).
Du könntest die Anzeige über eine Diodenmatrix/EEPROM steuern ;-)
Für erstere Lösung bräuchtest du einen 74HC154 und die Dioden, bei der
zweiten ein/zwei kleine EEPROMs mit 8 Eingängen und 14 Ausgängen.
Alexander schrieb:> Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein> gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann.
40511 aus DDR-Produktion, der konnte nicht nur 0-9 (wie der 4511),
sondern eben auch A-F darstellen. Davon findest du vielleicht noch
irgendwo Restbestände (Nein, meine gebe ich nicht her).
Harald W. schrieb:> Alexander schrieb:>>> Vor dem Problem stand ich auch gerade: Ich habe keinen fertigen Baustein>> gefunden, der 4-Bit zu einer Anzeige 0-9 UND A-F darstellen kann.>> Wenn Du auf A-F verzichtest, gab es solche Ics schon vor fünfzig> Jahren. Z.B. SN7447
Und mit A-F: V40511.
Zur ursprünglichen Frage:
Elektronik Bastler schrieb:> Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht> also bis 15) in 2x 4 bit umwandelt (also je 4bit von 0 bis 9).
Ich nehme an, du hast den Addierer nicht mit einem programmierbaren
Baustein aufgebaut (sonst könntest du damit ja auch gleich den Dekoder
realisieren) und möchtest auch den Dekoder aus einfachen Logikbausteinen
aufbauen.
Das geht mit zwei 74xx-ICs (s. Anhang). Zur Ansteuerung der 7-Segment-
Anzeige für die Einerziffer kannst du einen 74x47 nehmen. Für die
Zehnerziffer ist das ebenfalls möglich. Da dort aber nur die Ziffern 0
und 1 angezeigt werden, kannst du die Segmente b und c dauerhaft mit
Strom versorgen und die Segmente a, d, e und f über einen Treiber an
A10 der Schaltung anschließen.
Vielen Dank an Yalu X.
Genau so eine Schaltung hab ich bis jetzt überall im Internet vergeblich
gesucht!
Dass gute ist, dass ich sie im Fall der Fälle auch noch auf 8 Bits oder
noch weiter erweitern kann!
Dankeschön!
Elektronik Bastler schrieb:> Dass gute ist, dass ich sie im Fall der Fälle auch noch auf 8 Bits oder> noch weiter erweitern kann!
Bist du dir da sicher? ;-)
Dadurch, dass der Wertebereich momentan nur bis 15 geht, ist die Sache
noch halbwegs überschaubar. Falls du ihn auf 255 erweitern möchtest,
wird das schon ein ziemliches IC-Grab, zumal man die Schaltung mit
zunehmender Komplexität nicht mehr so leicht optimieren kann.
Sehr viel einfach wird es, wenn du deinen Addierer von vornherein in BCD
rechnen lässt. Damit ersparst du dir den aufwendigen Dekodiervorgang.
Wenn sich dein Wertebereich von 0..15 auf die Eingänge deines Addierers
bezieht musst du den Überlauf berüchsichtigen und hast dann schon mal 5
Bit am Ausgang. Denn 15+15=30 ;-). Die käuflichen Sieben-Segment Decoder
erwarten am Eingang BCD Kode und du hast am Ausgang deines Binären
Addierers natürlich auch Binärcode. Dafür gab es mal den 74185 der kann
6 Bit Binär in BCD wandeln. Den kann man auch kaskadieren und mit 3
Stück kannst du 8 Bit wandeln.
Yalu X. schrieb:
> Elektronik Bastler schrieb:>> Dass gute ist, dass ich sie im Fall der Fälle auch noch auf 8 Bits oder>> noch weiter erweitern kann!>> Bist du dir da sicher? ;-)
Nicht mehr :( Ich hab zu voreilig gedacht.
Yalu X. schrieb auch:
> Falls du ihn auf 255 erweitern möchtest,> wird das schon ein ziemliches IC-Grab, zumal man die Schaltung mit> zunehmender Komplexität nicht mehr so leicht optimieren kann.
Und Hans-Georg L. schrieb:
> Wenn sich dein Wertebereich von 0..15 auf die Eingänge deines> Addierers> bezieht musst du den Überlauf berüchsichtigen und hast dann schon mal 5> Bit am Ausgang. Denn 15+15=30 ;-).
Stimmt.
Kann man das denn nicht irgendwie anders Realisieren? wie macht dass
eigentlich ein Computer? Oder die Zuse Z3, die nur aus Relais besteht?
Elektronik Bastler schrieb:> Hans-Georg L. schrieb:>> Wenn sich dein Wertebereich von 0..15 auf die Eingänge deines>> Addierers>> bezieht musst du den Überlauf berüchsichtigen und hast dann schon mal 5>> Bit am Ausgang. Denn 15+15=30 ;-).>> Stimmt.> Kann man das denn nicht irgendwie anders Realisieren?> wie macht dass eigentlich ein Computer?
Mal so mal so. Manche haben eine ALU, die direkt in BCD rechnen kann,
entweder als separate Opcodes oder per Flag umgeschaltet (6502: D-Flag).
Wieder andere haben einen extra Opcode, um das Ergebnis einer binären
Addition bzw. Subtraktion zu BCD zu korrigieren (Z80: Opcode DAA).
Natürlich kann ein Computer auch einen Algorithmus implementieren, der
eine beliebig lange Binärzahl nach BCD umwandelt, ein gebräuchlicher
Algorithmus heißt Dreierkorrektur.
Am allereinfachsten ist es aber, die Dezimaldarstellung aufzugeben und
alles hexadezimal ein- und auszugeben.
Man kann das ja auch mit einer Frequenz machen. Das würde aber bei
GROßEN Zahlen (z.B. 10^100) schon eine merkliche verzögerung geben und
es wäre zu aufwendig. Obwohl... Mit ein paar Flip Flops, Zählern,
Vergleichern (xor Gatter) und einigen Logikgattern Gattern müsste man
das schon hinbekommen... dann könnte man auch gleich mit dieser Methode
einen Rechner bauen und hätte dann das Problem mit den Decodern nicht
mehr...
naja :)
Elektronik Bastler schrieb:> wie macht dass> eigentlich ein Computer?
Z.B. mit printf() oder itoa(), d.h. es gibt fertige Libs für sowas.
Man kann es aber auch zu Fuß programmieren.
Yalu X. schrieb:> Das geht mit zwei 74xx-ICs (s. Anhang).
Darf ich drei Fragen dazu stellen?
Falls ja:
1. Wie hast Du das ausgerechnet? Karnaugh-Plan?
2. Womit hast Du den hübschen Schaltplan gezeichnet?
3. Ist da nicht ein Fehler drinnen (s.u.)?
Im 7486 sind meiner Erinnerung nach vier XOR-Gatter drin.
Gezeichnet sind aber Äquivalenzgatter. Fehlt da nur der
Kringel am Ausgang?
Für A2 macht das ja einen Unterschied.
Possetitjel schrieb:> Darf ich drei Fragen dazu stellen?
Gerne :)
> 1. Wie hast Du das ausgerechnet?
Ich habe die Wertetabelle aufgestellt und durch scharfes Anschauen
derselben versucht, für die vier nichttrivialen Ausgänge möglichst
einfache Terme zu finden. Dabei habe ich auch Ausgangssignale als
Operanden in den Termen zugelassen, wenn sich dadurch ein besonders
einfacher Term ergab. So sieht man bspw. die folgenden Zusammenhänge:
Dann habe ich in den gefundenen Termen gemeinsame Teilausdrücke gesucht,
um die Anzahl der benötigten Gatter zu reduzieren. Damit hatte ich eine
Lösung mit 1 XOR-, 4 AND- und 4 NOT-Gattern. Leider braucht man dafür
mindestens drei 74xx-ICs, wobei einige Gatter ungenutzt bleiben.
Also habe ich versuchsweise per De Morgan die AND-in OR-Operationen
umgewandelt. Durch die Verwendung von NOR- statt OR-Gattern und einen
neuentstandenen gemeinsamen Teilausdruck konnte ich schließlich die
Anzahl der NOTs auf 3 reduzieren, die mit den ansonsten ungenutzten
XOR-Gattern des 74x86 realisiert werden können.
Ein rechnergestütztes Optimierungstool wäre für solche Dinge natürlich
ein feine Sache, allerdings kenne ich kein wirklich gutes. Da man diese
Sorte Aufgaben meist sowieso nur während des Studiums löst, ist das auch
nicht weiter schlimm :)
> Karnaugh-Plan?
Der Karnaugh-Plan hat IMHO einige Nachteile, weswegen ich ihn nur selten
verwende:
- Es muss viel gezeichnet werden (in diesem Fall vier 4×4-Matrizen)
- Das Eintragen der Werte ist mühsam und fehlerträchtig, weil die
Reihenfolge der Einträge nicht mit der Wertetabelle übereinstimmt (ok,
man könnte die Wertetabelle natürlich auch so hinschreiben, dass sie
"Karnaugh-freundlicher" ist)
- Das Verfahren liefert zwar die optimale DNF, KNF oder RNF, diese
Darstellungen sind aber i.Allg. nicht optimal bezogen auf die Anzahl
der Bauteile für eine elektronische Realisierung.
- Bei mehr als vier Eingängen wird die Sache sehr unübersichtlich.
> 2. Womit hast Du den hübschen Schaltplan gezeichnet?
Ursprünglich habe ich LTspice benutzt, mit dem Schaltpläne sehr fix
eingegeben und anschließend gleich auch noch simuliert werden können.
Auch das Herumschieben von Symbolen und Leitungen im Hinblick auf eine
kompakte und übersichtliche Gesamtdarstellung geht mit LTspice recht
komfortabel. Allerdings sehen Digitalschaltungen dort sehr gruselig aus
(s. Anhang), weswegen ich das Ganze noch einmal mit Inkscape nachgemalt
habe :)
Man erkennt in der Simulation übrigens ein paar Glitches, die aber hier
nicht stören dürften.
> 3. Ist da nicht ein Fehler drinnen (s.u.)?>> Im 7486 sind meiner Erinnerung nach vier XOR-Gatter drin.> Gezeichnet sind aber Äquivalenzgatter. Fehlt da nur der> Kringel am Ausgang?
IMHO (und nach https://de.wikipedia.org/wiki/Logikgatter) stimmt das
schon. Das "=1" im Kasten (nicht zu verwechseln mit dem "≡" im alten
DIN-XNOR-Symbol) bedeutet, dass genau 1 Eingang high sein muss, um am
Ausgang ein High-Signal erscheinen zu lassen. Entsprechend steht im
OR-Gatter ein "≥1", weil hier mindestens 1 Eingang high sein muss.
Elektronik Bastler schrieb:> Genau so eine Schaltung hab ich bis jetzt überall im Internet vergeblich> gesucht!
Da es Volladdierer schon lange als fertiges IC gibt, findet man
diese Schaltung auch in deren Datenblatt. Außerdem auch in Grund-
lagenbüchern wie den Tietze/Schenk. Das gleiche gilt auch für
Siebensegment-Dekoder.
Elektronik Bastler schrieb:> wie macht dass eigentlich ein Computer?> Oder die Zuse Z3, die nur aus Relais besteht?
Tja, auch Zuse beherrschte damals schon die Grundlagen
der binären Mathematik.
Yalu X. schrieb:> Allerdings sehen Digitalschaltungen dort sehr gruselig aus
Da hätte ich evtl. einen Tipp für Dich: installiere Dir doch z.B. die
74HC-Lib, da gibt es vernünftige Symbole und außerdem verhalten sich die
Gates auch etwas realitätsnäher.
Sorry hab da grad keinen Link dazu - habs schon vor längerer Zeit
heruntergeladen - ich meine, es war über die LTSpice Yahoo Group.
Ja, damit sieht es schon deutlich besser aus. Danke für den Tipp!
Ich habe auf die Schnelle nur die Version gefunden, die Helmut vor
längerer Zeit hier gepostet hat:
Beitrag "Re: LT Spice SwitcherCad II 74er TTL"
Möglicherweise gibt es in seiner Yahoo-Group (bei der ich nicht Mitglied
bin) eine neuere Version.
Yalu X. schrieb:> Möglicherweise gibt es in seiner Yahoo-Group (bei der ich nicht Mitglied> bin) eine neuere Version.
die LIB aus Helmut's Beitrag dürfte schon aktuell sein. Habe mich aus
(diesem) aktuellen Anlass vorhin gerade auch nochmal bei Yahoo neu
registriert - ist ja kein Aufwand. Ich verwende übrigens schon immer die
74HC_v.lib - soweit ich verstanden habe, sollen da die Pegel auch
abhängig von VCC sein, im Gegensatz zur "normalen" 74HC.lib? Hab's jetzt
mit der 74HC.lib nicht probiert, was das konkret heisst...
Yalu X. schrieb:>> 1. Wie hast Du das ausgerechnet?>> Ich habe die Wertetabelle aufgestellt und durch scharfes> Anschauen derselben versucht, [...]> Dann habe ich in den gefundenen Termen gemeinsame> Teilausdrücke gesucht, [...]
Ah, okay.
Freistil-Verfahren in Anlehnung an Quine/McClusky.
> Ein rechnergestütztes Optimierungstool wäre für solche Dinge> natürlich ein feine Sache, allerdings kenne ich kein wirklich> gutes.
Hmm. Da sagst Du was...
Hast Du eine Vorstellung, was so ein Tool können sollte?
> Da man diese Sorte Aufgaben meist sowieso nur während des> Studiums löst, ist das auch nicht weiter schlimm :)
Naja, manchmal hätte ich schon ganz gern einen Eindruck,
wieviel Gatteraufwand hinter einer bestimmten Verknüpfung
steckt.
Mal sehen...
>> Karnaugh-Plan?>> Der Karnaugh-Plan hat IMHO einige Nachteile, weswegen ich> ihn nur selten verwende:>> - Es muss viel gezeichnet werden (in diesem Fall vier> 4×4-Matrizen)
Naja, auf kariertem Papier relativiert sich das.
Es ist andererseits wesentlich weniger Schreiberei als eine
Wertetabelle; auch die quasi-graphische anschauliche Darstellung
finde ich praktisch. Ist aber natürlich Geschmackssache; ich
bin generell sehr auf die Anschauung fixiert.
> - Das Eintragen der Werte ist mühsam und fehlerträchtig,> weil die Reihenfolge der Einträge nicht mit der Wertetabelle> übereinstimmt (ok, man könnte die Wertetabelle natürlich> auch so hinschreiben, dass sie "Karnaugh-freundlicher" ist)
Binäre Wertetabellen haben wir beim Studium praktisch überhaupt
nicht verwendet. Unser Professor war insofern Außenseiter, als
er mit seiner Arbeitsgruppe an Ternärvektorlisten geforscht und
folglich auch seine Lehre konsequent darauf aufgebaut hat.
Binärvektorlisten wurden als Zeit- und Platzverschwendung
angesehen :)
> - Das Verfahren liefert zwar die optimale DNF, KNF oder RNF,> diese Darstellungen sind aber i.Allg. nicht optimal bezogen> auf die Anzahl der Bauteile für eine elektronische Realisierung.
Ja, das war der Hintergedanke meiner Frage: Deine Schaltung oben
ist keine zweistufige Kombinatorik, sondern hat mehr Ebenen; darauf
sind die Lehrbuch-Verfahren i.d.R. nicht eingerichtet.
Aber auf Grundlage der Wertetabelle geht natürlich alles.
> - Bei mehr als vier Eingängen wird die Sache sehr unübersichtlich.
Hmmja... also bis sechs Eingänge geht noch ganz gut. Man muss nur
wissen, dass der (in einer Ebene gezeichnete) Karnaugh-Plan in
Wahrheit auf einem Torus wohnt, und dass außerdem spiegelbildlich
zueinander liegende Felder auch topologisch benachbart sind :)
("...ach, das ist ganz einfach: Ich stelle mir immer erst einen
unendlichdimensionalen Raum vor und vereinfache dann auf den
Spezialfall n=17.")
>> 3. Ist da nicht ein Fehler drinnen (s.u.)?>>>> Im 7486 sind meiner Erinnerung nach vier XOR-Gatter drin.>> Gezeichnet sind aber Äquivalenzgatter. Fehlt da nur der>> Kringel am Ausgang?>> IMHO (und nach https://de.wikipedia.org/wiki/Logikgatter) stimmt> das schon. Das "=1" im Kasten (nicht zu verwechseln mit dem "≡"> im alten DIN-XNOR-Symbol) bedeutet, dass genau 1 Eingang high> sein muss, um am Ausgang ein High-Signal erscheinen zu lassen.
Du hast Recht; ich habe gerade nochmal nachgelesen.
Vom Wutanfall hält mich nur die mit zunehmendem Alter reifende
Erkenntnis ab, dass Einstein ("Zwei Dinge sind unendlich, ...")
wohl richtig lag -- und gehirntote Normen zu den Dingen gehören,
die unausrottbar sind:
Wie kann man den bittesehr das logische Symbol von einer Eigenschaft
abhängig machen, die NUR beim Gatter mit zwei Eingängen erfüllt
ist? Ein 3er-XOR muss nämlich auch bei "111" am Eingang eine Eins
am Ausgang liefern! Unfassbar...
Yalu X. schrieb:> Ein rechnergestütztes Optimierungstool wäre für solche Dinge natürlich> ein feine Sache, allerdings kenne ich kein wirklich gutes.
an der uni haben wir damals (tm) mit berkley sis ein bisschen
experimentiert. ist schon eine weile her, kenne daher den aktuellen
stand der software nicht.
stamina oder nova müsste das gesuchte tool sein, bedienung ist bei
beiden - hmm - gewöhnungsbedürftig ;-)
Possetitjel schrieb:> Wie kann man den bittesehr das logische Symbol von einer Eigenschaft> abhängig machen, die NUR beim Gatter mit zwei Eingängen erfüllt> ist? Ein 3er-XOR muss nämlich auch bei "111" am Eingang eine Eins> am Ausgang liefern! Unfassbar...
Ja, die alte Diskussion. Der Fehler liegt nicht im Symbol, sondern in
der Bezeichnung:
Das Gatter wird zwar als XOR (also exklusiv Oder) bezeichnet, gemeint
ist oft die ungerade Parität (ODD) der Eingänge. Bei nur zwei Eingängen
besteht kein Unterschied, ab drei Eingängen sollte man aber zwischen
XOR, ODD und evtl. noch negierter Äquivalenz (NEQ) unterscheiden:
1
E1 E2 E3 XOR ODD NEQ
2
—————————————————————————
3
0 0 0 0 0 0
4
0 0 1 1 1 1
5
0 1 0 1 1 1
6
0 1 1 0 0 1
7
1 0 0 1 1 1
8
1 0 1 0 0 1
9
1 1 0 0 0 1
10
1 1 1 0 1 0
11
—————————————————————————
Im Gegensatz zu ODD lassen sich XOR und NEQ nicht durch Kaskadierung
mehrerer Gatter mit jeweils zwei Eingängen darstellen, was vielleicht
der Grund dafür ist, dass von vielen nur ODD als Verallgemeinerung des
Gatters auf mehr als zwei Eingänge akzeptiert wird.
Für XOR in seiner wörtlichen Bedeutung ("entweder E1, E2 oder E3" bzw.
"genau eines davon") ist die Beschriftung des Symbols mit "=1" schon in
Ordnung. Dass die Erfinder der IEC-Symbole auch Gatter mit mehr als zwei
Eingängen berücksichtigt haben, erkennt man daran, dass das AND-Gatter
nicht etwa mit "=2" beschriftet wurde (was ja eigentlich besser zum "=1"
des XOR- und zum "≥1" des OR-Gatters gepasst hätte), sondern stattdessen
"&" gewählt wurde, das unabhängig von der Anzahl der Eingänge ist.
niemand schrieb:> an der uni haben wir damals (tm) mit berkley sis ein bisschen> experimentiert. ist schon eine weile her, kenne daher den aktuellen> stand der software nicht.> stamina oder nova müsste das gesuchte tool sein, bedienung ist bei> beiden - hmm - gewöhnungsbedürftig ;-)
Danke für die Info. Ich werde mir diese Tools bei Gelegenheit mal
anschauen.
Yalu X. schrieb:> Im Gegensatz zu ODD lassen sich XOR und NEQ nicht durch Kaskadierung> mehrerer Gatter mit jeweils zwei Eingängen darstellen
Seien wir mal ehrlich, wer hat je ein echtes XOR oder NEQ gebraucht. Von
daher finde ich es zulässig auch das echte ODD als XOR zu bezeichnen. In
der Praxis gibt es dadurch keine Irrtümer. Man muß nicht alles auf die
Goldwaage legen.
Peter D. schrieb:> Seien wir mal ehrlich, wer hat je ein echtes XOR oder NEQ gebraucht.
Wenn ich mal von mir ausgehe: Ein echtes XOR mit mehr als zwei Eingängen
hätte ich früher tatsächlich schon ein- oder zweimal brauchen können,
ein ODD oder ein NEQ noch nie. Als Anwendung für ein ODD-Gatter mit mehr
als zwei Eingängen fällt mir eigentlich nur ein Paritygenerator für
einen UART ein. Aber wer baut schon einen UART aus einzelnen Gattern
auf?
Generell sind Anwendungen für XOR, ODD und NEQ mit mehr als zwei
Eingängen so rar gesät, dass es m.W. keine fertigen Bausteine dafür
gibt. Insofern ist es auch ziemlich egal, wie man diese Logikfunktion
benennt oder wie ihr Schaltplansymbol aussieht.
Yalu X. schrieb:> Aber wer baut schon einen UART aus einzelnen Gattern auf?
...und wer baut schon einen Binär -> BCD-Wandler aus einzelnen
Gattern auf? Wenn man da schon keinen µC nehmen will, kann
man ja die entsprechenden TTL-ICs nehmen, oder eine Tabelle in
einem Eprom.
Peter D. schrieb:> Yalu X. schrieb:>> Im Gegensatz zu ODD lassen sich XOR und NEQ nicht durch>> Kaskadierung mehrerer Gatter mit jeweils zwei Eingängen>> darstellen>> Seien wir mal ehrlich, wer hat je ein echtes XOR oder> NEQ gebraucht.
Die "alte Diskussion" vor ein, zwei Jahren, auf die Yalu
anspielt, war gerade deshalb aufgekommen, weil jemand ein
echtes XOR mit mehreren Eingängen gebraucht hat. Der
Erwiderung, das ginge nicht so einfach mit kaskadierten
7486, wurde zuerst durchaus kein Glaube geschenkt.
Yalu X. schrieb:> Ja, die alte Diskussion.
Ich wollte die eigentlich nicht wieder aufkochen; das war mehr
eine Randbemerkung.
> Der Fehler liegt nicht im Symbol, sondern in der Bezeichnung:
Ja, das ist mir gestern dann auch im Rahmen einer längeren
Diskussion klargeworden. Die Bezeichnung "XOR" für die
Antivalenz ist falsch (bzw. mindestens extrem ungeschickt).
Yalu X. schrieb:> niemand schrieb:>> an der uni haben wir damals (tm) mit berkley sis ein bisschen>> experimentiert. ist schon eine weile her, kenne daher den aktuellen>> stand der software nicht.>> stamina oder nova müsste das gesuchte tool sein, bedienung ist bei>> beiden - hmm - gewöhnungsbedürftig ;-)>> Danke für die Info. Ich werde mir diese Tools bei Gelegenheit mal> anschauen.
uups, tschuldign vielmals - hab grad die version in den untiefen der
festplatte gefunden. das war V1.2, für die minimierung boolscher
ausdrücke ist espresso zuständig; stamina und nova sind für state
machine optimization
beispiel für ein espresso-file (auszug manpage)
A two-bit adder which takes in two 2-bit operands and produces a 3-bit
result can be described completely in minterms as:
1
# 2-bit by 2-bit binary adder (with no carry input)
Peter D. schrieb:> Seien wir mal ehrlich, wer hat je ein echtes XOR gebraucht.
ich, aber nur mit 2 Eingänge, als Frequenzverdoppler in atariST für den
Floppy Controller um von 8MHz auf 16 MHz zu kommen um die 3.5" HD
Laufwerke im HD Mode anzufeuern,
4050 einige als Laufzeitglied, dann direkt und verzögert ins XOR und das
ganze verodert per enable durch die HD-Lochauswertung, später mit GAL
nachgebaut, sparte ICs.
Yalu X. schrieb:> Wenn ich mal von mir ausgehe: Ein echtes XOR mit mehr als zwei Eingängen> hätte ich früher tatsächlich schon ein- oder zweimal brauchen können,
aber zugegeben für mehr als 2 Eingänge fällt mir auch nichts ein.
Joachim B. schrieb:> Yalu X. schrieb:>> Wenn ich mal von mir ausgehe: Ein echtes XOR mit mehr>> als zwei Eingängen hätte ich früher tatsächlich schon>> ein- oder zweimal brauchen können,>> aber zugegeben für mehr als 2 Eingänge fällt mir auch> nichts ein.
Ein "echtes" XOR mit n Eingängen prüft einen 1-aus-n-Code
auf Gültigkeit. Das ist genau der Fall, in dem man es
braucht.
(Das allgemein übliche XOR liefert die Parität; es ist
daher kein "echtes" XOR.)
Elektronik Bastler schrieb:> Ich habe einen rechner gebaut, der zwei Dualzahlen (4bit) addiert. Jetzt> stehe ich aber vor einem Problem
E baut einen Tischcomputer,
der, sobald er angeknipst,
stets die Null zeigt,
ja, das tut er,
welche Taste du auch tippst.
In dem Kreis der Sachverständ'gen
aus GI *) und Industrie
konnt man kaum die Freude bändgen
- Doch ein Schlager ward er nie.
*) https://de.wikipedia.org/wiki/Gesellschaft_f%C3%BCr_Informatik
(unbekannter Dichter)
Karl B. schrieb:> Interessant ist auch die Variation in der Darstellung der Ziffern von 6> und 9, was bislang hier noch nicht erwähnt wurde.
Man kann hier beim Segment a bzw. d mal ein Don't-Care in die Tabelle
einsetzten und - Trommelwirbel - die minimale Schaltung ist "die
Übliche", also mit Segment a bei der 6 und Segment d bei der 9...
Um sich die benötigten Terme der disjunktiven oder konjunktiven
Minimalform anzusehen, kann man die Wertetabelle mal in ein Synthesetool
(z.B. Lattice ispLever oder Xilinx ISE) einhacken und sich die
generierten Gleichungen ansehen. Ist manchmal auch schon aufschlußreich.
Allerdings sehen die synthetisierten Schaltungen in CPLDs bei größeren
Problemen manchmal doch anders aus, wenn die Anzahl Eingänge in einen
Block überschritten wurde. Ob die Tools dann auch Kniffe wie
Bündelminimierung beherrschen ist mir unbekannt. (vermutlich eher nicht,
dabei generiert man mehrstufige Logik, die sich nicht mehr in eine
2-Stufige CPLD-Struktur einbetten lässt)
Elektronik Bastler schrieb:> Dazu brauche ich einen Decoder, der mir das Ergebnis (4 bit, es geht> also bis 15)
Nö.
2 4Bit Zahlen addiert ergeben 5 Bit.
Bei BCD ist 9 + 9 = 18,
bei binär ist 0x0F + 0x0F = 0x1E (30 dez)