Contoh Tcl Quartus® II: Stempel Waktu Tanggal

author-image

Oleh

Contoh ini menunjukkan cara membuat stempel waktu tanggal dengan Tcl. Anda dapat menggunakan stempel waktu tanggal dalam alur desain berskrip untuk merekam persis saat skrip berjalan. Menulis stempel waktu tanggal ke file desain Anda memberikan penyimpanan pada chip saat desain dikompilasi.

Anda dapat menggunakan perintah Tcl untuk menghasilkan string waktu tanggal yang diformat khusus hanya dengan elemen tanggal dan waktu yang Anda inginkan. Gunakan Tcl command clock detik untuk mengembalikan format waktu dan clock saat ini untuk menghasilkan string waktu tanggal yang diformat kustom. Lihat halaman web Pemformatan Tanggal dan Waktu untuk informasi lebih lanjut tentang memformat string waktu tanggal. Ini mencakup contoh dan tabel kata kunci pemformatan.

Berikut adalah dua contoh opsi pemformatan yang berbeda untuk string waktu tanggal.

Contoh 1

Perintah berikut menghasilkan string waktu tanggal yang diformat dengan elemen berikut, dalam urutan ini:

  1. Tahun empat digit
  2. Bulan dua digit (01-12)
  3. Hari dua digit (01-31)
  4. Format 24 jam dua digit jam (00-23)
  5. Dua digit menit (00-59)
  6. Dua digit detik (00-59)
format clock [clock detik] -format {%Y %m %d %H %M %S}

Perintah tersebut menghasilkan string seperti ini:

2005 01 10 15 16 55

Contoh 2

Contoh kedua menghasilkan string waktu tanggal yang diformat dengan elemen-elemen berikut, dalam urutan ini:

  1. Nama bulan yang disingkat diikuti periode
  2. Dua digit hari dalam sebulan diikuti oleh koma
  3. Tahun empat digit
  4. Waktu dalam format HH:MM:SS
  5. Indikator AM/PM
format clock [clock detik] -format {%b. %d, %Y %I:%M:%S %p}

Perintah tersebut menghasilkan string seperti ini:

10 Jan 2005 03:31:20 WIB

Mengonversi String Waktu Tanggal

Anda biasanya harus mengonversi string waktu tanggal ASCII ke format lain (seperti heksadesimal atau biner) untuk menyimpannya di bank atau memori register. Berikut adalah dua contoh konversi format.

Desimal ke Heksadesimal

Jika Anda menggunakan elemen waktu tanggal yang menghasilkan hanya nilai numerik, Anda dapat memperlakukannya sebagai angka desimal untuk tujuan konversi. Perintah berikut menghasilkan cap tanggal nomor hari dalam setahun (001 - 366), diikuti jam dalam format 24 jam, kemudian menit.

set str [format clock [clock detik] -format {%j%H%M}]
set out [format "%X" $str]

Perintah itu menghasilkan string seperti ini dalam variabel keluar:

17D40F

ASCII hingga Heksadesimal

Perintah berikut menghasilkan string waktu tanggal dan mengonversinya menjadi string heksadesimal yang tersimpan dalam variabel . Setiap pasang digit heksadesimal adalah kode heksadesimal untuk karakter ASCII.

set str [format clock [clock detik] -format {%b. %d, %Y %I:%M:%S %p}]
pemindaian biner $str "H*" keluar

Perintah itu menghasilkan string seperti ini dalam variabel keluar:

4a616e2e2031302c20323030352030333a3363a303520504d

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.