26.07.2013 Views

Travaux Pratiques - Lirmm

Travaux Pratiques - Lirmm

Travaux Pratiques - Lirmm

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ECOLE POLYTECHNIQUE<br />

UNIVERSITAIRE<br />

DE MONTPELLIER<br />

Représentation et Synthèse<br />

des<br />

Systèmes Logiques<br />

<strong>Travaux</strong> <strong>Pratiques</strong><br />

Objectifs et Organisation des séances de TP :<br />

ERII - 2008-2009<br />

L’objectif de ces TP est d’appréhender les aspects temporels liés à la conception de circuits logiques. Les délais de<br />

propagation des signaux dans les blocs logiques ainsi que les phénomènes transitoires intervenant en sortie de ces<br />

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<br />

sur le respect des temps de setup/hold, la définition de la fréquence d’horloge etc… L’accent est particulièrement<br />

mis sur une approche « robuste » de la conception de circuits évitant toute structure logique sur les signaux sensibles<br />

(signaux asynchrones tels que Clear, Preset ou Horloge).<br />

L’aspect utilisation des technologies programmables et également abordé lors de ces TP en implantant certains circuits<br />

(additionneurs, gestionnaire de feux de carrefour) sur la carte FPGA Altera.<br />

Durant chaque séance, il est demandé d’effectuer un travail de réflexion, d'implantation d'un système et de sa<br />

simulation/vérification, à l'aide de l'outil Max+plus II ou Quartus (Altera). L’évaluation de ce travail est faite à partir<br />

d’un compte rendu (succinct…), rendu à la fin de chaque séance. Ce dernier doit présenter les structures développées,<br />

les résultats du simulateur, mais surtout une analyse de ces résultats notamment sur l’aspect temporel.<br />

ECOLE POLYTECHNIQUE UNIVERSITAIRE DE MONTPELLIER<br />

UNIVERSITE MONTPELLIER II SCIENCES ET TECHNIQUES DU LANGUEDOC<br />

Place Eugène Bataillon 34095 MONTPELLIER CEDEX 5<br />

Tél. : 04 67 14 31 60 – Fax : 04 67 14 45 14<br />

E-mail : scola@polytech.univ-montp2.fr


ARITHMETIQUE BINAIRE<br />

L’objectif de ce TP est, pour se familiariser aux fonctions du simulateur, de réaliser les modules élémentaires de<br />

l’arithmétique binaire.<br />

1. Addition binaire<br />

a. Concevoir un circuit ADD1 réalisant l’addition de 3 bits (2 bits plus retenue). On fournira en sortie la somme et la<br />

retenue.<br />

b. Concevoir un circuit ADD4 réalisant l’addition de deux mots de 4 bits à partir du bloc ADD1 précédent.<br />

c. Concevoir et simuler un circuit ADD16 réalisant l’addition de deux mots de 16 bits à partir du bloc ADD4<br />

précédent.<br />

d. Mettre en évidence la fréquence maximum de fonctionnement du bloc additionneur précédent.<br />

2. Soustraction binaire<br />

a. Réaliser un soustracteur binaire de 4 bits<br />

b. Réaliser un module qui, en fonction d’une commande C, fait soit l’addition soit la soustraction de deux nombres de<br />

4 bits.<br />

1


REGISTRES et COMPTEURS<br />

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,<br />

registres et compteurs. L’objectif est d’étudier la structure de ces éléments et d’analyser leur fonctionnement et plus<br />

particulièrement leur fonctionnement temporel.<br />

1. Bascules<br />

Etudier la bascule D disponible en bibliothèque (DFF). On mettra en évidence :<br />

- la table de vérité,<br />

- le rôle de l’horloge (évolution des sorties sur niveau ou sur front d’horloge),<br />

- le rôle des forçages (niveaux de forçage - lien avec l’horloge).<br />

