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 à 14: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;