Beruflich Dokumente
Kultur Dokumente
Mémoire
Réseau logique
Programmable
Processeur
Systèmes électroniques numériques
Circuit logique
programmable
PLD FPGA
SPLD CPLD
MATRICE
ET
P1 P2 P3 P4
F1
MATRICE
F2
OU
Systèmes électroniques numériques:
PLD
Réalisation de la matrice ET:
S=E1.E2
Fusible intact
S=E1.E2
Systèmes électroniques numériques:
PLD
Exemple de la matrice ET:
P1= E1.E2.E3
P2= E1
P3=E1.E2
Systèmes électroniques numériques:
PLD
Représentation de la matrice ET:
P3 P2 P1
Systèmes électroniques numériques:
PLD
MATRICE
ET
P1 P2 P3 P4
F1
MATRICE
F2
OU
Systèmes électroniques numériques:
PLD
Réalisation de la matrice OU:
S=E1+E2
Systèmes électroniques numériques:
PLD
EXERCICE: Réalisez un circuit PLD
A B C Y1 Y2
1- Trouver les fonctions Y1 et Y2.
0 0 0 0 0
2- Symbolisez les entrées.
0 0 1 0 0
3- Donnez le schéma des éléments de la 0 1 0 0 0
matrice ET. 0 1 1 0 1
matrice OU. 1 0 1 1 1
1 1 0 0 0
1 1 1 1 1
Systèmes électroniques numériques:
PAL
PLD
SPLD CPLD
Architecture: Entrées
MATRICE
ET
programmable
P1 P2 P3 P4
F1
MATRICE
F2
OU fixe
Systèmes électroniques numériques:
PAL
Architecture: Sorties
Sortie PAL
A B C
Systèmes électroniques numériques:
PAL
Architecture: PAL Combinatoire
Correction 2
Si Ai .Bi .Ri1 Ai .Bi .Ri 1 Ai .Bi .Ri 1 Ai .Bi .Ri 1
Ai Bi Ri-1
Si Ri
Systèmes électroniques numériques:
PAL
Architecture: Sorties
Sortie PAL
Q
D1 Q
h
Q
D2 Q
h
Systèmes électroniques numériques:
PAL
Architecture: PAL Séquentiel
Exemple
• Réalisez un compteur modulo 8 synchrone en
utilisant un PLA séquentiel
Q2 Q1 Q0 D2 D1 D0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1
1 0 1 1 1 0
1 1 0 1 1 1
1 1 1 0 0 0
Systèmes électroniques numériques:
PAL
Architecture: PAL Séquentiel
Exemple
D0 Q0
D1 Q1.Q0 Q1.Q0
D 2 Q 2.Q1.Q0 Q 2.Q1.Q0 Q 2.Q1.Q0 Q 2.Q1.Q0
Q2 Q1 Q0
D0 Q0
h Q
Q1
D1
h Q
Q2
D2
h Q
Systèmes électroniques numériques:
PAL
PAL 16R8
Systèmes électroniques numériques:
GAL
Systèmes électroniques numériques:
GAL/OLMC (Macro-Cellule)
Systèmes électroniques numériques: GAL
Exemple de brochage g16v8
64*32
Systèmes électroniques numériques:
Programmation PLD
Cahier de charge
Simplification logique
Simulation Logiciel
Generation d’un fichier JEDEC
PLD programmé
Systèmes électroniques numériques:
Programmation PLD: TP1
Wincupl
Ce logiciel permet à partir d’un ficher PLD de créer un fichier
JEDEC permettant de programmer un GAL grâce à un
programmateur universel.
Le fichier PLD décrit:
• le circuit GAL utilisé
• le brochage du GAL
• les équations logiques à réaliser
Systèmes électroniques numériques:
Programmation PLD: TP1
WinCupl
File New Project
Systèmes électroniques numériques:
Programmation PLD: TP1
WinCupl
Systèmes électroniques numériques:
Programmation PLD: TP1
WinCupl
F1=|(a(b+c)+(|a+|b)(b+|c))
P=a&(b#c)
Q=!a#!b
R=b#!c
x=!(P#(Q&R)
F2=|a.|b.c
y=!a&!b&c
Systèmes électroniques numériques:
Programmation PLD: TP1
WinCupl
OLMC OLMC
OLMC OLMC
Systèmes électroniques numériques:
CPLD
Systèmes électroniques numériques:
FPGA
Systèmes électroniques numériques:
FPGA
Réseau
d’interconnexion
Architecture interne
I/O
bloque
CLB CLB CLB CLB CLB
Slice0
cin cin
Systèmes électroniques numériques:
FPGA
CLB (Slice):
LUT
LUT
Systèmes électroniques numériques:
FPGA
LUT
In 0
In 1
In 2
LUT out
In 3
Systèmes électroniques numériques:
FPGA
Exemple d’application
F=|ABCD+A|BCD+AB|CD+ABC|D+ABCD
A
B
C LUT
D
F
LUT
Systèmes électroniques numériques:
FPGA
Bloque de mémoire intégré
Systèmes électroniques numériques:
FPGA
Fonctions arithmétiques avancées
Systèmes électroniques numériques:
FPGA
Génération d’horloge
Systèmes électroniques numériques:
FPGA
Distribution d’horloge
Systèmes électroniques numériques:
FPGA
Microprocesseurs fixes
Systèmes électroniques numériques:
Programmation FPGA
VHDL
Systèmes électroniques numériques:
Programmation FPGA
library IEEE;
Exemple: porte logique ET
Use std_logic_1164.all
Vu de l’extérieur:
Entity porteET is
A port ( A: in std_logic;
S
B ET B: in std_logic;
S: out std_logic);
End porteET;
Vu de l’intérieur:
l’équation logique: Architecture comportement of porteET is
Begin
A.B=S S<=A and B
end comportement
Systèmes électroniques numériques:
Programmation FPGA
library IEEE;
Exemple: porte logique ET
Use std_logic_1164.all
Vu de l’extérieur:
Entity porteET is
A port ( A: in std_logic; OUT
S
B ET B: in std_logic;
IN S: out std_logic);INOUT
End porteET;
Vu de l’intérieur: BUFFER
Correction Exercices:
I/ entity PORTES is port
(A,B :in std_logic;
Y1,Y2,Y3,Y4,Y5,Y6,Y7:out std_logic);
end PORTES;
architecture DESCRIPTION of PORTES is
begin
Y1 <= A and B;
Y2 <= A or B;
Y3 <= A xor B;
Y4 <= not A;
Y5 <= A nand B;
Y6 <= A nor B;
Y7 <= not(A xor B);
end DESCRIPTION;
Systèmes électroniques numériques:
Programmation FPGA
Correction Exercices:
II/
entity DEC7SEG4 is port
(DEC :in std_logic_vector(3 downto 0);
SEG:out std_logic_vector(0 downto 6));
end DEC7SEG4;
architecture DESCRIPTION of DEC7SEG4 is
begin
SEG <= "1111110" when DEC = 0
else "0110000" when DEC = 1
else "1101101" when DEC = 2
else "1111001" when DEC = 3
else "0110011" when DEC = 4
else "1011011" when DEC = 5
else "1011111" when DEC = 6
else "1110000" when DEC = 7
else "1111111" when DEC = 8
else "1111011" when DEC = 9
else "-------";
end DESCRIPTION;