Nieuwe componentenfamilie : GAL GAL = Generic Array Logic Introductie in 1983 door (en ® van) Lattice Semiconductor in principe een uitgebreide PAL met zeer flexibele uitgangsblok gebaseerd op E²CMOS-technologie (E² = Electrically Erasable) component is dus wisbaar en herprogrammeerbaar dit in tegenstelling tot de éénmalig programmeerbare PAL slechts enkele verschillende types komen op de markt deze zijn echter zeer universeel elk type kan een hele reeks verschillende PALs vervangen GAL16V8 vervangt bijna alle 20-pens PALs GAL20V8 vervangt bijna alle 24-pens PALs GAL22V10 is uitgegroeid tot een zeer vaak gebruikte, zeer praktische basiscomponent de V hierin staat voor Versatile (= veelzijdig)
GAL : principiële opbouw is gelijkaardig aan PAL n verschillende ingangen komen gewoon en geïnverteerd terecht in het AND-matrix vlak m verschillende uitgangen per uitgang is er een groep van AND-poorten beschikbaar om mintermen samen te stellen de ingangen van deze AND-poorten kunnen (via programmeerbare verbindingen) met elk van de ingangssignalen verbonden worden de uitgangen van de AND-poorten gaan naar een OF-poort (= realisatie van som van mintermen) in het uitgangsblok kan de polariteit eventueel nog geïnverteerd worden (m.b.v. een EXOR-poort) kan een flipflop eventueel het signaal inklokken door het toevoegen van een tri-state buffer kan een uitgangspen eventueel als ingang gebruikt worden hiertoe moeten er bijkomende verbindingsmogelijkheden zijn in het AND-vlak
GAL : principiële opbouw - schematisch n verschillende ingangen komen gewoon en geïnverteerd terecht in het AND-matrix vlak om niet meer alle individuele vertikale lijnen te moeten tekenen, vervangen we dit door één blok ook de AND-poorten zelf kunnen we in dit blok ondergebracht denken het uitgangsblok krijgt de naam OLMC = Output Logic Macro Cell per uitgangspen is er zo’n OLMC aanwezig deze OLMC bevat dus: de OR-poort met x ingangen (als er voor deze OLMC x AND-poorten voorzien zijn), de EXOR-poort voor de eventuele inversie de flipflop (wiens CLK en CLR eventueel van een speciale pen kunnen komen) de mux om het signaal al dan niet door de flipflop te sturen de nodige voorzieningen om het uitgangssignaal terug te koppelen naar de AND-array (of indien de uitgang gedisabled is, de pen als extra ingang te gebruiken)
Kleinste GAL : GAL16V8 8 vaste ingangen 8 mogelijke uitgangen, dus ook 8 OLMC’s (Output Logic Macro Cell) in elke OLMC kan de som gemaakt worden van 8 (vrij samen te stellen) mintermen door de aanwezigheid van de tri-state inverters kan elke uitgang ook als ingang gebruikt worden indien er geen flipflops worden gebruikt (volledig combinatorische schakeling), dan kan pen 1 als negende ingang gebruikt worden indien de flipflops echter wèl gebruikt worden, dan is deze pen 1 de (gemeenschappelijke) klok-ingang gelijkaardig kan pen 11 gebruikt worden als tiende ingangspen of als gemeenschappelijke pen voor de output enable van alle uitgangen
GAL16V8 : OLMC (Output Logic MacroCell) ENABLE SELECT MULTIPLEXER PRODUCT TERM MULTIPLEXER OUTPUT MULTIPLEXER FEEDBACK MULTIPLEXER Flexibiliteit wordt verkregen door gebruik te maken van multiplexers Gekende basisstructuur OR-functie van 7 mintermen EXOR-poort voor eventuele inversie D-flipflop om signaal in te klokken tri-state inverter aan de uitgang De ‘stand’ van de multiplexers wordt bepaald door selectie-bits bij de GAL16V8 zijn het echter niet allemaal afzonderlijke of andere selectiebits voor elke andere multiplexer (in een andere OLMC) men heeft geopteerd voor twee globale selectiebits (die dus hetzelfde zijn voor alle OLMC’s) en daarnaast slechts twee lokale selectiebits (waarvan 1 gebruikt wordt om de polariteit te kiezen m.b.v. de EXOR-poort) op deze wijze hebben we slechts een drietal configuraties voor de ganse GAL de OUTPUT-MULTIPLEXER laat toe om te kiezen tussen een sequentiële ( = mèt flipflop) of een combinatorische ( = zonder flipflop) schakeling de ENABLE SELECT MULTIPLEXER stuurt de tri-state inverter in de uitgang: altijd enable, altijd disable, via de gemeenschappelijke OE-pen of via een individuele minterm gelijklopend hiermee zal de PRODUCT TERM MULTIPLEXER bepalen of deze achtste AND-poort al dan niet wordt aangesloten op de OF-poort (niet aangesloten indien gebruikt als OE) tenslotte bepaalt de FEEDBACK MULTIPLEXER welk signaal teruggekoppeld wordt naar de AND-matrix: de pin zelf, de uitgang van de flipflop of de naburige pin
GAL16V8 : configuratie 1 = “complex mode” SL1x SG0 = 1 SG1 = 1 SL0x = 1 COMBINATORIAL I/O PAL16L8 PAL16H8 PAL16P8 en door gebruik te maken van de tweede lokale selectiebit SL1x SG0 = globale selectiebit nr. 0 SL0x = locale selectiebit nr. 0 van OLMC X SG1 = globale selectiebit nr. 1 SL1x = locale selectiebit nr. 1 van OLMC X
GAL16V8 : configuratie 2 = “simple mode” SG0 = 1 SG1 = 0 SL0x = 0 COMBINATORIAL OUTPUT PAL10H8 (indien geselecteerd voor alle 8 OLMC’s) kan gecombineerd worden met PAL12H6 PAL14H4 PAL16H2 + polariteitsvarianten met SL1x SG0 = 1 SG1 = 0 SL0x = 1 INPUT SG0 = globale selectiebit nr. 0 SL0x = locale selectiebit nr. 0 van OLMC X SG1 = globale selectiebit nr. 1
GAL16V8 : configuratie 3 = “registered mode” SG0 = 0 SG1 = 1 SL0x = 0 REGISTERED OUTPUT PAL16R8 (indien geselecteerd voor alle 8 OLMC’s) kan gecombineerd worden met SG0 = 0 SG1 = 1 SL0x = 1 PAL16R6 PAL16R4 + polariteitsvarianten met SL1x COMBINATORIAL I/O (voor die OLMC wordt FF niet gebruikt) SG0 = globale selectiebit nr. 0 SL0x = locale selectiebit nr. 0 van OLMC X SG1 = globale selectiebit nr. 1
GAL16V8 : samengevat zelfde basisprincipe van de PAL, maar nu met een zeer flexibel uitgangsblok (OLMC) kan door de verschillende ‘werkingsmodes’ bijna alle 20-pins PALs vervangen: PAL10L8 PAL12L6 PAL14L4 PAL16L2 PAL10H8 PAL12H6 PAL14H4 PAL16H2 PAL10P8 PAL12P6 PAL14P4 PAL16P2 PAL16L8 PAL16H8 PAL16P8 PAL16R8 PAL16R6 PAL16R4 PAL16RP8 PAL16RP6 PAL16RP4 gebaseerd op E²CMOS-technologie (E² = Electrically Erasable) component is dus wisbaar en herprogrammeerbaar dit in tegenstelling tot de slechts éénmalig programmeerbare PAL
Grotere uitvoering : GAL20V8 zelfde basisprincipe van de GAL16V8, maar met 4 bijkomende ingangspennen geheel is ondergebracht in een 24-pens DIL behuizing (GAL16V8 = 20-pens DIL) kan door de verschillende ‘werkingsmodes’ bijna alle 24-pins PALs vervangen: PAL14L8 PAL16L6 PAL18L4 PAL20L2 PAL14H8 PAL16H6 PAL18H4 PAL20H2 PAL14P8 PAL16P6 PAL18P4 PAL20P2 PAL20L8 PAL20H8 PAL20P8 PAL20R8 PAL20R6 PAL20R4 PAL20RP8 PAL20RP6 PAL20RP4 Met deze twee GAL-types (GAL16V8 en 20V8) kunnen dus zo’n 42 verschillende PAL-soorten vervangen worden !
Zeer populair : GAL22V10 zelfde basisprincipe van de GAL16V8 en GAL20V8, maar nu uitgebreid tot 12 ingangen (waarvan 1 eventueel als gemeen-schappelijke klok voor de flipflops) 10 uitgangen, die echter ook als ingang kunnen gebruikt worden in de AND-matrix worden dus 22 signalen gewoon en geïnverteerd aangebracht in elke OLMC wordt weer de som gemaakt van mintermen (die vrij kunnen samengesteld worden uit deze 22 variabelen) het aantal mintermen voor elke som was zowel bij de 16V8 als de 20V8 steeds 8 bij de 22V10 is dit aantal echter variabel gemaakt : er zijn nu telkens 2 OLMC’s met resp. 8 - 10 - 12 - 14 of 16 mintermen per OR-poort
GAL22V10 : OLMC (Output Logic MacroCell) Flexibiliteit wordt verkregen door gebruik te maken van multiplexers de OUTPUT-MULTIPLEXER (4-naar-1 mux) en de FEEDBACK MULTIPLEXER (2-naar-1 mux) worden per OLMC afzonderlijk gestuurd door twee selectiebits S1 en S0 : De CLK is gemeenschappelijk voor àlle flipflops en moet aangesloten worden op pen 1 De OUTPUT ENABLE is geen gemeenschappelijke pen meer, maar wordt per OLMC afzonderlijk gestuurd door een zelf samen te stellen minterm Er is een gemeenschappelijke ASYNCHRONE RESET (AR) voor alle flipflops, die kan gerealiseerd worden met een vrij samen te stellen minterm en zo is er eveneens een gemeenschappelijke SYNCHRONE PRESET (SP)
GAL22V10 : behuizingen De ‘normale’ behuizing voor de GAL22V10 is een 24-pens DIL (Dual In Line) package ‘steek’ = 2,54 mm (afstand tussen de pennen) Voor oppervlakte-montage bestaat er voor de GAL22V10 ook een 28-pens PLCC-behuizing (Plastic Leaded Chip Carrier) hierbij is de ‘steek’ gehalveerd tot 1,27 mm en worden er pennen gemonteerd aan de vier zijden hierdoor zal de component minder oppervlakte innemen op de PCB deze verpakking heeft vier pennen meer dan de DIL-behuizing deze vier pennen krijgen de aanduiding NC NC = Not Connected in een verdere uitbreiding krijgen deze vier pennen een heel bijzondere functie . . .
ispGAL22V10 : in system programmable De ‘normale’ GAL22V10 moet - net zoals alle andere GAL-componenten en uiteraard ook de PAL-bouwstenen - geprogrammeerd worden met een speciaal (met de computer verbonden) programmeertoestel in het productieproces vereist dit een bijkomende productiestap en kan stockage-problemen veroorzaken (verschillende versies, …) bij nieuwere componenten zullen we nog meer pennen aantreffen die bovendien nog korter bij elkaar staan de extra handeling in het programmeertoestel vergroot het risico op beschadigde pennen De ‘nieuwe generatie’ GAL22V10 kan gebruik maken van een vernieuwde programmeertechniek : ISP = In System Programmable hierbij mag de component reeds op de print gemonteerd worden dank zij enkele bijkomende pennen en extra interne logica kan nu de component ook ‘in system’ (evtl. eerst gewist en) geprogrammeerd worden