Schaltungsminimierung mit KV-Diagramm

Die Reihenfolge der Zeilen in einer Wahrheitstabelle ist doch völlig egal. Bei mir stehen die Eingangsvariablen immer so, wie man Dual zählt. Beide Tabellen führen zum gleichen KV-Diagramm.

Gruß Willi

Reply to
Willi Marquart
Loading thread data ...

ja stimmt auch wieder...ich bin fertig, hätte nicht gedacht das dies so anstrengend wird.

Danke noch mal Dirk

Reply to
Dirk Bossenz

"Georg Acher" schrieb im Newsbeitrag news:cs9q4d$fs8$ snipped-for-privacy@wsc10.lrz-muenchen.de...

um

erst

Naja, hab ich ja auch schon gesagt. ABER!!! Da der OP sich ja wohl gerade im Studium befindet, ist es sicher nicht verkehrt, das Köpfchen mal mit ein paar Denkaufgaben zu belasten. Dafür sind auch (vielleicht nicht mehr so praxisrelevante) JK-FF brauchbar. Schliesslich sind auch nicht alles Übungsaufgaben in Mathematik direkt praxisrelevant (aber das Prinzip sehr wohl!!)

lösen. Wenn

viel

ACK.

MfG Falk

Reply to
Falk Brunner

Ja. Denn alle Registerausgänge sind Speichervariablen. Aus dem IST-Zustand wird durch Dekodiereung der Folgezustand berechnet. Grundprionzip eines jeden Zustandsautomaten (FSM Finite State machine) Jede Logikschaltung, egal ob Zähler, Schieberegister oder CPU basiert auf diesem Prinzip.

Fachwissen und Pädagogik sind zwei völlig unabhängige Dinge.

MfG Falk

Reply to
Falk Brunner

"Oliver Bartels" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

ACK. Aber was kommt denn raus, wenn selbst diese einfachen Dinge nicht verstanden oder gar bekannt sind?? Mouseclick-Ingenieure!!

Womit wir wieder beim bein Spezialisten mit Hintergrundwissen wären.

Q.E.D.

MfG Falk

Reply to
Falk Brunner

"Dirk Bossenz" schrieb im Newsbeitrag news:csdrah$n0h$ snipped-for-privacy@news.manner.de...

Keine Ahnung. Aber. Sei ein MAnn, sei hart und versuch KV auf dem klassischen Weg zu verstehen. Versuche mit Freunden das Problem gemeinschaftlich zu lösen. ISt gleichzeitig ne teambildende Übung.

Naja, wir haben rumgeABELt. Genauso wie wir noch Pascal programmiert haben. Sicher wäre es sinnvoll hier bissel uptodate zu werden, aber die Grundlagen kann man auch damit vermitteln. Die Welt ist selten perfekt.

MfG Falk

Reply to
Falk Brunner

"MaWin" schrieb im Newsbeitrag news: snipped-for-privacy@individual.net...

Sicher?? Beweise?

Ich sag mal, ein FF hat nur ein Bit Speicherkapazität. Wozu sollte ich dann

2 Eingänge verwenden, ich kanns doch nur auf 1 oder 0 setzen. Jaja, es gibt Ausnahmefälle, aber die Praxis zeigt, dass D-FF sinnvoller sind.

MfG Falk

Reply to
Falk Brunner

"Falk Brunner" schrieb im Newsbeitrag news: snipped-for-privacy@individual.net...

Na, es spart(e) externe Gatter, weil sozusagen ein paar Gatter intern drin sind. Man kann aus D leicht JK machen,

D --+------ J | +-|>|o- K

aber umgekehrt ist es aufwaendiger (left as an exercise to the reader).

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
 Click to see the full signature
Reply to
MaWin

Ganz deiner Meinung. Ich schrieb über das große.

Das eine kannst du vom anderen nicht fern halten.

Du brauchst aber das eine um das andere zu machen. Natürlich musst du dir erst Gedanken machen wie nun die Differntialgleichung ist. Aber ich finde man muss sie nicht mehr Rechnen wenn es der Computer kann.

Man. Wer kennt denn schon alle Grundlagen mit denen er arbeitet? Man muss doch mal irgendwo einen Strich machen können und sagen: Das akzeptiere ich jetzt so wie es ist. Das ist ein Werkzeug und muss nicht hinterfragt werden. Oder machst du dir jedes mal Gedanken wie es nun mit dem NNTP Protokoll funktioniert wenn du deine Postings versendest? Überlegst du welche Modulation nun auf den Übertragungsstecken eingesetzt wird?

Dagegen ist nichts einzuwenden. Aber warum willst du Technik verteufeln die dir beim Denken hilft?

