Td corrigé 1. Les circuits logiques programmables : Faisons le point pdf

1. Les circuits logiques programmables : Faisons le point

FPGA (Forecasting Programmable Gate Array) : Réseau de portes programmables à la demande. Technologie qui utilise des circuits encapsulés comportant ...




part of the document




Les circuits logiques programmables : Faisons le point
Il y a quelques années la réalisation d’un montage en électronique numérique impliquait l’utilisation d’un nombre …………………………………………………………………………. Ceci avait pour conséquences un prix de revient élevé, une mise en oeuvre complexe et un circuit imprimé de taille importante.
Le développement des mémoires utilisées en informatique fut à l’origine des premiers circuits logiques programmables (PLD : ……………………………………).
Les circuits logiques programmables sont ………………………………………………………………………. ... Le câblage est …………………………………………………………………………………………………... Certains PLD ne permettent pas la relecture de la fonction logique programmée, c’est pratique lorsque le ………… ……………………………………………..……….. .
Ces circuits disposent d’un certain nombre de broches d’entrées et de sorties. L’utilisateur associe ces broches ……………………………………………………… (plus ou moins complexes) qu’il programme dans le circuit.
Sa mise en oeuvre se fait très facilement à l’aide …………………………………………………. ………….. et d’un logiciel adapté.
Pour des moyennes séries, les composants programmables sont en général préférés ……………. Les PLD peuvent être programmés par l’utilisateur (bureau d’étude, chaîne d’assemblage) alors que les ASIC qui sont …………………………………………………………… (ils ne peuvent être que simulés par le bureau d’étude) sont réservés à des productions de très grande série ne serait-ce qu’en raison de leur coût de développement élevé.


Le terme PLD regroupe 4 familles de composants :


 1.1 Les PAL

Ce sont les circuits logiques …………………………………………………………... Les PAL sont programmés par …………………………………………………. Ils ne sont donc ………………………………………., ce qui peut être gênant en phase de développement. Un PAL permet de remplacer jusqu’à ………………………………………………………..


Principe d’un PAL


Ce PAL simplifié comporte 2 entrées I1 et I2 et une sortie O. Huit fusibles (F1 à F8) permettent de réaliser diverses fonctions logiques. La programmation va consister à faire sauter les fusibles nécessaires afin de réaliser la fonction voulue. . La fusion des fusibles est obtenue en appliquant à leurs bornes une tension de 11,5 V pendant 10 à 50 µS (leur tension de fonctionnement est environ de 5V).

Convention de représentation :

La représentation simplifiée ne montre pas tous les fusibles, les entrées de la porte ET sont regroupées sur une seule ligne. ……………. …………………………………………….

Exemple de programmation d’un PAL

On souhaite réaliser une fonction : Déterminer la fonction réaliser par ce pal

Structure d’un PAL à 4 entrées et 4 sorties













Les différents types d’entrées / sorties
On distingue 3 principes utilisés pour les sorties. Selon le modèle, un ou plusieurs types de sorties peuvent être utilisés sur un même PAL.

