Logique (sciences de l'ingénieur)/Exercices/TD7

Travaux dirigés n°7
Image logo représentative de la faculté
Exercices no7
Leçon : Logique (sciences de l'ingénieur)

Exercices de niveau 11.

Exo préc. :Travaux dirigés n°6
Exo suiv. :Travaux dirigés n°8
En raison de limitations techniques, la typographie souhaitable du titre, « Exercice : Travaux dirigés n°7
Logique (sciences de l'ingénieur)/Exercices/TD7
 », n'a pu être restituée correctement ci-dessus.




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

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

modifier

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

modifier

Faire une table si alors du ou exclusif.

Exercice 2 (Le multiplexeur)

modifier

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

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 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


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

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 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

modifier

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