Tschüss Martin L.

Reply to
Martin Laabs

"Martin Laabs" schrieb im Newsbeitrag news: snipped-for-privacy@individual.net...

für

Will ich auch nicht. Aber man braucht BEIDES und sollte sich nicht nur auf die Zahlenhackerei mit der Elektronik beschränken.

wissen,

Gelegentlich schon.

Quark. Als Newsgroupteilnehmer bin ich User, nicht Ingenieur. Das ist was vollkommen anderes.

Ich verteufele nicht die Technik. Ich sage, dass man TROTZ Technik die Grundlagen beherrschen muss und nicht dem Trugschluss verfallen sollte, in der heutigen Zeit haben alle Grundlagen ausgedient.

MfG Falk

Reply to
Falk Brunner

Nein, genau wegen der Signatur.-). Unsere Probleme hier, spezifizieren wir in VHDL und implementieren in FPGAs, üblicherweise sage ich meinen Studenten sie sollen nicht minimieren. Bei einem habe ich das mal vergessen, der kam prompt mit einer minimierten Lösung. Bei einem etwas aufwendigeren Problem ist die Wahrscheinlichkeit von Fehlern nicht gerade gering, genau das ist ihm auch passiert. Es ergibt sich noch ein anderes Problem. Üblicherweise überlebt nur der Quellcode. Die Minimierung steht auf irgendeinem Blatt, das u.U. mal abgeheftet wurde. Damit kann eine minimal implementierte Lösung nur schwer ohne die zusätzlichen Infos nachvollzogen werden. Werden dagegen die Zeilen aus der Tablle sturr in eine HDL übertragen, kann mann später einfach die Tabelle wieder rekonstruieren.

Richtig, Es stellt sich nur die Frage, auf welche Basis bezieht sich das Grundverständnis? Eine 74er Reihe, FPGA, CPLD, ASIC? Dementsprechend ist auszublden. Je mehr man manuell macht, umso mehr Fehler gibt es. Diese sucht man dann aufwendig wieder raus.

Ich auch, trotzdem halte ich es für überflüssig. Wie exerzieren, bei der Fahne haben wir stundenlang in der Grundausbildung exerzieren geübt, nur um uns einmal bei der Vereidigung nicht in die Hacken zu latschen.

Tom, der genau die Diskussion anstoßen wollte.

--
Dr.-Ing. Thomas Reinemann                www.uni-magdeburg.de/reineman
IMAT                                     Public key available
 Click to see the full signature
Reply to
Thomas Reinemann

"Thomas Reinemann" schrieb im Newsbeitrag news:csg1nc$k8p$ snipped-for-privacy@fuerst.cs.uni-magdeburg.de...

Minimieren und minimieren sind in VHDL zwei Paar Schuhe. Man kann prinzipiell jeden (fast) Algorithmus in VHDL hinschreiben, wie der dann in Hardware umgesetzt wird, ist ne andere Frage. Diese Art der "Minimiereung" wird im allgemeinen synthesefähiges VHDL genannt. Eine Boolsche Minimierung in VHDL macht niemand (der VHDL kapiert hat). Denn dann schreibt man höchst selten in Gatterebene

xyz aufwendigeren Problem ist die Wahrscheinlichkeit von Fehlern nicht gerade

Siehe oben.

Zeilen

OH Graus. Naja, VHDL im akademischen Bereich unterscheidet sich mal wieder nicht wenig von VHDL in der (marktwirtschaflichen) Praxis. So einen Quark würde ich nicht als Hardwareentwurf auf VHDL-Ebene bezeichen, das ist VHDL als Netzliste missbraucht (und damit weit hinter den Möglichkeiten ungenutzt liegen gelassen)

VHDL ist teilweise selbstkommentierend. Veriloger werden da jetzt ketzerisch sagen, mit VHDL kann man Romane schreiben, naja, aber auch bei VHDL tippt man sich nicht tot. Dazu noch sinnvolle Kommentare, und man braucht (fast) keine externe Doku mehr (Bei kleinen bis mittelgrossen Sachen).

Das Tabellenrekonstruieren verrät einem auch nicht wichtige Details, ist nur der rein logische Zusammenhang. Ecken und Kanten (oder Workarounds, bekannte Beschränkungen) kann man daraus nicht ablesen.

Hier werden wieder zwei Dinge in einen Topf geworfen.