( Entrées / ……………………………………… :
Ces sorties 3 états sont rebouclées vers la matrice de fusibles. Une sortie ………………………………… ……………. intermédiaire. En mode haute impédance (la sortie étant inhibée), on peut utiliser une broche de sortie comme étant une entrée. On parle alors d’entrée / sortie (I/O).

( Sorties ………………………….. :
Ces sorties utilisent ………………………………… qui permet la logique séquentielle. Par contre, une sortie à registre ne peut pas être utilisée comme entrée.
Remarques :
Le nombre d’entrées varie ………………………………..
Le nombre de sorties varie ……………………………….
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) …………………………………………………. Les fusibles sont remplacés par des transistors de type MOS FET. Ce ne sont ni plus ni moins que des « GALs ».
Les GAL
L’appellation GAL est une marque déposée de LATTICE SEMICONDUCTOR qui a été la première société à proposer sur le marché ce type de produits. D’autres marques proposent des équivalents (compatibles) commercialisés sous le nom de PAL CMOS, E2PAL ou encore PAL EECMOS.

Les GAL sont des PAL effaçables électriquement, qui utilisent la technologie CMOS.
Les EPLD
Ces circuits ont une capacité en nombre de portes et en possibilités de configuration est supérieure à celle des GAL.
Historiquement, les premiers EPLD étaient des GAL effaçables aux U.V. Il existe maintenant des EPLD effaçables électriquement.
Les pLSI et ispLSI de LATTICE sont à mi-chemin entre les EPLD et les FPGA.

Les FPGA
Apparus il y a seulement quelques années, les FPGA sont assimilables à des ASIC programmables par l’utilisateur.
Ce sont de gros ensembles ………………………………………………. (plusieurs milliers de portes) que l’utilisateur peut interconnecter à loisir.

La programmation de circuits logiques
Plusieurs solutions sont possibles pour programmer les PLD. Elles dépendent essentiellement de l’outil de développement utilisé.
( ………………………..
( …………………………….
( ………………………….
( Fichiers JEDEC.
Le format international JEDEC est un standard de programmation très répandu qui est accepté par la plupart des programmateurs de PLD.
Des outils de développement et de simulation tels que VIEWLOGIC ou PROTEUS disposent d’une bibliothèque de composants très étendue et permettent de concevoir graphiquement des fonctions logiques qui peuvent être exportés en fichiers JEDEC en fonction du PLD utilisé.
Les ispLSI de LATTICE peuvent se programmer directement sur la carte électronique de l’application. On peut très bien imaginer qu’ils soient reprogrammés par téléchargement alors qu’ils sont embarqués sur un satellite !
Lexique

ASIC (Application Specific Integrated Circuit) : Circuit non programmable configuré lors de sa fabrication pour une application spécifique.

CPLD (Complex Programmable Logic Device) : Désigne des PLD ayant un haut niveau d'intégration.

EEPROM ou E2PROM (Electrical Erasable Programmable Read-Only Memory) : Mémoire programmable à lecture seule, effaçable électriquement.

E2PAL : c.f. GAL.

EPLD (Erasable Programmable Logic Device) : Circuits logiques reprogrammables.

EPROM (Erasable Programmable Read-Only Memory) : Mémoire programmable à lecture seule, effaçable par ultraviolets.

FPGA (Forecasting Programmable Gate Array) : Réseau de portes programmables à la demande. Technologie qui utilise des circuits encapsulés comportant des réseaux de portes logiques non reliées : l’utilisateur réalise les interconnexions nécessaires par programmation.

FPLS (Field Programmable Logic Sequencer) : Ancien nom donné aux PAL à registres.

GAL (Generic Array Logic) : Circuits logiques PAL reprogrammables à technologie CMOS.

ISP (In System Programmable) : Circuit que l’on peut programmer (et donc effacer) même lorsqu’il est en place sur l’application.

JEDEC : Format de fichier de programmation des circuits logiques (image des fusibles à griller).

LSI (Large Scale Integration) : Intégration à grande échelle : circuits regroupant quelques centaines à quelques milliers de portes logiques (CI de télécommande, décodeur de code à barre, etc …).

MSI (Medium Scale Integration) : Intégration à échelle moyenne : circuits regroupant quelques dizaines de portes logiques (décodeurs, multiplexeurs, bascules …).

PAL (Programmable Array Logic) : Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas.

PAL CMOS ou PAL EECMOS : c.f. GAL.

PLD (Programmable Logic Device) : Famille des circuits programmables qui comprend les PAL, GAL, EPLD et FPGA.

PROM (Programmable Read-Only Memory) : Mémoire programmable une seule fois à lecture seule.

SSI (Small Scale Integration) : Intégration à petite échelle : circuit ne regroupant que quelques portes logiques (fonctions de base des séries 74 ou 4000).

VHDL : Langage de programmation utilisé pour programmer les PLD.

VLSI (Very Large Scale Integration) : Intégration à très grande échelle : circuits regroupant quelques dizaines de milliers de portes logiques (microprocesseurs …).









1. Exercice N°1
Soit le schéma suivant :
1. Trouver l’équation de Q0 et Q1.

2. En rouge réaliser sur le schéma les équations suivantes :
Q0 = ( /a .b ) + ( a . b ) + /b
Q1 = ( b . /b) + a + /a

2. Exercice N°2
Soit le schéma ci-dessous. Réaliser les connections pour avoir l’équation LCDFM valide.

 SHAPE \* MERGEFORMAT 







3. Exercice N°3
Soit le schéma de la carte microprocesseur d’ un système de traitement des eaux de piscine.


Caractériser tout les boîtiers en donnant le rôle, leur fonction, l’organisation, la capacité etc……
Remplir un tableau du décodage d’adresses du système.
Réaliser le tableau d’occupation mémoire (le mapping) du système.
On désire réaliser un décodage complet du système ( sans adresse image ) avec un pal à 14 entrées et 4 sorties. Ecrire les équations de toutes les sorties du pal.
Compléter le schéma interne en rouge pour que O0, O1, O2 et O3 valident respectivement IC2, IC3 , IC4 et IC5.




















Les circuits logiques programmables : Faisons le point
Il y a quelques années la réalisation d’un montage en électronique numérique impliquait l’utilisation d’un nombre important de circuits intégrés logiques. Ceci avait pour conséquences un prix de revient élevé, une mise en oeuvre complexe et un circuit imprimé de taille importante.
Le développement des mémoires utilisées en informatique fut à l’origine des premiers circuits logiques programmables (PLD : programmable logic device).
Les circuits logiques programmables sont utilisés pour remplacer l’association de plusieurs boîtiers logiques. Le câblage est simplifié, l’encombrement et le risque de pannes est réduit. Certains PLD ne permettent pas la relecture de la fonction logique programmée, c’est pratique lorsque le programme doit rester confidentiel.
Ces circuits disposent d’un certain nombre de broches d’entrées et de sorties. L’utilisateur associe ces broches aux équations logiques (plus ou moins complexes) qu’il programme dans le circuit.
Sa mise en oeuvre se fait très facilement à l’aide d’un programmateur, d’un micro-ordinateur et d’un logiciel adapté.
Pour des moyennes séries, les composants programmables sont en général préférés aux ASIC. Les PLD peuvent être programmés par l’utilisateur (bureau d’étude, chaîne d’assemblage) alors que les ASIC qui sont configurés lors de leur fabrication (ils ne peuvent être que simulés par le bureau d’étude) sont réservés à des productions de très grande série ne serait-ce qu’en raison de leur coût de développement élevé.


Le terme PLD regroupe 4 familles de composants :


 1.1 Les PAL

Ce sont les circuits logiques programmables les plus anciens. Les PAL sont programmés par destruction de fusibles. Ils ne sont donc programmables qu’une fois, ce qui peut être gênant en phase de développement. Un PAL permet de remplacer jusqu’à 10 boîtiers SSI ou 2 à 3 boîtiers MSI.


Principe d’un PAL


Ce PAL simplifié comporte 2 entrées I1 et I2 et une sortie O. Huit fusibles (F1 à F8) permettent de réaliser diverses fonctions logiques. La programmation va consister à faire sauter les fusibles nécessaires afin de réaliser la fonction voulue. . La fusion des fusibles est obtenue en appliquant à leurs bornes une tension de 11,5 V pendant 10 à 50 µS (leur tension de fonctionnement est environ de 5V).

Convention de représentation :

La représentation simplifiée ne montre pas tous les fusibles, les entrées de la porte ET sont regroupées sur une seule ligne. Une croix représente un fusible intact.

Exemple de programmation d’un PAL

On souhaite réaliser une fonction : Déterminer la fonction réaliser par ce pal

Structure d’un PAL à 4 entrées et 4 sorties













Les différents types d’entrées / sorties
On distingue 3 principes utilisés pour les sorties. Selon le modèle, un ou plusieurs types de sorties peuvent être utilisés sur un même PAL.

( Entrées / Sorties combinatoires :
Ces sorties 3 états sont rebouclées vers la matrice de fusibles. Une sortie peut donc servir de variable intermédiaire. En mode haute impédance (la sortie étant inhibée), on peut utiliser une broche de sortie comme étant une entrée. On parle alors d’entrée / sortie (I/O).

( Sorties à registres :
Ces sorties utilisent une bascule D qui permet la logique séquentielle. Par contre, une sortie à registre ne peut pas être utilisée comme entrée.
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, Z ...).
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 ».
Les GAL
L’appellation GAL est une marque déposée de LATTICE SEMICONDUCTOR qui a été la première société à proposer sur le marché ce type de produits. D’autres marques proposent des équivalents (compatibles) commercialisés sous le nom de PAL CMOS, E2PAL ou encore PAL EECMOS.

Les GAL sont des PAL effaçables électriquement, qui utilisent la technologie CMOS.
Les EPLD
Ces circuits ont une capacité en nombre de portes et en possibilités de configuration est supérieure à celle des GAL.
Historiquement, les premiers EPLD étaient des GAL effaçables aux U.V. Il existe maintenant des EPLD effaçables électriquement.
Les pLSI et ispLSI de LATTICE sont à mi-chemin entre les EPLD et les FPGA.

Les FPGA
Apparus il y a seulement quelques années, les FPGA sont assimilables à des ASIC programmables par l’utilisateur.
Ce sont de gros ensembles de blocs logiques élémentaires (plusieurs milliers de portes) que l’utilisateur peut interconnecter à loisir.

La programmation de circuits logiques
Plusieurs solutions sont possibles pour programmer les PLD. Elles dépendent essentiellement de l’outil de développement utilisé.
( Equations logiques.
( Logigrammes.
( Langage VHDL.
( Fichiers JEDEC.
Le format international JEDEC est un standard de programmation très répandu qui est accepté par la plupart des programmateurs de PLD.
Des outils de développement et de simulation tels que VIEWLOGIC (au hasard !) disposent d’une bibliothèque de composants très étendue et permettent de concevoir graphiquement des fonctions logiques qui peuvent être exportés en fichiers JEDEC en fonction du PLD utilisé.
Les ispLSI de LATTICE peuvent se programmer directement sur la carte électronique de l’application. On peut très bien imaginer qu’ils soient reprogrammés par téléchargement alors qu’ils sont embarqués sur un satellite !
Lexique

ASIC (Application Specific Integrated Circuit) : Circuit non programmable configuré lors de sa fabrication pour une application spécifique.

CPLD (Complex Programmable Logic Device) : Désigne des PLD ayant un haut niveau d'intégration.

EEPROM ou E2PROM (Electrical Erasable Programmable Read-Only Memory) : Mémoire programmable à lecture seule, effaçable électriquement.

E2PAL : c.f. GAL.

EPLD (Erasable Programmable Logic Device) : Circuits logiques reprogrammables.

EPROM (Erasable Programmable Read-Only Memory) : Mémoire programmable à lecture seule, effaçable par ultraviolets.

FPGA (Forecasting Programmable Gate Array) : Réseau de portes programmables à la demande. Technologie qui utilise des circuits encapsulés comportant des réseaux de portes logiques non reliées : l’utilisateur réalise les interconnexions nécessaires par programmation.

FPLS (Field Programmable Logic Sequencer) : Ancien nom donné aux PAL à registres.

GAL (Generic Array Logic) : Circuits logiques PAL reprogrammables à technologie CMOS.

ISP (In System Programmable) : Circuit que l’on peut programmer (et donc effacer) même lorsqu’il est en place sur l’application.

JEDEC : Format de fichier de programmation des circuits logiques (image des fusibles à griller).

LSI (Large Scale Integration) : Intégration à grande échelle : circuits regroupant quelques centaines à quelques milliers de portes logiques (CI de télécommande, décodeur de code à barre, etc …).

MSI (Medium Scale Integration) : Intégration à échelle moyenne : circuits regroupant quelques dizaines de portes logiques (décodeurs, multiplexeurs, bascules …).

PAL (Programmable Array Logic) : Circuits logiques programmables dans lesquels seules les fonctions ET sont programmables, les fonctions OU ne le sont pas.

PAL CMOS ou PAL EECMOS : c.f. GAL.

PLD (Programmable Logic Device) : Famille des circuits programmables qui comprend les PAL, GAL, EPLD et FPGA.

PROM (Programmable Read-Only Memory) : Mémoire programmable une seule fois à lecture seule.

SSI (Small Scale Integration) : Intégration à petite échelle : circuit ne regroupant que quelques portes logiques (fonctions de base des séries 74 ou 4000).

VHDL : Langage de programmation utilisé pour programmer les PLD.

VLSI (Very Large Scale Integration) : Intégration à très grande échelle : circuits regroupant quelques dizaines de milliers de portes logiques (microprocesseurs …).









1. Exercice N°1
Soit le schéma suivant :
1. Trouver l’équation de Q0 et Q1.

2. En rouge réaliser sur le schéma les équations suivantes :
Q0 = ( /a .b ) + ( a . b ) + /b
Q1 = ( b . /b) + a + /a

2. Exercice N°2
Soit le schéma ci-dessous. Réaliser les connections pour avoir l’équation LCDFM valide.

 SHAPE \* MERGEFORMAT 








3. Exercice N°3
Soit le schéma de la carte microprocesseur d’ un système de traitement des eaux de piscine.


Caractériser tout les boîtiers en donnant le rôle, leur fonction, l’organisation, la capacité etc……
Remplir un tableau du décodage d’adresses du système.
Réaliser le tableau d’occupation mémoire (le mapping) du système.
On désire réaliser un décodage complet du système ( sans adresse image ) avec un pal à 16 entrées et 4 sorties. Ecrire les équations de toutes les sorties du pal.
Compléter le schéma interne en rouge pour que O0, O1, O2 et O3 valident respectivement IC2, IC3 , IC4 et IC5.






Les circuits programmables page  PAGE \* MERGEFORMAT 14/7





 EMBED Word.Picture.8 

 EMBED Word.Picture.8 

Porte 3 états

/LC

LC

/LF

LF

/HF

HF

/HC

HC

/H2

H2

/H1

H1

LCDFM = + H1 * H2 * HF * LF
+ H1 * LC
+ H1 * H2 * LC
+ H1 * HF * LC
+ H1 * LF * LC


1

LC

1

LF

1

HF

1

HC

1

H2

&

&

&

&

&

1

H1

LCDFM


(1







A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

 EMBED Word.Picture.8 



 EMBED Word.Picture.8 





Porte 3 états


(1

LCDFM

H1

1

&

&

&

&

&

H2

1

HC

1

HF

1

LF

1

LC

1

LCDFM = H1 * H2 * HF * LF
+ H1 * LC
+ H1 * H2 * LC
+ H1 * HF * LC
+ H1 * LF * LC


H1

/H1

H2

/H2

HC

/HC

HF

/HF

LF

/LF

LC

/LC



A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0