MIC1065 Lab4

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 11

UNIVERSITÉ DU QUÉBEC À MONTRÉAL

DÉPARTEMENT D’INFORMATIQUE

Laboratoire no. 4
Étude pratique de Full-Adder

Par
Ndiaye, Cheikhna Ely Cheikh

Soumis le 27 avril 2018


à

Professeur Rabemanantsoa Monjy


et aux
Chargés de laboratoires Cristian Negrea

Cours MIC1065
Circuits Logiques

Trimestre Hiver 2024


Lab #4: Etudes pratiques de full-adder
Table des matières
1 But.......................................................................................................................................3
Manipulations Et Résultats.........................................................................................................4
1.1 Test sur Full-Adder.....................................................................................................4
1.2 Conversion en vhdl et de notre full-adder...................................................................5
2 Analyse et discussion..........................................................................................................7
3 Conclusion..........................................................................................................................8

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 1
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder

COMMENTAIRE DU CORRECTEUR

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 2
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder

1 But

Ce laboratoire a pour but de nous familiariser avec le codage VHDL a travers


l’implémentation d’un additionneur et de sa vérification à l’aide d’un simulateur sur plaquette
FPGA. À la fin de la séance, on devra etre capable de compiler un code sur xilinx, de simuler
ce code et faire sa vérification sur plaquette.

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 3
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder

Manipulations Et Résultats

1.1 Test sur Full-Adder


Sur cette partie nous devions avant tout faire un test de notre circuit afin de bien voir qu’il
s’agissait d’un full-adder.

image 1 : Full-Adder (additioneur)

Pour ce faire j’ai opte pour un test sur plaquette. et voici la table de verite que j’ai aptenue
avec des entrees a,b et cin puis des sortie s et cout representant le carry.

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

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 4
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder
1.2 Conversion en vhdl et de notre full-adder
Dans cette partie du laboratoire nous devions à partir du circuit de l’additionneur, trouver
le code vhdl qui lui correspondait.
Une fois avoir coder le Full-adder nous avons dû préparer sa simulation sur xilinx afin
d’obtenir les sorties sur plaquette que nous attendons, c’est-à-dire les allumages de leds
sur plaquette correspondant au code vhdl souhaiter.
Texte du code de notre full-adder
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity abc_vhdl is

port (
a: in std_logic;
b: in std_logic;
cin: in std_logic;
s: out std_logic;
cout: out std_logic);
end abc_vhdl;

architecture Behavioral of abc_vhdl is

begin
s <= a OR b ;
cout <= cin ;

end Behavioral;

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 5
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder
Code abc.ucf
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity abc_vhdl is

port (
a: in std_logic;
b: in std_logic;
cin: in std_logic;
s: out std_logic;
cout: out std_logic);
end abc_vhdl;

architecture Behavioral of abc_vhdl is

begin
s <= a OR b ;
cout <= cin ;

end Behavioral;

Code du top_test
library IEEE
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.NUMERIC_STD.ALL;
entity abc is
__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 6
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder
end abc

ARCHITECTURE behavioral OF abc IS

component abc_vhdl
port (
a: in std_logic;
b: in std_logic;
cin: in std_logic;
s: out std_logic);
cout: out std_logic;
end component

begin abc
uut: abc_vhdl port map;
End;

Process begin

NET "s"LOC="U18";#Bank=1,Pin name = IO_L52N_M1DQ15, Sch name =


LD0
NET "cout"LOC="M14";#Bank=1, Pin name = IO_L53P, Sch name = LD1
NET "a"LOC="A10";#Bank=0, Pin name = IO_L37N_GCLK12, Sch name =
SW0
NET "b"LOC="D14";#Bank=0, Pin name = IO_L65P_SCP3, Sch name =
SW1
NET "cin"LOC="C14";#Bank=0, Pin name = IO_L65N_SCP2, Sch name =
SW2
end process

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 7
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder
Une fois ces compilations faites on crée un fichier .bit grâce à la génération automatique
de xilinx. Dès que l’on obtient ce fichier xilinx, on peut passer au test sur plaquette.
Ce test consiste à allumer des interrupteurs pour vérifier si les leds s’allume ou pas.
Si toute les leds s’allume avec le bonne interrupteur notre full-adder marche bien.
Il s’agit en faite d’entrées pour les interrupteurs et de sorties pour les leds.

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 8
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder

2 Analyse et discussion

3.1) Test sur full-adder


Ce petit nous a permis de comprendre le fonctionnement d’un full-adder. Il nous a permis de
rallier toutes les connaissances que nous avons obtenue à travers les études de circuits et les
maths qui y sont associé. Cela nous donne plus de connaissance et de pratique pour la mise en
place de futur projet plus complexes.

3.2) Conversion et testbench


Cette manipulation nous permet de mettre en pratique les nouvelles connaissances que nous
avions obtenue grâce au Tp3 sur le vhdl, a travers le logiciel xilinx.
Une fois tout notre codage fait, nous avons commencer pour la première fois à utiliser les
plaquettes de type FPGA.
Ce type de plaquette marche parfaitement avec les programmes du code vhdl, il est très utile à
utiliser. Comparativement a la première manipulation que j’ai faite pour obtenir ma table de
vérité cela a était plus rapide et à utiliser moins de matériels. Cela peut s’avérer utile à long
terme et permettre des vérifications optimiser et efficaces

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 9
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM
Lab #4: Etudes pratiques de full-adder

3 Conclusion

La plaquette fpga est un moyen efficace et rapide de faire des tests de vhdl et ainsi gagner du
temps tout en utilisant moins de ressources.

A la fin de ces manipulations on a obtenu de nouvelles aptitude et connaissance sur le langage


vhdl, sur une manier différente d’utiliser les circuit intégrés a travers le full-adder.

__________________________________________________________________________________
Ndiaye  2024 MIC1065-Circuits logiques 10
Baccalauréat en Sciences Informatiques et Électronique (BSIE) UQAM

Vous aimerez peut-être aussi