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

De troyesGEII
Aller à : navigation, rechercher
m (Exercice 1)
m (Question 1)
Ligne 28 : Ligne 28 :
 
|-
 
|-
 
|}
 
|}
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)
+
 
 +
Nous allons la modifier légèrement pour ses entrées et sorties : les 3 entrées sont regroupées et les 2 sorties sont aussi regroupées ensemble
  
 
; Table de vérité
 
; Table de vérité
Ligne 79 : Ligne 80 :
 
END arch;
 
END arch;
 
</source>
 
</source>
 +
 
===Question 2===
 
===Question 2===

Version du 25 septembre 2020 à 14:48

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

Nous allons la modifier légèrement pour ses entrées et sorties : les 3 entrées sont regroupées et les 2 sorties sont aussi regroupées ensemble

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