Inhaltsverzeichnis

GAL / PAL / PALCE

Programmable Array Logic (kurz PAL genannt) sind veraltete elektronische Halbleiterbausteine im Bereich der Digitaltechnik, die durch Programmierung eine logische Verknüpfungsstruktur der Eingangssignale zu den Ausgangssignalen erhalten. Sie wurden 1978 durch die Firma Monolithic Memories Inc. (MMI) entwickelt und in den Folgejahren produziert.

PALs sind Sonderfälle von PLAs (Programmable Logic Arrays) und dadurch gekennzeichnet, dass ausschließlich ihr UND-Array programmierbar ist. PALs sind nur einmal beschreibbar, da die Verknüpfungen auf dem Chip im Rahmen des Programmierprozess mittels „Durchbrennen von Verbindungen“, der sogenannten Antifuse-Technologie, hergestellt werden. PAL

Als Weiterentwicklung der PALs kamen zuerst durch die Lattice Semiconductor Corporation die wiederbeschreibbaren Generic Array Logic (kurz GAL genannt) -Bausteine auf den Markt. Sie bestehen aus einer programmierbaren UND-Matrix und einer fest verdrahteten ODER-Matrix. Im gegensatz zum PAL sind sie elektrisch beschreibbar und entweder durch UV-licht (EPLD) oder elektrisch (EEPLD) löschbar, wodurch eine Neuprogrammierung möglich wird.

Die Bezeichnung GAL ist ein Warenzeichen der Firma LATTICE, wodurch es einige Firmen gibt, die diese Bausteine mit ihrem Originalnamen unter Lizenz bezeichnen, und andere Firmen, welche diese Bausteine umbenannt haben (bei AMD beispielsweise unter dem Namen PALCE) - hierbei unterscheidet sich der Programmieralgorithmus, jedoch nicht die Pinbelegung und Funktion.

Die Bezeichnung gibt im Muster an, um was für einen Logikbaustein es sich handelt, und gibt Informationen über seine Eigenschaften. ein GAL16v8 ist ein Gal-baustein mit 16 Matrixeingängen für die Logikmatrix, dem Ausgangstyp v (variable Architektur) und verfügt über acht Ausgänge. Anschließend kommt nach einem minus die Gatterdurchlaufverzögerung in ns und weitere Informationen über Betriebstemperaturen und das Chipgehäuse.

GAL-Bausteine haben drei verschiedene Betriebsmodi, welche durch zwei Architekturbits beim Programmieren festgelegt werden. Ein drittes Bit setzt für Ausgänge die Funktion, ob sie als Eingang oder Ausgang fungieren sollen (AC1(n), n=Pinnummer). Das bedeutet, dass generell jeder Ausgang auch als Eingang verwendet werden kann. Der Simple-Mode (SYN=1, AC0=0) ermöglicht die Verwendung vom GAL-Baustein als einfaches Logikgatter, mit verknüpfung der AND-Bausteine mit nachfolgenden OR-Bausteinen. Der Complex-Mode (SYN=1, AC0=1) lässt das Multiplexen mithilfe von Tristate-ausgängen zu und der letzte der Modis, der Registermodus ermöglicht die Verschaltung von Logikgattern mit Registern durch integrierte D-flipflops. Dadurch kann man sogar kleinere komplexere Schaltungen aufbauen, ohne ständig die Schaltungen durch weitere externe Logikbausteine erweitern zu müssen.

Seit Mitte der 1990er Jahre werden PALs und GALs in neu entwickelten Schaltungen kaum noch eingesetzt und sind fast vollständig durch Complex Programmable Logic Devices (CPLDs) abgelöst worden. CPLDs besitzen keine Einschränkungen bezüglich der Verwendbarkeit der UND-/ODER-Matrizen im Eingangsbereich, sind elektronisch programmier- und löschbar, sind wie Field Programmable Gate Arrays (FPGAs) in einheitlichen Hardware-Programmiersprachen, wie beispielsweise VHDL, programmierbar und umfassen darüber hinaus eine bestimmte Anzahl an Registern.

und im Amiga ?

Im Amiga wurden zuerst vorwiegend PAL bzw. PALCE verwendet. Später meist GAL.

Nun halten die auch nicht ewig, und einige haben sogar eine begrenzte Laufzeit.

Dazu haben wir einfach mal angefragt:

… we want to put online may be source codes of GALs, including the jedec files, so people can make new ones in case a machine suffers from a defective GAL.
Antwort von Dave Haynie:
I did that myself… put up the PAL/GAL code (all written in CUPL) for the projects I had saved from the Commodore days (the old „Haynie Archives“ that used to be maintained up on thule.no). Particularly some of those GALs have a manufacturer-specified 10-year retention, so there are likely some boards out there that need part reflashing. Making that stuff available in one place is a great idea.

Notes from Anthony Hoffman:

http://amiga.serveftp.net/A3000_HardwareGuide/heat-u202.html
FIXME

All of the A3000 original PAL devices (U202, U203, U701, U714) can be replaced with modern GAL devices which have better performance and lower operating temperatures than the original PAL logic. Using the CUPL sources files provided by Dave Haynie, I have compiled JEDEC files for programing GAL16V8 devices using CUPLPLD 4.2a. Thanks to Tobias Seiler for the original conversions and information.

Click here to download U202, U203, U701, U714 JEDEC files. Note that you'll need a suitable GAL programmer. These have been tested in the A3000 using Lattice GAL16V8D-15QPN (Farnell part number 969-9678) but should work for Atmel and other 16V8 PLDs. The original Amiga PALs are 25ns, which happens to be equivalent to the slowest available 16V8 devices. Therefore any device whose part number matches 16V8x-xxQPx (x = any character) should in theory work. The 20-pin DIP/DIL package is required. You can view the Lattice 16V8 datasheet for more information.

Vorkommen im Amiga

TypCommo-Nr. C= Bezeichnung C= Info Form Editors Info
A -01
B -01


Alternativ-Typ : xx (lt. Commodore ? )


VorkommenAnzahlTypPosition Bemerkung
Axx 1 A U,-
Axx 1 U,-


vorläufig erstmal als Textfile: Commodore GAL/PAL-Liste

PAL/GAL Resourcen

Die Source-Files sind alle auf einer einzigen Seite gesammelt (allein schon wegen der Updaterei). Dorthin wird von hier und den betreffenden Rechnern und Listen verlinkt.
Sprich die Doku beim Thema und die Software hier:

Datenblätter

Lattice

SGS Thomson

National Semiconductor

Quelle und weitere Datenblätter unter:
www.datasheetfind.com/search/gal1
www.datasheetfind.com/search/gal2


www.amigawiki.de

Downloads / Links


www.amigawiki.org