Article de reference

Logique de réseau programmable

MMI 16R6 en boîtier DIP 20 broches Alimentation AMD 22V10 en boîtier DIP 24 broches La logique programmable ( PAL ) est une famille de semi- conducteurs utilisés pour implémente...

MMI 16R6 en boîtier DIP 20 broches
Alimentation AMD 22V10 en boîtier DIP 24 broches

La logique programmable ( PAL ) est une famille de semi- conducteurs utilisés pour implémenter des fonctions logiques dans les circuits numériques . Elle a été introduite par Monolithic Memories , Inc. (MMI) en mars 1978. MMI a obtenu une marque déposée pour le terme PAL, utilisé dans les « circuits logiques à semi-conducteurs programmables ». Cette marque est actuellement détenue par Lattice Semiconductor .

Les dispositifs PAL étaient constitués d'un petit noyau PROM (mémoire morte programmable) et d'une logique de sortie supplémentaire utilisée pour implémenter des fonctions logiques particulières souhaitées avec peu de composants.

Grâce à des machines spécialisées, les appareils PAL étaient programmables sur site. Les PAL étaient disponibles en plusieurs variantes :

  • Les dispositifs « programmables une seule fois » (OTP) ne pouvaient être mis à jour ni réutilisés après leur programmation initiale. (MMI proposait également une gamme similaire appelée HAL, ou « logique à matrice matérielle », semblable aux dispositifs PAL à la différence qu’ils étaient programmés par masque en usine.)
  • Les versions effaçables aux UV (par exemple : PALCxxxxx par exemple : PALC22V10) avaient une fenêtre en quartz au-dessus de la puce et pouvaient être effacées pour être réutilisées avec une source de lumière ultraviolette, tout comme une EPROM .
  • Les versions ultérieures (PALCExxx par exemple : PALCE22V10) étaient des appareils effaçables par mémoire flash.

Dans la plupart des applications, les GAL effaçables électriquement sont désormais utilisés comme remplacement direct , compatible broche à broche, des PAL programmables une seule fois.

à petite échelle (SSI), tels que ceux de la famille TTL ( logique transistor-transistor ) de la série 7400. Cette famille comprenait divers blocs logiques, comme des portes ( NON , NON-ET , NON-OU , ET , OU ), des multiplexeurs (MUX) et des démultiplexeurs (DEMUX), des bascules (type D, JK, etc.) et bien d'autres. Un seul dispositif PAL remplaçait généralement des dizaines de ces boîtiers logiques « discrets », ce qui explique le déclin du marché des SSI au profit des PAL. Ces derniers ont été utilisés avec succès dans de nombreux produits, comme les mini-ordinateurs , comme le décrit Tracy Kidder dans son ouvrage à succès * The Soul of a New Machine *.

Les PAL n'étaient pas les premiers circuits logiques programmables commercialisés ; Signetics vendait ses circuits logiques programmables (FPLA) depuis 1975. Ces composants étaient totalement inconnus de la plupart des concepteurs de circuits et étaient perçus comme trop difficiles à utiliser. Le FPLA présentait une vitesse de fonctionnement maximale relativement lente (en raison de la présence de matrices ET et OU programmables), était coûteux et souffrait de problèmes de testabilité. Un autre facteur limitant l'adoption du FPLA était son boîtier volumineux : un boîtier DIP ( Dual In-line Package ) à 28 broches de 15,24 mm (0,6 pouce ) de large .

Le projet de création du dispositif PAL était dirigé par John Birkner et le circuit PAL proprement dit a été conçu par Computer Automation , Birkner avait développé un processeur 16 bits utilisant 80 circuits logiques standard. Son expérience avec la logique standard l'a amené à penser que les dispositifs programmables par l'utilisateur seraient plus intéressants s'ils étaient conçus pour remplacer la logique standard. Cela impliquait que les dimensions des boîtiers devaient être plus proches de celles des dispositifs existants et que les vitesses devaient être améliorées. MMI souhaitait que les PAL soient des composants relativement bon marché (moins de 3 $). Cependant, l'entreprise a initialement rencontré de graves problèmes de rendement de production et a dû vendre les dispositifs à plus de 50 $. Cela a menacé la viabilité du PAL en tant que produit commercial, et MMI a été contrainte d'accorder une licence pour la gamme de produits à National Semiconductor. Les PAL ont ensuite été fabriqués sous un second fournisseur par Texas Instruments et Advanced Micro Devices .

Technologies de procédés

Les premiers PAL étaient des composants DIP à 20 broches fabriqués en silicium à l'aide de la technologie des transistors bipolaires avec des fusibles de programmation en titane-tungstène programmables une seule fois (OTP). Les dispositifs ultérieurs ont été fabriqués par Cypress , Lattice Semiconductor et Advanced Micro Devices à l'aide de la technologie CMOS .

Les PAL d'origine à 20 et 24 broches étaient désignées par MMI comme des dispositifs d'intégration à moyenne échelle (MSI).

Architecture PAL

Les éléments programmables (représentés par un fusible) relient les entrées directes et complémentaires aux portes ET. Ces portes ET, également appelées termes produits , sont combinées par un OU pour former un réseau logique de somme de produits .

L'architecture PAL se compose de deux éléments principaux : un plan logique et des macrocellules logiques de sortie.

Plan logique programmable

Le plan logique programmable est une matrice de mémoire morte programmable (PROM) qui permet d'acheminer les signaux présents sur les broches du dispositif, ou leurs compléments logiques, vers des macrocellules logiques de sortie.

Les dispositifs PAL comportent des matrices de cellules de transistors disposées dans un plan « OU fixe, ET programmable » utilisé pour implémenter des équations logiques binaires « somme de produits » pour chacune des sorties en fonction des entrées et d'une rétroaction synchrone ou asynchrone des sorties.

logique de sortie

Les premiers PAL à 20 broches possédaient 10 entrées et 8 sorties. Ces sorties étaient actives à l'état bas et pouvaient être de type binaire ou combinatoire. Les modèles de la famille PAL étaient disponibles avec différentes structures de sortie appelées «AMD a lancé le 22V10, un circuit à 24 broches doté de 10 macrocellules logiques de sortie. Chaque macrocellule pouvait être configurée par l'utilisateur en mode combinatoire ou enregistré, actif à l'état haut ou actif à l'état bas. Le nombre de termes de produit alloués à une sortie variait de 8 à 16. Ce seul circuit pouvait remplacer tous les circuits PAL à fonction fixe à 24 broches. La série PAL « V » (« variable ») comprenait notamment les PAL16V8, PAL20V8 et PAL22V10.

