Les Composants Logiques

Les Composants Logiques

1 - Familles de Composants Logiques

ASIC [Application Specified Integrated Devices]

  • CUSTOM : Circuits sur mesure, grande série. Ex: Microcontrôleur
  • PLD [Programmable Logic Devices] : petite série / prototypage. Ex: FPGA / CPLD

Constructeurs de PLD : Xilinx / ALtera


2 - Réalisation d’une Equation Logique

2.1 - Equation Logique

S=A.Bˉ+C S=A.\bar{B}+C

equation_logique_portes.svg

2.2 - Table de Vérité

A B C S
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

2.3 - Equation Logique Equivalente

A partir de la table de vérité ci-dessus :

S=Aˉ.Bˉ.C+Aˉ.B.C+A.B.C+A.Bˉ.Cˉ+A.Bˉ.C S=\bar{A}.\bar{B}.C+\bar{A}.B.C+A.B.C+A.\bar{B}.\bar{C}+A.\bar{B}.C

2.4 - Réalisation avec une mémoire

circuit_comb_univ.svg

avec_memoire.svg


3 - Evolution des Composants Logiques

3.1 - Circuits Séquentiels

Afin de réaliser des circuits séquentiels, en plus d’une matrice d’interconnexion, des bascules sont ajoutées :

gal.png

3.2 - Porte 3 Etats

La connexion des sorties de plusieurs composants logiques sur un même fil nécessite l’utilisation de portes 3 états :

En effet un même fil serait susceptible d’être forcé par 2 états contradictoires, d’où un conflit.

conflit.svg

Lorsqu’un élément connecté à un fil force la valeur logique de ce fil, les autres éléments doivent être transparents ( déconnectés ), on appelle cela l’état haute impédance.

haute_impedance.svg

Une porte 3 états permet de réaliser la connexion à un bus :

porte_3e.svg


4 - Les CPLD ( Complex Programmable Logic Device )

On retrouve dans les CPLD des macrocellules contenant des bascules configurables, des multiplexeurs et des portes 3 états.
Ces macrocellules sont reliées à une matrice d’interconnexion.

cpld.png

cpld_2.png


5 - Les FPGA ( Field Programmable Gate Array )

On peut considérer les FPGA comme des CPLD de plus grande capacité, avec en plus des composants spécialisés ( unité de calcul pour les nombres réels par exemple ).
Les environnements de développement des FPGAs permettent de choisir une architecture de processeur et ses périphériques dans une bibliothèque, de concevoir un nouveau périphérique en VHDL, puis de programmer le processeur en langage C/C++ avec éventuellement un système d’exploitation.

fpga_1.png

fpga_2.png

fpga_3.png