Inkonsistenz???
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Praktikum 2
Hallo… :#:
Fliege gerade über das Aufgabenblatt Nummer 2. Irgendwie hab ich schon ein paar kleine Dümmlichkeiten gefunden:
Nun ja, ich finde, dass man über die Vorbereitungen (geht in 20minuten zu machen) nicht wirklich was abfragen kann. Sonst würde das ja noch mehr in die Vergangenheit ausarten. Was heißen würde, man muss nochmal lernen… Jetzt bin ich verwirrt… :rolleyes: :moody:
Gut, bis Bald!
EDIT:
Was bedeutet “–setzt nächsten Zustandbegin”???
Und wann wird current_state gesetzt?
Und noch eine andere Frage:
Muss man im zweiten Praktikum nun den gesamten Stoff (wie auch für das erste Praktikum) können, oder nur das neue Zeug, wie VHDL ?!
Denn hat es dann überhaupt Sinn, den “schlechten Leuten” des 1. Praktikums einen Nachtermin gemacht zu haben, wenn es hier sowieso wieder abgefragt wird ?
Für Leute die noch ein bißchen was zum lesen über VHDL brauchen:
http://tech-www.informatik.uni-hamburg.de/vhdl/doc/kurzanleitung/vhdl.pdf
@nico: mein ich doch!..
Hallo!!!
Ich würde mich sehr freuen, wenn mir jemand beim Wecker helfen könnte!!!
1 Frage: Vervollständigung des Zustanddiagrammes!! Also ich hab zwei fehlende Zustandsübergänge gefunden: SET ALARM → TIME und
TIME → SET TIME!! Ist das so richtig oder nicht???
2 Frage: Wie stelle ich die Zustandzüberdeckungstabelle auf???
3 Frage: Ergänzung:
when 0 => digit-in <= … WAS MUS ICH HIER HINSCHREIBEN???
Fürs erste runde wären nur diese Fragen!! Ich würde sehr dankbar sein, wenn mir jemand helfen würde!!!
Das ist bestimmt nicht so schwer, ich bin wahrscheinlich ein bißchen :vogel: !!!
Gruß
Zu Frage 1: Ja, ich glaub schon, dass es richtig ist!!!
Zu Frage 2: Da steht doch nichts von einer Zustandsueberdeckungstablle!??!!!?!
Es wird eine Zustandsuebergangstabelle verlangt und wie die aussieht steht im Skript!!!
Zu Frage 3: digit_in is ein Array aus std_logic!!?!! Folglich musst du dort einen Vektor aus Einsen und Nullen hinschreiben!!!??!!
Zum Beispiel digit_in<= “0000000”;
!!!
??
Terry Pratchett sagt dazu: “Multiple exclamation marks are a sure sign for a diseased mind.”
also bei others schreibst du: “1011111”, d.h. nur das in der mitte leuchtet.
Zustandsübergängt:
SetTime → Time
Time → SetTime
Time->SetAlarm
SetAlarm-> Time
Time->Time (1/1)
Time->Time(0/0)
SetAlarm->SetAlarm
SetTime->SetTime
also insgesamt 7 (8) Zustandübergänge
naja aber eine schlaufe ist ja schon bei set alarm eingezeichnet, sollen wir die wegstreichen?
Ach so ein Quark, ich sollte lesen lernen.
Entschuldigt.
Zwei Anmerkungen:
Uns wurde im Colloquium bei der Besprechung der Hausaufgaben erklärt, dass die Sieben-Segment-Anzeigen aus irgendeinem Grund genau falsch herum angesteuert werden, d.h. “High => Dunkel” und “Low => Licht”. Wer sich den VHDL-Code genau angeschaut, der wird feststellen, dass ganz unten in der [m]sevensegment[/m]-Ansteuerung das Invertieren des Signals bereits realisiert wird. Wenn man also z.B. nur den mittleren Balken zum Leuchten bringen will, muss man “0100000” schreiben, also so, wie die Anzeige dann auch wirklich leuchten soll.
Zustandsübergänge habe ich insgesamt 9, weil ich den Fall mit einbezogen habe, dass man unmittelbar von “Set time” zu “Set alarm” springen kann und umgekehrt, indem man den gedrückten Knopf loslässt und exakt gleichzeitig den anderen drückt. Das ist zwar in der Praxis ziemlich unwahrscheinlich, aber ich denke mal, wenn die Spezifikation vollständig sein soll, gehört das trotzdem dazu.
Das habe ich vorhin gemeint.
Wenn man S1 und S2 gleichzeitig drueckt, so kommt man zu time und
wenn du auch nur einen loslaesst springt es auch zu time.
Ich meine, dass dieses „exakt im selben Moment“ nicht gibt.
Wir wuerden es blos nicht sehen.
Ich verstehe das schon wieder nicht!!!
Also bei der 7 Segment-Anzeige:
abcdefg
0000001
g steht ja für den mittleren Balken, also muß ich bei others das hinschreiben!!!
Und bei eins:
0110000
Aber ich verstehe was wahrscheinlich falsch, denn ihr habt das nicht geschrieben!!!
Die fuenf Kommentarzeilen unter process(number) zeigen doch,
welches Bit fuer welchen Balken steht.
schau dir doch noch mal die codierung auf dem blatt an - da ist als kommentar die belegung der 7s-anzeige gegeben und auch die reihenfolge in der der input erwartet wird, nämlich 6543210.
die codierung ist auf dem blatt wie folgt:
|-0-|
6 1
|-5-|
4 2
|-3-|
Das hast du bestimmt vom Übungsblatt 8 übernommen. Die Sieben-Segment-Anzeige vom Xilinx-FPGA wird dummerweise ein kleines bisschen anders angesteuert. Das steht allerdings auch in der Quellcode-Datei [m]sevensegment.vhd[/m] als Kommentar drin:
[quote=Quellcodeausschnitt][m]
– |-0-|
– 6 1
– |-5-|
– 4 2
– |-3-|
[/m][/quote]
Nachtrag: Ups, da war ich wohl etwas zu langsam…
Jetzt hab ich doch mal eine Frage zu Punkt 2:
“Implementieren sie das Wecker-Schaltwek […]”
Bedeutet das, dass wir das gesamte Schaltwerk entwerfen sollen mit allem drum und dran.
Hoert sich ziemlich unwahrscheinlich an, da es doch viel zu ausfuehrlich waere.
Aber wer nicht fragt bleibt dumm.
Danke für eure Hilfe!!!
Obwohl ich das noch immer nicht verstehe, bedank ich mich für eure Hilfsbereitschaft so einen wie mir das erklären zu wollen!!!
Also danke nochmals!! Vielleicht trifft mich ja noch der Blitz des Wissens, und ich krieg das für morgen irgendwie hin!!!
Alles halb so wild!
Du musst nur die Zustandsübergangstabelle aufstellen und daraus die Überführungsfunktionen für die beiden benötigten FlipFlops ableiten. Praktischerweise brauchst du nicht mal eine Ansteuerungsfunktion, weil es sich um D-FlipFlops handelt.
Ja, so hab ich das auch gemacht.
Sah nur etwas zu wenig aus.