Vous êtes sur la page 1sur 8

ECOLE POLYTECHNIQUE

UNIVERSITAIRE
DE MONTPELLIER

Représentation et Synthèse
des
Systèmes Logiques

Travaux Pratiques

ERII - 2008-2009

Objectifs et Organisation des séances de TP :


L’objectif de ces TP est d’appréhender les aspects temporels liés à la conception de circuits logiques. Les délais de
propagation des signaux dans les blocs logiques ainsi que les phénomènes transitoires intervenant en sortie de ces
blocs sont mis en évidence. A partir de là, les aspects séquentiels sont abordés en insistant sur l’aspect temporel, c'est-à-
dire sur le respect des temps de setup/hold, la définition de la fréquence d’horloge etc… L’accent est particulièrement
mis sur une approche « robuste » de la conception de circuits évitant toute structure logique sur les signaux sensibles
(signaux asynchrones tels que Clear, Preset ou Horloge).
L’aspect utilisation des technologies programmables et également abordé lors de ces TP en implantant certains circuits
(additionneurs, gestionnaire de feux de carrefour) sur la carte FPGA Altera.
Durant chaque séance, il est demandé d’effectuer un travail de réflexion, d'implantation d'un système et de sa
simulation/vérification, à l'aide de l'outil Max+plus II ou Quartus (Altera). L’évaluation de ce travail est faite à partir
d’un compte rendu (succinct…), rendu à la fin de chaque séance. Ce dernier doit présenter les structures développées,
les résultats du simulateur, mais surtout une analyse de ces résultats notamment sur l’aspect temporel.

ECOLE POLYTECHNIQUE UNIVERSITAIRE DE MONTPELLIER


UNIVERSITE MONTPELLIER II SCIENCES ET TECHNIQUES DU LANGUEDOC
Place Eugène Bataillon 34095 MONTPELLIER CEDEX 5
Tél. : 04 67 14 31 60 – Fax : 04 67 14 45 14
E-mail : scola@polytech.univ-montp2.fr
ARITHMETIQUE BINAIRE

L’objectif de ce TP est, pour se familiariser aux fonctions du simulateur, de réaliser les modules élémentaires de
l’arithmétique binaire.

1. Addition binaire
a. Concevoir un circuit ADD1 réalisant l’addition de 3 bits (2 bits plus retenue). On fournira en sortie la somme et la
retenue.
b. Concevoir un circuit ADD4 réalisant l’addition de deux mots de 4 bits à partir du bloc ADD1 précédent.
c. Concevoir et simuler un circuit ADD16 réalisant l’addition de deux mots de 16 bits à partir du bloc ADD4
précédent.
d. Mettre en évidence la fréquence maximum de fonctionnement du bloc additionneur précédent.

2. Soustraction binaire
a. Réaliser un soustracteur binaire de 4 bits
b. Réaliser un module qui, en fonction d’une commande C, fait soit l’addition soit la soustraction de deux nombres de
4 bits.

1
REGISTRES et COMPTEURS

Le but de ce TP est de se familiariser avec les éléments de base des systèmes logiques séquentiels que sont les bascules,
registres et compteurs. L’objectif est d’étudier la structure de ces éléments et d’analyser leur fonctionnement et plus
particulièrement leur fonctionnement temporel.

1. Bascules
Etudier la bascule D disponible en bibliothèque (DFF). On mettra en évidence :
- la table de vérité,
- le rôle de l’horloge (évolution des sorties sur niveau ou sur front d’horloge),
- le rôle des forçages (niveaux de forçage - lien avec l’horloge).
Imaginer une structure de bascule D dont les signaux de forçage à 0 (RAZ) et à 1 (RAU) sont synchrones (Mise à 0 ou
à 1 de la sortie sur le front actif de l'horloge).

2. Registres
a. A l’aide de bascules et de portes, réaliser un registre 4 bits, muni de d’une commandes permettant de configurer le
registre :
- en mode chargement parallèle,
- en mode inhibition (mémoire).
Il devra, de plus, posséder une commande de forçage à zéro instantané.
b. Etudier le registre universel disponible dans la bibliothèque (74194).

3. Combinatoire et Registres
Construire un additionneur 4 bits dont les entrées et la sortie sont stockées dans des registres à la cadence d’une horloge
H. Déterminer la fréquence de fonctionnement maximum de la structure.

A
Add4 S
B

4. Compteurs
4.1. Compteurs binaires asynchrones
Montrer comment réaliser un diviseur de fréquence par 2 à l’aide d’une bascule D.
En utilisant ce principe, construire un compteur par 16 en plaçant en cascade, 4 diviseurs de fréquence par 2 (prévoir
une commande de remise à zéro).
A partir du compteur par 16 construire un compteur par 10 en agissant sur la remise à zéro des bascules.
Conclusion ? On mettra en évidence les transitoires qui font qu’un tel montage est à proscrire absolument ?

4.2. Compteurs binaires synchrones


Ecrire la suite des nombres binaires naturels (ak ak-1 ... a1 a0)n, n représentant l’équivalent décimal. Que peut-on dire
de la valeur de (aj)n+1 par rapport à celle de (aj)n en fonction de (aj-1, aj-2,..., a1, a0)n ?

En déduire le schéma de câblage d’un compteur binaire synchrone par 10 réalisé avec des bascules D, et des portes.
Nota: Le compteur doit être entièrement synchrone et en particulier, la commutation de l'entrée de sélection ne doit pas
entraîner de modification directe des sorties du compteur/décompteur. En d'autres termes, toute modification des sorties
du compteur ne peut être engendrée que par une transition active du signal d'horloge (front descendant ou front
montant). De plus, on s'interdit toute logique sur le signal d'horloge.

