Chapitre 12 — Introduction aux systèmes séquentiels
Niveau conseillé : Bac+1 / Bac+2 — Cycle préparatoire, BTS, BUT, Licence
Idée centrale Un système séquentiel ne répond pas seulement à la question « quelles sont les entrées maintenant ? », mais aussi à la question « dans quel état le système se trouve-t-il ? ». |
Présentation du chapitre
Les circuits combinatoires étudiés jusqu’ici produisent une sortie uniquement à partir des entrées présentes. Ils ne savent pas conserver une information ni distinguer deux situations ayant les mêmes entrées mais un passé différent. De nombreux systèmes réels doivent pourtant mémoriser un événement, compter, suivre une séquence, maintenir une commande ou attendre un instant précis avant de changer d’état.
Les systèmes séquentiels introduisent cette dimension temporelle. Ils possèdent un état interne qui résume l’histoire utile du système. Leur comportement dépend donc simultanément des entrées actuelles et de l’information mémorisée. Ce chapitre établit les concepts indispensables avant l’étude détaillée des verrous, bascules, registres, compteurs et machines à états.
Objectifs pédagogiques
À la fin du chapitre, l’étudiant sera capable de… | Indicateur de maîtrise |
|---|---|
| définir un système séquentiel | la présence d’une mémoire et d’un état interne est clairement expliquée |
| distinguer combinatoire et séquentiel | la dépendance au passé est correctement identifiée |
| représenter un état présent et un état futur | les notations Q(t) et Q(t+1) sont utilisées avec cohérence |
| expliquer le fonctionnement synchrone | le rôle du front actif de l’horloge est compris |
| expliquer le fonctionnement asynchrone | les changements déclenchés directement par les entrées sont distingués |
| interpréter un signal d’horloge | période, fréquence, fronts, tH, tL et rapport cyclique sont calculés |
| lire un chronogramme simple | les valeurs échantillonnées et les états conservés sont déterminés |
| identifier les contraintes pratiques | retards, rebonds, skew, jitter et initialisation sont reconnus |
Prérequis
- connaître les fonctions logiques et les portes fondamentales ;
- savoir établir et lire une table de vérité ;
- savoir interpréter un chronogramme binaire ;
- connaître la période, la fréquence et le rapport cyclique d’un signal périodique ;
- comprendre les notions de temps de propagation et de niveaux logiques.
Organisation du chapitre
Partie | Thème | Compétence principale |
|---|---|---|
| 12.1 | Définition d’un système séquentiel | mémoire, état interne et dépendance au passé |
| 12.2 | Circuits synchrones et asynchrones | modes d’évolution et rôle de l’horloge |
| 12.3 | Signal d’horloge | période, fréquence, fronts et rapport cyclique |
| Méthodes | Lecture de chronogrammes | déterminer les instants d’évolution |
| TD / activité | Mise en application | analyse, calculs et simulation |

Figure 1 — Différence structurelle entre logique combinatoire et système séquentiel.
12.1. Définition d’un système séquentiel
Un système séquentiel est un système logique dont les sorties ne sont pas entièrement déterminées par les seules entrées présentes. Il possède des éléments de mémoire capables de conserver une information binaire. Cette information constitue l’état interne du système.
12.1.1. Présence d’une mémoire
La mémoire est la caractéristique fondamentale d’un circuit séquentiel. Elle permet au système de conserver une donnée après la disparition de l’événement qui l’a produite. Par exemple, une alarme peut rester activée après une détection, un compteur conserve le nombre d’impulsions reçues et une commande marche/arrêt maintient son état entre deux actions de l’utilisateur.
Exemple intuitif Un bouton « Marche » est pressé puis relâché. Si le moteur continue de fonctionner, le système a mémorisé l’ordre. Un simple circuit combinatoire ne pourrait pas maintenir la sortie une fois le bouton relâché. |
Mémoire physique et mémoire logique
La mémoire logique est obtenue grâce à une rétroaction ou à des composants conçus pour conserver un état. Dans les chapitres suivants, cette fonction sera réalisée par des verrous et des bascules. Une mémoire élémentaire stocke un bit ; plusieurs éléments associés stockent un mot binaire ou un état codé sur plusieurs bits.
Structure | Information stockée | Nombre ou exemple d’états |
|---|---|---|
| 1 élément mémoire | 1 bit | deux états possibles : 0 ou 1 |
| n éléments mémoire | n bits | 2ⁿ états binaires possibles |
| registre de 8 bits | 1 octet | 256 configurations possibles |
| compteur de 4 bits | état de comptage | 16 états de 0000 à 1111 |
12.1.2. Sortie dépendant des entrées présentes et de l’état précédent
Dans un circuit combinatoire, la relation entrée-sortie peut s’écrire Y(t) = F[X(t)]. Dans un système séquentiel, la sortie dépend généralement des entrées X(t) et de l’état présent Q(t). Le prochain état est lui aussi calculé à partir de ces informations.
Sortie : Y(t) = G[X(t), Q(t)] |
État futur : Q(t+1) = H[X(t), Q(t)] |
La notation t+1 ne représente pas nécessairement une seconde plus tard. Elle signifie le prochain instant d’évolution reconnu par le système : prochain front d’horloge pour un système synchrone, ou prochain changement interne stable pour un système asynchrone.
Situation | Interprétation | Conséquence possible |
|---|---|---|
| X = 0, Q = 0 | le système reste arrêté | Y = 0, Qsuivant = 0 |
| X = 1, Q = 0 | un ordre de démarrage arrive | Y = 1, Qsuivant = 1 |
| X = 0, Q = 1 | l’ordre disparaît mais l’état est mémorisé | Y = 1, Qsuivant = 1 |
| Reset = 1 | la mémoire est remise à zéro | Y = 0, Qsuivant = 0 |
12.1.3. Notion d’état interne
L’état interne est l’ensemble minimal d’informations nécessaires pour prévoir le comportement futur du système à partir des entrées. Il ne doit pas mémoriser tout le passé, mais seulement le résumé utile de ce passé.
- dans un compteur, l’état est la valeur courante du comptage ;
- dans un feu tricolore, l’état indique la phase actuellement active ;
- dans un détecteur de séquence, l’état indique combien de bits corrects ont déjà été reconnus ;
- dans une serrure numérique, l’état peut représenter la progression de la saisie du code ;
- dans un registre, l’état est le mot binaire stocké.

