Upload
jan-adam
View
244
Download
1
Embed Size (px)
Citation preview
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
1DIA
1
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)
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
2DIA
2
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
IN 1
IN 2
IN n
IN 1
IN 2
IN n
OUT 1
OUT m
OUT 2
&
&
&
&
1
1D
C1
=1
EN
IN/OUT
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
3DIA
3
GAL : principiële opbouw - schematisch n verschillende ingangen
komen gewoon en geïnverteerd terecht in het AND-matrix vlak
het uitgangsblok krijgt de naam OLMC = Output Logic Macro Cell
IN 1
IN 2
IN n
OUT 1
OUT m
OUT 2
&
&
&
&
1
1D
C1
=1
EN
IN/OUT
E²CMOSprogrammable
AND-array
per uitgangspen is er zo’n OLMC aanwezig deze OLMC bevat dus:
ook de AND-poorten zelf kunnen we in dit blok ondergebracht denken
om niet meer alle individuele vertikale lijnen te moeten tekenen, vervangen we dit door één blok
=11D
C1O LM Cx
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)
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
4DIA
4
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 E 2CMOS
programmableAND array
IN_1
IN_2
IN_3
IN_4
IN_5
IN_6
IN_7
IN_8
I/O_7OLMC8
I/O_8OLMC8
8
OLMC I/O_1
OLMC I/O_28
OLMC I/O_38
I/O_4OLMC8
I/O_5OLMC8
I/O_6OLMC8
indien er geen flipflops worden gebruikt (volledig combinatorische schakeling), dan kan pen 1 als negende ingang gebruikt worden
IN_0
indien de flipflops echter wèl gebruikt worden, dan is deze pen 1 de (gemeenschappelijke) klok-ingang
/ CLK
IN_9 / O E
gelijkaardig kan pen 11 gebruikt worden als tiende ingangspen of als gemeenschappelijke pen voor de output enable van alle uitgangen
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
5DIA
5
GAL16V8 : OLMC (Output Logic MacroCell)
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
&&&&&&&&
1
=1 1D
C1
EN1 PIN
Flexibiliteit wordt verkregen door gebruik te maken van multiplexers
OUTPUTMULTIPLEXER
de OUTPUT-MULTIPLEXER laat toe om te kiezen tussen een sequentiële ( = mèt flipflop) of een combinatorische ( = zonder flipflop) schakeling
ENABLE SELECTMULTIPLEXERUcc
GND
OE
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
GND PRODUCT TERMMULTIPLEXER
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)
1FEEDBACK
MULTIPLEXER
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
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
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
6DIA
6
GAL16V8 : configuratie 1 = “complex mode”
&&&&&&&&
1
=1 1D
C1
EN1 PIN
CLK
UccGND
OE
GND
1
SG0 = 1
SG1 = 1
SL0x = 1
SG0 = globale selectiebit nr. 0 SL0x = locale selectiebit nr. 0 van OLMC X
SG1 = globale selectiebit nr. 1
COMBINATORIAL I/O PAL16L8
&&&&&&&&
1
=1
1
EN1 PIN
0
PAL16H8
PAL16P8en door gebruik te maken van de tweede lokale selectiebit SL1x
SL1x
SL1x
SL1x = locale selectiebit nr. 1 van OLMC X
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
7DIA
7
GAL16V8 : configuratie 2 = “simple mode”
&&&&&&&&
1
=1 1D
C1
EN1 PIN
CLK
UccGND
OE
GND
1
SG0 = 1
SG1 = 0
SL0x = 0
SG0 = globale selectiebit nr. 0 SL0x = locale selectiebit nr. 0 van OLMC X
SG1 = globale selectiebit nr. 1
COMBINATORIAL OUTPUT
PAL10H8(indien geselecteerd voor alle 8
OLMC’s)
&&&&&&&&
1
=1
1
EN1 PIN
Ucc
kan gecombineerd worden metSG0 = 1
SG1 = 0
SL0x = 1
INPUT
PAL12H6
PAL14H4
PAL16H2+ polariteitsvarianten met SL1x
EN1
1
GND
naburige PIN
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
8DIA
8
GAL16V8 : configuratie 3 = “registered mode”
&&&&&&&&
1
=1 1D
C1
EN1 PIN
CLK
UccGND
OE
GND
1
SG0 = 0
SG1 = 1
SL0x = 0
SG0 = globale selectiebit nr. 0 SL0x = locale selectiebit nr. 0 van OLMC X
SG1 = globale selectiebit nr. 1
REGISTERED OUTPUT
PAL16R8(indien geselecteerd voor alle 8 OLMC’s)
&&&&&&&&
1
=1 1D
C1
EN1 PIN
CLK
OE
1
kan gecombineerd worden metSG0 = 0
SG1 = 1
SL0x = 1
COMBINATORIAL I/O(voor die OLMC wordt FF niet gebruikt)
PAL16R6
PAL16R4+ polariteitsvarianten met SL1x
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
9DIA
9
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
E 2CM O Sprogrammable
AND array
IN_1
IN_2
IN_3
IN_4
IN_5
IN_6
IN_7
IN_8
I/O _7O LM C8
I/O _8O LM C8
8
O LM C I/O _1
O LM C I/O _28
O LM C I/O _38
I/O _4O LM C8
I/O _5O LM C8
I/O _6O LM C8
IN_0 / CLK
IN_9 / O E
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
10DIA
10
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: E 2CM O S
programmableAND array
IN_1
IN_2
IN_3
IN_4
IN_5
IN_6
IN_7
IN_8
IN_9
IN_10
I/O _1O LM C8
I/O _0O LM C8
8
O LM C I/O _7
O LM C I/O _68
O LM C I/O _58
I/O _4O LM C8
I/O _3O LM C8
I/O _2O LM C8
IN_0 / CLK
IN_11 / O E
IN_13
IN_12
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 !
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
11DIA
11
Zeer populair : GAL22V10 zelfde basisprincipe van de GAL16V8 en GAL20V8,
maar nu uitgebreid tot
O LM C
O LM C
O LM C
O LM C
O LM C
O LM C
O LM C
O LM C
O LM C
O LM C
E 2CM O Sprogrammable
AND array
in de AND-matrix worden dus 22 signalen gewoon en geïnverteerd aangebracht
12 ingangen (waarvan 1 eventueel als gemeen-schappelijke klok voor de flipflops)
10 uitgangen, die echter ook als ingang kunnen gebruikt worden
IN_2
IN_1/CLK
IN_3
IN_4
IN_5
IN_6
IN_7
IN_8
IN_9
IN_10
IN_11
IN_12
I/O_1
I/O_2
I/O_3
I/O_4
I/O_5
I/O_6
I/O_7
I/O_8
I/O_9
I/O_10
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
8
10
12
14
16
16
14
12
10
8
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
12DIA
12
GAL22V10 : OLMC (Output Logic MacroCell)
Flexibiliteit wordt verkregen door gebruik te maken van multiplexersde 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 :
&
&&
1D
C1
PIN
1
1&
&
EN1
1
CLKS1 S0
S1
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)
AR
SP
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
13DIA
13
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)
1 24
12 13
GAL22V10
CLK/IN_1
IN_2
IN_3
IN_4
IN_5
IN_6
IN_7
IN_8
IN_9
IN_10
IN_11
G ND IN_12
IO _10
IO _9
IO _8
IO _7
IO _6
IO _5
IO _4
IO _3
IO _2
IO _1
Ucc
Voor oppervlakte-montage bestaat er voor de GAL22V10 ook een 28-pens PLCC-behuizing (Plastic Leaded Chip Carrier)
4 1
5
1112 18
19
25
2628
IN_4
IN_5
IN_6
NC
IN_7
IN_8
IN_9
IN_3
IN_2
CLK
/IN
_1
NC
Vcc
I/O
_10
I/O
_9
I/O_8
I/O_7
I/O_6
NC
I/O_5
I/O_4
I/O_3
I/O
_2
I/O
_1
IN_1
0
IN_1
1
GN
D
NC
IN_1
2
GAL22V10
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 . . .
NC
NC
NC
NC
Dirk SmetsKHLim - dep. IWT
Digitale ElektronicaProgrammeerbare Logica
SPLD : Simple Programmable Logic Devices
DIA
14DIA
14
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