< Logique (sciences de l'ingénieur) < Exercices



Caractéristiques des tables de vérité

Reprenons une table de vérité simple :

Table de vérité
EntréesSorties
abyz
0001
0110
1011
1110

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
  • la partie ALORS ne contient que des 1 et des 0.

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

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. Elles seront dessinées en général du bas vers le haut (on utilise ici pour simplifier la notation américaine). Exemple :



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 on obtient :

soit :


Remarque : une table de vérité pour ce circuit contiendrait 16 lignes. C’est un des intérêts de la table SI-ALORS de donner une information identique à une table de vérité mais de manière plus compacte.

Exercice 1

Faire une table si alors du ou exclusif.

Exercice 2 (Le multiplexeur)

C'est un interrupteur programmable qui est décrit ici : Multiplexeur. Pour la suite de l'exercice on s'intéressera au multiplexeur 4/1.

  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

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éesSortiesVHDL
abyz
-- exemple 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;
0001
0110
1011
1110


La table de vérité généralisée de s donnée en exemple précédemment peut s'écrire en VHDL :

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

LIBRARY ieee;

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

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

Générateur de fonction logique combinatoire

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


La notation chapeautant des lettres signifie qu'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

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

Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.