Schéma fonctionnel du PAL 16R4
  • Schéma fonctionnel du circuit intégré AMD 22V10
    Schéma fonctionnel du circuit intégré AMD 22V10
  • Macrocellule de sortie AMD 22V10
    Macrocellule de sortie AMD 22V10
  • Programmation PALs

    Les PAL étaient programmées électriquement à l'aide de séquences binaires ( fichiers JEDEC ASCII / hexadécimal ) et d'un système de programmation électronique spécifique, fourni par le fabricant ou un tiers tel que DATA I/O . Outre les programmateurs individuels, des alimentateurs et des programmateurs groupés étaient souvent utilisés lorsqu'il s'agissait de programmer un grand nombre de PAL. (Pour les grandes séries, les coûts de programmation électrique pouvaient être éliminés grâce à la fabrication par le fabricant d'un masque métallique sur mesure permettant de programmer les séquences du client lors de la production ; MMI utilisait le terme «

    Conception PALASM d'un compteur 4 bits

    Bien que certains ingénieurs aient programmé les dispositifs PAL en modifiant manuellement des fichiers contenant les données binaires des fusibles, la plupart ont opté pour la conception de leur logique à l'aide d'un langage de description de matériel (HDL) tel que ABEL de Data I/O , CUPL de Logical Devices ou PALASM de MMI . Il s'agissait de programmes de conception assistée par ordinateur ( CAO ), désormais appelés « automatisation de la conception électronique », qui traduisaient (ou « compilaient ») les équations logiques des concepteurs en fichiers binaires de schémas de fusibles utilisés pour programmer (et souvent tester) chaque dispositif.

    PALASM

    Le langage PALASM (pour « assembleur PAL ») a été développé par John Birkner au début des années 1980 et le compilateur PALASM a été écrit par MMI en FORTRAN IV sur un IBM 370/168. MMI a mis le code source à la disposition des utilisateurs gratuitement. Dès 1983, les clients de MMI utilisaient des versions de PALASM sur les systèmes DEC PDP-11 , Data General NOVA , Hewlett-Packard HP 2100 , HDL (langage de description matérielle) tel que Verilog .

    CUPL

    Assisted Technology a lancé CUPL ( Compiler for Universal Programmable Logic ) en septembre 1983. Le logiciel a toujours été désigné par l'abréviation CUPL, jamais par son acronyme complet. Il s'agissait du premier outil de conception commercial prenant en charge plusieurs familles de PLD. La version initiale était destinée à IBM PC et MS-DOS, mais le logiciel était écrit en langage C afin de pouvoir être porté sur d'autres plateformes. Assisted Technology a été rachetée par Personal CAD Systems (P-CAD) en juillet 1985. En 1986, le logiciel de saisie de schémas de P-CAD pouvait servir d'interface pour CUPL. CUPL a ensuite été acquis par Logical Devices et appartient désormais à Altium . CUPL est actuellement disponible en tant que progiciel de développement intégré pour Microsoft Windows.

    Atmel propose gratuitement WinCUPL (son logiciel de conception propriétaire pour tous les SPLD et CPLD Atmel). Atmel a été racheté par Microchip en 2016.

    ABEL

    La société Data I/O Corporation a lancé ABEL en avril 1984. L'équipe de développement était composée de Michael Holley, Mike Mraz, Gerrit Barrere, Walter Bright , Bjorn Freeman-Benson, Kyu Lee, David Pellerin, Mary Bailey, Daniel Burrier et Charles Olivier.

    Data I/O a scindé sa gamme de produits ABEL pour former Synario Design Systems, une société spécialisée dans l'automatisation de la conception électronique, avant de revendre Synario à MINC Inc. en 1997. MINC se concentrait sur le développement d'outils pour FPGA. L'entreprise a fermé ses portes en 1998 et Xilinx a acquis certains de ses actifs, notamment le langage et la suite d'outils ABEL. ABEL a ensuite été intégré à la suite d'outils Xilinx Webpack. Aujourd'hui, Xilinx est propriétaire d'ABEL.

    programmateurs d'appareils

    Parmi les programmateurs de périphériques populaires figuraient le programmateur logique modèle 60A et le modèle 2900 de Data I/O Corporation .

    L'un des premiers programmateurs PAL était le Structured Design SD20/24. Il intégrait le logiciel PALASM et ne nécessitait qu'un terminal à tube cathodique pour saisir les équations et visualiser les tracés de fusibles. Après la fusion, les sorties du PAL pouvaient être vérifiées en saisissant des vecteurs de test dans le fichier source.

    Successeurs

    Après le succès rencontré par MMI avec ses composants PAL à 20 broches lancés vers 1978, AMD a introduit le PAL 22V10 à 24 broches doté de fonctionnalités supplémentaires. Après le rachat de MMI (vers 1987), AMD a créé une entité consolidée, Vantis, qui a ensuite été acquise par Lattice Semiconductor en 1999.

    Altera a lancé l'EP300 (premier PAL CMOS) en 1983 et s'est ensuite orienté vers le secteur des FPGA.

    Lattice Semiconductor a lancé la famille de circuits logiques génériques ( GAL ) en 1985, avec des équivalents fonctionnels des PAL de la série « V » utilisant des plans logiques reprogrammables basés sur la technologie EEPROM (mémoire morte programmable et effaçable électriquement). National Semiconductor était un autre fournisseur de composants GAL.

    AMD PALCE 20V8H-15JC en PLCC 28 broches

    AMD a introduit une famille similaire appelée PALCE. En général, un seul composant GAL peut remplacer n'importe quel périphérique PAL de la même famille. Par exemple, le GAL 16V8 peut remplacer les PAL 16L8, 16H8, 16H6, 16H4, 16H2 et 16R8 (et bien d'autres).

    ICT (International CMOS Technology) a introduit le PEEL 18CV8 en 1986. La partie EEPROM CMOS à 20 broches pouvait être utilisée à la place de n'importe quel PAL bipolaire à sortie enregistrée et consommait beaucoup moins d'énergie.

    Des circuits logiques programmables à plus grande échelle ont été introduits par Atmel , Lattice Semiconductor et d'autres. Ces circuits ont étendu l'architecture PAL en intégrant plusieurs plans logiques et/ou en incluant des macrocellules logiques au sein de ces plans. Le terme « circuit logique programmable complexe » (CPLD) a été introduit pour différencier ces circuits de leurs prédécesseurs PAL et GAL, qui étaient alors parfois appelés « circuits logiques programmables simples » (SPLD).

    Un autre dispositif logique programmable de grande taille est le FPGA ( Field-Programmable Gate Array ). Ces dispositifs sont actuellement fabriqués par Intel (qui a racheté Altera ) et Xilinx (racheté par AMD ), ainsi que par d'autres fabricants de semi-conducteurs.