2
4.3. Comparaison synchrone/asynchrone
Faire fonctionner les deux compteurs précédents en parallèle (dans un même circuit). Réaliser une étude comparative.
Conclusions ? On mettra notamment en évidence les différences de fréquence de fonctionnement entre les 2 montages.
4.4. Compteur/Décompteur de la bibliothèque (Megafonction)
En utilisant les macro-cellules (Megafonctions) proposées dans le logiciel, réaliser un compteur/décompteur
"synchrone" par 10 possédant 2 entrées de contrôle "Select" et "Inib".
- "Select" permet de sélectionner le mode comptage ou le mode décomptage.
- "Inib" permet d'inhiber le fonctionnement du compteur/décompteur (conservation de l'état)

3
SYSTEMES A BASE DE REGISTRES ET COMPTEURS

1. Mémoire
Construire une mémoire de 2 mots de 4 bits contenus dans 2 registres R1 et R2. Cette mémoire doit posséder 3 modes
de fonctionnement disjoints
- un mode d’écriture d’une entrée “E” dans R1 ou R2,
- un mode de lecture de R1 ou R2 dans un registre de sortie “RS”,
- un mode qui préserve le contenu de R1 et R2 quand il n’est pas demandé de lecture ou d’écriture.
Cette mémoire doit posséder un signal de sélection (Cs) permettant d’inhiber son fonctionnement, un signal permettant
de la configurer en lecture ou en écriture (R/W) et un système d’adressage (Adr) permettant de sélectionner le registre
R1 ou R2 que l’on veut lire (transfert dans RS) ou dans lequel on veut écrire.

4
entrée
R1
Cs 4
R sortie
R/W S
? R2
Adr
H mémoire

2. Registre à tassement
Dans le cadre de l’étude de la régulation de trafic urbain on est amené à simuler la dynamique d’une file de voitures sur
une voie quand un feu passe au rouge. Un tronçon de voie AB est simulé par un « registre à tassement » de 8 bits,
chaque bit représentant la présence (1) ou l’absence (0) d’une voiture.
A chaque coup d’horloge une voiture (un « 1 ») en position i avance (se décale vers la droite) si et seulement si il
existe une place vide (un « 0 ») entre cette voiture et le feux. Dans le cas contraire la voiture reste à la même place.
L’état initial de la file est simulé par le chargement parallèle du registre commandé par un signal Init.

Init e(7..0)

(A)
entrée D7 D6 D1 D0 (B)
8
registre à tassement nbre_de_top
H

Construire ce registre sachant que l’on désire connaître le nombre de top d’horloge nécessaire au remplissage du
registre.

3. Séquenceurs
On désire concevoir un système produisant la séquence suivante : 0, 1, 2, 3, …, n-1, n, n-1, n-2, …, 3, 2, 1, 0, 1, 2, 3, …
Avec n= 15, suggérer un schéma à base du compteur-décompteur 74191 (ou équivalent).

4
COMMANDE DE FEUX DE CARREFOUR

Le but de ce TP est la réalisation d’un système électronique permettant de commander les feux tricolores d’un carrefour.
Les deux voies A et B sont supposées identiques.

voie B

voie A Cycle des feux

Voie A -> V J R R R R
Voie B -> R R R V J R

La durée de chacun des états d’un feu doit donc être la même pour les 2 voies. Pendant un cycle de N unités de temps
on doit avoir :
t(VA) = t(VB) = t(V) = ?
t(RA) = t(RB) = t(R) = ?
t(JA) = t(JB) = t(J) = 1 unité de temps
Nota : Pour des raisons de sécurité, lorsqu'un feu doit passer au vert, cela doit être précédé d'une unité de temps ou les
deux feux sont simultanément au rouge.
a. A partir des relations précédentes, trouver t(R) et t(V) en fonction de N. Application numérique : N = 16.
b. Sachant que l’on dispose d’une horloge générale H et d’un compteur, construire le diagramme temporel des signaux
actifs des voies A et B (Va, Ja, Ra, Vb, Jb, Rb)
Pour être complet, le système de commande doit aussi comporter :
- une commande “INI” qui positionne les 2 registres dans l’état de départ VA RB,
- une commande “URG” qui doit forcer le système dans l’état RA RB en cas d’urgence,
- une commande “JC” qui doit positionner les feux en mode jaune clignotant (HC : Horloge de clignotemment).
-

VA
H
JA
COMMANDE
DE RA
INI
FEUX
JC VB
DE
URG CARREFOUR JB
RB

5
Architecture basée sur des registre à décalage (Figure 1)
Le système de commande des feux de carrefour est conçu autour de 2 registres à recirculation (CIRC), contenant un “1
baladeur” et dont les sorties commandent les ampoules R, J, V à travers un étage de décodage du mode de
fonctionnement.
Les commandes S1 et S2 des 2 registres à recirculation (CIRC) pourront être déduites des diagrammes temporels
élaborés à partir des chronogrammes des signaux J, V, R.

VB JB RB
JC URG

HC
DECOD

R2 V2 J2
S2
CIRC
COMB
H
RESET
INIT
S1
CIRC
H V1 J1 R1
C0 C1 C2 C3

H COMPT16 DECOD
HC

VA JA RA

Figure 1 : Architecture proposée pour la commande de feux de carrefours

Architecture basée sur une machine d’état (Figure 2)


Construire ce système à partir d’un compteur et d’une machine d’état .

Figure 2 : Architecture basée sur une machine d’état

6
H

C0

C1

C2

C3

VA

JA

RA

VB

JB

RB

S1

S2