Programmierbare Logik


ASIC
Der Begriff ASIC, d.h. application specific integrated circuit, ist der Familienname aller   programmierbarer Schaltkreise. Zum einem können solche Bausteine  maskenprogrammierbar, d.h. nur vom Hersteller selbst modifizierbar sein, zum anderen können sie "im Feld", vom Anwender programmierbar sein.
Durch die große Zahl der Hersteller (und die daraus resultierende Vielzahl der Typen von Bausteinen), herrscht eine "babylonische Sprachverwirrung" auf dem ASIC-Markt. Vor allem der Neueinsteiger in diesen Sektor wird mit Typenbezeichnungen (oft für synonyme Funktionsbezeichnungen) schier erschlagen.

 

ASIC
 
Standardzellen
Das Ausgangsmaterial besitzt noch keine Struktur. Der Chip muss sämtliche Masken- prozesse durchlaufen. Die Transistoren sind nicht einheitlich in Form und Größe. 
(Vgl. Gate Array). Hersteller z.B. Philips bietet 80C51 oder 68k als Zelle zum Ein- binden in eigenes Design. Gatterdichte: 
5000 bis 1000000
PLD
Gemeinsames Merkmal  2-stufige AND/OR Struktur der internen Logikmatrizen Familien: 
MEMORY,  PAL,  PLA,  LARGE SCALE PLD 
Gatterdichte: 
ca. 500 bis ca. 2000. 
 
FPGA
Eine Zwitterstellung nimmt die Spezies der FPGA's ein. Interne Sruktur durchaus mit der Komplexität eines 
GATE-ARRAYS zu vergleichen, sie sind jedoch vom Anwender selbst programmierbar. 
Bausteinbezeichnungen: 
ACT   (ACTEL), PLSI  (Lattice),  MAX und Flex   (Altera),  TPC   (Texas)  LCA   (Xilincs),  PASIC (Quicklogic) 
Gatterdichte: 
ca. 1500 bis ca. 15000 
GATE-ARRAY
Vorgefertigter Chip der mit in Zellen zusammengefaßten Transistoren versehen ist. Die "Programmierung" erfolgt mittels der üblichen lithografischen Verfahren d.h. Leiterbahnen aus Aluminium  werden aufgedampft und verknüpfen so die Gatter zu komplexen Logik- funktionen. 
Gatterdichte: 
a. 5000 bis ca. 100000
 
 

CPLD --  Complex Programmable Logic Device
Meherere PAL-Blöcke werden in einem Baustein über ein gemeines Koppelfeld ( Global-Routing-Pool, Central-Switching-Matrix ) frei verknüpfbar. Beispiele sind der MACH110 von AMD/Vantis, der aus zwei PAL22V12-Blöcken besteht oder der von  LATTICE. Die PLD Hersteller bieten sogenannte Fitter an, um ein Design unter bestmöglicher Nutzung der sogenannten Device-Resources auf einen Baustein anzupassen.

FPGA --  Field Programmable Gate Array

GAL  --  Generic Array Logic
Geschützes Warenzeichen des Herstellers LATTICE. Die Firmas MMI, der Erfinder des PAL's  brachte zu Beginn eine größere Anzahl verschiedener PAL's auf den Markt, die sich dadurch unterschieden, ob sie reine verknüpfungbare Logik (PAL16L8) oder sequentielle Logik (PAL16R8) enthielten. Andere Bausteine waren Mischungen (PAL16R4) daraus, d.h. vor bestimmtem festvorgegebenen Ausgangspins waren Register realisiert, vor anderen Ausgängen war nur Verknüpfungslogik möglich. LATTICE machte als erster aus dieser Not eine Tugend und entwickelte elektrisch löschbare Bausteine, welche die funktionelle Vielzahl von PAL-Bausteinen quasi  emulieren konnten (GAL16V8).

 PLD --  Programmable Logic Device
 
Programmable Logic Devices -- PLD
 
ROM - Architektur
Zweistufige UND/ODER Grundstruktur mit fest verdrahteter UND-Matrix am Eingang und frei programmierbarer ODER-Matrix vor den Ausgängen. Typ  PROM  (meist OTP ) z.B.:  HM7011 256*4 Bit  82S129 256*4 Bit Typ EPROM   UV-Eras. PROM   z.B.:  Am27C256 32k*8 Bit  Am27C512 64k*8 Bit Typ SRAM  Statische 4 Tran- sistor Flip-Flop   Struktur pro Bit  z.B. :  HM62256 32k*8   EDI88128 128k*8  Typ DRAM  1 Transistor 1 Kondensator Struktur  pro Bit 
Bausteine: 
HM50256 256k*1 Bit Begiffe-Raten: 
EPROM (UV-Eras. PROM )
EEPROM (Elect. Eras. PROM) 
FLASH 
EPROM  Elect. Eras. PROM 
PAD(Prog.Adr. Decoder) Hersteller:
HM= HITACHI, EDI=EDI,Am=AMDusw.)
PAL - Architektur
 Zweistufige UND/ODER Grundstruktur mit frei prog. UND-Matrix am Eingang und fest verdrahteter ODER-Matrix vor den Ausgängen.
