Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
22.10.2008, 09:35 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2008 09:38 von Falk.)
Wie im Titel angekündigt bezieht sich meine Frage auf die Funktion "Tick count". Wann wird eigentlich der Zähler zurückgesetzt bzw. wie geschieht das? Wenn ich die Auflösung 32bit nehme bedeutet das ja, dass nach 4294967296 Ticks dieser auf 0 gesetzt werden muss. Konkret stellt sich für mich die Frage, was passiert wenn in n-ten Schleifendurchlauf dieser Wert erreicht ist und im (n+1)-ten dieser auf 0 springt. Das würde doch bedeuten, dass die Differenz beider 0 wird und ich eine falsche Angabe erhalte! Bisher habe
Die Frage bezieht sich eigentlich nicht nur auf die Funktion auf einer FPGA, sondern eher allgemein.
Schöne Grüße
Falk
Currently: zzzZZZZZZZZ
Anzeige
22.10.2008, 09:45 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2008 09:48 von Achim.)
Diese Funktion gibt die Zeit seit 1.1.1904 (?!) in ms an...das steht auch in der Hilfe! EDIT: So wars früher mal...Für heutige Programmieraufgaben ist diese Zeitspanne bis zum Überlauf wohl ausreichend...
Aus der Hilfe: Be careful when you use this function in comparisons because the value of the millisecond timer wraps from (2^32)–1 to 0.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Der Tick beginnt mit dem einschalten des PC, reseten geht nicht.
Damit kann man z.Bsp. schauen, wielange der PC eingeschaltet ist.
Durch eine gewisse logik, kann auch ein überlaufen des Timers gehandhabt werden.
Aber, hast du schon mal geschaut wieviel die 4294967296ms sind?
.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
' schrieb:Diese Funktion gibt die Zeit seit 1.1.1904 (?!) in ms an...das steht auch in der Hilfe! Für heutige Programmieraufgaben ist diese Zeitspanne bis zum Überlauf wohl ausreichend...
Ja, aber wenn ich keinen ms habe, sondern auf einer FPGA die tatsächlichen Ticks bei einer Uhr mit 40MHz Taktrate zähle, dann wird der Counter recht schnell voll, oder? Die 4294967296 wären dann nach 107 s aufgebraucht und das Ding müsste wieder zurückgesetzt werden.
' schrieb:Ja, aber wenn ich keinen ms habe, sondern auf einer FPGA die tatsächlichen Ticks bei einer Uhr mit 40MHz Taktrate zähle, dann wird der Counter recht schnell voll, oder? Die 4294967296 wären dann nach 107 s aufgebraucht und das Ding müsste wieder zurückgesetzt werden.
Ja, das stimmt zwar, aber mal ehrlich - bei welcher Anwendung braucht man die zeitliche Auflösung und Akkuratizität (da fehlt mir gerade ein richtiges deutsches Wort für...;)des FPGA über lange Zeiträume, wo man das nicht über DMA-FiFos oder ähnliches auf den host schreiben kann bzw. warum muss ich auf dem FPGA so lange warten, bei mehreren Sekunden kann ich das Timing doch auch auf dem Host-Rechner machen lassen, oder?
Ich sehe die akademische Fragestellung aber mir fehlt irgendwie die praktische Relevanz...