# Logique (sciences de l'ingénieur)/Exercices/TD7
## 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 :
$s=0.{\overline {e1}}.{\overline {e0}}+1.{\overline {e1}}.e0+e2.e1.{\overline {e0}}+(e2+e3).e1.e0$
soit :
$s={\overline {e1}}.e0+e2.e1.{\overline {e0}}+e2.e1.e0+e3.e1.e0$
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.
* Combien d'entrées et donc combien de lignes comporterait une table de vérité normale décrivant ce composant ?
* Établir la table SI-ALORS de cette fonction. (Combien de lignes ?)
* 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 :

### 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 $\angle$ 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 :
$S={\bar {C}}.{\bar {B}}.{\bar {A}}+C.{\bar {B}}.A+x.{\bar {C}}.B.A+y.C.{\bar {B}}.{\bar {A}}+C.B.{\bar {A}}$

### Exercice 4

Quelle est la fonction réalisée par le schéma de droite de la figure ci-dessus ?
| Travaux dirigés n°6 | Travaux dirigés n°8 |