VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks
Zustandsproblem - Uhr

Anfang   zurück   weiter   Ende
Autor Beitrag
Saja
Registrierter Benutzer


Beiträge: 2

New PostErstellt: 19.06.10, 22:08  Betreff:  Zustandsproblem - Uhr  drucken  Thema drucken  weiterempfehlen Antwort mit Zitat  

Hallöchen!

Ich probiere mich derzeit am Programmieren einer digitalen Uhr, die Uhrzeit "hochzählen" und anzeigen lassen kann. Demhinzu will ich aber auch optional eine Uhrzeit einstellen können, die dann quasi den Startwert darstellt, und von wo aus sie weiter zählt. Diese Funktion hab ich mittels Zuständen programmiert und auf der Platine ausgetestet mit dem Fazit, dass meine Uhr zwar in der Lage ist, Zeiten einzulesen, allerdings passiert das mit leichter Verzögerung (im Schnitt 2 Sekunden).

Ich glaube, dass es daran liegt, dass ich in meinem Prozess bei einem Zustand (Uhr_stellen) einen kompletten neuen Zustandskomplex eingefügt habe, Zustände im Zustand sozusagen
(Ich habe die Datei dazu mal in den Anhang gepackt.)
Daraufhin versuchte ich nun, diesen Abschnitt etwas sauberer umzuschreiben, indem die beiden Zustandskomplexe in Form von zwei Prozessen parallel zueinander laufen, was allerdings nicht so klappen will, wie ich es gern hätte.

Habt ihr denn eine Idee, wie ich diese Zustände im Zustand anders schreiben kann und damit vielleicht sogar noch die Verzögerungen behebe?
Ich bin für jeden Vorschlag offen

Liebe Grüße,
Saja



Dateianlagen:

uhr_tickt.vhd (12 kByte)
anzeigen - speichern
Datei wurde schon 241-mal heruntergeladen.

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
Dr. Faustus

Administrator

Beiträge: 107
Ort: Aßling


New PostErstellt: 20.06.10, 07:09  Betreff: Re: Zustandsproblem - Uhr  drucken  weiterempfehlen Antwort mit Zitat  

Hi,

hast Du mal eine Simulation gemacht?
Kannst Du die Testbench bitte auch posten?

Noch ein Tipp:
  • Für jede entity ein eigenes File erhöht die übersichtlichkeit.
  • In die Sensitivity list eines getakteten Prozesses hehöhrt nur der takt und wenn vorhanden der reset.

Gruesse,

Michael


nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
Dr. Faustus

Administrator

Beiträge: 107
Ort: Aßling


New PostErstellt: 20.06.10, 07:17  Betreff: Re: Zustandsproblem - Uhr  drucken  weiterempfehlen Antwort mit Zitat  

Kann es sein das

count_next und clk_next im "Taktteiler" auch getaktet sein müssen?

Wie hoch ist dein Systemtakt? 25MHz? 50MHz?

Gruesse,

Michael

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
Saja
Registrierter Benutzer


Beiträge: 2

New PostErstellt: 20.06.10, 11:51  Betreff: Re: Zustandsproblem - Uhr  drucken  weiterempfehlen Antwort mit Zitat  

Jap, ich hab schon einige Simulationen gemacht und dabei immer wieder festgestellt, dass mein Programm mit dem Einlesen nicht klar kommt.
Er soll ja prinzipiell immer dann den eingegebenen Wert setzen, wenn das einstellen-Signal 1 ist und erst bei 0 dürfte das nächste Zeitfeld manipuliert werden. Aber wenn bei mir das einstell-Signal bereits 1 ist und ich ihm einen neuen Einlesewert gebe, stellt er den auch ein, was aber theoretisch nicht sein dürfte.
In der Testbench hab ich so einen Fall drin (siehe Anhang).

Der Systemtakt ist im Übrigen 50 MHz groß.
Mein Taktteiler ist ja dazu da, den Takt zu teilen, er kriegt also das Clock-Signal rein und gibt sein Ausgangssignal in meine Uhr hinein und auf dieses reagiert diese schlussendlich.
Allerdings bekommt sie den Signaltakt selbst (also die Clock) überhaupt nicht rein. Könnte da der Fehler liegen?

Was die einzelnen Files angeht, so hab ich die prinzipiell nochmal alle entity für entity extra "vorhanden", rein aus Arbeitszwecken hab ich es nur lieber, wenn alles in einer Datei ist, aber trotzdem vielen Dank für den Tip

Liebe Grüße,
Saja



Dateianlagen:

norm_uhr_tb.vhd (5 kByte)
anzeigen - speichern
Datei wurde schon 251-mal heruntergeladen.

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
Sortierung ndern:  
Anfang   zurück   weiter   Ende
Seite 1 von 1
Gehe zu:   
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj