Cette catégorie regroupe les circuits réalisés par un fondeur.
Un ASIC (Application Specific Integrated Circuit) est un circuit intégré adapté à une application particulière. La fonction réalisée est, dans la majorité des cas, numérique mais peut être analogique ou bien mixte.
Les prédiffusés classiques (gate-array) représentés par la figure ci-contre.
Les mer de portes (sea of gates)
Avantages
Inconvénients
Cette catégorie regroupe les circuits programmables par l'utilisateur.
Il se définissent en plusieurs catégories de la simple matrice de diode pour les technologies les plus anciennes aux CPLDs et FPGA pour les technologies les plus récentes et les plus performantes. Plus généralement le fait que ces technologies soient programmables pas l'utilisateur les rends plus accessibles. Cela fournit des avantages :
et bien sûr quelques inconvénients
Les SPLD (Simple Programmable Logic Device) où l'on trouve les PALs (Programmable Array Logic) qui ont été les premiers circuits logiques programmables par l'utilisateur, suivi des GALs.
Ces circuits sont similaires aux PROMs, la structure interne est très proche, la seule différence est que dans les PROMs c'est le réseau OU qui est programmable alors que dans les PALs c'est le réseau ET qui est programmable, le réseau OU étant fixé à la construction.
La figure ci-contre montre un PAL de 4 entrées, 4 sorties reliées aux sorties de fonction OU à 3 entrées. Chaque sortie peut donc être une expression booléenne de 3 minterms.
Sur la figure toutes les connexions du réseau ET sont établies, c'est l'état du circuit avant programmation. Comme pour les PROMs, la programmation détruit les connexions qui ne correspondent pas à l'expression booléenne. Ce processus de programmation est également irréversible.
Les GALs présentent une évolution des PALs, car les sorties disposent en plus d'une bascule D qui permet de réaliser des systèmes séquentiels comme des compteurs, registres, ... .
Comme les PALs, les GALs ne sont plus utilisés.
Cellule de sortie qui offre deux possibilités :
On peut voir que le CPLD est un circuit qui groupe des blocs de type GAL autour d'une matrice d'interconnexion.
Ces circuits sont toujours utilisés quand la structure est suffisante pour l'application à implémenter.
Structure d'un bloc qui est proche de celle d'un GAL.
Le FPGA (Field Programmable Gate Array) est le circuit programmable, sans doute le plus utilisé.
Il est structuré comme une matrice de blocs configurables. Ces blocs sont reliés par des lignes d'interconnexions en ligne et en colonne. A chaque intersection se trouve une matrice de connexion qui permet d'établir les connexions entre lignes et colonnes de façon à établir un routage enter chaque bloc pour réaliser une fonction complexe qui peut être un système microcontrôleur complet que l'on appelle SOC (System On Chip).
La technologie des connexions est du type anti-fusible ou encore SRAM.
Structure simplifiée d'un CLB qui correspond à une machine à état avec 1 sortie.
Les blocs IOBs intègrent une structure avec ou sans bascule D comme dans les GALs.
Caractéristiques comparatives des technologies anti-fusible et SRAM
Caractéristique | SRAM | Antifusible |
---|---|---|
Taille du bloc logique | + | - |
Taille du système d’interconnexion | + | - |
Performance d’un bloc logique | + | - |
Quantité de canaux de routage | - | + |
Rapidité de la technologie | - | + |
Les principaux fabricants de CPLDs et FPGAs qui se partagent le marché sont Xilinx, Intel (inclus Altera), Lattice et Microchip.
Cette synthèse se fait à l'aide de logiciels spécialisés et propriétaires des constructeurs de ces technologies. Les différences se situent dans l'étape qui dépend de la technologie du circuit. Le plus haut niveau de synthèse commun avec la simulation fait appel à un modélisation schématique comme on le fait en logique combinatoire et séquentielle. Mais on fait plutôt appel à des langages de description de matériel comme Verilog ou VHDL qui est présenté dans les chapitres suivants..