Hallo! Ich bin noch neu in der VHDL-Sprache und habe schwierigkeiten bei folgender aufgabe: Es muss aus FlipFlops ein asynchroner 4Bit Zähler entworfen (Schaltplan liegt bereits vor). Die gesamte Schaltung besitzt fürs erste nur den Taktsignal als Eingang, alles andere passiert intern. Was ich bisher gemacht habe: - D-FlipFlop als VHDL Module implementiert (mit Daten-, Taktsignal-Eingang und Ausgang und Ausgang negiert, mit Prozess beschrieben) - das Schematische Symbol für den FlipFlop generiert und mit Schemata die gesamte Schaltung etstellt (die Schaltung selbst hat bei der Überprüfung keine Fehler und ist mit dem Schaltplan identisch). Mein Problem ist dass ich an den Ausgängen nur undefined rausbekomme, da es mir nicht gelingt, die Dateneingänge der FlipFlops in der großen Schaltung zu initialisieren. Zum Beispiel wird an Dateneingang von FlipFlop 1 der negierte Ausgang Rückgekoppelt, das heißt, ich habe bei der Gesamtschaltung keinen expliziten Zugriff auf die einzelnen Dateneingänge. Der Zähler sollte automatisch von 0000 hochzählen, was aber wegen fehlender Belegung nicht geschieht. Ich habe schon versucht bei der port Deklaration vom FlipFlop den Dateneingang mit '0' als initial Wert zu definieren: entity DFF is port(D : in STD_LOGIC := '0'; CLK : in STD_LOGIC; Q, NOT_Q : out STD_LOGIC); end DFF; leider hat das bei der Simulation keine Auswirkung, die Ausgänge bleiben weiterhin Undefined. Wo mach ich den Fehler? Könnte mir jemand bitte helfen? Danke im Voraus und schönen Abend noch!
attilatrp schrieb: > leider hat das bei der Simulation keine Auswirkung, die Ausgänge bleiben > weiterhin Undefined. Lass doch mal die Waveform sehen. Und auch die Testbench dazu. > Wo mach ich den Fehler? Irgendwo ausserhalb des geposteten Codes... attilatrp schrieb: > - das Schematische Symbol für den FlipFlop generiert und mit Schemata > die gesamte Schaltung etstellt Warum als Schematic? Mach doch alles in VHDL. Das ist einfacher zu überschauen, als wenn du noch ein Programm lernen musst...
:
Bearbeitet durch Moderator
Hallo lkmiller und vielen Dank erstmal für deine Antwort! Die Aufgabe schreibt es leider vor, dass man die Schaltung als Schemata erstellt, mir wäre Code auch lieber. Ich poste paar Screenshots von der Schaltung, Waveform, sowie TestBench und FlipFlop-Beschreibung. Viele Grüße
Also, als Code habe ich es jetzt hinbekommen, muss nur noch irgendwie rausfinden, wie ich das jetzt grafisch schaffe, dass ich Signal D mit dem initial Wert '0' versehe. Falls sich damit jemand auskennt, würde ich mich über Tipps freuen!
Nein, die Aufgabe schreibt es so vor. Habe es jetzt auch in Schemata hinbekommen. Nun soll man selber ein Reset in die gesamte Schaltung einbauen. Dafür steht ein Eingang "Reset" zur Verfügung, wenn dort eine 1 anliegt, müssen die Flipflops nach und nach auf 0 zurückgesetzt werden. Dabei darf man die Flipflops nicht verändern, und es stehen nur AND und NAND-Gatter zur Verfügung. Ich habe jetzt zwar eine Schaltung gemacht, was aber glaub ich nicht so funktioniert, wie es sollte(die Zähler werden nicht immer zurückgesetzt). Ich füge ein Bild von der Waveform und von der Schaltung ein. Mir sind die Ideen ausgegangen, kann mir da jemand helfen, wo ich den Fehler mache?
Ich merke gerade, dass ich die Signal bei Waveform aus versehen abgeschnitten habe. Zeile 1: Clock-Signal Zeile 2: Reset-Signal Zeile 3: Cleared-Signal (Soll genau dann eine 1 liefern, wenn alle Flipflops in Zustand 0 sind)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.