Figure 2 — Exemple abstrait d’évolution d’un état interne.
État présent, état futur et transition
Terme | Signification |
|---|---|
| État présent Q(t) | information mémorisée avant l’événement considéré |
| Entrée X(t) | information extérieure disponible à cet instant |
| Fonction de transition H | règle qui calcule le prochain état |
| État futur Q(t+1) | valeur qui sera mémorisée après l’événement |
| Sortie Y(t) | réponse produite selon l’entrée et/ou l’état |
12.1.4. La rétroaction
Dans de nombreux circuits séquentiels, une partie de la sortie de la mémoire est renvoyée vers la logique d’entrée. Cette rétroaction permet à la décision future de dépendre de la décision passée. Une rétroaction mal maîtrisée peut cependant produire des oscillations, des courses ou des états indéterminés ; elle doit être structurée par des éléments de mémoire appropriés.
À retenir La rétroaction crée la possibilité de mémoriser, mais la mémoire utile exige des règles de stabilité et de temporisation. Une simple boucle combinatoire ne constitue pas automatiquement un bon élément mémoire. |
12.1.5. Comparaison circuit combinatoire / circuit séquentiel
Critère | Circuit combinatoire | Circuit séquentiel |
|---|---|---|
| Dépendance de la sortie | entrées présentes | entrées présentes + état mémorisé |
| Mémoire | absente | présente |
| Variable temps | principalement par les délais | essentielle au fonctionnement |
| Description | table de vérité, équation | table de transition, chronogramme, état |
| Exemples | additionneur, décodeur, multiplexeur | compteur, registre, automate, contrôleur |
| Initialisation | généralement inutile | souvent nécessaire |
| Analyse | combinaisons d’entrée | séquence d’événements |
12.1.6. Deux organisations générales des sorties
Sans entrer encore dans la conception des machines à états, il est utile de distinguer deux possibilités. Une sortie peut dépendre uniquement de l’état mémorisé, ou dépendre à la fois de l’état et des entrées présentes. Cette distinction sera approfondie plus tard avec les modèles de Moore et de Mealy.
Organisation | Relation conceptuelle | Conséquence |
|---|---|---|
| Sortie liée à l’état | Y = G(Q) | la sortie change principalement lorsque l’état change |
| Sortie liée à l’état et aux entrées | Y = G(X,Q) | la sortie peut réagir immédiatement à une entrée |
12.1.7. Initialisation et état de départ
À la mise sous tension, les éléments de mémoire ne possèdent pas toujours un état connu. Un système réel prévoit donc souvent une entrée d’initialisation, appelée Reset, Clear ou Preset, afin de placer le système dans un état de départ sûr.
- un compteur est remis à 0000 ;
- une machine est placée dans l’état « arrêt » ;
- les sorties dangereuses sont désactivées ;
- les indicateurs d’erreur sont effacés ou initialisés ;
- les registres reçoivent une valeur définie.
Sécurité L’état initial doit être choisi en fonction du procédé commandé. Après une coupure d’alimentation, le système ne doit pas démarrer dans un état dangereux ou incohérent. |
12.2. Circuits synchrones et asynchrones
Les systèmes séquentiels sont classés selon la manière dont leurs états évoluent. Dans un système synchrone, une horloge commune définit les instants de mise à jour. Dans un système asynchrone, l’évolution est directement provoquée par les changements des entrées et par les délais internes.

