Menu
CoddyTech

Saat Üretimi

Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 71 / 90.

Saat sinyali, düzenli aralıklarla sürekli olarak 0 ile 1 arasında geçiş yapan bir sinyaldir. Saat sinyalleri, flip-floplar ve sayaçlar gibi ardışıl mantık devreleri için gereklidir.

Neden Saat Sinyali Üretilir

Test tezgâhlarında, sıralı devreleri test etmek için bir saat sinyaline ihtiyaç duyarsın. Saat sinyali, flip-flop'ların, yazmaçların ve durum makinelerinin davranışını belirler.

Saat Üretme Yöntemleri

YöntemAçıklama
always ile # gecikmesiEn yaygın yöntem
forever döngüsüAlternatif yöntem
repeat döngüsüSabit sayıda döngü için

Yöntem 1: Gecikmeli Sürekli Blok

reg clk;

initial begin
  clk = 0;
end

always #5 clk = ~clk;
  • clk = 0 zaman 0'da
  • Her 5 zaman biriminde bir clk değişir
  • Periyot = 10 zaman birimi
  • Frekans = 1/10 = zaman birimi başına 0.1

Yöntem 2: Sonsuz Döngü

reg clk;

initial begin
  clk = 0;
  forever begin
    #5 clk = ~clk;
  end
end

always yöntemiyle aynı sonucu verir.

Yöntem 3: Sabit Döngüler Boyunca Tekrarla

reg clk;

initial begin
  clk = 0;
  repeat (10) begin
    #5 clk = ~clk;
  end
end

Tam olarak 10 saat darbesi (5 tam döngü) üretir, ardından durur.

challenge icon

Görev

Her 4 zaman biriminde bir durum değiştiren (periyot = 8 zaman birimi) bir saat oluşturmak için eksik kodu ekle.

Yapman gerekenler:

  1. Bir initial bloğu kullanarak clk değerini 0. zamanda 0 olarak başlat
  2. Her 4 zaman biriminde bir clk değerini değiştirmek için gecikmeli bir always bloğu kullan

Kendin dene

module clock_challenge;
  reg clk;
  
  // TODO: Adım 1 - clk = 0 olacak şekilde bir initial bloğu ekleyin
  
  
  // TODO: Adım 2 - clk değerini her 4 zaman biriminde bir değiştirmek için bir always bloğu ekleyin
  

  initial begin
    $monitor("Time %0t: clk = %b", $time, clk);
    #20;
    $display("Clock generated for 20 time units");
    $finish;
  end
endmodule
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi