Menu
Coddy logo textTech

Recap - Timing Control

Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 72 sur 90.

challenge icon

Défi

Ce défi teste ta compréhension des délais, des délais de porte, des délais d’affectation, de timescale et de la génération d’horloge.

À faire :

  1. Add une directive timescale avec 1ns / 1ps
  2. Générer une horloge qui toggles every 5 unités de time
  3. Add une porte AND avec un délai de porte de 3 unités de time
  4. Utiliser un délai d’assignment pour affecter a à b after 2 unités de time (lire a immédiatement)

Essayez vous-même

// TODO: Ajouter la directive timescale (1ns / 1ps)


module timing_challenge;
  reg clk;
  reg a, b;
  wire out;
  
  initial begin
    clk = 0;
  end
  
  // TODO: Générer une horloge qui bascule toutes les 5 unités de temps
  
  
  // TODO: Ajouter une porte AND avec un délai de 3 unités de temps (entrées a, b, sortie out)
  
  
  initial begin
    $monitor("Time %0t: clk=%b, a=%b, b=%b, out=%b", $time, clk, a, b, out);
    
    a = 1;
    
    // TODO: Utiliser un délai d'affectation pour assigner a à b après 2 unités de temps
    // Lire a maintenant, assigner à b après 2 unités de temps
    
    
    #20;
    $finish;
  end
endmodule

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Verilog en ligne