Imaginer une structure de bascule D dont les signaux de forçage à 0 (RAZ) et à 1 (RAU) sont synchrones (Mise à 0 ou<br />

à 1 de la sortie sur le front actif de l'horloge).<br />

2. Registres<br />

a. A l’aide de bascules et de portes, réaliser un registre 4 bits, muni de d’une commandes permettant de configurer le<br />

registre :<br />

- en mode chargement parallèle,<br />

- en mode inhibition (mémoire).<br />

Il devra, de plus, posséder une commande de forçage à zéro instantané.<br />

b. Etudier le registre universel disponible dans la bibliothèque (74194).<br />

3. Combinatoire et Registres<br />

Construire un additionneur 4 bits dont les entrées et la sortie sont stockées dans des registres à la cadence d’une horloge<br />

H. Déterminer la fréquence de fonctionnement maximum de la structure.<br />

4. Compteurs<br />

4.1. Compteurs binaires asynchrones<br />

A<br />

B<br />

Add4<br />

Montrer comment réaliser un diviseur de fréquence par 2 à l’aide d’une bascule D.<br />

En utilisant ce principe, construire un compteur par 16 en plaçant en cascade, 4 diviseurs de fréquence par 2 (prévoir<br />

une commande de remise à zéro).<br />

A partir du compteur par 16 construire un compteur par 10 en agissant sur la remise à zéro des bascules.<br />

Conclusion ? On mettra en évidence les transitoires qui font qu’un tel montage est à proscrire absolument ?<br />

4.2. Compteurs binaires synchrones<br />

Ecrire la suite des nombres binaires naturels (ak ak-1 ... a1 a0 ) n , n représentant l’équivalent décimal. Que peut-on dire<br />

de la valeur de (aj) n+1 par rapport à celle de (aj) n en fonction de (aj-1 , aj-2 ,..., a1 , a0 ) n ?<br />

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.<br />

Nota: Le compteur doit être entièrement synchrone et en particulier, la commutation de l'entrée de sélection ne doit pas<br />

entraîner de modification directe des sorties du compteur/décompteur. En d'autres termes, toute modification des sorties<br />

du compteur ne peut être engendrée que par une transition active du signal d'horloge (front descendant ou front<br />

montant). De plus, on s'interdit toute logique sur le signal d'horloge.<br />

2<br />

S


4.3. Comparaison synchrone/asynchrone<br />

Faire fonctionner les deux compteurs précédents en parallèle (dans un même circuit). Réaliser une étude comparative.<br />

Conclusions ? On mettra notamment en évidence les différences de fréquence de fonctionnement entre les 2 montages.<br />

4.4. Compteur/Décompteur de la bibliothèque (Megafonction)<br />

En utilisant les macro-cellules (Megafonctions) proposées dans le logiciel, réaliser un compteur/décompteur<br />

"synchrone" par 10 possédant 2 entrées de contrôle "Select" et "Inib".<br />

- "Select" permet de sélectionner le mode comptage ou le mode décomptage.<br />

- "Inib" permet d'inhiber le fonctionnement du compteur/décompteur (conservation de l'état)<br />

3


1. Mémoire<br />

SYSTEMES A BASE DE REGISTRES ET COMPTEURS<br />

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<br />

de fonctionnement disjoints<br />

- un mode d’écriture d’une entrée “E” dans R1 ou R2,<br />

- un mode de lecture de R1 ou R2 dans un registre de sortie “RS”,<br />

- un mode qui préserve le contenu de R1 et R2 quand il n’est pas demandé de lecture ou d’écriture.<br />

Cette mémoire doit posséder un signal de sélection (Cs) permettant d’inhiber son fonctionnement, un signal permettant<br />

de la configurer en lecture ou en écriture (R/W) et un système d’adressage (Adr) permettant de sélectionner le registre<br />

R1 ou R2 que l’on veut lire (transfert dans RS) ou dans lequel on veut écrire.<br />

2. Registre à tassement<br />

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<br />

une voie quand un feu passe au rouge. Un tronçon de voie AB est simulé par un « registre à tassement » de 8 bits,<br />

chaque bit représentant la présence (1) ou l’absence (0) d’une voiture.<br />

