Fondamentaux de l'électronique · L1 · Section 6/7
Annales corrigées
Progression
#Annales corrigées
Les exercices qui suivent sont tirés des documents réellement distribués dans l'UE SPUE100 « Électronique numérique : bases », première année de Licence à l'Université Côte d'Azur, campus Valrose. Trois sources :
- les feuilles de travaux dirigés du semestre 1, numérotées TD 1 à TD 12 ;
- la fiche de révisions de l'UE, qui rassemble des exercices d'annales de 2002 à 2023 ;
- le sujet d'examen de la session 1 de 2024-2025.
Les énoncés sont reproduits fidèlement, y compris leurs notations. Chaque correction est détaillée : méthode, calcul intermédiaire, vérification. Les tables de vérité et les expressions booléennes sont écrites en notation mathématique ; le TD utilise la notation ET, OU, NON et le point pour le produit.
#Exercice 1 — Codage des entiers : conversions, DCBN et binaire signé
TD 1, exercices 1 à 4.
- Convertissez en binaire naturel les entiers et .
- Convertissez en décimal codé binaire naturel (DCBN) et .
- Donnez, quand cela est possible, la représentation en binaire signé sur huit bits de : , , , , , , .
- À l'inverse, donnez la valeur décimale des mots binaires signés
00000101et10000101. - Convertissez en décimal :
1101110en binaire naturel ;1101110en binaire signé sur 7 bits ;01101110en binaire signé sur 8 bits ;01101110et01010011en DCBN.
Correction détaillée
1. Binaire naturel. On soustrait récursivement la plus grande puissance de 2 possible (ou l'on divise par 2 en lisant les restes à l'envers) :
2. DCBN. Chaque chiffre décimal est codé séparément sur quatre bits :
-
0101 0110 0010(5, puis 6, puis 2) ; -
1001 0100 0111(9, puis 4, puis 7).
3. Binaire signé sur 8 bits. Sur 8 bits, l'intervalle représentable en binaire signé va de à :
| Nombre | Représentation | Commentaire |
|---|---|---|
0000 1100 | signe 0, magnitude 000 1100 | |
1111 0100 | signe 1, magnitude 000 1100 | |
1011 1101 | = 0100 0011, inversé 1011 1100, plus 1 | |
| impossible | : hors de l'intervalle du format | |
0111 1111 | valeur maximale positive | |
1000 0000 | valeur minimale, sans équivalent positif | |
1111 1111 | tous les bits à 1 |
4. Lecture inverse. 0000 0101 vaut . Pour 1000 0101, la réponse dépend de la convention, et c'est le piège de l'exercice :
- en binaire signé au sens du cours — un bit de signe suivi de la valeur absolue — on lit signe 1 et magnitude
000 0101, donc ; - en complément à deux, le même mot vaut .
Le cours présente la première convention comme une idée simple mais insuffisante, et retient le complément à deux pour toute l'arithmétique, parce qu'il permet d'additionner signés et non signés avec le même circuit. Devant une copie ou un sujet, il faut donc toujours préciser la convention employée.
5. Conversions mixtes.
1101110en binaire naturel : .1101110en binaire signé sur 7 bits : le bit de gauche vaut 1, donc le nombre est négatif ; la magnitude101110vaut , d'où .01101110en binaire signé sur 8 bits : signe 0, magnitude1101110, d'où .01101110en DCBN : les deux quartets valent 0110 = 6 et 1110 = 14, qui n'est pas un chiffre décimal. Ce mot n'est donc pas un code DCBN valide — illustration utile qu'un mot de 8 bits quelconque n'est pas nécessairement un mot de code légal.01010011en DCBN : 0101 = 5 et 0011 = 3, d'où .
#Exercice 2 — Étendue de l'échelle de numérotation et capacité d'une mémoire image
TD 1, exercices 5 et 6.
- Quelle est l'étendue de l'échelle de numérotation pour des codes binaires naturels, DCBN et binaires signés comportant un demi-octet, un octet, 2 octets, 4 octets ?
- Un écran dont la mémoire image a une capacité de 1 Mo peut être configuré en 640 par 480, 800 par 600 ou 1024 par 768. Quel est le nombre de couleurs disponible pour ces trois configurations ?
Correction détaillée
1. Étendue de l'échelle. Sur bits il existe combinaisons, donc valeurs distinctes. Le codage détermine comment elles se répartissent :
| Format | Binaire naturel | DCBN | Binaire signé |
|---|---|---|---|
| demi-octet (4 bits) | 0 à 15 | 0 à 9 | à |
| octet (8 bits) | 0 à 255 | 0 à 99 | à |
| 2 octets (16 bits) | 0 à 65 535 | 0 à 9 999 | à |
| 4 octets (32 bits) | 0 à 4 294 967 295 | 0 à 99 999 999 | à |
Trois raisonnements à savoir refaire :
- binaire naturel : la combinaison « tout à zéro » occupe une place, d'où comme maximum ;
- binaire signé : le bit de poids fort est pris par le signe, il reste bits pour la valeur, et le zéro consomme une des combinaisons positives — d'où l'intervalle , dissymétrique ;
- DCBN : chaque groupe de 4 bits porte un chiffre décimal, donc groupes portent valeurs, de 0 à .
L'écart final est spectaculaire : sur 4 octets, le DCBN ne code que valeurs contre plus de 4 milliards en binaire naturel. C'est le prix de la lisibilité, et la raison pour laquelle le DCBN ne sert qu'aux interfaces.
2. Nombre de couleurs. Une mémoire image de 1 Mo contient octets. Le nombre de bits disponibles par pixel est le rapport entre la capacité et le nombre de pixels ; on en prend la partie entière, car un octet incomplet ne code pas de couleur supplémentaire.
| Résolution | Pixels | Octets par pixel | Bits par pixel | Couleurs |
|---|---|---|---|---|
| 640 × 480 | 307 200 | 3,41 | 3 | |
| 800 × 600 | 480 000 | 2,18 | 2 | |
| 1024 × 768 | 786 432 | 1,33 | 1 |
Le résultat est identique si l'on prend 1 Mo = octets : les rapports restent dans les mêmes intervalles. Retenez la méthode — capacité divisée par nombre de pixels, puis arrondi à l'entier inférieur — plutôt que les trois nombres.
#Exercice 3 — Code auto-correcteur de Hamming
TD 2, exercice 2.
On souhaite transmettre des données codées sur 4 bits . Afin de s'affranchir des erreurs de transmission, on rallonge ce code de 3 bits , calculés et émis dans l'ordre , avec
où « Fip » est la fonction d'imparité : elle vaut 1 lorsque le nombre d'entrées égales à 1 est impair.
- Si les codes d'entrée sont 0000, 0011, 0101 et 1001, calculez les codes émis.
- Les codes reçus sont 0000010, 0011110, 1101101 et 1001000. En notant leurs bits , on calcule , et . Déterminez ces fonctions. Que remarquez-vous ?
Correction détaillée
1. Codage. Pour chaque donnée, on évalue les trois fonctions d'imparité :
| Donnée | Mot émis | |||
|---|---|---|---|---|
| 0000 | 0 | 0 | 0 | 0000000 |
| 0011 | 1 | 1 | 0 | 0011110 |
| 0101 | 1 | 0 | 1 | 0101101 |
| 1001 | 1 | 0 | 0 | 1001100 |
Détail du calcul pour la donnée 0101, soit , , , :
- : un seul 1, impair, donc ;
- : deux 1, pair, donc ;
- : un seul 1, donc .
Le mot émis est donc 0 1 0 1 1 0 1, conformément à l'ordre .
2. Décodage. On recalcule les trois fonctions en y incluant les bits de contrôle reçus :
| Mot reçu | Syndrome | Bit erroné | Mot corrigé | Donnée | |||
|---|---|---|---|---|---|---|---|
0000010 | 0 | 1 | 0 | 2 | 2ᵉ en partant de la droite (P1) | 0000000 | 0000 |
0011110 | 0 | 0 | 0 | 0 | aucun | 0011110 | 0011 |
1101101 | 1 | 1 | 1 | 7 | 7ᵉ en partant de la droite (D3) | 0101101 | 0101 |
1001000 | 0 | 1 | 1 | 3 | 3ᵉ en partant de la droite (D0) | 1001100 | 1001 |
Détail du premier mot reçu, 0000010 : ; ; .
Ce que l'on remarque — et c'est tout l'intérêt de l'exercice. Le syndrome n'est pas un simple indicateur « erreur / pas d'erreur » : c'est un numéro de position. Lu en binaire, donne directement le rang du bit fautif compté depuis la droite, le bit le plus à droite (P0) portant le rang 1. Un syndrome nul signifie qu'aucune erreur n'a été détectée ; un syndrome non nul désigne le bit à inverser, sans ambiguïté et sans retransmission.
Pourquoi cela fonctionne. Regardons quels contrôles mettent en jeu chaque bit :
| Bit | Contrôles où il intervient | Colonne |
|---|---|---|
P0 | 001 = 1 | |
P1 | 010 = 2 | |
D0 | , | 011 = 3 |
P2 | 100 = 4 | |
D1 | , | 101 = 5 |
D2 | , | 110 = 6 |
D3 | , , | 111 = 7 |
Les sept colonnes sont distinctes et non nulles, et chacune vaut exactement le rang du bit correspondant : c'est précisément ce qui fait du syndrome une position. La distance de Hamming du code vaut 3 : il corrige une erreur simple et détecte (sans les corriger) deux erreurs simultanées. Le prix est la redondance — 4 bits utiles pour 7 transmis, soit 75 % de surcoût — largement accepté quand une retransmission coûte plus cher qu'un bit de contrôle.
#Exercice 4 — Vote automatique des quatre actionnaires
TD 4, exercice 1.
Une société a quatre actionnaires : A détient 60 actions, B en détient 100, C en détient 160 et D en détient 180. Chaque actionnaire appuie sur un bouton portant son nom ; si un actionnaire vote oui, sa variable vaut 1, sinon 0. Une résolution est votée () si la somme des actions correspondant aux votes oui représente au moins la moitié des actions plus une.
- Concevez ce système en simplifiant au mieux les équations par algèbre de Boole. Que remarquez-vous ?
- Reprenez cet exercice en simplifiant cette fois directement par table de Karnaugh.
Correction détaillée
Le seuil. Le total des actions vaut ; la majorité absolue est donc 251.
Table de vérité. On énumère les 16 combinaisons et on somme les actions correspondantes :
| A (60) | B (100) | C (160) | D (180) | Somme | V |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 180 | 0 |
| 0 | 0 | 1 | 0 | 160 | 0 |
| 0 | 0 | 1 | 1 | 340 | 1 |
| 0 | 1 | 0 | 0 | 100 | 0 |
| 0 | 1 | 0 | 1 | 280 | 1 |
| 0 | 1 | 1 | 0 | 260 | 1 |
| 0 | 1 | 1 | 1 | 440 | 1 |
| 1 | 0 | 0 | 0 | 60 | 0 |
| 1 | 0 | 0 | 1 | 240 | 0 |
| 1 | 0 | 1 | 0 | 220 | 0 |
| 1 | 0 | 1 | 1 | 400 | 1 |
| 1 | 1 | 0 | 0 | 160 | 0 |
| 1 | 1 | 0 | 1 | 340 | 1 |
| 1 | 1 | 1 | 0 | 320 | 1 |
| 1 | 1 | 1 | 1 | 500 | 1 |
La fonction vaut 1 pour les mintermes 3, 5, 6, 7, 11, 13, 14 et 15.
Simplification algébrique. On développe la forme canonique en huit mintermes, puis on regroupe les termes qui ne diffèrent que par une variable :
Chaque parenthèse se factorise alors en une somme complète, égale à 1 :
- ;
- ;
- .
D'où
Ce que l'on remarque. La variable n'apparaît pas dans le résultat : l'actionnaire qui détient 60 actions n'est jamais décisif. Vérifions-le par le raisonnement plutôt que par la table :
- s'il manque plus d'une voix parmi B, C, D, la majorité n'est pas atteinte même avec A : seul avec B donne 160, avec C donne 220, avec D donne 240 — tous sous 251 ;
- s'il y a déjà deux voix parmi B, C, D, la majorité est acquise sans A : , , — tous au-dessus de 251.
Le vote de A ne fait donc jamais basculer la décision : est la fonction majorité de B, C et D, soit . Le résultat est aussi celui que donne la simplification de la fonction majorité à trois variables vue en cours.
Simplification par Karnaugh. En portant les huit 1 sur une grille à quatre variables, on voit immédiatement trois rectangles de quatre cases :
- : les quatre cases où et , quelles que soient et ;
- : les quatre cases où et ;
- : les quatre cases où et .
Chaque regroupement traverse toute la dimension : c'est la traduction graphique du fait que est une variable indifférente, et la confirmation visuelle du résultat algébrique. Trois termes de deux lettres au lieu de huit mintermes de quatre lettres — l'économie est considérable, en portes comme en chemin critique.
#Exercice 5 — Loi du Consensus
TD 4, exercice 2.
Démontrez la loi du Consensus, , , par trois méthodes :
- application des règles algébriques de base ;
- théorème des couvertures ;
- table de Karnaugh.
Correction détaillée
1. Par l'algèbre de Boole. L'idée est de dédoubler le terme par idempotence, puis de le répartir sur les deux autres par distributivité :
d'où
Le terme a bien disparu : c'est lui, le consensus de et , c'est-à-dire le terme engendré par la variable qui change de signe entre les deux autres. Retenez la forme : dans , le terme consensus est toujours le produit des deux variables qui ne changent pas de signe ( et ).
2. Par les couvertures. On compare les ensembles de mintermes :
Chaque minterme de appartient déjà à l'un des deux autres : et . Autrement dit
ce qui est exactement la condition d'absorption généralisée, et donc peut être supprimé sans changer la fonction. C'est la formulation la plus élégante : le consensus est « à moitié absorbé » par chacun des deux autres termes.
3. Par Karnaugh. Sur une grille à trois variables ( en lignes, en colonnes dans l'ordre de Gray 00, 01, 11, 10), la fonction occupe les cases , (le groupe ) et , (le groupe ), soit les mintermes 1, 3, 6, 7. Le terme correspond aux cases 011 et 111 — c'est-à-dire aux mintermes 3 et 7, déjà couverts respectivement par et par . Le regroupement supplémentaire n'apporte donc aucune case nouvelle : il est entièrement contenu dans l'union des deux autres, et on le raye. La table de Karnaugh donne ainsi une lecture graphique immédiate de la loi du Consensus : tout regroupement entièrement recouvert par d'autres regroupements est superflu.
#Exercice 6 — Impliquants essentiels et expressions minimales
TD 4, exercice 3.
Considérons la fonction définie par
- À l'aide d'une table de Karnaugh, identifiez tous les impliquants essentiels de .
- À partir du résultat précédent, trouvez toutes les expressions équivalentes simplifiées de .
Correction détaillée
Mintermes. Chaque produit couvre une ou deux cases selon le nombre de variables libres :
| Produit | Mintermes couverts |
|---|---|
(0001) | |
(0010) | |
| ( libre) | (0110), (1110) |
(1111) | |
| ( libre) | (0101), (1101) |
Donc .
Table de Karnaugh (lignes en Gray 00, 01, 11, 10 ; colonnes en Gray 00, 01, 11, 10) :
| \ | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 00 | 0 | 1 | 0 | 1 |
| 01 | 0 | 1 | 0 | 1 |
| 11 | 0 | 1 | 1 | 1 |
| 10 | 0 | 0 | 0 | 0 |
Aucun regroupement de quatre n'est possible. Les colonnes 01 et 10 ne sont pas adjacentes — l'ordre de Gray est 00, 01, 11, 10, et la colonne 10 n'est voisine que de 00 — et chaque ligne ou colonne candidate contient un 0. Tous les impliquants premiers sont donc des paires :
| Impliquant premier | Cellules | Mintermes couverts |
|---|---|---|
| (00, 01) et (01, 01) | , | |
| (00, 10) et (01, 10) | , | |
| (01, 01) et (11, 01) | , | |
| (01, 10) et (11, 10) | , | |
| (11, 01) et (11, 11) | , | |
| (11, 11) et (11, 10) | , |
1. Impliquants essentiels. Un impliquant premier est essentiel s'il couvre au moins un minterme qu'aucun autre impliquant premier ne couvre. Ici :
- n'est couvert que par ;
- n'est couvert que par ;
ces deux impliquants sont donc essentiels. Aucun autre ne l'est : est couvert par et par , par et par , par et par , par et par , par et par . Réponse : les impliquants essentiels sont et , et eux seuls.
2. Toutes les expressions minimales. Les deux essentiels couvrent , , , . Restent , , , à couvrir par les quatre impliquants premiers non essentiels (), (), () et (). Deux termes supplémentaires suffisent, et il y a exactement trois façons de les choisir :
Ces trois expressions sont équivalentes et de même coût : quatre produits de trois lettres chacune. Le choix entre elles se fait sur d'autres critères — portes disponibles dans le boîtier, chemin critique, fan-out — jamais sur la « beauté » de l'écriture.
Ce que l'exercice enseigne. Une fonction peut n'avoir que des impliquants premiers dont certains seulement sont essentiels, et la couverture des mintermes restants peut ne pas être unique. La méthode reste la même : couvrir d'abord tout ce qui est couvert par les essentiels, puis compléter, en acceptant que la solution minimale ne soit pas unique.
#Exercice 7 — Monte-charge : la notion d'indifférent
TD 5, exercice 1.
Un monte-charge doit permettre le levage de masses comprises entre 10 kg et 60 kg. Il comporte une plate-forme reposant sur des ressorts ; suivant l'importance de la charge, trois contacts réglables C1, C2, C3 sont mis en circuit :
- à vide, aucun des trois contacts n'est actionné, et le monte-charge peut fonctionner ;
- pour des charges comprises entre 5 et 10 kg, le contact C1 seul est actionné, et le monte-charge ne peut pas fonctionner ;
- pour des charges comprises entre 10 et 60 kg, les contacts C1 et C2 sont actionnés, et le monte-charge doit fonctionner ;
- pour des charges supérieures à 60 kg, les contacts C1, C2 et C3 sont actionnés, et le monte-charge ne peut pas fonctionner.
En représentant C1, C2 et C3 par des variables booléennes, établissez la table d'évolution du monte-charge, puis déduisez-en l'équation logique.
Correction détaillée
Table d'évolution. L'énoncé ne décrit que quatre situations ; toutes les autres combinaisons de contacts sont physiquement impossibles (C2 ne peut pas être actionné sans C1, C3 ne peut pas l'être sans C2, la plate-forme s'enfonce progressivement). Ce sont des indifférents, notés X :
| C1 | C2 | C3 | Situation | F |
|---|---|---|---|---|
| 0 | 0 | 0 | à vide | 1 |
| 0 | 0 | 1 | impossible | X |
| 0 | 1 | 0 | impossible | X |
| 0 | 1 | 1 | impossible | X |
| 1 | 0 | 0 | 5 à 10 kg | 0 |
| 1 | 0 | 1 | impossible | X |
| 1 | 1 | 0 | 10 à 60 kg | 1 |
| 1 | 1 | 1 | plus de 60 kg | 0 |
Sans utiliser les indifférents, on ne peut couvrir que les deux 1 explicites :
expression qui exige un OU exclusif et deux termes de trois lettres.
Avec les indifférents, deux regroupements s'agrandissent :
- l'indifférent
001rejoint le000: , , libre, soit ; - l'indifférent
010rejoint le110: , , libre, soit .
D'où l'équation nettement plus simple :
Vérification sur les seules lignes spécifiées : 000 ; 100 (les deux termes sont nuls) ; 110 ; 111 . Aucune ligne spécifiée n'est contredite.
La règle illustrée. Les indifférents 011 et 101 n'ont pas été utilisés : les intégrer demanderait de créer un regroupement nouveau, ce qui compliquerait l'expression au lieu de la simplifier. Un indifférent ne sert que s'il permet d'agrandir un regroupement déjà existant — c'est la règle stricte énoncée dans le cours, et l'erreur la plus fréquente en TD consiste à l'oublier.
#Exercice 8 — Générateur de mintermes : trois réalisations
TD 6, exercice 3.
Soit la table de vérité suivante :
| E2 E1 E0 | S2 | S1 |
|---|---|---|
| 000 | 1 | 0 |
| 001 | 0 | 1 |
| 010 | 0 | 1 |
| 011 | 1 | 0 |
| 100 | 0 | 1 |
| 101 | 1 | 0 |
| 110 | 0 | 0 |
| 111 | 0 | 0 |
Proposez trois types de réalisation — (1) portes ET, OU, NON ; (2) deux multiplexeurs 8 vers 1 ; (3) un démultiplexeur 1 vers 8 et des portes OU — puis comparez le coût en nombre de circuits.
Correction détaillée
Équations. En relevant les lignes où chaque sortie vaut 1 :
Aucune simplification n'est possible. Sur la grille de Karnaugh à trois variables, aucun des mintermes de n'est adjacent à un autre minterme de : les trois cases sont isolées, entourées de 0. Il en va de même pour . Ces deux fonctions sont donc des damiers partiels, et leur forme canonique est déjà minimale en nombre de littéraux. On peut seulement factoriser le OU exclusif, qui traduit le fait que et diffèrent :
Réalisation 1 — portes ET, OU, NON. C'est la transcription directe de la forme canonique : six produits de trois lettres, donc six portes ET à trois entrées (ou douze ET à deux entrées), deux portes OU à trois entrées, et les inverseurs nécessaires pour , , . C'est la solution la plus coûteuse en boîtiers.
Réalisation 2 — deux multiplexeurs 8 vers 1. Les entrées de sélection reçoivent E2 E1 E0, et les entrées de données recopient la colonne correspondante de la table de vérité :
- pour : ;
- pour : .
Aucun calcul booléen, aucune porte : l'équation d'un multiplexeur, , est la forme canonique disjonctive de la fonction. Deux boîtiers suffisent.
Réalisation 3 — un démultiplexeur 1 vers 8 et des portes OU. Alimenté par un 1 constant et commandé par E2 E1 E0, le démultiplexeur active une seule sortie à la fois : sa sortie vaut 1 exactement pour la combinaison . C'est un générateur de mintermes. Il reste à sommer les sorties voulues : un OU à trois entrées pour (sorties 0, 3 et 5) et un pour (sorties 1, 2 et 4). Un démultiplexeur plus deux OU.
Comparaison des coûts. La solution 1 paie six ET, deux OU et les inverseurs, répartis sur plusieurs boîtiers ; les solutions 2 et 3 tiennent en trois boîtiers, la solution 3 étant la plus économe en portes. C'est le compromis classique du TD 3 : le coût se compte en boîtiers, pas en portes — un boîtier de multiplexeur ou de démultiplexeur est souvent moins cher que six boîtiers de portes, même s'il « gaspille » la majeure partie de ses entrées.
#Exercice 9 — Additionneur complet et circuit 74LS83
TD 7, exercices 1 et 4.
- Définissez une cellule élémentaire d'additionneur 1 bit (additionneur complet) : expliquez le rôle de chacune des entrées , , et des sorties , , puis déterminez les équations logiques de et .
- Rappelez la définition des indicateurs de validité et illustrez votre réponse par des exemples.
- À l'aide d'un additionneur 4 bits 74LS83 et de portes NON, réalisez un soustracteur quatre bits.
- À l'aide de ce même circuit et de portes OU et NON, réalisez un détecteur d'égalité.
Correction détaillée
1. Rôle des entrées et sorties. et sont les bits de même rang des deux opérandes ; est la retenue entrante, produite par le rang ; est le bit de somme du rang , résultat de l'addition modulo 2 des trois bits ; est la retenue sortante, reportée au rang . La cellule doit être duplicable fois pour additionner deux mots de bits — c'est tout l'intérêt de l'approche : on conçoit un rang, on le recopie.
Table de vérité et équations.
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 2 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 2 | 1 | 0 |
| 1 | 1 | 0 | 2 | 1 | 0 |
| 1 | 1 | 1 | 3 | 1 | 1 |
est un damier sur trois variables : il ne se simplifie pas en produits, seulement en OU exclusif,
et la retenue s'écrit
On nomme le terme de génération — sa valuation à 1 force la retenue — et le terme de propagation — il propage ou non la retenue entrante. Cette écriture n'est pas cosmétique : c'est elle qui permet de dérouler la récursion et de construire un additionneur à retenues anticipées, dont le temps de calcul ne dépend plus du nombre de bits.
2. Indicateurs de validité.
- CARRY (retenue) : la dernière retenue a été levée.
- OVERFLOW (dépassement) : le résultat ne tient pas dans le format attribué.
Sur des nombres non signés de bits, carry et overflow désignent la même chose, car la retenue la plus à gauche sort du format : . Sur des nombres signés, le carry reste , mais l'overflow se produit quand la somme de deux positifs devient négative ou celle de deux négatifs devient positive :
Exemples sur 4 bits.
- Non signés :
1111(15) +0001(1) =1 0000, donc S =0000et carry = 1 : le résultat 16 ne tient pas sur 4 bits. - Signés, débordement :
0111(+7) +0001(+1) =1000, donc carry = 0 mais overflow = 1 : deux positifs ont donné un négatif. - Signés, sans débordement :
0011(+3) +1110(−2) =0001(+1) : ni carry ni overflow. Les signes des opérandes étaient opposés, aucun débordement n'est possible.
3. Soustracteur 4 bits. La soustraction s'effectue comme , et le complément à deux de s'obtient en inversant puis en ajoutant 1. Le « plus 1 » ne coûte aucun circuit : il suffit de porter l'entrée de retenue du 74LS83 à 1 au lieu de 0. On place donc quatre inverseurs sur à , on fixe , et le même boîtier fait la soustraction. C'est exactement l'économie qui justifie le complément à deux dans les unités arithmétiques réelles.
4. Détecteur d'égalité. si et seulement si . On utilise le montage soustracteur (entrées inversées, ) et on teste si les quatre bits de somme sont tous nuls. Un OU des quatre bits vaut 0 dans ce cas et 1 sinon ; un inverseur en sortie fournit donc le signal d'égalité :
Une variante utile : si l'on souhaite aussi savoir qui est le plus grand, le bit de retenue du soustracteur indique si — c'est le principe de tous les comparateurs intégrés.
#Exercice 10 — Bascules : SR en NAND, JK en D, diviseur par deux
TD 8, exercices 1 à 3.
- Remplacez les portes NON-OU de la bascule SR par des portes NON-ET et réétudiez le système : nouvelle table de vérité, nouvel état interdit, équation caractéristique.
- Expliquez comment on peut modifier une bascule JK en bascule D.
- Réalisez un diviseur de fréquence par deux à l'aide d'une bascule JK, puis d'une bascule D sur front.
Correction détaillée
1. Bascule SR en NON-ET. En croisant deux portes NON-ET, on obtient une bascule dont les entrées sont actives au niveau bas :
| 0 | 0 | interdit : |
| 0 | 1 | 1 (mise à 1) |
| 1 | 0 | 0 (mise à 0) |
| 1 | 1 | (mémoire) |
L'état interdit devient : les deux sorties sont forcées à 1 et cessent d'être complémentaires ; quand les deux entrées reviennent à 1, l'état final dépend de l'ordre des retours, donc il est imprévisible. Avec et désignant les signaux actifs au niveau haut correspondants, l'équation caractéristique s'écrit
Lecture d'un chronogramme. La méthode est toujours la même et vaut pour toutes les bascules : (a) relever les instants où l'une des entrées prend sa valeur active ; (b) appliquer la table ligne par ligne ; (c) entre deux événements, recopier l'état précédent. En NON-ET, l'événement est un 0 bref sur ou — un front descendant, ce qui est souvent plus simple à câbler qu'un niveau haut stable. Si un chronogramme présente simultanément , l'exercice est mal posé : la réponse n'est pas définie, et il faut le dire.
2. JK modifiée en D. Il suffit de relier à l'entrée et à son complément : , . Alors
Vérification sur les deux cas : donne et , soit une mise à 0 ; donne et , soit une mise à 1. Un seul inverseur suffit, et la bascule n'a plus qu'une entrée de donnée — sans état interdit, contrairement à la bascule SR.
3. Diviseur de fréquence par deux.
- Avec une bascule JK : on relie et à 1. À chaque front d'horloge, la bascule se trouve dans le mode « basculement » et change d'état. Il faut donc deux fronts — une période complète d'horloge — pour que revienne à sa valeur initiale : la fréquence de sortie vaut .
- Avec une bascule D sur front : on relie la sortie complémentée à l'entrée . À chaque front, recopie , donc s'inverse. Même division par deux, avec aucun composant externe : c'est le montage le plus économique.
En cascadant bascules ainsi configurées, on divise par : cinq bascules divisent une horloge de 1 MHz par 32, soit 31,25 kHz en sortie. C'est le principe des compteurs-diviseurs et des prescalers de microcontrôleur.
#Exercice 11 — Temps de réaction d'un montage combinatoire
TD 3, exercice 3.
On note , , les temps de réaction des fonctions , et , et , , les temps de réaction des portes ET à deux entrées, OU à deux entrées et NON. En supposant qu'aucune simplification n'est faite, quel est le temps de réaction de : 1) ; 2) ; 3) ; 4) ?
Correction détaillée
- seule : .
- : les deux termes sont calculés en parallèle ; le temps total est celui du plus lent, augmenté du OU de sortie : .
- : .
- : les deux produits se calculent en parallèle, puis on les somme. Le temps total est le chemin critique, c'est-à-dire le plus lent des deux produits, plus le OU final :
Ce qu'il faut retenir. Les branches parallèles sont évaluées simultanément : c'est la plus lente qui commande, jamais la somme. Additionner les temps de deux branches parallèles est l'erreur classique de cet exercice. Remarquez aussi que est utilisé deux fois : son temps n'est payé qu'une fois, à condition que sa sortie soit disponible pour les deux portes — ce qui est le cas dans un schéma combinatoire. Enfin, le temps de réaction ne dépend que du nombre de couches traversées, pas du nombre de portes : c'est le critère du TD 3, et la raison pour laquelle une réalisation plus économe en portes peut être plus lente.
#Exercice 12 — Chenillard : l'erreur de synthèse et les cycles parasites
TD 11, exercice 3.
Un chenillard sur 4 bits a le cycle suivant :
| État | Sorties |
|---|---|
| 0 | 1001 |
| 1 | 0101 |
| 2 | 1010 |
| 3 | 0100 |
- Établissez et simplifiez les équations du compteur par synthèse directe (bascules D).
- Dessinez l'automate de Moore associé. Qu'en déduisez-vous ? Proposez et synthétisez une solution beaucoup moins coûteuse en nombre de bascules, et établissez les équations des sorties.
- Modifiez votre solution pour intégrer un démultiplexeur 1 vers 4 de gestion des sorties.
Correction détaillée
1. La mauvaise façon d'aborder le problème. On prend les quatre sorties comme variables d'état — donc quatre bascules D — et on remplit une table d'évolutions sur 16 lignes, dont 12 correspondent à des états inutilisés traités comme indifférents. Après simplification par les indifférents, on obtient par exemple
soit quatre bascules D, trois portes ET et un OU. Il reste à vérifier l'absence de cycles parasites — et c'est là que l'affaire se gâte : en déroulant la table d'évolution complète sur les 16 états, on découvre deux cycles parasites qui n'appartiennent pas au cahier des charges, dont un qui passe par l'état 0000. Une machine qui démarre dans un état non prévu — après une mise sous tension, un aléa ou une impulsion parasite — peut donc s'y enfermer définitivement et ne jamais rejoindre le cycle utile. Il suffit parfois de choisir l'autre équation possible d'une variable pour que tous les états convergent vers le cycle utile, mais c'est une « rustine » posée sur un choix de conception déjà mauvais.
2. La bonne méthode : quatre états, donc deux bascules. La solution précédente est naïve parce que le système ne comporte en réalité que quatre états. L'état d'un système est indépendant de la vision qu'en a l'extérieur : entre état interne et sortie il y a une relation de cause à effet, rarement une bijection. Il faut donc synthétiser d'abord la machine séquentielle interne — ici un simple compteur de 0 à 3 — puis associer les sorties aux états.
L'automate de Moore associé comporte quatre états A, B, C, D formant un cycle A → B → C → D → A, chaque état portant le motif de LED 1001, 0101, 1010, 0100. La méthode générale de synthèse s'applique alors dans l'ordre : modélisation par l'automate, table d'évolutions, codage des états (ici quatre états, donc deux variables d'état), table de vérité des variables d'état, simplification par Karnaugh, recherche de cycles parasites, schéma final.
Codage : A = 00, B = 01, C = 10, D = 11.
| Transition | ||||
|---|---|---|---|---|
| 0 | 0 | A → B | 0 | 1 |
| 0 | 1 | B → C | 1 | 0 |
| 1 | 0 | C → D | 1 | 1 |
| 1 | 1 | D → A | 0 | 0 |
Après simplification :
Table des sorties (les sorties dépendent de l'état, donc des deux variables d'état) :
| État | ||||||
|---|---|---|---|---|---|---|
| 0 | 0 | A | 1 | 0 | 0 | 1 |
| 0 | 1 | B | 0 | 1 | 0 | 1 |
| 1 | 0 | C | 1 | 0 | 1 | 0 |
| 1 | 1 | D | 0 | 1 | 0 | 0 |
d'où
Bilan. Deux bascules D, un OU exclusif et un ET — contre quatre bascules, trois ET et un OU dans la version naïve. Et surtout : plus aucun état inutilisé, donc plus aucun risque de cycle parasite. Les quatre états codés sont exactement les quatre états du cycle, la démonstration est immédiate, et le circuit est plus petit et plus sûr. C'est le genre de leçon qui vaut tous les calculs.
3. Ajout d'un démultiplexeur 1 vers 4. Les sorties ne dépendent que des deux bits d'état. On peut donc remplacer la logique de sortie par un démultiplexeur 1 vers 4, alimenté par un 1 constant et commandé par : chaque sortie du démultiplexeur est active pour un état et un seul. Il suffit alors de câbler le motif de LED correspondant — 1001 pour A, 0101 pour B, 1010 pour C, 0100 pour D. La logique de sortie se réduit à du câblage, et le schéma devient trivialement vérifiable.
#Exercice 13 — Moore contre Mealy : pourquoi deux automates équivalents ne se comportent pas pareil
TD 11, exercice 7.
Deux automates décrivent le même système, l'un de Moore, l'autre de Mealy. La partie séquentielle est identique : les états 1, 2, 3, 4 se codent 00, 01, 10, 11 et la table d'évolutions est
| État | ||
|---|---|---|
| 1 | 3 | 2 |
| 2 | 4 | 4 |
| 3 | 3 | 2 |
| 4 | 3 | 1 |
- Établissez et simplifiez les équations des variables d'état (bascules D, synthèse directe).
- Établissez et simplifiez les équations des sorties pour les deux automates.
- Pourquoi les automates associés n'ont-ils pas le même comportement ?
Correction détaillée
1. Variables d'état. Avec le codage 1 = 00, 2 = 01, 3 = 10, 4 = 11, la table de vérité des variables d'état est :
| 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 |
Après simplification par Karnaugh :
Le terme dans se lit directement sur la table : toutes les lignes où donnent , quelle que soit la valeur de l'état.
2. Sorties. Pour l'automate de Moore, les sorties ne dépendent que de l'état. Avec les motifs 1 → , 2 → , 3 → , 4 → , on lit directement et . C'est un pur hasard dû au choix du codage : un autre codage des états aurait donné des équations plus complexes, sans que le comportement change.
Pour l'automate de Mealy, les sorties dépendent aussi de l'entrée :
| 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 |
d'où, après simplification,
Autrement dit, les sorties de l'automate de Mealy sont exactement les variables d'état suivantes de l'automate de Moore. Les deux systèmes calculent donc la même chose, avec un décalage d'un coup d'horloge.
3. Pourquoi les comportements diffèrent. Les équations d'état sont les mêmes et les sorties de Mealy correspondent aux de Moore : a priori les deux automates ont le même comportement. La différence est temporelle, pas fonctionnelle.
Les sorties de Mealy font intervenir l'entrée directement : elles peuvent donc changer avant le front d'horloge, dès que change — c'est un comportement asynchrone. L'automate de Moore, lui, ne prend en compte qu'au front suivant, pour mettre à jour son état puis ses sorties. Mealy est donc chronologiquement en avance sur Moore, mais sensible à l'instabilité des entrées : une impulsion parasite sur se retrouve immédiatement en sortie, alors que Moore la filtre jusqu'au prochain front. Le choix entre les deux structures est donc un compromis entre latence (Mealy plus rapide) et immunité au bruit (Moore plus robuste). C'est un critère de conception à part entière, pas une question de goût.
#Exercice 14 — Le code de Gray
Sujet d'examen 2024-2025, session 1, exercice 1.
Parmi cinq tables de 16 lignes de 4 bits, laquelle représente un code de Gray (code réfléchi) sur 4 bits ? Sur la bonne réponse, si la première ligne est déplacée en dernière ligne, la nouvelle table obtenue représente-t-elle toujours un code de Gray (OUI, NON, ou ON NE PEUT PAS SAVOIR) ?
Correction détaillée
Reconnaître un code de Gray : trois conditions. Les deux premières sont bien connues, la troisième s'oublie souvent.
- chaque ligne ne diffère de la suivante que d'un seul bit ;
- le code est cyclique : la dernière ligne ne diffère de la première que d'un seul bit également ;
- les 16 lignes sont distinctes — une table contenant un doublon n'est pas un code, même si toutes ses transitions sont propres.
La table correcte est le code binaire réfléchi standard :
| Ligne | Code |
|---|---|
| 1 | 0000 |
| 2 | 0001 |
| 3 | 0011 |
| 4 | 0010 |
| 5 | 0110 |
| 6 | 0111 |
| 7 | 0101 |
| 8 | 0100 |
| 9 | 1100 |
| 10 | 1101 |
| 11 | 1111 |
| 12 | 1110 |
| 13 | 1010 |
| 14 | 1011 |
| 15 | 1001 |
| 16 | 1000 |
Vérification. Chaque transition ne change qu'un seul bit — y compris 0100 → 1100 au passage du huitième au neuvième rang, et 1000 → 0000 pour le retour cyclique. Sont éliminées : les tables qui reproduisent le binaire naturel (0000, 0001, 0010, 0011…), qui sautent de 0001 à 0010 ou de 0011 à 0100 — deux bits changent alors simultanément — et celles qui contiennent un doublon, ce qui exclut d'office une table de 16 lignes prétendant coder 16 valeurs.
La rotation : OUI. Déplacer la première ligne en dernière position revient à faire tourner la séquence, qui devient 0001, 0011, 0010, …, 1000, 0000. Toutes les transitions internes sont inchangées, et la seule transition nouvelle est 1000 → 0000, qui était déjà la transition cyclique de la table d'origine. Or une rotation d'un cycle reste un cycle : la propriété est conservée. C'est précisément la cyclicité du code réfléchi qui rend la réponse positive — sur une table qui serait un code de Gray non cyclique, la réponse aurait été NON.
Pourquoi le code de Gray compte. Sa propriété — un seul bit change à la fois — le destine aux capteurs de position : si deux pistes changeaient simultanément, une lecture pendant la transition pourrait donner une valeur arbitraire ; avec le code de Gray, la lecture transitoire est au pire l'une des deux valeurs voisines, jamais une valeur aberrante. On le retrouve aussi dans les tables de Karnaugh, où l'ordre de Gray des lignes et des colonnes est ce qui rend adjacentes les cases qui se simplifient ensemble.
#Exercice 15 — Écho numérique : une ligne à retard rebouclée
Sujet d'examen 2024-2025, session 1, exercice 3.
Deux signaux sonores X et Y sont codés chacun sur 8 bits non signés. Y est obtenu par un montage composé d'additionneurs et de bascules D sur front, toutes synchronisées sur la même horloge H. Pour chaque bit, l'additionneur reçoit d'un côté le bit du signal d'entrée et de l'autre la sortie du même rang après passage dans une chaîne de cinq bascules D ; la sortie de l'additionneur alimente la chaîne, et le signal est pris en bout de chaîne.
- Que fait ce montage sur le signal X ? Justifiez votre réponse.
- Si la fréquence de l'horloge est de 22 kHz et qu'il n'y a plus 5 colonnes de bascules D mais 22 000 colonnes, à quelle période se produit le phénomène ?
Correction détaillée
1. Un écho. Chaque rang effectue
c'est-à-dire que la sortie est la somme du signal d'entrée et de sa propre copie retardée de cinq périodes d'horloge. Une chaîne de bascules D cadencées par la même horloge est une ligne à retard : elle reproduit en sortie ce qui entre, décalé d'un coup par étage. En rebouclant cette sortie sur l'additionneur, on ajoute au signal sa copie décalée — exactement ce que fait un écho : on entend le son, puis on le réentend un peu plus tard, un peu plus faible (l'atténuation venant du débordement des additions sur 8 bits, qui perd les retenues). Le montage réalise donc une réverbération numérique, chaque tour de boucle réinjectant une répétition supplémentaire.
C'est l'application « ligne à retard » du registre à décalage, listée dans le cours avec la conversion série-parallèle, la multiplication et la division par une puissance de 2, et la génération de séquences.
2. La période du phénomène. Le retard vaut le nombre d'étages multiplié par la période d'horloge :
Le phénomène — la répétition du signal — se produit donc toutes les secondes. La relation générale vaut la peine d'être retenue : c'est elle qui dimensionne une ligne à retard, et elle explique aussi la fréquence de répétition , ici 1 Hz — bien en dessous de la bande audible, ce qui donne un écho plutôt qu'une coloration timbrale. Avec 5 étages seulement, la même horloge aurait produit une répétition à 4,4 kHz, c'est-à-dire un effet de filtre en peigne dans le spectre audible.