Électronique numérique : logique/Tables de vérité généralisées (SI-ALORS)

Caractéristiques des tables de vérité

modifier

Reprenons une table de vérité simple :

Table de vérité
Entrées Sorties
a b y z
0 0 0 1
0 1 1 0
1 0 1 1
1 1 1 0

Quelles sont ses caractéristiques ?

  • elle a deux parties, une à gauche (Entrées) que l'on appellera SI, une à droite (Sorties) que l'on appellera ALORS,
  • la partie SI décrit toutes les possibilités sur les entrées : c'est toujours le cas, ainsi si vous comptez n entrées, vous savez automatiquement que votre table de vérité aura 2**n (deux puissance n) lignes.
  • la partie ALORS ne contient que des 1 et des 0.

Définition

La partie SI d'une table de vérité est la partie qui gère les entrées. Son remplissage se fait de manière systématique en code binaire. La partie ALORS gère les sorties. Cette appellation est liée au fait qu'une ligne de table de vérité peut se lire en langage courant : SI les entrées sont à XX ALORS les sorties sont à YY. N'est-ce pas ce que vous feriez si vous aviez une table de vérité à transmettre par téléphone ?

Exemple : si nous reprenons l'exemple de notre table de vérité de départ, on peut la réécrire avec ces définitions :

Table de vérité
SI ALORS
Entrées Sorties
a b y z
0 0 0 1
0 1 1 0
1 0 1 1
1 1 1 0

Pour le moment, la partie ALORS de nos tables de vérité n'a toujours contenu que des 1 et des 0. C'est ce que l'on va changer maintenant.

Tables de vérité généralisées

modifier

Commençons par définir ce nouveau concept.

Qu'est-ce qu'une table de vérité généralisée ?

modifier

Définition

On appelle table de vérité généralisée ou table SI-ALORS toute table de vérité pour laquelle on autorise dans la partie ALORS des 0 des 1 et des équations logiques sur les entrées. Les entrées apparaissant dans la partie SI seront appelées entrées de programmation ou entrées de sélection. Elles seront dessinées en général du bas vers le haut (on utilise ici pour simplifier la notation américaine). Les autres entrées (entrées normales) apparaîtront seulement dans des équations dans la partie ALORS.

Un exemple sera plus parlant.

 
Table vérité généralisée et schéma fonctionnel

Exemple :

Cette figure montre qu'une entrée de sélection se retrouve dans la partie SI de la table de vérité généralisée (correspondance en rouge dans la figure). Par contre une entrée normale peut se retrouver dans une équation de la partie ALORS de la table (comme le montre la correspondance en vert dans la figure).

On ne peut éviter de se poser la question : OK, j'ai une table de vérité généralisée, mais comment j'obtiens l'équation algébrique correspondante ?

Recherche de l'équation algébrique correspondante

modifier

En fait, quel que soit le type de table de vérité, on procède de la même manière :

Pour trouver une équation à partir d'une table SI-ALORS on fait comme avec une table de vérité : on multiplie la partie alors par la partie SI pour chacune des lignes.

Ici, par exemple, on obtient facilement :

 

soit :

 


Remarque : une table de vérité pour ce circuit contiendrait 16 lignes. C'est un des grands intérêts de la table SI-ALORS : de donner une information identique à une table de vérité mais de manière plus compacte (avec moins de ligne). L'autre intérêt est de permettre de voir les fonctions, même simples, avec un autre point de vue, comme le montre l'exercice 1 ci-dessous.

Exercice 1

modifier

Faire une table si alors (ou table de vérité généralisée) du ou exclusif.

Exercice 2 (Le multiplexeur)

modifier
 
Multiplexeur 4 vers 1

C'est un interrupteur programmable qui est décrit ici : Multiplexeur. MUX sera parfois utilisé en lieu et place de multiplexeur. Pour la suite de l'exercice on s'intéressera au multiplexeur 4/1 (qui n'existe pas dans la série 7400) Ses entrées (normales) sont appelées e0, e1, e2 et e3 tandis que les entrées de sélection sont c0 et c1 (c0 poids faible). La sortie est s.

  1. Combien d'entrées et donc combien de lignes comporterait une table de vérité normale décrivant ce composant ?
  2. Établir la table SI-ALORS de cette fonction. (Combien de lignes ?)
  3. En déduire l'équation logique de ce multiplexeur.

Retour sur VHDL

modifier

Il est important de garder en tête le fait qu'une table de vérité ou une table généralisée doit être réalisée avec une structure with-select-when (même s'il reste possible de faire autrement). Voici un exemple avec la table de vérité du tout début de ce TD.

Table de vérité et sa programmation VHDL
Entrées Sorties VHDL
a b y z
-- exemple de table de vérité
ENTITY ex IS PORT (
  -- a, b
  e : IN bit_vector(1 downto 0);
  -- y, z
  s : OUT bit_vector(1 downto 0));
END ex;
ARCHITECTURE aex OF ex IS
BEGIN
  WITH e SELECT
    s <= "01" WHEN "00",
         "10" WHEN "01",
         "11" WHEN "10",
         "10" WHEN OTHERS;    
END aex;
0 0 0 1
0 1 1 0
1 0 1 1
1 1 1 0


Soit la table de vérité généralisée de s donnée en exemple précédemment et rappelée maintenant

Table de vérité généralisée
SI ALORS
Entrées Sorties
e1 e0 s
0 0 0
0 1 1
1 0 e2
1 1 e2+e3

Elle peut s'écrire en VHDL :

-- exemple de table de vérité généralisée

ENTITY fct IS PORT (
  e3,e2 : IN bit;
  e : IN bit_vector(1 DOWNTO 0);
  s : OUT bit);
END fct;
ARCHITECTURE archfct OF fct IS
BEGIN
  WITH e SELECT
    s <= '0' WHEN "00",
         '1' WHEN "01",
         e2 WHEN "10",
         e2 OR e3 WHEN OTHERS;    
END archfct;

Exercice 3

modifier

Écrire un programme VHDL pour le multiplexeur de l'exercice 2.

Générateur de fonction logique combinatoire

modifier

Un multiplexeur utilisé comme ci-dessus permet de réaliser des fonctions combinatoires.


La notation   chapeautant des lettres signifie que A est poids faible pour la figure de gauche et donc que B est poids faible pour la figure de droite. À gauche la fonction obtenue est :

 

Exercice 4

modifier

Quelle est la fonction réalisée par le schéma de droite de la figure ci-dessus ?

Exercice 5

modifier

Une société est composée de 4 actionnaires ayant les nombres suivants d'actions A=60, B=100, C=160 et D=180.

Nous désirons construire une machine à voter automatiquement, tenant compte dans le résultat du poids en actions de chaque personne. La machine dispose de 4 boutons poussoirs A, B, C, D et le résultat sera un voyant V qui s'allumera si la majorité pondérée appuie sur les boutons.

Chercher les équations et implanter un circuit avec un MUX 8/1, puis un MUX 4/1 et enfin un MUX 2/1.