Wie kann man die Hazards losbekommen?
Guten Tag, ich habe folgende Aufgabe:
Dort habe ich schon einmal die einzelnen Gruppen markiert.
Leider weiß ich nicht wie man nun die ganzen Hazards los wird. es sind ja immerhin 8. Klar ist, ich könnte die obere Formel um Komponenten erweitern, aber dann wird diese Formel ja elendig lang.
Hat Jemand eine Idee?
5 Antworten
Bild (A)
So jetzt sind wir d'accord ;-)
8 Hazards.
Mich nervt dieser Editor, wo man nur eine bestimmte Zeit nachbearbeiten kann.
ich hab eine hazardfreie Variante mit 7 Oder. Ist kürzer als die Originale mit 8. Siehe Bild (B).
Wie gesagt: ich kann nicht beweisen, ob das die optimale Lösung ist. Gibt es da eine Vorgehensweise?
Ja, ich habe auch eine mit 7 und das mit der Vorgehensweise wäre eigentlich auch meine Frage gewesen. Ich glaube, man kann nur noch versuchen die Formel etwas umzuformen, aber eine Möglichkeit sehe ich da gerade auch nicht, deshalb verstehe ich auch die ganze Aufgabe nicht so
Eine triviale Möglichkeit wäre gewesen, einfach jeden roten Strich durch eien weitere Gruppe zu ersetzen: Dann hätten wir als sicher nicht-optimale Lösung 10 statt 7 Gruppen. Bild (D)
Ich bin etwas verwirrt: Du hast ja nicht alle möglichen Loops eingezeichnet:
Hazards wären dann die roten Übergänge: Die Regel lautet ja: Finde benachbarte Einsen die nicht in der selben Loop liegen.
Da würde ich somit 4 statische 1-Hazards finden. 0-Hazards sehe ich keine - du?
Kannst du nochmals in dich gehen oder mich aufklären?
Oder wurde die Gruppierung schon vorgegeben?
Wenn du die Regel genau betrachtest, kannst du auch sofort angeben, wie man Hazards beseitigt - ist logisch ;-)
ich sehe gerade, dass die Schaltung ja vorgegeben war. Nun ist mir klar, was gemeint ist. Hab das übersehen. Siehe neue Antwort!
Hallo, erstmal danke für die Antwort.
Meine Skizze zeigt nur die Blöcke, die entstehen wenn ich die Logische Formel "bearbeite" (falsches Wort:)).
Mein Problem ist nun, dass ich nicht verstehe, wie du auf 4 Hazards kommst, zählen die lila Blöcke nicht mit? Sonst komme ich nämlich auf 8.'Hazards.
Deren Beseitigung ist nun auch problematisch.
LG
LIsa
ich habe übersehen, dass die Schaltung vorgegeben war. Mit dieser würde ich auf 5 Hazards kommen (siehe separate Antwort). Wie zählst du die? Wo siehst du lila Blöcke?
Also wenn du dir dein neustes Bild anschaust, dann zähle ich die roten und lilanen Verbindungen. denn ein Hazard tritt ja auch auf, wenn auf der gegenüberliegenden Seite von einer 1, eine 1 ist, oder?
vergiss mein altes Bild komplett und schau auf Bild (A). Ich habe die gegenüberliegenden vergessen. Somit 8 Hazards - Stimmt ;-)
Bild (B):
So wäre eine hazardfreie Variante mit 7 Oder.
Findest du was einfacheres? Ich momentan nicht, kann aber sein, dass ich was übersehe.
Bild (D)
nicht-optimale Lösung mit 10 Oder.
Leider weiß ich es auch nicht 100% da ich kein Mathematiker bin und das nur anwende. Ich brauche das nicht täglich und so wahnsinnig interessant finde ich es nun auch nicht, dass ich das bis ins kleinste Detail verstehen will.
War aber eine willkommene Wiederholung des Allgemeinwissens ;-)
Falls du eine bessere Variante findest, lass es aber wissen!
Das sind die 6 Hazards deiner Schaltung:
Wie bekommst du die weg?
Du kannst im einfachsten Fall aus einem roten Strich eine Gruppe machen; das wären dann 8 Oder-Verknüpfungen.
Es geht natürlich viel einfacher...
;), Ja das ist nervig xd also das wären nun meine Hazards, jedenfalls denke ich das. Nun stellt sich die Frage der Minimierung. bzw wie das überhaupt geht.
Meiner Meinung nach muss ich nun alle 1'sen in ein Gruppe stecken die zusammen einen Hazard bilden. z.B x0*not x1 + ... usw. Damit wird die Formel aber nicht wirklich kürzer:)