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.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.3. La mémoire élémentaire

La capacité de mémorisation est une des fonctions principale des composants logiques.

La fonction mémoire doit conserver son état en l’absence d’activité des signaux de commande. Elle peut être décrite à partir de portes « NOR ». Dans ce cas, il n’y a pas de notion de comportement : c'était l'objet d'un des exercices.

Décrire la mémoire est simple. L’entrée « set » provoque la mise à 1, l'entrée « reset » la mise à 0. L’absence des signaux de commande garde le contenu.

Il demeure un problème de taille : les 2 sorties ne sont pas toujours complémentaires. Lorsque S et R sont à 1, les 2 sorties se trouvent être à 1.

Une solution c'est de définir une mémoire qui ne possède pas cet aléas.

module memoire(reset, set, Q, Qbar) ;

input reset, set ;

output Q, Qbar ;

reg Q ;

always

begin

if (set)

Q = 1 ;

if (reset)

Q = 0 ;

end

assign Qbar = !Q ;

endmodule

Un détail n’a pas été vu : la priorité des signaux « set » et « reset ». Ceci peut être réglé par la transformation de l’alternative simple en alternative complète « else ».

Voici la partie modifiée limitée à l'intérieur du bloc always :

always

begin

if (set)

Q = 1 ;

else

if (reset)

Q = 0 ;

end

 
Notre fonction mémoire peut être dite à « set » prioritaire.


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