Menu
CoddyTech

Direktif Timescale

Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 70 dari 90.

Direktif timescale menetapkan satuan waktu dan presisi waktu untuk simulasi. Direktif ini memberi tahu simulator cara menafsirkan nilai penundaan seperti #10.

Pada pelajaran sebelumnya, kita menggunakan jeda seperti #10 tanpa menyebutkan arti "10". Apakah itu 10 nanodetik? 10 pikodetik? Direktif timescale menjawab pertanyaan ini.

Sintaks:

`timescale time_unit / time_precision
BagianMaknaContoh
time_unitSatuan dasar untuk penundaan1ns
time_precisionTingkat ketelitian simulasi1ps

Backtick ` sebelum timescale berarti itu adalah direktif compiler.

Contoh

`timescale 1ns / 1ps
  • time_unit = 1ns → #10 berarti 10 nanodetik
  • time_precision = 1ps → Simulasi dibulatkan ke pikodetik terdekat

Nilai Skala Waktu Umum

Satuan WaktuPresisiKegunaan
1ns / 1nsNanodetikSimulasi sederhana
1ns / 1psPikodetikLebih presisi
1ps / 1psPikodetikDesain berkecepatan tinggi
1us / 1nsMikrodetikSimulasi lambat

Pengaruhnya terhadap Penundaan

`timescale 1ns / 1ps

initial begin
  #10 a = 1;   // Menunggu 10 nanodetik
end

Tanpa timescale, beberapa simulator mengasumsikan nilai bawaan (sering kali 1ns). Sebaiknya selalu tentukan nilainya.

Aturan Penting

AturanPenjelasan
Harus berada di luar moduleDiletakkan sebelum definisi module apa pun
Simbol backtick`timescale, bukan 'timescale 
Satuan waktu ≥ presisi waktu1ns / 1ps boleh, 1ps / 1ns tidak boleh
Memengaruhi semua delay dalam fileDelay umum, delay gerbang, delay assignment
challenge icon

Tantangan

Yang harus dilakukan:

Tambahkan direktif timescale yang hilang agar jedanya merepresentasikan 10ns, 20ns, dan 30ns.

Coba sendiri

// TODO: Tambahkan direktif timescale (1ns / 1ps)

module timescale_challenge;
  
  initial begin
    $display("Time %0t", $time);
    #10 $display("Time %0t (10ns = 10000ps)", $time);
    #10 $display("Time %0t (20ns = 20000ps)", $time);
    #10 $display("Time %0t (30ns = 30000ps)", $time);
    $finish;
  end
endmodule
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Verilog online