Cours:TP M1102 TP 3 Corr : Différence entre versions
m (→Exercice 1) |
m (→Exercice 1) |
||
| Ligne 1 : | Ligne 1 : | ||
=TP 3= | =TP 3= | ||
==Exercice 1== | ==Exercice 1== | ||
| + | ===Question 1=== | ||
La table de vérité donnée dans wikipédia est : | La table de vérité donnée dans wikipédia est : | ||
{| class="wikitable centre" style="text-align:center" | {| class="wikitable centre" style="text-align:center" | ||
| Ligne 55 : | Ligne 56 : | ||
'''ATTENTION''' : | '''ATTENTION''' : | ||
Nous avons aussi volontairement changé l'ordre ses entrées et des sorties.Il est préférable d'avoir les sorties dans ce sens pour avoir le poids fort des deux bits de sortie à gauche. Pour les entrées c'est moins important. | Nous avons aussi volontairement changé l'ordre ses entrées et des sorties.Il est préférable d'avoir les sorties dans ce sens pour avoir le poids fort des deux bits de sortie à gauche. Pour les entrées c'est moins important. | ||
| + | |||
| + | Voici le fichier VHDL correspondant : | ||
| + | <source lang=vhdl> | ||
| + | library IEEE; | ||
| + | use IEEE.STD_LOGIC_1164.ALL; | ||
| + | ENTITY add1bit IS PORT( | ||
| + | e : in std_logic_vector(2 downto 0); -- Cin, B, A | ||
| + | s : out std_logic_vector(1 downto 0)); -- Cout, S | ||
| + | END add1bit; | ||
| + | |||
| + | ARCHITECTURE arch of add1bit IS | ||
| + | BEGIN | ||
| + | with e select | ||
| + | S <= "00" when "000", | ||
| + | "01" when "001", | ||
| + | "01" when "010", | ||
| + | "10" when "011", | ||
| + | "01" when "100", | ||
| + | "10" when "101", | ||
| + | "10" when "110", | ||
| + | "11" when others; | ||
| + | END arch; | ||
| + | </source> | ||
| + | ===Question 2=== | ||
Version du 25 septembre 2020 à 13:46
TP 3
Exercice 1
Question 1
La table de vérité donnée dans wikipédia est :
| A | B | Cin | S | Cout |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Vous allons la modifier légèrement pour ses entrées et sorties en regroupant les 3 entrées et les 2 sorties (séparément bien entendu)
- Table de vérité
Entrées Sorties e(2)=Cin e(1)=B e(0)=A S(1)=Cout S(0)=S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1
ATTENTION : Nous avons aussi volontairement changé l'ordre ses entrées et des sorties.Il est préférable d'avoir les sorties dans ce sens pour avoir le poids fort des deux bits de sortie à gauche. Pour les entrées c'est moins important.
Voici le fichier VHDL correspondant :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
ENTITY add1bit IS PORT(
e : in std_logic_vector(2 downto 0); -- Cin, B, A
s : out std_logic_vector(1 downto 0)); -- Cout, S
END add1bit;
ARCHITECTURE arch of add1bit IS
BEGIN
with e select
S <= "00" when "000",
"01" when "001",
"01" when "010",
"10" when "011",
"01" when "100",
"10" when "101",
"10" when "110",
"11" when others;
END arch;