Académique Documents
Professionnel Documents
Culture Documents
Informatique industrielle
Synthèse VHDL et composants programmables
ENSAM- Casablanca
Conception logique
SSI
Small Optimisation des équations logiques
Scale 2
2 2
Integratio 1 1 1
n
3 3 3
Conception numérique
MSI
Middle Full Optimisation des traitements
Registre Mux
Scale Adder
Integratio
n
Conception architecturale
LSI
Large UAL
Choix des fonctionnalités
Séquenceur
Scale
Integratio
n
Conception fonctionnelle
VLSI
Very Optimisation des implémentations
Large Asic matérielles et logicielles
Scale E/S P E Fpga SE S
Integratio
n
3) Le temps réel...
données
Environnement
Système mesures
(ex : une chaîne de
informatique événements production, une
réaction chimique…)
Environnement
Restitution et
Acquisition Traitement
commande
• Composants hardware :
• Processeurs RISC CISC
• DSP
• FPGA
• Periph de communication, afficheurs, interfaces
• Software :
• système d’exploitation embarqué
• Logiciels spécifique, compilateur, interpreteurs.
Système
21
Système
22
RISC versus SISC
Nombre cycles/instruction #1 3 à 10
23
Circuits logiques programmables
ASIC
CUSTOM SEMI-CUSTOM
SRAM Antifuse
ASIC : Application Specific Integrated Circuit
FPGA : Field Programmable Gate Array
PLD
CPLD : Complex Programmable Logic Device
PAL : Programmable Array Logic
GAL : Generic Array Logic = PAL
SRAM : Static Random Access Memory
Les différentes familles de circuits logiques programmables
1) Quelques définitions
programmables et des
&
matrices « OU » fixes.
obtenue en appliquant à
leurs bornes une tension &
de 11,5 V pendant 10 à 50
µS (leur tension de
&
fonctionnement est
environ de 5V).
>1 >1
b a b a
Q0 Q1 Q0 a. b a. b Q0 Q1 Q1 a.b a.b
Q0 Q1 a.b.a.b a.b.a.b a.b.a.b a.b.a.b 0
•Certaines broches de
ces circuits peuvent être
utilisées aussi bien en Porte trois états permettant
entrée qu’en sortie grâce de déconnecter la broche
de la matrice "ET"
à un système de logique
3 états. I/O
Les diverses possibilités de ces circuits et leur standardisation ont conduit les
constructeurs à définir une nomenclature permettant de décoder assez facilement la
référence des PALs.
PAL : PAL
Lettre(s) Code(s) Structure de sortie
(CE) : CE pour version CMOS
XX : Nombre d’entrées
AB : Structure de sortie L Combinatoire active bas
YY : Nombre de sorties
H Combinatoire active haut
C : Consommation
ZZ : Vitesse C Combinatoire complémentaire
DEF : Type de boîtier
R Registre synchrone (D)
RA Registre asynchrone
X Registre OU exclusif
V Versatile
Remarques :
· Le nombre d’entrées varie entre 10 et 22.
· Le nombre de sorties varie entre 1 et 10.
· La puissance est indiquée par une lettre code.
· La vitesse indique le temps de propagation en nS.
· Les versions versatiles ont une cellule de sortie
programmable permettant d’obtenir n’importe quel autre type
de structure de sortie (L, H, R ...).
· Les versions CMOS (CE) sont effaçables électriquement.
Les fusibles sont remplacés par des transistors de type MOS
FET. Ce ne sont ni plus ni moins que des « GALs ».
Exemple : PAL 16 L 8 H 15 PC
PAL : PAL
: Nombre d’entrées :
: Structure de sortie :
: Nombre de sorties :
: Consommation :
: Vitesse :
: Type de boîtier :
Structures de base des PAL
Brochage du PAL Brochage du PAL
16R6 - 16L6 -
PAL22V10 : Sortie (VERSATILE)
PAL22V10
ZOOM Complet
b) Les GAL
Généralités
L’introduction des EPLD telle que l’a voulue ALTERA
visait deux buts :
Macrocellules
Architectures globales
Élément configurable :
• élément logique
• élément de mémorisation
EC • élément arithmétique
• entrée/sortie
Réseau de routage :
• lignes horizontales
• lignes verticales
Matrice de connexions
BC MC
Bloc de connexions
Architecture hiérarchique
Architecture hiérarchique
Réseau de routage de
niveau 2
Élément Hiérarchique de
niveau 2
Cellule logique
Cell Cell Cell Cell de base Cell Cell Cell Cell
Lignes de
Cell Cell Cell Cell longueur Cell Cell Cell Cell
4 cellules
Lignes de
4*4 4*4 4*4 4*4 longueur 16*16 16*16 16*16 16*16
64 cellules
Les éléments logiques
SRAM
In 0
SRAM
In 1
LUT 4 Out
In 2 SRAM
In 3
SRAM
SRAM
Out
Les Look Up Tables
In 0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
Les Look Up Tables
In 0 = 0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
Les Look Up Tables
In 0 =0 In 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
Les Look Up Tables
In 0 =0 In 1 = 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
Les Look Up Tables
In 0 =0 In 1 = 1 In 2 In 3
1111 0
1110 1
1101 1
1100 0
1011 0
1010 1
Out
Les Look Up Tables
In 0 =0 In 1 = 1 In 2 =1 In 3 = 1
1111 0
1110 1
1101 1
1100 0
1011 0
•XILINX
• ACTEL
• ALTERA
• LATTICE VANTIS
• CYPRESS
• AMD
57
FPGA Composants
58
Software
Un RTOS facilite la création d'un système temps réel, mais ne garantit pas que le
résultat final, respecte les contraintes temps réel, ce qui exige le développement
correct du logiciel. Un RTOS n'a pas nécessairement pour but d'être performant et
rapide, mais un RTOS fournit des services et des primitives qui, si elles sont utilisées
correctement, peuvent garantir les délais souhaités.
L'hypothèse synchrone:
données arrive
Cela peut être vu au niveau du modèle comme
entity AFFEC is
port (
E1,E2 : in std_logic;
end AFFEC;
begin
S1 <= '1'; -- S1 = 1
S2 <= '0'; -- S2 = 0
S3 <= E1; -- S3 = E1
Affectation conditionnelle :
Cette instruction modifie l’état d’un signal suivant le résultat d’une condition logique
entre un ou des signaux, valeurs, constantes.
SIGNAL <= expression when condition
[else expression when condition]
[else expression];
Remarque : l’instruction [else expression] n’est pas obligatoire mais elle fortement
conseillée, elle permet de définir la valeur du SIGNAL dans le cas où la condition
n’est pas remplie.
on peut mettre en cascade cette instruction voir l’exemple N°2 ci-dessous
Exemple N°1 :
-- S1 prend la valeur de E2 quand E1=’1’ sinon S1 prend la --
valeur ‘0’
S1 <= E2 when ( E1= ‘1’) else ‘0’;
Exemple N°2 :
-- Structure évoluée d’un multiplexeur 4 vers 1
S2 <= E1 when (SEL="00" ) else