1) Es geht um das unverzichtbare Grundverständnis. Ob man das mit nem reinen FlipFlop auf dem Papier erklärt oder ein wenig in Richtung Praxis losgeht und sie 74' Reihe verwendet, ist egal. Ich hätte auch nix dagagen wenn statt der 74 Reihe (die fast nur noch historische Bedeutung hat) moderne Technologien zumindest überblicksweise vermittelt würden. Aber die Welt geht auch nicht unter, wenn Student von heute mit den Bausteinen von gestern die Grundlagen übt. Und da hängt es ja schon bei dem OP. Und wenn er das nichtmal gebacken bekommt, wie soll er da FPGA und ASICs verstehen?? 2) Logische Optimierung in der Praxis. Klar sollte man sich dort auf die Fälle beschränken, wo die automatische Generierung per Synthese zu langsam oder zu gross ist. Ist genauso wie der Vergleich Assembler/C. Mit Assembler plagt man sich nur rum, wenn das Ergebnis des C-Compilers zu gross/langsam ist. Und das trifft meist nur auf kleine Kernroutinen, meist im Embedded-Bereich zu. Wie eben die alte Programmierererkentnis. 90% der Rechenzeit werden in 10% des Codes verbraucht. Diese 10% müssen optimiert werden, der Rest "nur" solide hingeschrieben.

Ich nicht. Was willst du anstatt bezüglich Logikoptimierung vermittlen? Dass es irgendeine schöne Software irgendwie schon machen wird? Ich hoffe nicht.

Hacken

Nicht alles was hinkt, ist ein Vergleich.

MfG Falk

Reply to
Falk Brunner

Hallo,

hat den noch jemand praktische Tips oder Faustregeln für das Minimieren mit Hilfe der Schaltalgebra?

Ich sitze jetzt (den ganzen Tag schon) vor solchen Ausdrücken (es sind dann noch 2 mehr):

K=(Q3 Q2 -Q1 Q0)+(-Q3 -Q2 -Q1 Q0)+(-Q3 Q2 -Q1 -Q0)

und

J=(-Q3 Q2 Q1)+(Q2 Q1 Q0)+(-Q3 Q1 Q0)+(Q3 -Q2 Q1 -Q0)

zusammen mit 2 Büchern wo die Schaltalgebra auch mit Beispielen erklärt ist, gehe ich dies durch, vergleiche die Endergebnisse mit der Logiktabelle, stelle fest es harkt an einer Stelle und fange von vorne an...

Dirk

Reply to
Dirk Bossenz

"Dirk Bossenz" schrieb im Newsbeitrag news:csh32t$qs$ snipped-for-privacy@news.manner.de...

Rot ist Blau und Plus ist Minus. Oder so ähnlich ;-))

Im Ernst. Bei der boolschen Schaltalgebra gibt eigentlich nur 3,4 Grundregeln.

- AND geht vor OR, äquivalent zu Punktrechnung geht vor Strichrechnung.

- Theorem von De Morgan.

A and B = (not A) or (not A) bzw. A or B = (not A) and (not B)

- X and 0 = 0, X and 1 = X

- X or 0 = X, X and 1 = 1

- Klammern werden ebenso gehandhabt wie bei "richtigen" Gleichungen.

Damit kann man Boolsche Gleichungen genauso (einfach) zusammenfassen wie "normale" Gleichungen. Viel Erfolg.

MfG Falk

Reply to
Falk Brunner

Dirk Bossenz schrieb:

Die Praktiker-Faustregel ist: Es geht primär nicht darum, Gatter zu reduzieren, es geht darum, Bauteile zu sparen.

Wenn man tausende von Gattern braucht, nimmt man ein Gate-Array und kann dann das Tool des Herstellers drüberlaufen lassen, um die Schaltung möglichst gut auf dieses spezielle Gate-Array abzubilden.

Wenn man nur ein Dutzend Gatter braucht, ist meist die Beschaffbarkeit und der Preis der Bausteine entscheidend.

Wenn das also keine Prüfungsaufgabe ist: Lass es.

--
Jan
Reply to
Jan Kandziora

Völlig am Thema vorbei, was hat dein RTL-Beispiel mit Minimierung zu tun.

Genau darum geht es. Ihm hat man Logikminimierung beigebracht und leider nicht VHDL.

Richtig, dazu gehöhrt "und", "oder" und das Speichern von Signalen in FF. Ich habe nie geschrieben das dies sinnlos ist, sondern das man Logikminimierung kaum noch braucht und es dementsprechend nicht mehr oder deutlich weniger als vor zehn Jahren zu lehren ist. Auf diesem Stand befinden sich aber noch die meisten Dozenten.

