[AUDIO_VIDE] Bonjour. Nous allons continuer le cours sur les enseignes et afficheurs à LED. Aujourd'hui, nous allons aborder la leçon : Synthèse de circuits combinatoires. Dans un premier point, nous allons aborder la méthodologie de synthèse des circuits logiques combinatoires, ensuite les méthodes de simplification, un diagramme temporel, et enfin une synthèse d'un décodeur 7 segments. Un système combinatoire est un système où chacune des sorties est une combinaison logique des entrées à l'instant, c'est-à-dire une sortie à l'instant t ne dépend que des entrées au même instant. Pour une même combinaison des entrées, la sortie est unique. La méthodologie de synthèse des circuits logiques combinatoires se fait en plusieurs étapes. À partir du cahier des charges, il faut analyser le problème pour en avoir une bonne compréhension, ce qui permettra de pouvoir faire l'identification des variables d'entrées et de sorties en fonction de leur nombre. Si le nombre de variables d'entrées et de sorties est faible, on peut faire l'établissement de la table de vérité, sinon on pourrait envisager une décomposition du problème en blocs fonctionnels logiques et de traiter séparément chacun des blocs. Dans tous les cas, il va falloir procéder à l'établissement de la ou des fonctions résultantes, envisager éventuellement une simplification de ces fonctions avant de procéder à l'établissement de logigramme. Ceci permettrait de pouvoir envisager le prototypage d'essai et la réalisation finale du circuit. La simplification des fonctions logiques vise l'objectif de réduire le nombre de termes intervenant au niveau de la fonction, ainsi que le nombre de variables dans chaque terme. L'objectif global de cette simplification est de réduire le coût de réalisations matérielles. Plusieurs méthodes existent pour faire la simplification. La simplification algébrique utilise les théorèmes généraux de l'algèbre de Bool. L'idée c'est de procéder à des regroupements des termes ayant des variables communes et de faire des factorisations, de faire des réplications de termes existants et éventuellement une suppression des termes superflus. Exemple, considérons cette fonction S qui vaut A B barre, C barre, ou A B C barre ou A barre B et C ou A B et C. Nous pouvons remarquer que A existe au niveau des premiers termes. C barre aussi est un terme qui revient au niveau des deux premiers termes. B et C reviennent aussi au niveau des deux derniers termes, donc on peut envisager de faire une factorisation AC barre facteur de B barre ou B ou BC facteur de A barre ou A. B barre ou B vaut 1, A barre ou A vaut 1, donc S vaudra A C barre ou B et C. Nous sommes passés d'une expression de quatre termes et trois variables au niveau de chaque terme, à une expression à deux termes et deux variables par terme. Il est clair que la réalisation de ce cette dernière équation utilisera moins de portes logiques. Une table de Karnaugh est une forme particulière d'une table de vérité. Elle est constituée de deux à la puissance n cases, n étant le nombre de variables d'entrées. Ici nous en avons trois, ce qui nous fait ici 8 cases, 2 à la puissance 3. Et les variables sont disposées selon le code de Gray ou le code binaire réfléchi. D'une case au suivant, une seule variable doit changer. Et les valeurs de la sortie du système sont inscrites au niveau des cases. Pour procéder à la simplification par tableau de Karnaugh, on procède à des regroupements. Tout dépend de la forme souhaitée. Si nous souhaitons avoir une forme de l'expression de S sous forme de somme de produits, en ce moment-là, on va faire des regroupements de 1. Si nous souhaitons obtenir S sous forme de produit de sommes, en ce moment-là, nous allons regrouper les 0. Dans un premier temps, on va chercher à faire un regroupement de 1. Pour cela, il faudra regrouper les cases adjacentes successivement contenant des 1. Et les regroupements se font par puissance de 2. Donc la taille d'un groupe doit être une puissance de 2. On peut regrouper 2 cases, 4 cases, 8 cases, 16 cases ainsi de suite, suivant la taille du tableau. On cherche toujours le regroupement maximal et le résultat d'un regroupement est le produit des variables constantes. C'est-à-dire ici, si nous considérons par exemple ce regroupement, le terme associé à ce regroupement va donner ici, on va regarder : pour le A, ça passe de 0 à 1, donc ça a changé de valeur ; pour le B, ça passe de 1 à 1, donc la valeur est restée constante. Donc le B est retenu. Pour le C, comme la case est inscrite sur une seule ligne, le C est maintenu. Donc le terme qui est là donnerait B et C. Il faut noter que le résultat de la simplification est donné par la somme des termes issus du regroupement. Donc somme des termes issus du regroupement. Et il faut noter en dernier lieu qu'une même case peut appartenir à deux regroupements. Nous allons appliquer les règles que nous venons de définir à ce tableau de Karnaugh. Alors là, nous pouvons faire ce regroupement, puis faire ce regroupement. Alors ce regroupement donne le terme BC que nous venons de voir. Et le deuxième regroupement ici va donner A n'a pas changé de valeur, donc A, et C n'a pas changé de valeur, donc C barre. Pourquoi barre? Parce que C vaut 0. Et nous regroupons les 1. Et donc la sortie donnerait S égal à C barre ou BC. Le résultat de cette simplification est réalisé ici à partir d'un logigramme où nous avons les trois entrées A, B, C et la sortie S réalisée à partir d'un inverseur de deux portes ET et d'une port OU. Nous allons maintenant exprimer S sous forme de produit de sommes. Il faudrait pour cela faire le regroupement de 0. Nous pouvons regrouper ces deux 0. Nous pouvons regrouper ce 0-là avec ce 0-là. Pour exprimer les termes liés à ce regroupement, il faudrait qu'on regarde les variables qui n'ont pas changé de valeur. Ici le A n'a pas changé de valeur et le A vaut 0. Comme nous regroupons les 0, donc on maintient le A. Ou le B a changé de valeur, donc il n'est pas concerné, et le C n'a pas changé de valeur, donc c'est A ou C. Pour le deuxième terme, nous allons ici regarder : A a changé de valeur, B n'a pas changé de valeur, donc nous aurons B. Et ici nous aurons C qui vaut 1 donc ou C barre. Donc les deux termes ici, nous aurons S qui vaut A ou C et B ou C barre. Le résultat de cette fonction est réalisé ici à partir d'un logigramme fait à partir d'un inverseur de deux portes OU et d'une porte ET. En résumé, nous pouvons procéder à la simplification des fonctions logiques par tableau de Karnaugh pour exprimer S sous forme de somme de produits, en regroupant les 1 ou bien l'expression de produit des sommes en regroupant les 0. Nous allons illustrer le diagramme temporel à partir de ce logigramme, où nous avons trois entrées A, B, et C et la sortie qui est X ici. Et pour représenter un diagramme temporel qui nous permet de représenter les chronogrammes des signaux, nous avons choisi A qui vaut ce chronogramme, B qui vaut ce chronogramme, C qui vaut ce chronogramme. Et donc l'idée, c'est de représenter X à partir de ces chronogrammes. Alors, si nous appliquons De Morgan sur cette équation, nous aurons X égal A et B et C. Ce qui veut dire que X vaut 0 si l'une des variables vaut 0. Et X vaut 1 si les trois variables valent 1. Alors, nous pouvons constater ici que les trois variables valent 1 dans cet intervalle-là, et également dans cet intervalle. Donc, nous pouvons représenter. Pour les autres intervalles, le X vaut 0. Dans un système numérique de traitement de l'information, plusieurs opérations combinatoires peuvent être nécessaires : le décodage, le codage, le multiplexage, etc. Ces différentes opérations sont réalisées par des circuits logiques combinatoires spécialisés. Nous allons maintenant voir comment synthétiser un décodeur sept segments. L'objectif du décodage sept segments, c'est de réaliser un décodeur qui nous permet de décoder les dix chiffres décimaux. Alors, nous avons donc à l'entrée e1, e2, e3 et e4. Et à la sortie, nous allons avoir nos sept segments. S indice a, S indice b, S indice c, S indice d, S indice e, S indice f et S indice g. Alors, ces sept segments seront connectés à un afficheur permettant d'afficher le chiffre correspondant aux quatre bits à l'entrée de notre décodeur. Il faudrait donc procéder à l'établissement de la table de vérité. Alors, nous avons ici les quatre entrées et les sept sorties. Pour décoder le chiffre 0, il faut allumer toutes les LED sauf le dernier, le Sg. Pour afficher un 1, il suffit d'allumer le b et le c, et d'éteindre tous les autres. Voici la table de vérité remplie. Remarquez qu'il y a des x qui sont mis à partir de 10 parce que ces chiffres ne sont pas concernés par le décodage. Donc, qu'ils valent 0 ou 1 ne change rien au niveau de notre décodeur. On peut maintenant chercher à établir les différentes fonctions logiques pour chaque segment Sa jusqu'à Sg. Pour cela, nous allons élaborer les tableaux de Karnaugh. Nous avons donc les tableaux de Karnaugh des différentes fonctions des segments. Ici, nous avons le segment A qui est représenté ici par ce tableau, le segment B, le segment C et le segment D. Remarquez que les valeurs en bleu représentent les x qui pouvaient prendre les valeurs 0 ou 1 de manière indifférente. Nous les avons positionnés à 0 ou à 1 suivant des besoins de simplifications. L'objectif, c'est d'avoir le regroupement maximal. Voici pour le segment E, le segment F et le segment G. Nous allons maintenant procéder à la simplification du segment A. Nous pouvons faire le regroupement de ces huit cases contenant successivement des 1. Nous pouvons regrouper ces quatre cases contenant successivement des 1 et nous pouvons regrouper ici les quatre cases contenant des 1, et enfin, nous pouvons regrouper ces cases-là, extrémités. Donc, nous aurons quatre termes au niveau de l'expression de A. Alors, à partir de ces regroupements, donc on peut écrire Sa sous la forme E1 barre, les quatre qui sont aux coins. Si nous regardons les variables qui n'ont pas changé de valeurs, c'est E1 et E3, et ils sont à 0. Si nous regardons le terme qui représente ce regroupement, ça correspond à E4 qui n'a pas changé de valeur. Et toutes les autres variables ont changé de valeur. Le terme en jaune ici correspond à E2 puisque c'est E2 seulement qui n'a pas changé de valeur. Enfin, le regroupement en rouge ici correspond aux termes E1 et E3. Nous pouvons procéder de la même manière pour obtenir les autres équations qui sont résumées ici dans ce tableau pour les sept segments de l'afficheur. A partir de ces équations, on peut envisager de réaliser notre décodeur sept segments. Nous venons d'aborder la synthèse des circuits logiques combinatoires. Dans un premier temps, nous avons vu les différentes étapes de la méthodologie, ensuite procédé à la simplification des fonctions logiques. Nous avons vu un exemple de diagramme temporel et nous avons terminé cette leçon par la synthèse d'un décodeur sept segments.