LOGIQUE PROGRAMMABLE EN VERILOG
Chapitre 1. Introduction
Chapitre 2. Traitement combinatoire et syntaxe du langage
Chapitre 3. L'usage de l'outil QUARTUS II
Chapitre 4. Description comportementale
4.1. Le bloc always et le type reg
4.2. Les opérateurs conditionnels
4.3. La mémoire élémentaire
4.4. L'alternative multiple
4.5. Exemple de description par table de vérité
4.6. Traitement séquentiel par l'exemple
4.6.1. Bascule D
4.6.2. Compteur modulo 16
4.6.3. Compteur de 4 à 28
4.6.4. Compteur/décompteur modulo 16
4.6.5. Compteur modulo 16 avec entrée de validation et RAZ synchrone
4.6.6. Compteur modulo 16 à chargement asynchrone
4.6.7. Registre à décalage 6 bits (1 entrée série - 1 sortie parallèle)
4.6.8. Registre à décalage 6 bits (1 entrée série - 1 sortie série)
4.7. Exercices
4.8. Solutions des exercices
Chapitre 5. Projets : énoncés
Chapitre 6. Projets : vers la solution
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante

4.6.4. Compteur/décompteur modulo 16

Pour écrire la solution, on peut reprendre le même comportement que celui du compteur modulo 16. Le choix de pouvoir ajouter ou retrancher 1 apparait de façon supplémentaire. Ceci se fait par une entrée (ici CDbar pour Compteur / Décompteur complémenté (==> comptage actif à 1))

Le résultat est :

module cptdecptmodulo16 (clk, CDbar , N) ;

input clk , CDbar ;

output[3 : 0] N ;

reg [3 : 0] N ;

always @ (posedge clk)

if (CDbar)

N = N + 1 ;

else

N = N - 1 ;

endmodule

Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante