Menu
Coddy logo textTech

Özet - Zamanlama Kontrolü

Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 72 / 90.

challenge icon

Görev

Bu meydan okuma; gecikmeler, kapı gecikmeleri (gate delays), atama gecikmeleri (assignment delays), zaman ölçeği (timescale) ve saat üretimi (clock generation) konularındaki anlayışınızı test eder.

Neler yapmalı:

  1. 1ns / 1ps ile bir timescale yönergesi ekleyin
  2. Her 5 zaman biriminde bir değişen (toggle) bir saat (clock) üretin
  3. 3 zaman birimi kapı gecikmesine sahip bir AND kapısı ekleyin
  4. 2 zaman birimi sonra a değerini b değişkenine atamak için bir atama gecikmesi kullanın (a değerini hemen okuyun)

Kendin dene

// TODO: Zaman ölçeği yönergesini ekleyin (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Her 5 zaman biriminde bir değişen saat sinyali oluşturun
  
  
  // TODO: 3 zaman birimi gecikmeli AND kapısı ekleyin (girişler a, b, çıkış out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: a'yı 2 zaman birimi sonra b'ye atamak için atama gecikmesi kullanın
    // a'yı şimdi oku, 2 zaman birimi sonra b'ye ata
    
    
    #20;
    $finish;
  end
endmodule

Temeller bölümündeki tüm dersler