Typ Bipo-PAL's:
AmPAL16L8-7 (Combinat.,7ns)    AmPal22V10-15 (Combinat.+Makro   Cells, 15ns ) 
Typ CMOS PAL's:
GAL16V8-10(Combinatorial+Makro Cells, 10ns)
AmPALCE20V8 (Combinatorial+    Makro Cells,10ns)
EP910-30  (Combinatorial+Asy  Register)
High Density PLD: 
MACH130 84pol PLCC  (4*PAL26V16+Buried   Registers) Begriffe-Raten : 
PAL (Prog. Array Logic)
GAL (Generic Array Logic)
PML (Progr. Macro Logic)
(E)EPLD (Electric Erasable+ Prog)  PEEL (Prog. Elect. Erable Logic) Hersteller:
MACH,  Am=AMD GAL=LATTICE, NS, SIG, EP=ALTERA, usw.)
PLA Architektur
Zweistufige UND/ODER Grundstruktur mit freiprogrammierbarer UND-Matrix am Eingang und frei programmierbarer ODER-Matrix vor den Ausgängen.
Typ Bipo PLA's: 
TIPLA839  (Combinatorial 14 Inputs 7 Outputs)
Typ CMOS PLA's:
Typ High Density PLA:
GAL6001-15 24pol  DIP  (10 Out Macro  Cell, 8 Buried    Macro Cells)  ATV5000 34 pol  PLCC (48 Buried Macro Cells, 24 Output MacroCells)  TIBPLS506 24pol DIP  (Sequenzer in PLA Structure)
Begriffe-Raten : 
PLS (Prog. Logic  Sequenzer) 
PLA (Prog. Logic Array)
Hersteller:
Atv=ATMEL, Gal=LATTICE, TI=Texas Instr.
 
 



PLA --   Programmable Logic Array
Ein PLA besitzt eine freiverknüpfbare Eingangs-UND-Matrix und freiverknüpfbare Ausgangs-UND Matrix
Entwickelt wurde diese Struktur 1979 bei der Firma SIGNETICS. Ihre Anwendung ohne geeignete Software-Tools (Design von Hand) stellte in der Steinzeit des Logikdesigns ein großes Problem dar. Der Grund liegt darin, dass wie bekannt jeder Input in der Eingangs-AND-Matrix beliebig verschaltet werden kann. Die Ausgänge dieser AND-Matrix sind wiederum beliebig in der Ausgangs-OR-MATRIX verschaltetbar. Jeder Produktterm kann für jeden Ausgang genutzt werden.


UND/ODER Matrix eines PLA-Bausteines



PAL --   Programmable Array Logic
Ein PAL besitzt eine freiverknüpfbare Eingangs-UND-Matrix und festverdrahtete Ausgangs-UND Matrix
Der Begriff PAL ist ein Warenzeichen (Trademark) des heute in die Fa. AMD (seit 1997 VANTIS) aufgegangenen Halbleiterherstellers MMI. Vielfältig sind deshalb die Typenbezeichnungen anderer Hersteller für ein und dasselbe Grundkonzept des internen Bausteinaufbaus. Die verwendeten Bezeichnungen spiegeln dann oft auch die verwendete Technologie wider: GAL, PEEL, EPLD, EEPLD , usw..Spricht jemand von einem PAL, muß er nicht unbedingt einen Baustein der Fa. AMD meinen. Er spricht dann zumeist von einem Baustein mit PAL-Architektur. Diese Architektur wurde 1976 bei MMI von John Birker entwickelt. (z.B.: PAL16L8 usw.)
UND/ODER Matrix eines Bausteins mit PAL Architekur. 


