14
Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica PLD : Simple Programmable Logic Device DIA 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 Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

Embed Size (px)

Citation preview

Page 1: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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)

Page 2: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 3: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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)

Page 4: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 5: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 6: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 7: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 8: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 9: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 10: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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 !

Page 11: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 12: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 13: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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

Page 14: Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica SPLD : Simple Programmable Logic Devices DIA 1 DIA 1 Nieuwe componentenfamilie

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