Cours:TP M1102 TP 3 Corr : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
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;

Question 2