Figure 3 — Principe des systèmes synchrones et asynchrones.
12.2.1. Fonctionnement synchrone
Un système synchrone utilise un signal périodique appelé horloge. Les éléments de mémoire sont conçus pour accepter un nouvel état uniquement lors d’un événement précis de l’horloge, généralement un front montant ou un front descendant. Entre deux fronts actifs, l’état reste constant, même si la logique combinatoire prépare déjà la valeur suivante.
Étape | Déroulement d’un cycle synchrone |
|---|---|
| 1 | Les entrées et l’état présent alimentent la logique combinatoire. |
| 2 | La logique calcule les valeurs du prochain état. |
| 3 | Les signaux se propagent et se stabilisent avant le front actif suivant. |
| 4 | Au front actif, les éléments de mémoire capturent simultanément le prochain état. |
| 5 | Le nouvel état devient l’état présent pour le cycle suivant. |
Avantage | Explication |
|---|---|
| Analyse plus simple | les changements sont organisés autour d’instants communs |
| Conception modulaire | les blocs peuvent être séparés par des registres |
| Prévisibilité | les délais sont vérifiés par rapport à la période d’horloge |
| Test et simulation | les séquences d’états sont faciles à observer cycle par cycle |
| Intégration numérique | les processeurs, FPGA et contrôleurs utilisent majoritairement ce principe |
12.2.2. Rôle de l’horloge
L’horloge ne transporte généralement pas les données utiles. Elle fournit une référence temporelle commune. Elle indique quand les éléments de mémoire doivent prendre en compte les résultats calculés.
- synchroniser plusieurs registres ;
- découper le fonctionnement en cycles ;
- imposer un temps disponible à la logique combinatoire ;
- ordonner les opérations de lecture, calcul, transfert et écriture ;
- faciliter la coordination de plusieurs sous-systèmes.
Attention Une horloge n’est pas une validation ordinaire. Elle commande directement les instants de mémorisation. Elle doit être propre, distribuée soigneusement et éviter les impulsions parasites. |
12.2.3. Front actif et échantillonnage
Le front actif est la transition de l’horloge qui provoque la mémorisation. Un composant peut être déclenché sur front montant ou sur front descendant. Le symbole graphique comporte souvent un triangle sur l’entrée d’horloge ; un petit cercle supplémentaire indique généralement un déclenchement sur front descendant.

Figure 4 — Exemple d’échantillonnage sur front montant.
Dans la figure, l’entrée D peut changer entre les fronts sans modifier immédiatement Q. À chaque front montant, Q prend la valeur de D observée à cet instant puis la conserve jusqu’au front actif suivant.
12.2.4. Fonctionnement asynchrone
Un système asynchrone ne repose pas sur une horloge globale. Une variation d’entrée peut déclencher directement une succession de changements internes. Le comportement dépend donc fortement des temps de propagation, de l’ordre d’arrivée des signaux et de la stabilité des boucles de rétroaction.
Caractéristique | Conséquence |
|---|---|
| Réactivité | la sortie peut évoluer sans attendre un front d’horloge |
| Absence de cycle global | chaque événement avance selon les délais locaux |
| Analyse délicate | les courses et aléas doivent être maîtrisés |
| Consommation potentielle | certains circuits ne commutent que lorsqu’un événement survient |
| Applications | handshake, interfaces, éléments de reset, logique de contrôle spécialisée |
12.2.5. Courses, aléas et ordre d’arrivée
Lorsque deux variables changent presque simultanément, elles peuvent traverser des chemins ayant des délais différents. Le système peut alors passer temporairement par un état non prévu. Une course apparaît lorsque le résultat final dépend de l’ordre d’arrivée des changements. Un aléa est une impulsion parasite produite pendant la propagation.
- éviter de modifier simultanément plusieurs entrées sensibles dans une conception asynchrone ;
- analyser les chemins de propagation et les états intermédiaires ;
- filtrer ou synchroniser les signaux provenant de l’extérieur ;
- ne pas utiliser une sortie combinatoire non sécurisée comme horloge ;
- prévoir une temporisation ou un protocole de reconnaissance si nécessaire.
12.2.6. Entrées asynchrones dans un système synchrone
Même un système globalement synchrone reçoit des signaux non alignés sur son horloge : bouton-poussoir, capteur, interruption externe ou communication provenant d’un autre domaine d’horloge. Échantillonner directement ces signaux peut provoquer une métastabilité. Une chaîne de synchronisation est généralement utilisée avant de traiter le signal.
Métastabilité — introduction Si une entrée change trop près du front actif, l’élément mémoire peut rester temporairement dans un état intermédiaire avant de se stabiliser. Le risque ne peut pas être supprimé totalement, mais il peut être rendu extrêmement faible par une synchronisation adaptée. |
12.2.7. Reset synchrone et reset asynchrone
Type | Moment d’action | Caractéristique |
|---|---|---|
| Reset synchrone | pris en compte au front actif | facile à intégrer au raisonnement temporel ; dépend de l’horloge |
| Reset asynchrone | agit immédiatement | utile à la mise sous tension ou en urgence ; désactivation à synchroniser avec soin |
12.2.8. Comparaison synthétique
Critère | Synchrone | Asynchrone |
|---|---|---|
| Référence temporelle | horloge commune | événements et délais locaux |
| Mise à jour de l’état | aux fronts actifs | après les variations d’entrée |
| Conception | généralement plus structurée | plus complexe à sécuriser |
| Vitesse | limitée par la période choisie | potentiellement très réactive |
| Risques dominants | violations temporelles, skew, métastabilité | courses, aléas, oscillations |
| Usage courant | processeurs, FPGA, registres, compteurs | interfaces et circuits spécialisés |
12.3. Signal d’horloge
Le signal d’horloge est généralement un signal rectangulaire périodique alternant entre un niveau bas et un niveau haut. Ses transitions définissent les instants de synchronisation. Sa fréquence est souvent élevée, mais la qualité de ses fronts et de sa distribution est aussi importante que sa valeur nominale.

