Exercice 2 : Circuits combinatoires et séquentiels
Problème : Analyse, synthèse et limitations physiques d’un processeur arithmétique synchrone
Section titled “Problème : Analyse, synthèse et limitations physiques d’un processeur arithmétique synchrone”Mots-clés : Algèbre de Boole, tables de vérité, portes logiques, délais de propagation, aléas (glitches), bascules D, circuits séquentiels synchrones, métastabilité.
I. Énoncé et contexte industriel
Section titled “I. Énoncé et contexte industriel”Dans le cadre de la conception d’un microcontrôleur embarqué destiné à des applications aéronautiques critiques (ex. : calculateur de vol redondant), on s’intéresse à la réalisation d’une unité de traitement arithmétique élémentaire. Le cahier des charges impose une architecture synchrone cadencée par une horloge principale .
L’objectif de ce problème est de concevoir un circuit combinatoire effectuant une opération logique et arithmétique sur des mots de bits, puis de l’insérer dans un pipeline synchrone à l’aide de bascules. Enfin, une étude critique des performances temporelles et des limitations physiques (délais, consommation, métastabilité) sera menée, conformément aux exigences de fiabilité des systèmes temps réel.
II. Questions
Section titled “II. Questions”Partie A : Synthèse et optimisation d’un circuit combinatoire
Section titled “Partie A : Synthèse et optimisation d’un circuit combinatoire”On considère une unité arithmétique qui prend en entrée deux mots de bits et (où et sont les bits de poids fort), ainsi qu’un signal de commande . Le circuit génère un signal de sortie sur bits et un indicateur de dépassement (Overflow).
La fonction réalisée dépend de :
- Si : Le circuit réalise l’addition non signée (avec en cas de retenue sortante de la position ).
- Si : Le circuit réalise la soustraction (arithmétique modulo , avec si le résultat nécessite un emprunt non gérable par le format, modélisé ici par ).
- [Rappel de cours] Exprimer la table de vérité complète du bit de poids faible en fonction de , et . En déduire une expression algébrique simplifiée de en logique standard.
- [Manipulation booléenne] Établir la table de vérité du signal de dépassement en fonction de et .
- Utiliser un tableau de Karnaugh pour simplifier l’expression de dans le cas où (addition). Donner l’expression irréductible sous forme disjonctive (Somme de Produits).
- [Analyse critique] Les portes logiques utilisées (technologie CMOS) présentent un temps de propagation unitaire noté . En déduire le chemin critique (délai maximal de propagation) du bloc combinatoire calculant dans le pire des cas, et discuter de l’impact de ce délai sur la fréquence maximale d’horloge du système.
Partie B : Intégration séquentielle et registres
Section titled “Partie B : Intégration séquentielle et registres”On souhaite mémoriser les résultats pour stabiliser les entrées d’un bus aval. On insère des bascules D déclenchées sur le flront montant de l’horloge .
-
[Architecture séquentielle] Rappeler la table caractéristique d’une bascule D et son équation d’état .
-
Schématiser l’interconnexion entre le bloc combinatoire précédent et un registre de sortie constitué de bascules D (pour mémoriser et ). Préciser le rôle fondamental du signal d’horloge .
-
[Contraintes temporelles] Soit la période de l’horloge. Le constructeur des bascules D fournit les caractéristiques temporelles suivantes :
- Temps de setup (pré-positionnement) :
- Temps de hold (maintien) :
- Temps de propagation interne de la bascule :
En notant le délai de propagation combinatoire maximal de l’ensemble du circuit, établir l’inéquation fondamentale garantissant l’absence de violation temporelle (violation de setup) dans le circuit synchrone.
Partie C : Analyse critique et limites physiques
Section titled “Partie C : Analyse critique et limites physiques”- [Phénomène transitoire] Lors d’un changement simultané des entrées et , des aléas logiques (ou glitches) peuvent apparaître sur les sorties combinatoires avant l’établissement du régime permanent. Expliquer pourquoi ces aléas ne corrompent pas le système synchrone si la période d’horloge est respectée, mais préciser le danger majeur qu’ils représentent si les signaux de commande ou d’horloge sont mal routés.
- [Fiabilité - Métastabilité] Le signal de commande provient d’un circuit asynchrone externe.
- Expliquer brièvement le phénomène de métastabilité au sein d’une bascule D.
- Proposer une solution architecturale standard (utilisée dans les systèmes industriels critiques) pour mitiger ce risque avant d’exploiter le signal dans le cœur synchrone.
III. Pistes et indications
Section titled “III. Pistes et indications”- Q1-Q3 : Pour l’addition, correspond à un ou exclusif (XOR) entre et (le signal n’intervient pas pour car ou modulo donne le même résultat XOR). Pour , séparez l’analyse selon la valeur de .
- Q4 : Comptez le nombre maximal de niveaux de portes logiques traversés par un signal de la pire entrée jusqu’à .
- Q7 : L’inéquation de setup s’écrit : .
- Q9 : Pensez aux chaînes de synchronisation (synchronizer chains) à deux ou trois étages de bascules en cascade.
IV. Corrigé détaillé
Section titled “IV. Corrigé détaillé”Partie A : Synthèse et optimisation d’un circuit combinatoire
Section titled “Partie A : Synthèse et optimisation d’un circuit combinatoire”-
Calcul de : Que l’on effectue une addition ou une soustraction sur des nombres de 2 bits, le bit de poids faible est la somme modulo 2 de et (en arithmétique binaire, et mod 2 reviennent au même, l’emprunt ou la retenue n’impactant que le poids supérieur). Table de vérité : . En logique de base : .
-
Table de vérité de :
- Si (), si , c’est-à-dire si et (ou dans certains cas de propagation de retenue, mais ici avec bits, max n’existe pas, , donc si ? Attention : , donc (). Plus rigoureusement, l’addition maximale est , le bit de poids 2 est le dépassement .
- Si (), si .
-
Tableau de Karnaugh pour () : Pour , si . Les configurations avec pour :
- L’expression simplifiée par Karnaugh donne : (simplifiable en selon la définition exacte du dépassement sur 2 bits non signés, puisque (retenue), (retenue)). Plus précisément, (vérification : si et , ; si et , , ici , mais ? Non, donc addition : , dépassement ! Donc pour et . L’expression exacte par Karnaugh est : (pour ).
-
Analyse du chemin critique : L’expression nécessite un niveau de portes ET (produits) suivi d’un niveau de portes OU (somme). Soit niveaux logiques. Délai maximal : . Ce délai fixe la limite inférieure de la période d’horloge. Avec une telle rapidité, le circuit peut théoriquement tourner à des fréquences très élevées ( si l’on néglige les temps des bascules), ce qui est parfaitement compatible avec des processeurs modernes.
Partie B : Intégration séquentielle et registres
Section titled “Partie B : Intégration séquentielle et registres”-
Bascule D : La table caractéristique est . Au flanc montant de l’horloge, la valeur présente sur l’entrée est capturée et transférée sur la sortie .
-
Architecture synchrone : Les entrées , et entrent dans le bloc combinatoire. Les sorties de ce bloc () sont connectées aux entrées de trois bascules D. Le signal est relié en commun à l’entrée d’horloge de ces bascules pour assurer le cadencement simultané.
-
Contrainte temporelle (Setup) : L’inéquation fondamentale de synchronisation est : A.N. : . La période d’horloge minimale est donc , soit une fréquence maximale de .
Partie C : Analyse critique et limites physiques
Section titled “Partie C : Analyse critique et limites physiques”-
Aléas logiques (glitches) : Les retards de propagation variables dans les portes du circuit combinatoire font que certaines combinaisons transitoires non désirées apparaissent brièvement (ex: ).
- Impact dans un système synchrone : Tant que les glitches se résorbent avant la fin de la période et le respect du temps de setup, les bascules échantillonnent la sortie en régime permanent. Le glitch est filtré.
- Danger : Si un glitch se produit sur la ligne d’horloge ou sur un signal de réinitialisation (Reset), il peut provoquer un déclenchement intempestif de la bascule, corrompant l’état interne de la machine.
-
Métastabilité :
- Phénomène : Si un signal asynchrone (comme ) change d’état juste au moment du flanc d’horloge (violation des temps de setup/hold), la sortie de la bascule peut se retrouver dans un état intermédiaire indéterminé () et y demeurer un temps aléatoire avant de retomber à 0 ou 1.
- Solution industrielle : On utilise un synchroniseur à double étage (two-flop synchronizer), consistant à placer deux bascules D en cascade sur le signal asynchrone, cadencées par la même horloge. La probabilité qu’un état métastable persiste au-delà d’un cycle d’horloge devient alors négligeable pour la fiabilité du système.