Pate aller komplexeren Bausteine, mit PAL-Architektur, ist  ebenfalls ein MMI Produkt, nämlich der 22V10. Getreu dem Motto, das "Bessere" ist des "Guten" Feind entwickelten Halbleiterschmieden wie LATTICE (ab1983) CMOS Technologien und universell nutzbarere Strukturen. So werden die bipolaren Bausteine nur noch für Neukonstruktionen mit extrem hohen Geschwindigkeitsanforderungen (<3ns Gatterlaufzeit) eingesetzt. Neue "Spezies" erblickten das Licht der Welt. Elektrisch löschbare Bausteine wie GAL16V8, PALCE16V8 in EE-Technologie ersetzen nun die PAL16XXX Familie.Vorteil sind z.B. kürzere Lösch- und Programmierzeiten. Es sind keine teueren KERAMIK-Gehäuse mit Quarzfenster mehr nötig. Billigere Plastikgehäuse, für Standard-Temperatur-Anwendungen bestens geeignet, dienen dem Silizium nun als Behausung.1.3.2.
Höhere Integrierte Bausteine mit Pal- Architektur
Der allzeit wachsende Hunger nach Integration hat Hersteller wie AMD (MACH-Familie), LATTICE (Plsi Familie), SEEQ, ALTERA dazu veranlaßt Bausstein Architekturen zu entwickeln. Zu Grunde liegt meist eine PLA oder PAL Struktur.MACH 110 bis 220 (Herst. AMD ) besitzt eine 26V16 Struktur) Plsi 1024 bis 1048 (Herst. LATTICE) besitzt für seine einzelnen     internen Zellen eine 18V4 Struktur.

Das Gatteräquivalent eines PLD
Die Ermittlung der Gatterkomplexität eines PLD Elementes wurde von John Birkner, dem Erfinder des PAL's (MMI) in einer Formel beschrieben. Dieser führte die Bezeichnung SMARC ein.
Die Berechnung soll dem geneigten Leser eine Vorstellung davon geben, wo die sogenannten Low-Level-ASIC aus der Sicht ihrer Komplexität einzuordnen sind.
SMARC (State Machine Atomic Cell) stellt eine Einheit zum definieren der logischen Komplexität eines Bausteines dar. Diese Grundstruktur besteht aus der üblichen AND/OR Matrix und einem nachfolgenden D-FlipFlop.
Bezogen wird dies auf die 4-Input-Nand-Zelle (im folgenden N-GATE) eines GATE-ARRAYS.

N-GATES/SMAC  =      [N-GATES/Produkterm] * [Anzahl der Produktterme]
                                     +[N-GATES/OR-Matrix]
                                     +[N-GATES/Register]
                                     +[N-GATES/Ausgangsinverter] (optionell)
                                     +[Ausgangs N-GATE]
N-GATES/Device =     [SMACS/Device] * [N-GATES/SMAC]

Beispiel:
Baustein GAL16V8 (Hersteller:LATTICE, NS, PHILIPS)

Das GAL16V8 hat 16 Eingänge. Diese sind alle über die Eingangs- AND-Matrix (frei programmierbar) als Produkterme auf die Ausgangs-Makrozellen, und die darin befindliche OR-Matrix (fest verbunden), geführt.
Berechnung:
N-GATES/Produkterm          =  16 Eingänge = 5 N-GATES
Anzahl der Produkterme         =   8   (pro Makrozelle) 
N-GATES/OR-Matrix           =   8 Eingänge = 3 N-GATES
N-GATES/Register                =   6 N-GATES
N-GATES/Ausgangsinverter  =   2 N-GATES (=XOR)
Ausgangs N-GATE               =   1 N-GATE
N-GATES/SMAC                =  52 N-GATES
SMACS/Device                    =   8
N-GATES/Device                 = 416
  Innenleben einer GAL16V8 Makrozelle



 ROM-Architektur

Der älteste Mitglied der PLD-Familie ist wohl die PROM-Architektur. Mitte der 60er Jahre entstanden erste funktiontüchtge integrierte Halbleiter-Festwertspeicher. Für den wohl ersten funktionstüchtigen integrierten Microprozessor der Welt, dem iAPX 4004 von INTEL, wurde z.B. 1969/70 ein 2kB-ROM (maskenprogrammier-bar) mit 4Bit I/O Port entwickelt. (Entwickler:Frederico Faggin)
Ein Nachkomme dieser Architektur war zunächst das UV-löschbare EPROM ( industriell momentam genutzte Speicherdichte 1k*8Bit bis 256k*8 Bit). Etwa 1982/83 wurden die ersten PROMS in EE-Techno-logie mit 32k*8 (z.B. z.B. Hersteller Seeq) serienreif. Im Jahre 1990 trat dann der Enkel unseres PROM's (aus den sixtees) auf den Plan, die FLASH-EPROMS.
Nachfolgende Tabelle zeigt die Unterschiede auf:
UND/ODER Matrix eines Bausteins mit ROM Architektur