Den Studenten soll nicht stundenlang Logikminimierung beigebracht werden, sondern die Spezifikation von Problemen in einer HDL. Das Grundverständnis ist heute ein anderes. Als erstes kommen heutige Studenten von der Software und kennen sich mit Hardware nicht aus, dementsprechend ist Hardware einzuführen. Sehr komprimiert könnte es so aussehen, auf VHDL bezogen:

-Schleifen werden mit dem process-Statement ausgedrückt.

-Ein Bit wird in einem Signal gespeichert, Zuweisungen geschehen an Taktflanken.

-Ergebnisse von logischen Funktionen werden innerhalb eines Prozesses einem Signal zugewiesen.

Dann kommen Sachen wie Vektoren, Variable usw. dran. Genau genommen käme man sogar ohne D-FF aus, soweit würde ich aber nicht gehen.

Bye Tom

Reply to
Thomas Reinemann

"Thomas Reinemann" schrieb im Newsbeitrag news:csijul$939$ snipped-for-privacy@fuerst.cs.uni-magdeburg.de...

Nun, das war die Antwort auf deinen Einwurf.

wir

Sag ich doch.

Schon möglich. Aber auch ich sagte nix von ewig und drei Tage KV-Diagramme pauken. Aber wissen wie es geht sollte man schon.

Wenn überhaupt.

Hardware wird aber auch immer weniger, Software immer mehr. Klar, ganz ohne Hardware läuft auch Software nicht, aber die Gewichte sind nun mal eindeutig in Richtung Software verschoben. Und heutige Hardware ist ja auch schon fast Software (HDL).

einem

Schon klar, aber dazu sollte man doch wenigstens die digitalen Grundlagen kennen (State Machines, Decoder etc)

MfG Falk

Reply to
Falk Brunner

Gut ich glaube nun die Lösung gefunden zu haben. Zumindest theoretisch mit der Logiktabelle durch gespielt, geht es.

Wenn man das Problem stur mit den KV-Tabellen abarbeitet und die so erhalten Terme nimmt - durch ausklammern und ein wenig sich aufhebende Quotienten rausnimmt komme ich schon weit - es reicht aber noch nicht.

Wenn wir nun aber noch den Fakt hinzunehmen das bei J=K=1 sich am Ausgang der Negierte Vorherzustand einstellt, kann noch weiter minimiert werden.

Die Frage für mich ist, wie "sauber" ist diese Lösung? Ich nehme an, das, wenn die Taktpulse entsprechend kurz sind es zu "Fehlschaltungen" kommen kann, wenn bsp. am J noch nicht 1 ist aber an K bereits anliegt...

Da ich den Takt "Handmade" in die Schaltung gebe, dürfte es in diesem Fall aber keine Probleme geben.

Dirk

PS: Wer an der kompletten Lösung (Logiktabelle und minimierte Gleichungen) interessiert ist, kann sich melden.

Reply to
Dirk Bossenz

"Dirk Bossenz" schrieb im Newsbeitrag news:csjpcn$8o3$ snipped-for-privacy@news.manner.de...

Quotienten??

Tja, wahrscheinlich was vergessen.

Schön.

;-))) Dann wird das FlipFlop bzw. die Gatter geschindigkeitsmässig überfahren. Mit geringerer Taktfrequenz sollte es dann gehen. Wobei so eine einfache Schaltung auch als TTL Grab sicher locker 10 MHz schaffen sollte.

Das ist ein verbreiteter (Anfänger) Irrtum. Das gilt nur, wenn man die Takte per Hand vorgibt UND sicherstellt, dass sie SAUBER (nicht nur rein ;-) an den FFs ankommen, dann gehts. Will sagen, der Taster zum Handtakten muss entprellt sein. Also Schmitt-trigger mit RC Glied vorn dran. Ein einfacher Taster tuts nicht!!!

MfG Falk

Reply to
Falk Brunner

Hallo Thomas,

ich bin etwas skeptisch, was den unkritischen Einsatz von solchen Automatisierungstools wie VHDL betrifft, auch wenn das viele Vorteile hat, jedoch nicht immer. Grade bin ich über 1 Problem gestolpert, das mit VHDL nicht implementierbar scheint, mit der klassischen Methode über KV-Minimierung aber durchaus zu 2 mir bekannten Lösungen führt, wenn auch etwas mühsam und mit etwas Nachdenken verbunden.

Es handelt sich um einen symmetrischen Frequenzteiler /3, realisierbar z.B. mit 3 D-FFs, Schaltungslösungen sind bekannt. Wenn Du das mit VHDL in Hardware in 1 process implementieren kannst, sag mal Bescheid, ich schaffe es nicht, obwohl die Formulierung ganz simpel ist. Viel Spaß :-)

Winfried

Reply to
Winfried Salomon

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.