Figure 5 — Période, fréquence, fronts et rapport cyclique d’une horloge.
12.3.1. Période
La période T est la durée séparant deux points équivalents consécutifs du signal, par exemple deux fronts montants. Elle s’exprime en secondes. Pour les circuits numériques, on utilise fréquemment la milliseconde, la microseconde ou la nanoseconde.
T = durée d’un cycle complet |
Unité de temps | Symbole | Valeur en secondes |
|---|---|---|
| milliseconde | ms | 10⁻³ s |
| microseconde | µs | 10⁻⁶ s |
| nanoseconde | ns | 10⁻⁹ s |
| picoseconde | ps | 10⁻¹² s |
12.3.2. Fréquence
La fréquence f indique le nombre de cycles effectués par seconde. Elle s’exprime en hertz. La fréquence et la période sont inverses.
f = 1 / T et T = 1 / f |
Donnée | Résultat |
|---|---|
| T = 1 ms | f = 1 / 0,001 = 1 000 Hz = 1 kHz |
| T = 20 µs | f = 1 / 20×10⁻⁶ = 50 kHz |
| f = 10 MHz | T = 1 / 10×10⁶ = 100 ns |
| f = 125 MHz | T = 8 ns |
Méthode de calcul Toujours convertir la période en secondes avant d’appliquer f = 1/T, puis convertir le résultat dans une unité adaptée : Hz, kHz, MHz ou GHz. |
12.3.3. Front montant
Le front montant est la transition du niveau bas vers le niveau haut. Il est aussi appelé front positif. Une bascule déclenchée sur front montant capture ses données au moment de cette transition, sous réserve du respect des contraintes temporelles.
12.3.4. Front descendant
Le front descendant est la transition du niveau haut vers le niveau bas, également appelée front négatif. Certains composants utilisent ce front afin de répartir les opérations sur les deux demi-cycles ou de s’adapter à une architecture donnée.
12.3.5. Front actif
Le front actif est celui auquel l’élément de mémoire réagit. Il ne faut pas supposer que tous les circuits utilisent le front montant. La documentation et le symbole du composant doivent être consultés.
Indication | Interprétation courante |
|---|---|
| triangle sur CLK | entrée d’horloge sensible à un front |
| triangle sans cercle | déclenchement sur front montant |
| triangle avec cercle | déclenchement sur front descendant |
| absence de triangle | entrée éventuellement sensible à un niveau ; vérifier le composant |
12.3.6. Durées à l’état haut et à l’état bas
La période est constituée de deux durées : tH, temps passé à l’état haut, et tL, temps passé à l’état bas.
T = tH + tL |
Les fiches techniques indiquent parfois une durée minimale à l’état haut et une durée minimale à l’état bas. Même si la fréquence moyenne semble acceptable, une impulsion trop courte peut ne pas être reconnue correctement.
12.3.7. Rapport cyclique
Le rapport cyclique D représente la proportion de la période pendant laquelle le signal reste à l’état haut. Il est généralement exprimé en pourcentage.
D = (tH / T) × 100 % |
tH = D × T et tL = (1 − D) × T avec D exprimé entre 0 et 1 |
Données | Résultats |
|---|---|
| T = 10 µs, D = 50 % | tH = 5 µs ; tL = 5 µs |
| T = 20 ms, D = 25 % | tH = 5 ms ; tL = 15 ms |
| f = 2 MHz, D = 60 % | T = 0,5 µs ; tH = 0,3 µs ; tL = 0,2 µs |
12.3.8. Horloge idéale et horloge réelle
Une horloge idéale possède des fronts instantanés, une période parfaitement constante et arrive au même instant sur tous les composants. Une horloge réelle présente des temps de montée et de descente, du bruit, des variations de période et des différences de trajet.
Phénomène | Définition |
|---|---|
| Temps de montée / descente | transition non instantanée entre les niveaux logiques |
| Jitter | variation temporelle d’un front par rapport à sa position idéale |
| Skew | différence d’arrivée du même front sur plusieurs composants |
| Bruit / oscillations | perturbations pouvant créer des fronts supplémentaires |
| Atténuation / réflexion | déformation liée aux pistes, câbles et impédances |

