Menu
Coddy logo textTech

Podsumowanie — kontrola czasu

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 72 z 90.

challenge icon

Wyzwanie

To wyzwanie sprawdza Twoje zrozumienie opóźnień, opóźnień bramek, opóźnień przypisania, skali czasu i generowania zegara.

Co należy zrobić:

  1. Dodaj dyrektywę timescale z wartością 1ns / 1ps
  2. Wygeneruj sygnał zegarowy, który zmienia stan co 5 jednostek czasu
  3. Dodaj bramkę AND z opóźnieniem 3 jednostek czasu
  4. Użyj opóźnienia przypisania, aby przypisać a do b po 2 jednostkach czasu (odczytaj a natychmiast)

Spróbuj swoich sił

// TODO: Dodaj dyrektywę timescale (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Wygeneruj sygnał zegarowy, który zmienia stan co 5 jednostek czasu
  
  
  // TODO: Dodaj bramkę AND z opóźnieniem 3 jednostek czasu (wejścia a, b, wyjście out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: Użyj opóźnienia przypisania, aby przypisać wartość a do b po 2 jednostkach czasu
    // Odczytaj teraz a, a po 2 jednostkach czasu przypisz jego wartość do b
    
    
    #20;
    $finish;
  end
endmodule

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online