Hallo liebe Community!
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
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.
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?
' schrieb:Aber, hast du schon mal geschaut wieviel die 4294967296ms sind?
Für manchen Dauerlauf zu wenig.
Hallo!
' 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.
Schöne Grüße
Falk
Hi !
' 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...
ch