Leçon 12 sur 18

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équentiella présence d’une mémoire et d’un état interne est clairement expliquée
distinguer combinatoire et séquentiella dépendance au passé est correctement identifiée
représenter un état présent et un état futurles notations Q(t) et Q(t+1) sont utilisées avec cohérence
expliquer le fonctionnement synchronele rôle du front actif de l’horloge est compris
expliquer le fonctionnement asynchroneles changements déclenchés directement par les entrées sont distingués
interpréter un signal d’horlogepériode, fréquence, fronts, tH, tL et rapport cyclique sont calculés
lire un chronogramme simpleles valeurs échantillonnées et les états conservés sont déterminés
identifier les contraintes pratiquesretards, 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.1Définition d’un système séquentielmémoire, état interne et dépendance au passé
12.2Circuits synchrones et asynchronesmodes d’évolution et rôle de l’horloge
12.3Signal d’horlogepériode, fréquence, fronts et rapport cyclique
MéthodesLecture de chronogrammesdéterminer les instants d’évolution
TD / activitéMise en applicationanalyse, 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émoire1 bitdeux états possibles : 0 ou 1
n éléments mémoiren bits2ⁿ états binaires possibles
registre de 8 bits1 octet256 configurations possibles
compteur de 4 bitsétat de comptage16 é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 = 0le système reste arrêtéY = 0, Qsuivant = 0
X = 1, Q = 0un ordre de démarrage arriveY = 1, Qsuivant = 1
X = 0, Q = 1l’ordre disparaît mais l’état est mémoriséY = 1, Qsuivant = 1
Reset = 1la mémoire est remise à zéroY = 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 Hrè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 sortieentrées présentesentrées présentes + état mémorisé
Mémoireabsenteprésente
Variable tempsprincipalement par les délaisessentielle au fonctionnement
Descriptiontable de vérité, équationtable de transition, chronogramme, état
Exemplesadditionneur, décodeur, multiplexeurcompteur, registre, automate, contrôleur
Initialisationgénéralement inutilesouvent nécessaire
Analysecombinaisons d’entréesé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’étatY = G(Q)la sortie change principalement lorsque l’état change
Sortie liée à l’état et aux entréesY = 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

1Les entrées et l’état présent alimentent la logique combinatoire.
2La logique calcule les valeurs du prochain état.
3Les signaux se propagent et se stabilisent avant le front actif suivant.
4Au front actif, les éléments de mémoire capturent simultanément le prochain état.
5Le nouvel état devient l’état présent pour le cycle suivant.

 

Avantage

Explication

Analyse plus simpleles changements sont organisés autour d’instants communs
Conception modulaireles 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 simulationles séquences d’états sont faciles à observer cycle par cycle
Intégration numériqueles 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 globalchaque événement avance selon les délais locaux
Analyse délicateles courses et aléas doivent être maîtrisés
Consommation potentiellecertains circuits ne commutent que lorsqu’un événement survient
Applicationshandshake, 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 synchronepris en compte au front actiffacile à intégrer au raisonnement temporel ; dépend de l’horloge
Reset asynchroneagit immédiatementutile à 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 temporellehorloge communeévénements et délais locaux
Mise à jour de l’étataux fronts actifsaprès les variations d’entrée
Conceptiongénéralement plus structuréeplus complexe à sécuriser
Vitesselimitée par la période choisiepotentiellement très réactive
Risques dominantsviolations temporelles, skew, métastabilitécourses, aléas, oscillations
Usage courantprocesseurs, FPGA, registres, compteursinterfaces 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

millisecondems10⁻³ s
microsecondeµs10⁻⁶ s
nanosecondens10⁻⁹ s
picosecondeps10⁻¹² 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 msf = 1 / 0,001 = 1 000 Hz = 1 kHz
T = 20 µsf = 1 / 20×10⁻⁶ = 50 kHz
f = 10 MHzT = 1 / 10×10⁶ = 100 ns
f = 125 MHzT = 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 CLKentrée d’horloge sensible à un front
triangle sans cercledéclenchement sur front montant
triangle avec cercledéclenchement sur front descendant
absence de triangleentré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 / descentetransition non instantanée entre les niveaux logiques
Jittervariation temporelle d’un front par rapport à sa position idéale
Skewdifférence d’arrivée du même front sur plusieurs composants
Bruit / oscillationsperturbations pouvant créer des fronts supplémentaires
Atténuation / réflexiondé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

1Identifier le type de circuit et le front actif.
2Repérer l’état initial ou l’action du Reset.
3Tracer des lignes verticales aux fronts actifs.
4Lire les entrées juste avant chaque front selon le modèle étudié.
5Appliquer la règle de transition pour calculer l’état futur.
6Maintenir l’état constant entre les fronts, sauf entrée asynchrone.
7Déterminer les sorties à partir de l’état et des entrées.
8Vé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

000 (initialisation)
10001
20110
31011
41100
50001

 

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

1XX0reset prioritaire
0101détection mémorisée
0111alarme maintenue
0011mémoire de l’événement
0000aucun é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

  1. Placer une bascule D déclenchée sur front montant et connecter D, CLK, Reset et Q.
  2. Fixer D = 1 puis faire évoluer l’horloge. Observer à quel instant Q devient 1.
  3. Modifier D plusieurs fois entre deux fronts actifs et vérifier que Q reste stable.
  4. Fixer D = 0 et observer la capture au front suivant.
  5. Activer le Reset entre deux fronts et déterminer s’il est synchrone ou asynchrone.
  6. Régler l’horloge à différentes fréquences et mesurer T.
  7. Régler un rapport cyclique différent de 50 % et mesurer tH et tL.
  8. 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équentielpossède une mémoire et un état interne
Sortiedépend des entrées présentes et de l’état mémorisé
État futurest 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ériodedurée d’un cycle complet : T
Fréquencenombre de cycles par seconde : f = 1/T
Front actiftransition qui déclenche la mémorisation
Rapport cycliqueD = tH/T × 100 %
Horloge réelleprésente temps de transition, jitter, skew et bruit

 

Glossaire

Terme

Définition

État interneinformation mémorisée résumant le passé utile du système
État présentvaleur mémorisée avant une transition
État futurvaleur qui sera mémorisée après la transition
Transitionpassage d’un état à un autre
Horlogesignal périodique servant de référence temporelle
Front montanttransition 0 vers 1
Front descendanttransition 1 vers 0
Front actiffront provoquant la capture ou la mise à jour
Rapport cycliquefraction de période passée à l’état haut
Resetcommande 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
Jittervariation temporelle des fronts successifs
Rebondsuccession 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

Question

Réponse attendue

1Un circuit combinatoire possède-t-il un état interne ?Non
2Quelle relation lie fréquence et période ?f = 1/T
3Que signifie Q(t+1) ?le prochain état du système
4Quand un système synchrone met-il généralement son état à jour ?au front actif de l’horloge
5Un front montant correspond à quelle transition ?0 vers 1
6Quel est le rapport cyclique si tH = tL ?50 %
7Pourquoi une entrée asynchrone doit-elle être synchronisée ?pour réduire le risque de métastabilité
8Que mesure le skew ?l’écart d’arrivée d’un même front
9Pourquoi 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.