PROGRAMOVATELNÉ LOGICKÉ OBVODY (PROGRAMMABLE LOGIC DEVICE – PLD) Programovatelné logické obvody jsou číslicové obvody, jejichž logická funkce může být programována uživatelem. Výhody: • snížení počtu integrovaných obvodů • snížení pracnosti výroby • zvýšení spolehlivosti • možnost snadné modifikace funkce obvodu Filozofie programovatelných polí: jakoukoliv logickou funkci lze vyjádřit jako součet součinů booleovských proměnných. Programovatelné logické pole jsou vyrobeny z kombinace • hradla AND • hradla OR • propojovací pole • invertory a klopné obvody
Architektura programovatelného logického pole
1
Výstupní vývody
Výstupní blok
Pole hradel OR
Propojovací pole
Pole hradel AND
Propojovací pole
Programovatelná zpětná vazba
Vstupní blok
Vstupní vývody
Programovatelné spínače vytvářejí pole, která propojují hradla a klopné obvody a tím umožňují implementovat požadovanou logickou funkci.
PLD OBVODY TYPU PAMĚTÍ PROM Obvod PROM - matice paměťových buněk • řádky - adresovatelné vstupními signály • datové sloupce - výstupní signály Obvody PROM obsahují: • neprogramovatelné propojovací pole hradel AND • programovatelné pole hradel OR Použití: tabulky kódů generátory znaků stavové automaty
vstupy
A0 pevné pole AND (adresový dekodér)
A1
A2
A3
programovatelné pole OR
D1 D2
2
VÝSTUPY
D0
OBVODY PAL (PROGRAMMABLE ARRAY LOGIC)
Obvody PAL obsahují: • programovatelné propojovací pole hradel AND • pevné pole hradel OR Obvody PAL se od sebe odlišují: • počtem vstupů a výstupů • konfigurací výstupu: − pevný − invertovaný − s třístavovým budičem − na výstupu registr nebo klop. obvod
programovatelné pole hradel AND
A1
A2
A3
D0 pevné pole hradel OR
D1
D2
D3
3
VÝSTUPY
VSTUPY
A0
OBVODY FPLA (FIELD PROGRAMABLE LOGIC ARRAY) Obvody obsahují: • programovatelné pole hradel AND • programovatelné pole hradel OR Obvody FPAL: • vstupní signály v přímém i invertovaném stavu • vyšší univerzálnost • složitější struktura • vyšší cena
programovatelné pole hradel AND
A1
A2
A3
D0
D1 programovatelné pole hradel OR
D2
D3
4
VÝSTUPY
VSTUPY
A0
OBVODY TYPU GAL (GENERIC ARRAY LOGIC) − elektricky reprogramovatelné unipolární obvody − rychlost srovnatelná s bipolárními obvody − menší spotřeba Struktura: • programovatelné pole hradel AND • pevné pole hradel OR • výstup hradla OR s makrobuňkou OLM (Output Logic Macrocell) Makrobuňka OLM - univerzální programovatelný výstupní obvod • pevné pole hradel OR a hradlo XOR • klopný obvod • čtyři multiplexery adresované vstupy AC0 a AC1 pro nastavení I/O jako: ! definovaný vstup ! kombinační výstup ! kombinační výstup se zpětnou vazbou ! výstup s pamětí a zpětnou vazbou. CK
OE
UCC
1-0 1-1 0-1 0-0
T S M U X
AC0 AC1(n)
OD POLE HRADEL AND
0 1
O M U X
0
Q
1
I/O(n)
O M U X
Q
D XOR(n)
ZPĚTNÁ VAZBA
1-0 1-1 0-1 0-0
F M U X AC0
Z VÝSTUPU SOUSEDNÍHO STUPNĚ(m)
AC1(m)
AC1(n)
CK
OE
5
OBVODY FPGA (FIELD PROGRAMABLE GATE ARRAY) Obvody FPGA • programovatelná logické pole s jednoduchými funkčními bloky firmy Xilinx • možnost reprogramování • obsahují až 25 000 hradel a až 2560 klopných obvodů • taktovací frekvence až 120 MHz • matice kovových propojovacích vodičů - propojují jednotlivé bloky Modulární struktura - programovatelné logické bloky CLB (Configurable Logoc Block) - programovatelné vstupní a výstupní bloky IOB (Input/Output Block) - programovatelné spojovací trasy PI (Programmable Interconnect) Blok CLB umožňuje realizaci: - dvou nezávislých libovolných booleovských funkcí 4 proměnných nebo - jednu funkci 5 proměnných nebo - jednu funkci 4 proměnných společně s jednou funkcí 5 proměnných či - jednu funkci až 9 proměnných C1
C2
C3
H1
DIN
S/R
C4
EC
S/R
G4 G3 G2
D
DIN F G H
LOGICKÁ G FUNKCE G1 - G4
G1
SD
Q
YQ
EC RD LOGICKÁ FUNKCE H G, F a H1
1
G H
Y S/R
F4 F3 F2 F1
LOGICKÁ F FUNKCE G1 - G4
D
DIN F G H
SD
Q
XQ
EC RD K (hodiny)
1 X
H F
‚ 6
Blok IOB • vytváří rozhranní mezi bloky CLB a externími vývody obvodu • každému vývodu obvodu je určen právě jeden blok IOB, • řídí přenos signálu daným vývodem - může být nakonfigurován jako • vstupní • výstupní • obousměrný Vstupy do matice I1 a I2 jsou přivedeny na vstupní registr, který může být nakonfigurován jako klopný obvod překlápěný hranou signálu nebo jako transparentní záchytný registr (latch). Výstupní signál může vycházet z vývodu obvodu přímo, nebo může být před výstupem uložen v klopném obvodu. Pro řízení výstupu je možné použít signál OE (output enable), který může výstup nastavovat do režimu vysoké impedance nebo výstup povolovat.
Programování zdvihacích a snižovacích R
Nastavení sledovací rychlosti
UCC
OE
výstup
hodiny výstupu
D
Q
Výstupní zesilovač (budič)
klopný obvod/ střadač
Vstupní zesilovač (budič)
I1
I2 Q
hodiny vstupu
D
nastavení zpoždění
klopný obvod/ střadač
Blokové schéma IOB 7
vývod
Programovatelné spojovací trasy PI (Programmable Interconnect) Realizují vnitřní propojení kovovými segmenty s programovatelnými spínači a umožňují požadovaná propojení bloků CLB a IOB. Existují 3 základní typy propojení s odlišnou délkou: - jednotkové délky (single lenght) - dvojnásobné délky (double lenght) - dlouhé spoje (long lines) Jednotkové spoje jsou spoje procházející propojovacími maticemi, vytvářejí síť horizontálních a vertikálních vodičů. Propojovací matice jsou tvořeny maticemi programovatelných spínačů. Dvojnásobné spoje procházejí přes propojovací matice každého druhého bloku CLB. Umožňují realizaci středně dlouhých propojení. Dlouhé spoje vytvářejí samostatnou pravoúhlou síť na celé ploše čipu. Speciální skupina vertikálních spojů je určena pro šíření hodinových signálů. nebo pro přenos signálů s požadavky na vysokou rychlost přenosu.
8
VÝVOJOVÉ SYSTÉMY PRO PLD OBVODY Vývojové systémy pro PLD obvody umožňují definovat návrh číslicového systému v různých formách: • booleovské rovnice – nejrozšířenější způsob specifikace návrhu. Funkce číslicového systému je popsána soustavou booleovských rovnic v součtovém tvaru. • pravdivostní tabulky – seznam všech kombinací hodnot vstupních logických proměnných a jim odpovídajících hodnot výstupních logických funkcí. • síťové seznamy – grafické schéma zapojení vznikne mimo vývojový systém, síťový seznam je potom textovým popisem uvedeného schématu, jeho symbolů a jejich propojení. • průběhy signálů – hodnoty vstupních signálů a výstupní logické funkce jsou definovány grafem průběhu těchto signálů v závislosti na čase. • schémata zapojení – pomocí vhodného grafického editoru se nakreslí schéma požadovaného zapojení. Pro základní logické funkce jsou definovány grafické symboly, které jsou součástí rozsáhlých knihoven . • stavové diagramy – při návrhu sekvenčních obvodů definujeme chování cílového automatu popisem stavů a definici přechodů mezi nimi. Některé systémy umožňují i grafický popis. Vývojové systémy pro PLD obvody umožňují dále : • funkční simulaci • testování v reálném běhu