![]()
![]()
![]()
![]()
![]()
Next: Cahier des charges Up: Example : Simulateur logique Previous: Introduction   Contents   Index
Subsections
Logique numérique
Introduction
La logique numérique est à la base de l'informatique, notamment matérielle. C'est elle qui permet de décrire un schéma électronique logique et d'étudier son comportement. La logique est liée à l'algèbre de Boole (d'où le nom booléen) qui permet de définir un schéma logique à l'aide d'équations.
L'algèbre de Boole comporte trois opérateurs, le ET, le OU et le NON. L'écriture des équations reprend les symboles de l'arithmétique pour le ET (multiplication) et pour le OU (addition) et ajoute un symbole pour le NON (barre horizontale au-dessus de l'expression à inverser). L'algèbre de Boole définit aussi des règles de simplification ou réarrangements des expressions, qui permettent de réduire le nombre de portes (et donc de transistors).
Il serait possible de concevoir un programme en Scheme de simplification automatique des équations. En effet, Scheme est particulièrement à l'aise pour manipuler des expressions symboliques.
Lorsque que l'on possède une équation logique, il est possible de fabriquer le circuit électronique correspondant assez simplement. Sur les schémas complexes, des problèmes de dissipation de chaleur, de temporisation, de parasites interviennent, rendant la réalisation moins immédiate qu'avec des schémas simples.
Tout commence avec le transistor qui est un composant électronique qui agit comme un interrupteur piloté par une entrée de commande. En assemblant des transistors, on construit des composants plus gros remplissant une fonction logique. Les composants de base sont les portes logiques comme le AND. Puis en assemblant des portes logiques, on définit des foncions de plus en plus complexes, comme un additionneur à un bit, puis un additionneur à n-bits, etc. Les microprocesseurs sont décrits à l'aide de fonctions logiques.
L'une des particularités de la logique est de permettre une grande réutilisation des composants afin de construire des composants plus complexes et de toujours permettre la définition de la fonction réalisée sous la forme d'une équation.
Portes logiques élémentairesA l'aide des transistors, il est possible de concevoir des éléments plus complexes que sont les portes logiques. Une porte logique réalise une fonction logique particulière.
Schéma du ETVoici par exemple la représentation d'une porte AND :
Table de véritéLe comportement de cette porte est entièrement spécifié par sa table de vérité, qui met en relation toutes les valeurs possibles des entrées et la valeur de sortie résultante. Rappelons que les valeurs sont binaires, c'est à dire qu'elles valent 0 ou 1. La table de vérité de la porte AND est :
Cette table de vérité montre les correspondances entre les valeurs binaires en entrée et les valeurs binaires en sortie. Ainsi, la valeur en sortie est 1 lorsque les deux entrées sont à 1 et seulement dans ce cas.
Algèbre de BooleOn peut aussi définir le comportement d'une porte à l'aide d'une équation logique. Une équation logique utilise trois opérateurs, le ET, le OU et le NON. Le ET est noté comme la multiplication, le OU est noté comme l'addition et le NON est noté avec une barre au-dessus de l'expression à inverser :
Pour manipuler les équations logiques, l'algèbre de Boole définit des règles de simplification. Leur description sort du cadre de ce tutorial sur le langage Scheme ! Le lecteur le souhaitant pourra se référer au livre Architecture de l'Ordinateur de A. TANENBAUM[9], qui est la bible des architectures matérielles, et dont l'exposé part du transistor pour aboutir aux machines parallèles.
La simplification ou le réarrangement d'une expression logique a toujours pour but l'optimisation du schéma logique et donc de la carte électronique ou du circuit correspondant.
Dans notre cas, l'équation de la porte AND est très simple, puisque l'opérateur ET existe dans l'algèbre :
s = a.b
Le NONLes autres portes logiques standards sont les portes NOT (inverseur), OR (ou), NAND (non-et), NOR (non-ou).Voici leur représentation et leur table de vérité :
L'équation logique de la porte NOT est aussi très simple, car l'opérateur NON existe dans l'algèbre :
Le OULa porte OR est donc un inverseur : sa sortie est toujours l'inverse de son entrée.
La porte OR est un ou logique entre les valeurs en entrée. Son équation est :
Le NON-ET et le NON-OULe lecteur pourra lui-même déterminer les tables de vérité des antres portes NAND et NOR, en sachant qu'il suffit de placer un inverseur à la sortie des portes, respectivement, AND et OR pour obtenir la valeur de leur sortie. L'équation logique du NAND est :
Création d'une fonction logiqueNous allons utiliser les portes élémentaires pour fabriquer une porte plus complexe. Nous partons de la table de vérité de la fonction logique à réaliser, puis nous obtenons son équation et enfin son schéma logique.
Table de vérité
Il existe une fonction logique appelée ou-exclusif et notée XOR dont voici la table de vérité :
Cette table de vérité est le point de départ de la définition de la porte. Elle spécifie entièrement le comportement et permet de déduire son équation logique. Avec l'équation, il est possible d'étudier la porte, de la simplifier, de transformer la manière de la construire en vérifiant que le comportement reste inchangé.
Equation logique
Pour obtenir l'équation logique d'une porte XOR, nous regardons dans la table les lignes où la sortie vaut 1 : ce sont les deux lignes du milieu. Nous écrivons alors l'équation de la sortie directement en fonction des entrées :
Nous avons donc : s vaut 1 lorsque l'inverse de a vaut 1 ET b vaut 1, OU a vaut 1 ET l'inverse de b vaut 1.
Lorsque ces conditions ne sont pas rencontrées, s vaut 0.
Dire que l'inverse de a vaut 1 revient à dire que a vaut 0. Cela nous conduit à une nouvelle formulation : s vaut 1 lorsque a vaut 0 ET b vaut 1, OU a vaut 1 ET b vaut 0.
L'équation est donc la simple traduction de ce que l'on lit sur la table. L'algèbre de Boole nous permettrait de la simplifier, le cas échéant.
Réalisation
Pour réaliser le schéma électrique correspondant à la fonction XOR, nous lisons simplement son équation :
Nous voyons que la construction de nouvelles fonctions logiques n'est pas très compliquée. La simplification est parfois plus ardue.
![]()
![]()
![]()
![]()
![]()
Next: Cahier des charges Up: Example : Simulateur logique Previous: Introduction   Contents   Index © 1993 to 2001 Erian Concept