Défi - Événements de motifs
Fait partie de la section Conception et vérification RTL du Journey Verilog de Coddy. Leçon 37 sur 38.
Défi
MoyenDétectez le motif binaire 101 dans les échantillons d’entrée acceptés. en=1 accepte bit_in sur le front montant ; en=0 préserve l’état de correspondance partielle et produit hit=0. Définissez hit enregistré à 1 uniquement lorsqu’un bit accepté complète 101. Les correspondances qui se chevauchent sont autorisées : 10101 produit deux impulsions. rst synchrone efface l’état et hit, avec priorité sur en. Colonnes de sortie : hit. 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 module et les ports. Le testbench.v verrouillé fournit les changements d’entrée et affiche les sorties une fois stabilisées. 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 en, input bit_in, output reg hit);
// Remplacez ce placeholder par votre design.
initial hit = 0;
endmoduleToutes les leçons de Conception et vérification RTL
1RTL combinatoire fiable
Les valeurs par défaut évitent les latchsEncodeurs de prioritéValidation one-hotDécodage sûr avec caseRécapitulatif - Routeur de requêtes2Largeurs et arithmétique signée
Préserver les bits de retenueComparaisons signéesDécalages arithmétiques vers la droiteDépassement et saturationRécapitulatif – différence signéeEntraînez-vous par vous-même : Compilateur Verilog en ligne