Menu
Coddy logo textTech

Détection des fronts échantillonnés

Fait partie de la section Conception et vérification RTL du Journey Verilog de Coddy. Leçon 19 sur 38.

Un niveau peut rester élevé pendant de nombreux cycles, tandis qu’une impulsion d’événement devrait durer un cycle. Stockez le niveau échantillonné précédent et comparez-le au niveau actuel. Ce détecteur de front suppose que l’entrée est déjà synchrone avec cette horloge ; ce n’est pas un synchroniseur de franchissement de domaines d’horloge.

Extrait pertinent ; les déclarations et connexions environnantes sont fournies dans le défi.

previous <= sig;
rising <= sig & ~previous;

L’ancien niveau mémorisé produit une seule impulsion lors de la transition échantillonnée.

Comparez les niveaux échantillonnés actuel et précédent  utilisez ce détecteur uniquement avec une entrée synchrone.

challenge icon

Défi

Moyen

Pour un signal sig déjà synchrone avec clk, produisez une impulsion enregistrée d’un cycle à chaque transition échantillonnée de 0 vers 1. Le rst synchrone efface le niveau précédent mémorisé et l’impulsion. Ainsi, un sig à l’état haut sur le premier front hors réinitialisation produit une impulsion. Colonnes de sortie : pulse. Toutes les commandes et les données sont stables avant chaque front montant de l’horloge ; les résultats sont observés ensuite.

Complétez design.v et préservez les noms de ses modules et ses ports. Le testbench.v verrouillé fournit les changements d’entrée et affiche les sorties après leur stabilisation. Il choisit un scénario à l’aide d’un argument du simulateur tel que +CASE=1 ; aucune entrée standard n’est requise. N’ajoutez pas d’affichage, de délais ni de terminaison de simulation au design. La sortie attendue est une ligne de valeurs décimales par observation, séparées par un espace et se terminant par un saut de ligne.

Essayez vous-même

module dut (input clk, input rst, input sig, output reg pulse);
    // Remplacez ce placeholder par votre design.
    initial pulse = 0;
endmodule
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Conception et vérification RTL

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