Travaux Pratiques - Lirmm
Travaux Pratiques - Lirmm
Travaux Pratiques - Lirmm
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