A chaque coup d’horloge une voiture (un « 1 ») en position i avance (se décale vers la droite) si et seulement si il<br />

existe une place vide (un « 0 ») entre cette voiture et le feux. Dans le cas contraire la voiture reste à la même place.<br />

L’état initial de la file est simulé par le chargement parallèle du registre commandé par un signal Init.<br />

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

registre.<br />

3. Séquenceurs<br />

entrée<br />

H<br />

entrée<br />

Cs<br />

(A)<br />

R/W<br />

Adr<br />

H<br />

4<br />

?<br />

Init e(7..0)<br />

D7 D6 D1 D0<br />

registre à tassement<br />

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, …<br />

Avec n= 15, suggérer un schéma à base du compteur-décompteur 74191 (ou équivalent).<br />

R1<br />

R2<br />

mémoire<br />

4<br />

R<br />

S<br />

4<br />

(B)<br />

8<br />

sortie<br />

nbre_de_top


COMMANDE DE FEUX DE CARREFOUR<br />

Le but de ce TP est la réalisation d’un système électronique permettant de commander les feux tricolores d’un carrefour.<br />

Les deux voies A et B sont supposées identiques.<br />

voie A<br />

voie B<br />

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<br />

on doit avoir :<br />

t(VA ) = t(VB ) = t(V) = ?<br />

t(RA ) = t(RB ) = t(R) = ?<br />

t(JA ) = t(JB ) = t(J) = 1 unité de temps<br />

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<br />

deux feux sont simultanément au rouge.<br />

a. A partir des relations précédentes, trouver t(R) et t(V) en fonction de N. Application numérique : N = 16.<br />

b. Sachant que l’on dispose d’une horloge générale H et d’un compteur, construire le diagramme temporel des signaux<br />

actifs des voies A et B (Va, Ja, Ra, Vb, Jb, Rb)<br />

Pour être complet, le système de commande doit aussi comporter :<br />

- une commande “INI” qui positionne les 2 registres dans l’état de départ VA RB ,<br />

- une commande “URG” qui doit forcer le système dans l’état RA RB en cas d’urgence,<br />

- une commande “JC” qui doit positionner les feux en mode jaune clignotant (HC : Horloge de clignotemment).<br />

-<br />

H<br />

INI<br />

JC<br />

URG<br />

COMMANDE<br />

DE<br />

FEUX<br />

DE<br />

CARREFOUR<br />

5<br />

Cycle des feux<br />

Voie A -> V J R R R R<br />

Voie B -> R R R V J R<br />

VA<br />

JA<br />

RA<br />

VB<br />

JB<br />

RB


Architecture basée sur des registre à décalage (Figure 1)<br />

Le système de commande des feux de carrefour est conçu autour de 2 registres à recirculation (CIRC), contenant un “1<br />

baladeur” et dont les sorties commandent les ampoules R, J, V à travers un étage de décodage du mode de<br />

fonctionnement.<br />

Les commandes S1 et S2 des 2 registres à recirculation (CIRC) pourront être déduites des diagrammes temporels<br />

élaborés à partir des chronogrammes des signaux J, V, R.<br />

H<br />

COMB<br />

C0 C1 C2 C3<br />

COMPT16<br />

Figure 1 : Architecture proposée pour la commande de feux de carrefours<br />

Architecture basée sur une machine d’état (Figure 2)<br />

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

S2<br />

S1<br />

HC<br />

H<br />

H<br />

HC<br />

VB JB RB<br />

Figure 2 : Architecture basée sur une machine d’état<br />

6<br />

DECOD<br />

R2 V2 J2<br />

RESET<br />

CIRC<br />

CIRC<br />

V1 J1 R1<br />

DECOD<br />

VA JA RA<br />

JC URG<br />

INIT


H<br />

C0<br />

C1<br />

C2<br />

C3<br />

VA<br />

JA<br />

RA<br />

VB<br />

JB<br />

RB<br />

S1<br />

S2<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!