Quartus® II Tcl Beispiel: Datums-Zeitstempel

author-image

Von

Dieses Beispiel zeigt, wie Sie Datumszeitstempel mit Tcl erstellen. Sie können einen Datums-Zeitstempel in einem skriptgesteuerten Design-Flow verwenden, um genau aufzuzeichnen, wann das Skript ausgeführt wurde. Das Schreiben des Datums-Zeitstempels in Ihre Designdateien ermöglicht auf dem Chip gespeicherten Datenspeicher, wenn das Design kompiliert wurde.

Sie können Tcl-Befehle verwenden, um eine benutzerdefinierte Datumszeit-Zeichenkette mit nur den gewünschten Datums- und Zeitelementen zu generieren. Verwenden Sie den Befehl tcl clock seconds, um das aktuelle Zeit- und Taktformat zurückzugeben, um eine benutzerdefinierte Datums-Zeitfolge zu generieren. Auf der Webseite zur Datums- und Zeitformatierung finden Sie weitere Informationen zum Formatieren der Datumszeit. Sie enthält Beispiele und eine Tabelle mit Formatierungsschlüsselwörtern.

Hier sind zwei Beispiele für verschiedene Formatierungsoptionen für eine Datumszeitfolge.

Beispiel 1

Der folgende Befehl generiert eine formatierte Datumszeit-Zeichenkette mit den folgenden Elementen in dieser Reihenfolge:

  1. Vierstelliges Jahr
  2. Zweistelliger Monat (01-12)
  3. Zweistelliger Tag (01-31)
  4. Zweistellige Stunde im 24-Stunden-Format (00-23)
  5. Zweistellige Minute (00-59)
  6. Zweistellige Sekunden (00-59)
Taktformat [Taktsekunden] -Format {%Y %m %d %H %M %S}

Dieser Befehl generiert eine solche Zeichenkette:

2005 01 10 15 16 55

Beispiel 2

Das zweite Beispiel generiert eine formatierte Datumszeit-Zeichenkette mit den folgenden Elementen in dieser Reihenfolge:

  1. Abgekürzter Monatsname gefolgt von einer Zeitspanne
  2. Zweistelliger Tag des Monats gefolgt von einer Komma
  3. Vierstelliges Jahr
  4. Die Zeit im HH:MM:SS-Format
  5. Ein AM/PM-Indikator
Taktformat [Taktsekunden] -Format {%b. %d, %Y %I:%M:%S %p}

Dieser Befehl generiert eine solche Zeichenkette:

10. Januar 2005 15:31:20

Konvertierung der Datumszeitfolge

Sie müssen die ASCII-Datumszeitfolge in ein anderes Format (wie Hexadezimal oder Binärdatei) konvertieren, um sie in einer Registerbank oder einem Speicher zu speichern. Hier sind zwei Beispiele für die Formatkonvertierung.

Hexadezimales Nichterwähnungszeichen

Wenn Sie Datumszeitelemente verwenden, die nur numerische Werte generieren, können Sie sie zum Zweck der Konvertierung als Ascii-Zahlen behandeln. Der folgende Befehl generiert einen Datumsstempel der Tagsnummer im Jahr (001 – 366), gefolgt von der Stunde im 24-Stunden-Format und dann der Minute.

set str [Taktformat [Taktsekunden] -Format {%j%H%M}]
festgelegt [Format "%X" $str]

Dieser Befehl generiert eine solche Zeichenkette in der Variable out:

17D40F

ASCII zu Hexadezimal

Der folgende Befehl generiert eine Datumszeit-Zeichenkette und konvertiert sie in eine gepackte hexadezimale Zeichenkette, die in der Variable outgespeichert ist. Jedes Hexadezimale-Zeichenpaar ist der Hexadezimalcode für das ASCII-Zeichen.

setzen Sie str [Taktformat [Taktsekunden] -Format {%b. %d, %Y %I:%M:%S %p}]
Binärscan $str "H*" out

Dieser Befehl generiert eine solche Zeichenkette in der Variable out:

4a616E2E2031302C20323030352030333a3363a303520504D

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.