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

Leçons de niveau 11
Une page de Wikiversité, la communauté pédagogique libre.
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 | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

Faire une table si alors du ou exclusif.

Exercice 2 (Le multiplexeur)[modifier | modifier le wikicode]

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 | modifier le wikicode]

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 | modifier le wikicode]

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

Générateur de fonction logique combinatoire[modifier | modifier le wikicode]

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 | modifier le wikicode]

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