Figure 6 — Illustration du skew et du jitter d’horloge.
12.3.9. Distribution de l’horloge
L’horloge commute fréquemment et commande de nombreuses entrées. Elle doit être distribuée avec des pistes courtes, une référence de masse correcte et des buffers adaptés lorsque la charge devient importante. Dans les circuits complexes, un réseau dédié limite le skew.
- éviter les longues pistes en boucle ou les dérivations inutiles ;
- placer des condensateurs de découplage près des circuits ;
- ne pas commander une horloge avec une logique combinatoire susceptible de produire des glitches ;
- respecter les niveaux électriques et les temps de montée autorisés ;
- utiliser une validation d’horloge conçue pour cet usage si l’horloge doit être arrêtée.
12.3.10. Rebonds des contacts mécaniques
Un bouton-poussoir ne produit pas une transition unique et propre. Ses contacts rebondissent pendant quelques millisecondes et génèrent plusieurs fronts. Si le bouton est utilisé comme horloge d’un compteur, un seul appui peut être compté plusieurs fois. Un dispositif anti-rebond matériel ou logiciel est nécessaire.
Erreur classique Relier directement un bouton à l’entrée d’horloge d’un compteur conduit souvent à des comptages multiples. Pour un TP, utiliser un générateur propre ou un circuit anti-rebond. |
Méthode — Lire un chronogramme séquentiel
Étape | Action |
|---|---|
| 1 | Identifier le type de circuit et le front actif. |
| 2 | Repérer l’état initial ou l’action du Reset. |
| 3 | Tracer des lignes verticales aux fronts actifs. |
| 4 | Lire les entrées juste avant chaque front selon le modèle étudié. |
| 5 | Appliquer la règle de transition pour calculer l’état futur. |
| 6 | Maintenir l’état constant entre les fronts, sauf entrée asynchrone. |
| 7 | Déterminer les sorties à partir de l’état et des entrées. |
| 8 | Vérifier la cohérence finale et les éventuelles priorités. |
Exemples d’application
Exemple 1 — Compteur conceptuel
Un compteur modulo 4 possède quatre états codés sur deux bits : 00, 01, 10 et 11. À chaque front montant, il passe à l’état suivant. La sortie est l’état mémorisé.
Front actif reçu | État avant | État après |
|---|---|---|
| 0 | — | 00 (initialisation) |
| 1 | 00 | 01 |
| 2 | 01 | 10 |
| 3 | 10 | 11 |
| 4 | 11 | 00 |
| 5 | 00 | 01 |
Sans mémoire, le circuit ne pourrait pas savoir combien de fronts ont déjà été reçus. Les deux bits d’état résument l’historique du comptage.
Exemple 2 — Mémorisation d’une alarme
Une alarme A doit s’activer lorsqu’un capteur S détecte un événement et rester active jusqu’à l’action sur Reset R. Une règle conceptuelle possible est : si R = 1, Qsuivant = 0 ; sinon si S = 1, Qsuivant = 1 ; sinon Qsuivant = Q.
R | S | Q présent | Q suivant | Interprétation |
|---|---|---|---|---|
| 1 | X | X | 0 | reset prioritaire |
| 0 | 1 | 0 | 1 | détection mémorisée |
| 0 | 1 | 1 | 1 | alarme maintenue |
| 0 | 0 | 1 | 1 | mémoire de l’événement |
| 0 | 0 | 0 | 0 | aucun événement |
Travaux dirigés
Exercice 1 — Combinatoire ou séquentiel ?
Classer les systèmes suivants et justifier : additionneur 4 bits, compteur de personnes, décodeur 3 vers 8, serrure à code, comparateur, feu tricolore automatique, multiplexeur et registre à décalage.
Exercice 2 — État interne
Pour chacun des systèmes suivants, proposer une information pouvant servir d’état interne : distributeur de boisson, portail automatique, détecteur de la séquence 101, chronomètre marche/arrêt et compteur modulo 10.
Exercice 3 — Évolution d’un état
Un système possède un bit d’état Q. À chaque front montant : si X = 1, Q change de valeur ; si X = 0, Q conserve sa valeur. L’état initial est Q = 0. Déterminer Q après la séquence X = 1, 0, 1, 1, 0, 1.
Exercice 4 — Synchrone ou asynchrone ?
Expliquer le mode le plus approprié pour : un compteur FPGA, un circuit de reset d’urgence, un protocole de reconnaissance entre deux blocs, un registre de processeur et une alarme qui doit réagir immédiatement.
Exercice 5 — Période et fréquence
- Calculer la fréquence pour T = 4 ms, 25 µs, 200 ns et 5 ns.
- Calculer la période pour f = 50 Hz, 8 kHz, 20 MHz et 250 MHz.
Exercice 6 — Rapport cyclique
- Une horloge de période 40 µs reste haute pendant 10 µs. Calculer son rapport cyclique et tL.
- Une horloge de 5 MHz a un rapport cyclique de 60 %. Calculer T, tH et tL.
Exercice 7 — Lecture d’un front actif
Une bascule capture D sur front descendant. Les valeurs de D aux quatre fronts descendants successifs sont 1, 1, 0 et 1. Q est initialement 0. Donner Q après chaque front et expliquer son comportement entre les fronts.
Exercice 8 — Analyse d’une horloge réelle
Une fiche technique impose tH(min) = 8 ns et tL(min) = 12 ns. Déterminer la période minimale et la fréquence maximale théorique. Vérifier si une horloge de 40 MHz avec un rapport cyclique de 30 % respecte ces deux contraintes.
Activité pratique proposée
TP — Observer la mémoire et le rôle de l’horloge
Cette activité peut être réalisée avec Logisim Evolution, Digital, Proteus ou un environnement équivalent. Elle utilise une bascule D ou un registre élémentaire disponible dans la bibliothèque du logiciel.
Objectifs
- observer qu’une sortie mémorisée reste stable entre deux fronts ;
- identifier le front actif du composant ;
- mesurer période, fréquence et rapport cyclique ;
- comparer une entrée de données synchrone et un Reset asynchrone ;
- mettre en évidence les rebonds d’un bouton simulé ou réel.
Matériel ou ressources
- logiciel de simulation numérique ;
- une bascule D ou un registre 1 bit ;
- un générateur d’horloge réglable ;
- interrupteurs pour D et Reset ;
- LED ou sondes logiques ;
- analyseur logique ou chronogramme du simulateur.
Manipulation
- Placer une bascule D déclenchée sur front montant et connecter D, CLK, Reset et Q.
- Fixer D = 1 puis faire évoluer l’horloge. Observer à quel instant Q devient 1.
- Modifier D plusieurs fois entre deux fronts actifs et vérifier que Q reste stable.
- Fixer D = 0 et observer la capture au front suivant.
- Activer le Reset entre deux fronts et déterminer s’il est synchrone ou asynchrone.
- Régler l’horloge à différentes fréquences et mesurer T.
- Régler un rapport cyclique différent de 50 % et mesurer tH et tL.
- Remplacer temporairement le générateur par un bouton et observer les commutations multiples éventuelles.
Tableau de relevés
Essai | D avant le front | Type de front | Q avant | Q après | Observation |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| Reset | |||||
| Bouton |
Questions d’exploitation
- Pourquoi Q ne suit-il pas D en permanence ?
- Quel événement provoque la mise à jour de Q ?
- Le Reset agit-il uniquement au front actif ?
- Quelle relation vérifiez-vous entre T et f ?
- Pourquoi le bouton peut-il produire plusieurs changements ?
- Quelles précautions faut-il prendre avant d’utiliser un signal externe dans un système synchrone ?
Synthèse du chapitre
Notion | Idée essentielle |
|---|---|
| Système séquentiel | possède une mémoire et un état interne |
| Sortie | dépend des entrées présentes et de l’état mémorisé |
| État futur | est calculé à partir de l’état présent et des entrées |
| Synchrone | évolue aux fronts actifs d’une horloge commune |
| Asynchrone | évolue directement après les changements d’entrée |
| Période | durée d’un cycle complet : T |
| Fréquence | nombre de cycles par seconde : f = 1/T |
| Front actif | transition qui déclenche la mémorisation |
| Rapport cyclique | D = tH/T × 100 % |
| Horloge réelle | présente temps de transition, jitter, skew et bruit |
Glossaire
Terme | Définition |
|---|---|
| État interne | information mémorisée résumant le passé utile du système |
| État présent | valeur mémorisée avant une transition |
| État futur | valeur qui sera mémorisée après la transition |
| Transition | passage d’un état à un autre |
| Horloge | signal périodique servant de référence temporelle |
| Front montant | transition 0 vers 1 |
| Front descendant | transition 1 vers 0 |
| Front actif | front provoquant la capture ou la mise à jour |
| Rapport cyclique | fraction de période passée à l’état haut |
| Reset | commande d’initialisation ou de remise à zéro |
| Métastabilité | état temporairement indéterminé après une capture critique |
| Skew | écart d’arrivée d’une horloge entre plusieurs destinations |
| Jitter | variation temporelle des fronts successifs |
| Rebond | succession de transitions produite par un contact mécanique |
Exercices d’entraînement
Exercice 9 — Identifier la mémoire
Un système reçoit les mêmes entrées X = 0 et R = 0 à deux instants différents. Sa sortie vaut d’abord 0 puis 1. Expliquer pourquoi ce comportement prouve que le système n’est pas purement combinatoire.
Exercice 10 — Nombre d’états
Combien d’états différents peut représenter une mémoire de 1, 2, 3, 4, 8 et n bits ? Combien de bits sont nécessaires pour coder au moins 6 états, 10 états et 100 états ?
Exercice 11 — Séquence de transition
Un système à deux états A et B commence dans A. Si X = 0 il conserve son état ; si X = 1 il change d’état. Déterminer la séquence d’états pour X = 1, 1, 0, 1, 0, 0, 1.
Exercice 12 — Horloge et nombre de cycles
Une horloge fonctionne à 25 MHz. Calculer sa période et le nombre de cycles exécutés en 2 µs, 1 ms et 0,2 s.
Exercice 13 — Rapport cyclique et contraintes
Une horloge de 80 MHz possède un rapport cyclique de 45 %. Calculer T, tH et tL. Un circuit exige tH ≥ 5 ns et tL ≥ 6 ns : l’horloge est-elle compatible ?
Exercice 14 — Skew
Une horloge arrive à un registre A à 10,0 ns et à un registre B à 10,8 ns. Calculer le skew. Expliquer qualitativement pourquoi un skew important peut réduire la marge temporelle d’un transfert entre A et B.
Exercice 15 — Bouton et compteur
Un bouton mécanique produit six fronts montants lors d’un seul appui. Il commande directement un compteur. Quel sera l’effet ? Proposer deux solutions générales.
Exercice 16 — Conception conceptuelle
Décrire les entrées, sorties et l’état interne minimal d’un système qui allume une LED après trois impulsions successives et l’éteint lors d’un Reset.
Auto-évaluation
N° | Question | Réponse attendue |
|---|---|---|
| 1 | Un circuit combinatoire possède-t-il un état interne ? | Non |
| 2 | Quelle relation lie fréquence et période ? | f = 1/T |
| 3 | Que signifie Q(t+1) ? | le prochain état du système |
| 4 | Quand un système synchrone met-il généralement son état à jour ? | au front actif de l’horloge |
| 5 | Un front montant correspond à quelle transition ? | 0 vers 1 |
| 6 | Quel est le rapport cyclique si tH = tL ? | 50 % |
| 7 | Pourquoi une entrée asynchrone doit-elle être synchronisée ? | pour réduire le risque de métastabilité |
| 8 | Que mesure le skew ? | l’écart d’arrivée d’un même front |
| 9 | Pourquoi un bouton ne doit-il pas commander directement une horloge ? | à cause des rebonds |
| 10 | À quoi sert un Reset ? | à placer la mémoire dans un état connu |
Corrigés des travaux dirigés
Corrigé 1 — Combinatoire ou séquentiel
- Combinatoires : additionneur 4 bits, décodeur 3 vers 8, comparateur, multiplexeur.
- Séquentiels : compteur de personnes, serrure à code, feu tricolore automatique, registre à décalage. Leur réponse dépend d’un historique ou d’un état mémorisé.
Corrigé 2 — État interne
- Distributeur : somme ou crédit introduit et phase de service.
- Portail : fermé, ouverture, ouvert, fermeture, défaut.
- Détecteur 101 : nombre de symboles déjà reconnus.
- Chronomètre : valeur du temps et état marche/arrêt.
- Compteur modulo 10 : valeur courante de 0 à 9.
Corrigé 3 — Évolution d’un état
Q initial = 0. Pour X = 1,0,1,1,0,1 : Q devient successivement 1, 1, 0, 1, 1, 0. Lorsque X = 0, Q est conservé ; lorsque X = 1, Q bascule.
Corrigé 4 — Synchrone ou asynchrone
- Compteur FPGA et registre processeur : synchrones.
- Reset d’urgence : action asynchrone possible, avec libération soigneusement synchronisée.
- Protocole de reconnaissance : souvent asynchrone ou synchronisé selon les domaines.
- Alarme immédiate : une voie asynchrone peut être justifiée, puis l’information est synchronisée pour le traitement.
Corrigé 5 — Période et fréquence
T = 4 ms → 250 Hz ; 25 µs → 40 kHz ; 200 ns → 5 MHz ; 5 ns → 200 MHz.
f = 50 Hz → T = 20 ms ; 8 kHz → 125 µs ; 20 MHz → 50 ns ; 250 MHz → 4 ns.
Corrigé 6 — Rapport cyclique
T = 40 µs, tH = 10 µs : D = 25 % et tL = 30 µs.
f = 5 MHz : T = 200 ns. Avec D = 60 %, tH = 120 ns et tL = 80 ns.
Corrigé 7 — Lecture d’un front actif
Après les quatre fronts descendants, Q vaut successivement 1, 1, 0 et 1. Entre deux fronts actifs, Q conserve la dernière valeur capturée.
Corrigé 8 — Analyse d’une horloge réelle
Tmin = 8 ns + 12 ns = 20 ns, donc fmax théorique = 50 MHz.
Pour 40 MHz, T = 25 ns. Avec D = 30 %, tH = 7,5 ns et tL = 17,5 ns. La contrainte tH(min) = 8 ns n’est pas respectée : cette horloge n’est pas compatible malgré une fréquence inférieure à 50 MHz.
Corrigés des exercices d’entraînement
Corrigé 9 — Identifier la mémoire
Avec les mêmes entrées présentes, un circuit combinatoire devrait produire la même sortie. Les deux sorties différentes indiquent qu’une information supplémentaire intervient : l’état interne mémorisé.
Corrigé 10 — Nombre d’états
1, 2, 3, 4 et 8 bits représentent respectivement 2, 4, 8, 16 et 256 états. n bits représentent 2ⁿ états.
Il faut ⌈log₂(N)⌉ bits : 3 bits pour 6 états, 4 bits pour 10 états et 7 bits pour 100 états.
Corrigé 11 — Séquence de transition
État initial A. Pour 1,1,0,1,0,0,1 : B, A, A, B, B, B, A.
Corrigé 12 — Horloge et nombre de cycles
f = 25 MHz → T = 40 ns. Nombre de cycles N = f × durée : 50 cycles en 2 µs ; 25 000 cycles en 1 ms ; 5 000 000 cycles en 0,2 s.
Corrigé 13 — Rapport cyclique et contraintes
T = 1/80 MHz = 12,5 ns. tH = 0,45×12,5 = 5,625 ns ; tL = 6,875 ns. Les deux contraintes, 5 ns et 6 ns, sont respectées.
Corrigé 14 — Skew
Le skew vaut 10,8 − 10,0 = 0,8 ns. Cet écart modifie le temps réellement disponible entre l’émission d’une donnée par un registre et sa capture par l’autre.
Corrigé 15 — Bouton et compteur
Le compteur peut compter six impulsions au lieu d’une. Solutions : circuit anti-rebond matériel, traitement logiciel avec temporisation, ou synchronisation suivie d’une détection de front unique.
Corrigé 16 — Conception conceptuelle
Entrées : impulsion P et Reset R. Sortie : LED. État : nombre d’impulsions reconnues, par exemple 0, 1, 2 et 3. À chaque impulsion, l’état progresse jusqu’à 3 ; à l’état 3 la LED est allumée. Reset ramène l’état à 0 et éteint la LED.
Pour aller plus loin
- étudier le verrou RS et comprendre la stabilité par rétroaction ;
- analyser les bascules D, JK et T avec leurs tables de fonctionnement ;
- introduire les temps de setup, hold et clock-to-Q ;
- réaliser un registre et un compteur avec des bascules ;
- décrire un système par une table et un diagramme d’états.
Lien avec le chapitre suivant Les notions d’état, d’horloge et de front actif seront maintenant appliquées aux verrous et aux bascules, qui constituent les cellules de mémoire fondamentales des systèmes numériques. |