UNIVERZITET U ISTOČNOM SARAJEVU
ELEKTROTEHNIČKI FAKULTET
ODSJEK ZA AUTOMATIKU I ELEKTRONIKU
PRAKTIKUM ZA LABORATORIJSKE VJEŽBE
IZ PREDMETA
DIGITALNA ELEKTRONIKA
(STUDENTSKA VERZIJA)
Dejan Jokić, Milomir Šoja
Istočno Sarajevo, maj 2010.
PLD kola i Quartus II programski paket
Ovaj materijal kreiran je za potrebe laboratorijskih vježbi na predmetu Digitalna
elektronika i predstavlja prvu probnu verziju praktikuma. Plan je da se uz pomoć ovog
materijala održe probne laboratorijske vježbe i skupi potrebno iskustvo kako bi se u
budućnosti realizovao jedan kvalitetan praktikum. Materijal se sastoji iz dva dijela,
štampanog i u elektronskoj formi.
Rezultati simulacija i proračuna dobijeni izradom laboratorijskih vježbi se unose u
elektronsku verziju praktikuma. Potrebno je koristeći opciju Print screen snimiti sa ekrana
dobijeni rezultat te zatim tu sliku unijeti u elektronsku verziju praktikuma a zatim predati u
štampanoj formi.
Ovo je prva probna verzija praktikuma i nije zvanični dokument.
1
PLD kola i Quartus II programski paket
SADRŽAJ
1. UVOD..................................................................................................................
2. INTEGRISANA KOLA.......................................................................................
2.1. PODJELA INTEGRISANIH KOLA………………………………………
3. PLD KOLA……………………………………………………………………..
4. SPLD KOLA…………………………………………………………………....
4.1. PLA…………………………………………………………………………
4.2. PAL…………………………………………………………………………
5. CPLD…………………………………………………………………………....
5.1. CPLD ALTERA MAX 7000……………………………………………....
5.2.CPLD XILINX XC9536XV………………………………………………..
6. FPGA KOLA……………………………………………………………………
6.1. ARHITEKTURA XILINX FPGA KOLA…………………………………
6.2. ARHITEKTURA ALTERA FPGA KOLA…………………...…………..
6.3. XILINX LOGIČKI BLOKOVI…………………..………..…………..…
6.4. ALTERA LOGIČKI BLOKOVI…………………………………………
6.4.1. LOGIČKI ELEMENT .…………………..………………………
6.5. POVEZIVANJE BLOKOVA KOD XILINX FPGA KOLA……………
6.6. POVEZIVANJE BLOKOVA KOD ALTERA FPGA KOLA…………..
6.7. U/I BLOKOVI UNUTAR XILINX FPGA KOLA………………………
6.8. U/I BLOKOVI UNUTAR ALTERA FPGA KOLA…………………….
7. OSNOVNI TIPOVI PROGRAMABILNIH ELEMENATA………………….
7.1. STATIČKI RAM…………………………………………………………
7.2. ANTIFUSE ………………………………………………………………
7.3. FLEŠ EPROM……………………………………………………………..
8. FPGA SA UGRAðENIM PROCESOROM…………………………………..
9. PREGLED NAPREDNIH FPGA FAMILIJA ......................................................
9.1. FPGA KOLA PROIZVOðAČA ALTERA ..................................................
9.1. FPGA KOLA PROIZVOðAČA XILINX ....................................................
10. PROJEKTOVANJE SA PLD..............................................................................
11. QUARTUS II PROGRAMSKI PAKET ……………………………………….
11.1. IZBOR NOVOG PROJEKTA………………………………………......
11.2. LABORATORIJSKA VJEŽBA 1……………………………………......
Univerzalni komparator
11.3. LABORATORIJSKA VJEŽBA 2……………………………………......
Realizacija potpunog sabirača
11.4. LABORATORIJSKA VJEŽBA 3……………………………………......
DFF
11.5. LABORATORIJSKA VJEŽBA 4………………………………………..
4
5
5
7
8
8
9
11
11
14
16
16
17
19
20
21
21
22
23
24
26
28
28
29
29
31
31
33
36
38
38
42
58
66
72
2
PLD kola i Quartus II programski paket
Realizacija 4-bitnog pomjeračkog registra
11.6. LABORATORIJSKA VJEŽBA 5………………………………………..
Projektovanje generatora pseudoslučajnih brojeva
11.7. LABORATORIJSKA VJEŽBA 6…………………………………………
Projektovanje asihronog brojača
11.8. LABORATORIJSKA VJEŽBA 7…………………………………………
Projektovanje sinhronog brojača
11.9. UNOS DIZAJNA TEKSTUALNIM PUTEM PREKO VHDL
KODA........................................................................................................
11.10. UNOS DIZAJNA GRAFIČKIM PUTEM PREKO TALASNIH
OBLIKA.......................................................................................................
11.11. UNOS DIZAJNA TEKSTUALNIM PUTEM PREKO AHDL KODA.....
12. ZAKLJUČAK ......................................................................................................
13. LITERATURA ....................................................................................................
76
80
84
88
88
90
92
93
3
PLD kola i Quartus II programski paket
1. UVOD
Svjedoci smo svakodnevnog razvoja elektronike koja nezaustavljivo napreduje i teži sve
većoj minimizaciji i implementaciji u sva moguća pomagala i ureñaje. Logička kola su nekad
činili diskretni elementi koji su za cilj imali realizaciju neke jednostavne logike svedene na
nivo jednostavne logičke funkcije. Poslije izvjesnog vremena preko jednostavnih
programljivih PLA ili PAL kola, evoluirala su u jedinstvena integrisana kola koja sadrže
nekoliko procesorskih jezgri. Cilj ovog rada je napraviti kratki pregled razvoja programljivih
logičkih kola koja se sreću pod imenom PLD (Programmable Logic Devices), objasniti svaku
važniju arhitekturu u evoluciji ovih kola te pokazati princip programiranja najlakšom
metodom.
Postoje različiti načini programiranja PLD kola od tekstualnih do grafičkih metoda.
Grafička metoda programiranja je najpopularnija zbog jednostavnosti, preglednosti kao i
brzine razvoja željenog dizajna. Zbog navedenih prednosti napisan je materijal za osnovne
principe programiranja PLD kola upotrebom grafičkog metoda.
Ovaj materijal kreiran je za potrebe laboratorijskih vježbi na predmetu Digitalna
elektronika i predstavlja prvu probnu verziju praktikuma. Plan je da se uz pomoć ovog
materijala održe probne laboratorijske vježbe i skupi potrebno iskustvo kako bi se u
budućnosti realizovao jedan kvalitetan praktikum. Materijal se sastoji iz dva dijela,
štampanog i u elektronskoj formi.
U toku je i projekat nabavke opreme te se u skorijem periodu očekuje nabavka više
razvojnih sistema DE1. Nabavkom ovih razvojnih sistema biće moguće učitati isprojektovani
dizajn u PLD kolo te na taj način kompletirati ovaj probni praktikum.
4
PLD kola i Quartus II programski paket
2. INTEGRISANA KOLA
Integrisano kolo (IC), predstavlja čip napravljen od poluprovodničkog materijala koji
obavlja različite funkcije: pojačavač, oscilator, tajmer, mikroprocesor, memorija itd. a sastoji
se od velikog broja tranzistora, otpornika i kondenzatora. Postoji više parametara kojim se
karakteriše jedno IC: implementaciona tehnologija, potrošnja, napajanje, brzina rada,
složenost itd. Za nas je značajna složenost i ona se obično mjeri stepenom integracije, tj.
brojem osnovnih elemenata (tranzistora, gejtova) integrisanih u jednom kolu.
Po stepenu integracije integrisana kola mogu se podijeliti u pet grupa:
•
•
•
•
•
SSI (Small-Scale Integration), kola malog stepena integracije, sadrže do 100 osnovnih
elemenata (logička kola, flip-flopovi).
MSI (Medium-Scale Integration), kola srednjeg stepena integracije, sadrže od 100 do
1000 osnovnih elemenata (registri, brojači, aritmetička kola).
LSI (Large-Scale Integration), kola visokog stepena integracije, sadrže od 1000 do
10000 elemenata. (8-bitni mikroprocesori, RAM,ROM).
VLSI (Very Large Scale Integration), kola vrlo visokog stepena integracije sa 10000
do 100000 elemenata. (16- i 32-bitni mikroprocesori).
ULSI (Ultra Large Scale Integration), kola ultra velikog stepena integracije, sa
100000 do 1.000.000 i više osnovnih elemenata.
2.1. PODJELA INTEGRISANIH KOLA
Prema načinu projektovanja, integrisana kola možemo podjeliti na (slika 1.):
1. Standardne komponente (Standard Integrated Circuits - SIC). U ovu grupu spadaju
SSI, MSI, LSI, VLSI i ULSI kola koja su u tehnološkom smislu proizvedena
nezavisno od krajnjeg korisnika. Naime, kolo se proizvodi za nepoznatog korisnika
koji obično nema uticaj na njegove karakteristike. Takvo kolo proizvodi se u velikim
serijama po niskoj cijeni. Primjeri su: analogni integrisani operacioni pojačavači,
tajmeri, standardna digitalna kola (TTL, CMOS) itd.
2. Aplikaciono orjentisana integrisana kola, ASIC (Application Specific Integrated
Circuits). Ova kola su projektovana tako da odgovaraju specifičnoj namjeni. Za
razliku od standardnih komponenata, funkciju ASIC kola definiše korisnik. ASIC kola
se proizvode po narudžbi u velikim ili malim serijama što utiče na njihovu cijenu.
Generalno gledano, mogu se izdvojiti dvije vrste ASIC kola: full-custom and semi-custom.
•
Full-custom kola se u potpunosti (do nivoa osnovnih elemenata) projektuju za tačno
definisanu primjenu. Ova tehnologija omogućava najbolje karakterisike, ali je
pojedinačna cijena dosta visoka.
•
Kod semi-custom kola, proizvoñač koristi pre-projektovane ili pre-fabrikovane
(nedovršene) strukture koje doradom prilagoñava korisničkim zahtjevima. S obzirom
da se na taj način skraćuje vrijeme pripremne proizvodnje, krajnja pojedinačna cijena
5
PLD kola i Quartus II programski paket
je niža, ali su performanse lošije u poreñenju sa full-custom dizajnom. U okviru semicustom kola prepoznajemo sljedeće kategorije:
•
•
standard cell (standardne ćelije), kod kojih proizvoñač nudi veliki broj
standardnih ćelija (logička kola, flipflopovi, ali i strukture SSI, MSI
složenosti). Korisnik isporučuje proizvoñaču šemu sačinjenu od
standardnih ćelija, na osnovu koje se izrañuje čip. Pri tome proizvoñač ne
počinje od početka već samo uklapa i povezuje prethodno projektovane
standardne ćelije.
gate arrays (gejtovske matrice), koje se izrañuju na podlozi sačinjenoj od
velikog broja pre-fabrikovanih jednostavnih logičkih elemenata ili MOS
tranzistora koji nisu meñusobno povezani. Korisnik isporučuje
proizvoñaču šemu do nivoa osnovnih elemenata na bazi koje on obavlja
doradu, tj. metalizaciju, polaznog čipa.
3. Posebnu grupu integrisanih kola predstavlja kompromis izmeñu izmeñu SIC i ASIC
komponenti pod imenom PLD (Programmable Logic Devices), programabilna logička
kola. To su integrisana kola koja se mogu konfigurisati (tj. programirati) od strane
krajnjeg korisnika da bi ispunili zahtjeve koji se tiču konkretne aplikacije. Strukturu
PLD kola čini fiksan skup komponenti kakvi su logički gejtovi ili složeniji logički
blokovi (LEs – Logics Elements ili LCs – Logic Cells), meñusobno spojeni
programabilnim vezama. Programiranjem ovih veza krajnji korisnik definiše funkciju
kola, a jednom programirana funkcija se može mijenjati djelimično ili u potpunosti.
Suštinska razlika u odnosu na ostale tipove ASIC kola je u tome da PLD kolo
programira sam korisnik čime je on u potpunosti nezavisan od proizvoñača. Ova su
kola pretežno digitalnog karaktera, a u novije vrijeme i visokog kapaciteta. Idealna su
za izradu prototipova ili manje serije. Cijena im je relativno prihvatljiva.
IC
SIC
IC fiksne
funkcije
ASIC
PLD
Full-custom
Standard cell
Semi-custom
Gate arrays
Slika 1. Podjela integrisanih kola
6
PLD kola i Quartus II programski paket
3. PLD KOLA
Na tržištu je dostupan veliki broj PLD kola različitih proizvoñača, koji se razlikuju po
načinu programiranja, složenosti (tj. logičkom kapacitetu ili implementacionoj moći),
unutrašnjoj strukturi, brzini rada i broju pinova. Broj dostupnih komponenata kod savremenih
PLD-ova je veoma veliki tako da se sa aspekta složenosti ova kola protežu od MSI IC do
VLSI IC. Raspoloživ logički kapacitet se kreće od nekoliko stotina do nekoliko stotina
hiljada ekvivalentnih gejtova, a taktna učestanost od nekoliko desetina MHz do nekoliko
stotina MHz. PLD kola se pakuju u kućištima sa nekoliko desetina do nekoliko stotina
pinova. To znači da su PLD-ovi u stanju da implementiraju širok dijapazon kombinacionih i
sekvencijalnih logičkih funkcija. Kao što je rečeno veoma su pogodna za brzu izradu
prototipa, ali i konačnih rešenja koja će se proizvoditi u malim serijama. Vrijeme trajanja faze
projektovanja kod ovih kola je veoma kratko. U slučaju da je potrebno kratko vrijeme
pojavljivanja proizvoda na tržište, tada izbor PLD kola predstavlja pravo rešenje čak i sa
aspekta cijene.
Prema složenosti i organizaciji unutrašnje strukture savremena PLD kola se mogu
klasifikovati u sljedeće tri kategorije:
•
SPLD (Simple PLD). PLD kola srednjeg stepena integracije zasnovana na
programabilnim AND-OR poljima, koja se koriste za implementaciju logičkih
funkcija izraženih u formi “suma proizvoda”.
•
CPLD (Complex PLD). Sastoje se od većeg broja programabilnih logičkih blokova
povezanih preko centralizovane programabilne sprežne mreže. Po unutrašnjoj
strukturi logički blokovi su slični tipičnom SPLD kolu.
•
FPGA (Field Programmable Gate Array). PLD kola visokog stepena integracije koje
se izvode kao polje velikog broja programabilnih logičkih blokova (ćelija)
jednostavne strukture rasporeñenih na infrastrukturi koja ih meñusobno povezuje.
7
PLD kola i Quartus II programski paket
4. SPLD KOLA
Glavni dio SPLD arhitekture čine dvije programabilne logičke matrice:
•
•
AND matrica za formiranje logičkih proizvoda i
OR matrica za sumiranje logičkih proizvoda.
Pored AND-OR polja pojedine PLD arhitekture ovog tipa poseduju izlazni stepen koji
tipično obezbjeñuje povratne veze sa izlaza na ulaz, mogućnost promjene polariteta izlaznog
signala, mogućnost da se pojedini eksterni priključci koriste bilo kao ulazi bilo kao izlazi i
memorijske elemente za memorisanje stanja izlazih signala, što omogućuje sintezu
sekvencijalnih digitalnih kola.
4.1. PLA
Uobičajeni naziv za SPLD kolo kod koga se obje logičke matrice mogu programirati
(slika x) je PLA (Programmable Logic Array).
X1
X2
X3
Programabilne
veze
OR mreža
AND mreža
Slika 2. Programljive AND i OR logičke matrice
PLA čija je struktura prikazana na slici 2. s oznakom PLS153A ima organizaciju u obliku
18x42x10. Broj 42 odgovara broju AND gejtova dok ih je 10 OR, a čije programiranje
vršimo preko programljivih osigurača. Samo 8 od 18 mogućih ulaznih priljučaka su
dodjeljeni ulazi. Preostalih 10 su dvosmjerne linije kontrolisane trostatičkim baferima. Kada
je neki od bafera onemogućen, odgovarajući O/I priključak označen sa B0-B9 (slika 3.)
pridružuje se ulazu preko linija povratne sprege. Invertori u povratnoj sprezi obezbjeñuju
komplemente. U omogućenom stanju trostatičkih bafera, O/I priključci Bi su izlazni i vraćeni
su u programljivo I polje linijama povratne veze. Takoñe, možemo uočiti 10 kontrolnih
gejtova D0-D9 za dozvolu odgovarajućih izlaza.
8
PLD kola i Quartus II programski paket
Slika 3. Struktura PLA tipa PLS153A.
4.2. PAL
Pored PLA strukture u upotrebi su i AND-OR polja kod kojih je jedna od logičkih
matrica fiksna, a druga programabilna. Konfiguracija fiksne matrice je izvedena u toku
proizvodnje kola i ne može se mijenjati od strane krajnjeg korisnika. AND-OR polje kod
koga je AND matrica programabilna a OR matrica fiksna (slika 4.) zove se PAL
(Programmable Array Logic).
X1
X2
X3
f1
f2
AND mreža
Slika 4. Programabilana AND matrica
Kao i PLA tako i PAL ima ograničen broj produktnih članova što se nadoknañuje
programljivošću svih AND polja. Ograničen broj produktnih članova po svakom izlazu unosi
izvjesna ograničenja prilikom sinteze logičkih funkcija. Takoñe, jedan produktni član ne
može se dijeliti na više izlaza, stoga funkciju treba minimizovati kako bi imali što manji broj
produktnih članova.
9
PLD kola i Quartus II programski paket
PAL komponente označavaju se u formi PALXYZ gdje su X i Z respektivno broj ulaza i
izlaza a oznaka Y predstavlja oznaku vrste izlaza. Postoji više različitih PAL komponenti kod
kojih imamo različite izlaze, negirane i programljive. Izlaz „aktivan nizak“ nosi oznaku L a
programljiv oznaku P, npr. PAL16L8 prikazan na slici 5.
Slika 5. Struktura kola PAL16L8
U poreñenju sa ostalim tipovima PLD kola (CPLD I FPGA), SPLD kola odlikuju se
relativno niskim logičkim kapacitetom (do nekoliko stotina ekvivalentnih gejtova). Glavna
namjena SPLD kola je zamjena standardnih digitalnih kola niskog i srednjeg stepena
integracije čime se postiže ušteda prostora na štampanoj ploči, pojeftinjuje proizvodnja i
povećava pouzdanost u radu. Brzina rada SPLD kola je velika a propagaciono kašnjenje “od
pina do pina” je fiksno, ne zavisi od implementirane funkcije i iznosi do nekoliko
nanosekundi.
10
PLD kola i Quartus II programski paket
5. CPLD KOLA
Uspjeh i popularnost prvih PLD kola, prije svega PAL, povećali su očekivanja od
programabilne logike i pospješili njihov dalji razvoj. Projektanti hardvera su u
programabilnoj logici vidjeli moguću zamenu za ASIC tehnologiju, koja bi uz očuvanje
složenosti i fleksibilnosti značajno smanjila vrijeme razvoja i realizacije digitalnih sistema.
Ova očekivanja su u velikoj mjeri ispunjena pojavom novog tipa programabilnih kola: CPLD
(Complex Programmable Logic Device).
Kao što je već rečeno, CPLD kola se sastoje od više logičkih blokova tipa SPLD
povezanih globalnom programabilnom sprežnom mrežom. Meñutim, čak i na nivou logičkih
blokova, CPLD kola su obično značajno složenija od tipičnih SPLD kola. U većini slučajeva
logički blokovi koji se koriste kod CPLD kola mogu se smatrati nekom formom proširenog
PAL-a. Proširenje PAL-a se vrši u cilju ekonomičnijeg korištenja logičkih proizvoda
programabilne AND matrice. Kod klasičnih PAL-ova raspodjela logičkih proizvoda je fiksna
u smislu da je svaki logički proizvod pridružen izlazu jednog izlaznog AND kola (tj.
makroćelije). Logički proizvodi koji ostaju neiskorišteni ne mogu se pridružiti nekoj drugoj
makroćeliji. Takoñe, makroćelije ne mogu da imaju zajedničke logičke proizvode, pa u
slučajevima kada se isti proizvod koristi za formiranje logičkih funkcija u više makroćelija,
taj proizvod mora da se formira u svakoj makroćeliji u kojoj se koristi. Kod savremenih
CPLD kola korištenjem različitih tehnika ovi nedostaci su u velikoj mjeri otklonjeni. Postoji
više proizvoñača CPLD kola od kojih najpoznatiji su Altera i Xilinx.
5.1. CPLD ALTERA MAX 7000
Firma Altera razvila je tri serije CPLD kola: Max 5000, 7000 i 9000. Sve tri serije imaju
klasičnu CPLD arhitekturu koja se sastoji od skupa logičkih blokova, tj. LAB blokova (Logic
Array Block) meñusobno povezanih globalnom programabilnom prekidačkom matricom
(interkonekcijom), tj. PIA matricom (Programmable Interconnect Matrix). Arhitektura serije
Max 7000 prikazana je na slici 6, preuzeta sa sajta proizvoñača.
Slika 6. Arhitektura serije Max 7000
11
PLD kola i Quartus II programski paket
Broj LAB blokova serije MAX 7000 kreće se od 2 do 16, što zavisi od tipa kola (tabela
1). LAB blokovi imaju strukturu proširenog PAL-a i sadrže po 16 makroćelija svrstanih u
dvije grupe od po 8 makroćelija. Kolo posjeduje četiri pina posebne namjene (globalni takt GCLK, globalni reset - GCLR, dozvola izlaza OE1 i OE2). Preostali pinovi su bidirekcioni
(U/I) i po potrebi se mogu konfigurisati bilo kao ulazi bilo kao izlazi. Svaki U/I pin je preko
U/I bloka povezan sa jednom makroćelijom, kao što je to prikazano na slici 7.
Slika 7. U/I blok Altera Max 7000
Kada se pin koristi kao izlaz, kontrola izlaznog trostatičkog bafera se ostvaruje pomoću
jednog od dva globalna signala OE1 ili OE2. Kada se U/I pin koristi kao ulaz, izlaz trostatičkog bafera je permanento postavljen u stanje visoke impedanse, a signal doveden na pin
se vodi u PIA matricu, preko koje se može proslijediti bilo kojem LAB bloku. S obzirom da
se izlaz svake makroćelije direktno vraća u PIA matricu, u slučajevima kada se U/I pin koristi
kao ulaz, odgovarajuća makroćelija ne ostaje neiskorištena već se može upotrebiti za
formiranje neke “interne” funkcije. U tabeli 1. prikazane su osnovne informacije o različitim
kolima serije MAX 7000.
Tabela 1. Specifikacije serije MAX 7000.
Struktura jedne makroćelije LAB bloka prikazana je na slici 8. Logičko polje (Logic
Array) je programabilna AND matrica koja se koristi za formiranje logičkih proizvoda. Za
svaku makroćeliju se u logičkom polju formira pet logičkih proizvoda. U praksi se većina
potrebnih kombinacionih funkcija može se realizovati sa manje od pet logičkih proizvoda ali
neke kombinacione funkcije su složenije i zahtjevaju veći broj logičkih proizvoda. Da bi se u
takvim slučajevima obezbjedilo ekonomično korištenje raspoloživog logičkog kapaciteta
12
PLD kola i Quartus II programski paket
LAB bloka, koriste se paralelni ekspanderi (parallel expanders) i djeljivi ekspanderi (shared
expanders). Paralelni ekspanderi predstavljaju varijantu koncepta preusmeravanja logičkih
proizvoda kod koje makroćelija i može da “pozajmi” svoje logičke proizvode makroćeliji i+1
(ali ne i makroćeliji i-1). Dodatno ograničenje je da se logički proizvodi mogu preusmeravati
samo unutar grupe od 8 makroćelija. Djeljivi ekspanderi formiraju se tako što se po jedan
logički proizvod iz svake makroćelije invertuje i vraća u logičko polje tako da se može dodati
bilo kom logičkim proizvodu koji se formira u LAB bloku. Takoñe, unakrsnim povezivanjem
djeljivih ekspandera mogu se formirati dodatni lečevi i flip flopovi.
Slika 8. Blok šema makroćelije
Makroćelija se sastoji od logičke selekcione matrice, OR kola za sumiranje logičkih
proizvoda i programabilnog flip flopa. Posredstvom logičke selekcione matrice na ulaze OR
kola je moguće priključiti bilo koji podskup ulaznih logičkih proizvoda. Takoñe, bilo koji od
ulaznih logičkih proizvoda može se koristiti za upravljanje flip flopom (taktovanje, asinhrono
resetovanje i setovanje) i kontrolu polariteta kombinacione funkcije formirane na izlazu OR
kola. Flip flop se može konfigurisati tako da funkcioniše kao D, T, JK ili SR flip flop. Za
taktovanje i resetovanje flip flopa moguće je koristiti i globalne signale za takt i reset, što se
reguliše multiplekserima. Makroćelija se može konfigurisati i da obavlja samo kombinacionu
funkciju, tako što se izlaznim registrom na U/I blok direktno priključuje izlaz EXOR kola.
Zadnja serija CPLD – a od strane proizvoñača Altera je MAX 9000. Ova serija posjeduje
veliki broj programljivih gejtova, čak 12.000 (tabela 2).
Odlikuje se i velikim brojem flip flopova i makroćelija što krajnjem korisniku omogučava
implementaciju zahtjevnijih operacija i to korištenjem manjeg broja čipova što smanjuje
složenost a povećava pouzdanost ureñaja. Što se tiče arhikteture ove serije ona se značajno ne
razlikuje od predhodne.
13
PLD kola i Quartus II programski paket
Tabela 2. Specifikacije serije MAX 9000
5.2. CPLD XILINX XC9536XV
Kao što smo već spomenuli postoji više različitih proizvoñača CPLD-a od kojih su
najpoznatiji Altera i Xilinx. Xilinxov proizvod koji pripada ovoj grupi PLD-a je kolo sa
oznakom XC9536XV. Ovo kolo posjeduje 800 programljivih gejtova sa 36 makroćelije. Broj
makroćelija nalazi se u imenu komponente odmah iza naziva serije XC95. Ukupan broj
pinova je 44 od kojih 34 su tipa O/I. Ostali pinovi su za napajanje, takt i programiranje.
Ovo kolo ima bitnu prednost a to je mogućnost programiranja kola u sistemu, bez vañenja
kola i prebacivanja istog u odgovarajući programator. Za ovu namjenu koriste se posebni
pinovi. Način programiranja i oblik informacije koja se šalje CPLD kolu propisani su
standardom koji se zove JTAG port (IEEE Standard 1149.1). Na štampanoj ploči koja sadrži
CPLD kolo postavljen je konektor za priključenje kabla za vezu sa računarom. CPLD se
programira tako što se iz računara preko kabla direktno u CPLD kolo prenose podaci za
programiranje prethodno pripremljeni na računaru. U samom CPLD kolu ugrañen je sklop
koji prihvata ove podatke i na osnovu njih programira pojedinačne prekidače.
Na slici 9. prikazana je struktura kola XC9536XV. Ovo kolo sastoji se od brze prekidačke
matrice koja spaja I/O blokove sa dva funkcionalna bloka unutar kojih se nalazi po 18
makroćelija. Ovi funkcionalni blokovi odlikuju se širokim pristupom sa 54 ulaza koji čine
ulazi iz I/O blokova kao i interne promjenjive. Programiranje se vrši preko JTAG kontrolera
koji upravlja I/O blokom i kontrolerom za programiranje u sistemu.
14
PLD kola i Quartus II programski paket
Slika 9. Struktura kola XC9536XV
Zahvaljujući relativno velikoj brzini rada i širokom asortimanu, CPLD kola nalaze široku
primjenu, počevši od implementacije jednostavne sprežne logike, do realizacije prototipova
jednostavnijih ASIC kola. Važan razlog za sve veću primjenu CPLD kola je redizajn
postojećih sistema baziranih na SPLD kolima, gdje se veći broj SPLD kola zamjenjuje
manjim brojem CPLD kola. Sistemi koji se sastoje od više meñusobno povezanih
funkcionalnih modula mogu se efikasno realizovati pomoću CPLD kola tako što se svaki
modul realizuje jedim logičkim blokom. Opšte pravilo je da su za realizaciju u CPLD
tehnologiji pogodni sistemi koji zahtijevaju složenu logiku sa malim brojem flip flopova.
Dobar primjer takve klase kola su konačni automati. Sva komercijalna CPLD kola su
reprogramabilna, što omogućava jednostavnu i brzu izmjenu dizajna. CPLD kola koja su
reprogramabilna “u sistemu” omogućavaju rekonfiguraciju hardvera (npr. izmjena protokola
kod kola za komunikaciju) bez isključenja napajanja.
15
PLD kola i Quartus II programski paket
6. FPGA KOLA
FPGA (Field Programmable Gate Array) kola sastoje se od programabilnih logičkih blokova,
programabilnih veza, memorije i ulazno/izlaznih blokova. Nabrojani elementi su najčešće
rasporeñeni u formu matrice. Logički blokovi rasporeñeni su u vrste i kolone matrice, dok su
kanali kojima se vrši interkonekcija pojedinih logičkih blokova vertikalno i horizontalno
postavljeni izmeñu njih,. Pored navedene strukture sreću se još i hijerarhijski strukturirana FPGA
kola i FPGA kola kod kojih su logički blokovi rasporeñeni isključivo u kolone (takozvana
rowbased arhitektura). Globalno posmatrano svaki proizvoñač FPGA kola ima svoju
sopstvenu FPGA arhitekturu, ali u suštini sve te arhitekture su varijanta ove dvije navedene.
Kao što smo već spomenuli dva najveća proizvoñača FPGA kola su Altera i Xilinx, pa
ćemo u daljem tekstu razmatrati njihove najpopularnije familije. Tipični predstavnik Xilinxa
je XC4000 familija a Altere FLEX 8000.
6.1. ARHITEKTURA XILINX FPGA KOLA
Tipični predstavnik Xlinx FPGA kola je XC4000. Xilinx-ova arihtektura prikazana je na slici
10. a sastoji se od programabilnih logičkih blokova, programabilnih veza, memorije i
ulazno/izlaznih blokova. Cijela struktura je oivičena ulazno/izlaznim blokovima.
Slika 10. Xilinx-ova arihtektura FPGA kola
Logički blokovi u FPGA kolima su realizovani na različite načine, zavisno od
proizvoñača. Sastoje se od dijela koji obezbjeñuje kombinacionu mrežu i dijela koji
obezbjeñuje sekvencijalnu mrežu. Kombinaciona mreža, u zavisnosti od proizvoñača
realizovana je na jedan od dva načina. Sastoji se od multipleksera i višeulaznih logičkih kola
ili je izvedena u obliku look-up tabele (LUT) – memorijske oblasti širine jednog bita sa n
ulaza koja raspolaže sa 2n memorijskih mjesta i može realizovati bilo koju logičku funkciju
programiranjem tabele istinitosti. Sekvencijalni dio logičkog bloka se sastoji od lečeva ili flip
flopova koji omogućavaju memorisanje podataka koji se dobijaju na izlazu iz sekvencijalne
mreže.
16
PLD kola i Quartus II programski paket
Kao što se vidi sa slike 10, FPGA struktura sadrži pomenute tri komponente, ali ipak
treba naglasiti da savremene FPGA arhitekture uključuju u svoju strukturu i druge gradivne
blokove (nisu prikazani na slici 10), a koji se koriste za sljedeće namjene:
1. Distribucija taktnog signala do svakog logičkog bloka,
2. Obavljanje aritmetičkih operacija, selekciju blokova, i memorisanje, tj implementiraju se
kao ALU-ovi, množači, dekoderi, i memorija.
3. Programiranje i testiranje uključujući JTAG lanac i programabilne elemente.
Logički blokovi, često nazivani logički elementi (LE), ili kombinacioni logički blokovi
(CLB), čine logiku FPGA kola. CLB-ovi sadrže logiku koja je dovoljna za kreiranje funkcije
standardnih logičkih kola (or, and, xor…) kao i jednostavnih automata. Sprega izmeñu CLBova se ostvaruje korištenjem programabilne sprežne mreže, tj programabilne arhitekture za
rutiranje. Ulazno/izlazni blokovi, nazvani U/I blokovi, ostvaruju vezu sa spoljnim svijetom, a
mogu se programirati da budu ulazni ili izlazni. FPGA kola se karakterišu sitno-zrnastom
(fine-grain) arhitekturom. To znači da se logičke operacije obavljaju na nivou bita ili na
nivou riječi malog obima (< 4 bita), što omogućava kreiranje veoma fleksibilnih arhitektura
prilagoñenih specifičnim zahtjevima aplikacije. Tako na primer, ako je datoj aplikaciji
potreban 10-bitni sabirač, tada projektant ne mora koristi jedinstveni standardni 32-bitni
sabirač da bi obavio izračunavanja iz razloga što on može direktno u FPGA da implementira
obim bilo kog sabirača koji je neophodan za specifičnu aplikaciju. Ova fleksibilnost
predstavlja značajni prednost FPGA kola u odnosu na neprogramabilne implementacije na
silicijumu.
6.2. ARHITEKTURA ALTERA FPGA KOLA
Na sljedećoj slici 11. prikazana je arihitektura kola FLEX 8000 proizvoñača ALTERA.
Kod Alterine arihitekture uočavamo drugačiju organizaciju logičkih blokova. Naime, ovdje
su logički blokovi, koji se kod Altere nazivaju LE (Logički Elementi), grupisani u logičke
oblasti. Svaka ova oblast sadrži po 8 logičkih elemenata i ona se naziva Logic Array Blocks
(LAB). Logički elementi unutar jednog logičkog bloka meñusobno su povezani preko kratke
lokalne interkonekcije, sa mogućnošću povezivanja sa ulazno/izlaznim elementima (I/O E)i
udaljenim logičkim blokovima preko brze interkonekcije.
17
PLD kola i Quartus II programski paket
Slika 11. Arihitektura kola FLEX 8000
U novije vrijeme realizovan je nasljednik FLEX 8000 arhitekture koja je proširena u
FLEX 10 000 familiji. Ova familija ima sve osobine FLEX 8000 familije sa dodatkom
SRAM blokova promjenjive veličine koji se nazivaju “Embedded Array Blocks” (EABs).
Slika 12. Arihitektura FLEX 10 000
18
PLD kola i Quartus II programski paket
EAB je fleksibilni blok koji sadrži RAM, registre i ulazno izlazne portove. Koristi se za
implementiranje složenijih funkcija kao što su množenje korištenjem velikog broja većih
višeizlaznih “look up” tabela. Zbog njegovih mogućnosti mogu se kombinovati u
aplikacijama sa digitalnim filtrima i mikrokontrolerima.
6.3. XILINX LOGIČKI BLOKOVI
Na sljedećoj slici 13. prikazan je jedan tipični CLB proizvoñača Xilinx XC4000E.
Slika 13. CLB proizvoñača Xilinx XC4000E
CLB (Configurable Logic Blocks) je konfigurabilni logički blok i predstavlja najveći dio
logike FPGA. Unutar njega nalaze se tri bloka koja čiji je zadatak da generišu zadatu logičku
funkciju od ulaznih promjenljivih. Prva dva bloka imaju po 4 ulaza (F i G) što je sasvim
dovoljno, jer u praksi se većina logičkih funkcija sastoji od najviše četiri ulazne promjenljive.
Treći blok ima tri ulazne promjenljive, koje predstavljaju izlazne veličine od ova dva bloka i
treću promjenljivu H1 koja predstavlja rezultat izračunavanja iz nekog drugog CLB-a. Na taj
način možemo realizovati složenija izračunavanja koja su rezultat rada više CLB ova.
Logički blokovi prestavljaju RAM i zavisno od literature označavaju se kao LUT (look up
table).
Gradivni blokovi CLB-a su i dva flip flopa koji se koriste kao taktovani memorijski
elementi (clocked storage elements) zajedno sa većim brojem multipleksera. Uloga
multipleksera je da rutira kako logičke signale u okviru CLB-a tako i signale ka/od spoljnih
resursa.
19
PLD kola i Quartus II programski paket
6.4. ALTERA LOGIČKI BLOKOVI
Logička oblast koja sadrži 8 logičkih elemenata sa meñusobnim vezama prikazana je na
sljedećoj slici 14.
Slika 14. Logička oblast sa LE i interkonekcijama
Lokalna interkonekcija povezuje sve logičke elemente sa 4 kanalnom vezom. Svaki
logički element raspolaže sa 4 ulaza za ulazne promjenljive. Takoñe, svaka logička oblast
ima dva dodatna ulaza i izlaza za kaskadno vezanje susjednih logičkih oblasti. Zavisno od
izlaza selekcionog bloka omogućen je rad pojedinim logičkim elementima. Osim signala
dozvole, na svaki blok dovode se još tri upravljačka signala od kojih je jedan globalni takt.
Izlaz svakog logičkog elementa spojen je na magistralu podataka koja se još označava kao
brza interkonekcija.
20
PLD kola i Quartus II programski paket
6.4.1. LOGIČKI ELEMENT
Logički element (LE) je najmanja logička jedinica unutar FLEX 8000 arhitekture. Ovako
realizovana pruža efikasnu upotrebu logike. Svaki LE sadrži 4 kanalni ulaz u blok sa LUT
tabelom, flip flop, logiku za implementaciju prenosa-kod-sabiranja (carry logic chain) i
kaskadni lanac za povezivanje sa nekim dugim logičkim elementom. Blok šema logičkog
elementa prikazana je na sljedećoj slici 15.
Slika 15. Blok šema logičkog elementa
6.5. POVEZIVANJE BLOKOVA KOD XILINX FPGA KOLA
Pored logike, ključna osobina FPGA kola je mogućnost meñusobnog povezivanja CLBova i U/I blokova. Matrica koja nam omogućava ovu fleksibilnost prilikom povezivanja
(slika 16.) naziva se programabilnom matricom (Programmable Switch Matrices – PSMs).
Sastoji se od jedno-kanalnih i dvo-kanalnih linija, horizontalnih i vertikalnih, različitih
dužina. Razlikujemo kratke linije, izmeñu susjednih CLB-ova, i duge linije, koje se prostiru
dužinom cijelog kola.
21
PLD kola i Quartus II programski paket
Slika 16. Programabilna matrica
Jednokanalne linije omogućavaju najveću fleksibilnost meñusobnog povezivanja. Nude
brzo rutiranje izmeñu susjednih blokova.
Postoji po osam vertikalnih i horizontalnih linije za vezu sa svakim CLB. Jednokanalne
linije povezane su putem programabilnih prekidača matrice i prave veliko kašnjenje kod
većih dužina. Nisu pogodne za usmjeravanje signala na veću daljinu pa se koriste za lokalno
povezivanje susjednih blokova.
Dvokanalne linije sastoje se od mreže metalnih segmenata. One su dva
jednokanalnih gdje izmjenično svaka linija ovog dvokanalnog voda ulazi
matricu kod svakog drugog CLB-a. Ove linije obezbjeñuju brže rutiranje
srednje razdaljine zadržavajući fleksibilnost rutiranja. Postoje četiri vertikalne
dvokanalne linije koje su u vezi sa svakim CLB-om.
puta duže od
u prekidačku
signala preko
i horizontalne
6.6. POVEZIVANJE BLOKOVA KOD ALTERA FPGA KOLA
Lokalne interkonekcije su takoñe povezane na globalne koje se nazibaju “Fast Track”
(FT). FT su slične dugim linijama kod Xlinxa, tako da se svaki FT proteže na punu širinu ili
dužinu kola. Glavna razlika izmeñu FLEX 8000 i Xilinx čipa je u tome što FT sadrži samo
duge linije. Ovo čini FLEX 8000 pogodnim za CAD alate za brzo konfigurisanje što je vrlo
važna osobina. Sve FT horizontalne linije su identične, tako da su sva kašnjenja na
interkonekcijama kod FLEX 8000 mnogo predvidljivija nego kod FPGA kola koja sadrže
mnogo kraćih segmenata, jer nema programabilnih svičeva. Broj kanala po koloni (slika 17)
je isti za cijelu familiju i iznosi 16, a broj kolona se kreće u granicama od 13 do 27, zavisno
22
PLD kola i Quartus II programski paket
od složenosti kola unutar ove familije. Broj kanala u redovima varira kao i sam broj redova.
Kod ove familije možemo sresti najmanje 2 reda sa 168 kanala a najviše 6 redova sa 216
kanala.
Slika 17. Način povezivanja kod Altere
6.7. ULAZNO/IZLAZNI BLOKOVI UNUTAR XILINX FPGA KOLA
Konfigurabilni ulazno/izlazni blokovi (slika 18.) koriste se za konfigurisanje pina tj.
definisanje da li se on koristi za dovoñenje signala u čip ili za odvoñenje signala iz čipa.
Sastavni dijelovi ovog bloka su ulazni bafer i izlazni tro-statički bafer sa izlazom tipa
otvoreni kolektor kojim se može upravljati. Na izlazima postoje tranzistori, gdje je gornji
spojen prema napajanju (pull up), i donji prema masi (pull down). Takoñe, na svakom pinu su
ugrañene zaštitne diode.
23
PLD kola i Quartus II programski paket
Slika 18. Konfigurabilni ulazno/izlazni blok
6.8. ULAZNO/IZLAZNI BLOKOVI UNUTAR ALTERA FPGA KOLA
Ulazno/izlazni element (IOE) sadrži potrebne elemente za dvosmjernu komunikaciju
(slika 19.), odnosno konfiguraciju pina na kućištu kao ulaznog ili izlaznog. Taj zadatak
izvršava trostatički bafer. Takoñe, izlazna vrijednost po potrebi može biti invertovana,
zapamćena u registru i proslijeñena na izlaz. Invertovanje se vrši softverski preko
programabilnog multipleksera. Broj ulazno izlaznih elemenata varira zavisno od kola unutar
ove familije i kreće se u granicama od 78 do 208.
24
PLD kola i Quartus II programski paket
Slika 19. Ulazno/izlazni element
25
PLD kola i Quartus II programski paket
7. OSNOVNI TIPOVI PROGRAMABILNIH ELEMENATA
Tri osnovna tipa programabilnih elemenata kod FPGA kola su:
1. statički RAM (SRAM),
2. anti-osigurači (anti-fuses), i
3. fleš EPROM.
7.1. STATIČKI RAM
Najveći dio FPGA-ova se zasniva danas na korištenju SRAM programabilnih elemenata
što znači da se ova kola mogu konfigurisati (programirati) više puta. Glavne prednosti ove
tehnike su što se nove ideje mogu brzo implementirati i testirati jer je moguće programirati
kolo na samoj ploči (on – line) bez upotrebe programatora.
Kod ove tehnologije, konfigurisanje kola ostvaruje se pomoću pass tanzistora i
multipleksera koji upravljaju SRAM ćelijama. Par “SRAM ćelija - pass tranzistor” se koristi
kao programabilna veza izmeñu dva žičana segmenta (slika 22). Kada je u SRAM ćeliji
memorisana “jedinica”, pass tranzistor ponaša se kao zatvoren prekidač male serijske
otpornosti. U suprotnom, kada je stanje SRAM ćelije “nula”, pass tranzistor je otvoren
prekidač veoma velike serijske otpornosti.
S obzirom da SRAM ćelije gube memorisan sadržaj nakon isključenja napajanja, kolo
mora biti napunjeno konfiguracionim sadržajem pri svakom uključenju napajanja. To
zahtjeva eksternu, permanentnu memoriju (tipa EPROM ili EEPROM) za čuvanje
konfiguracionih bitova. U fazi punjenja sve SRAM ćelije PLD kola su redno povezane u
strukturu pomjeračkog registra, a samo punjenje se vrši serijskim upisom konfiguracionih
bitova. U zavisnosti od tipa i kapaciteta FPGA kola, punjenje traje od nekoliko milisekundi
do nekoliko desetina milisekundi.
Nedostaci ove tehnologije su relativno velika površina koju na čipu zauzimaju SRAM
ćelije (tipična SRAM ćelija se realizuje sa pet tranzistora) i neophodnost ugradnje eksterne
memorije. SRAM tehnologija programiranja se koristi u FPGA kolima firmi: Xilinx, Plessey,
Algotronix, Concurent Logic i Toshiba.
Slika 22. Tehnologija programiranja sa SRAM ćelijom
26
PLD kola i Quartus II programski paket
7.2. ANTIFUSE
FPGA kola sa antiosiguračima programiraju se izvan ploče na kojoj su upotrebljeni (offline) korištenjem programatora. Nakon programiranja konfiguracioni sadržaj ostaje trajno
zapisan u kolu, tj. ne može se više mijenjati. To znači da su ova kola non-volatile tipa, tj.
konfiguracioni podaci ostaju u kolu i nakon isključenja. Prednost ovakvih kola je imunost na
radijaciju pa su svoju primjenu našli u vojnim aplikacijama i svemirskim istraživanjima.
Antifuse je komponenta sa dva kraja koja u neprogramiranom stanju posjeduje veoma
veliku serijsku otpornost (tj. predstavlja otvoren prekidač). Antifuse se sastoji od tri sloja.
Krajnji slojevi su provodni, a sloj u sredini je dialektrik. Anifuse se postavlja izmenu dva
žičana segmenta, kao što je to prikazano na slici 23. Neprogramiran, dialektrik izoluje
provodne slojeve; programiran, on postaje permanentni spoj male otpornosti. Programiranje
se vrši dovoñenjem visokog napona (od 11 do 20V, što zavisi od tipa antiosigurača) na
krajeve antifuse-a. Dovoñenje napona za programiranje se vrši preko dodatnih pass
tranzistora, koji moraju da imaju širok kanal kako bi propustili relativno veliku struju
programiranja (oko 5mA). Glavna prednost anifuse-a su njegove male dimenzije. Ova
prednost je donekle redukovana neizbježnim pass tranzistorima za programiranje. U
poreñenju sa drugim tehnologijama, antifuse u programiranom stanju ima relativno malu
serijsku otpornost i parazitnu kapacitivnostu. Antifuse je normalno “otvoren” prekidač, pa se
prilikom konfigurisanja kola programiraju samo oni antifuse-ovi koje treba “zatvoriti”. S
obzirom da je kod tipičnih aplikacija broj “zatvorenih” prekidača mnogo manji od broja
“otvorenih” (tipično broj “zatvorenih” prekidača ne prelazi 2% od ukupnog broja prekidača u
kolu), to programiranje kola koje koristi antifuse tehnologiju traje kraće od programiranja
kola koje koristi EPROM tehnologiju. Glavni nedostatak antifuse tehnologije je nemogućnost
reprogramiranja. Antifuse tehnologiju se sreće kod FPGA kola firmi: Actel, Quck Logic i
Crosspoint.
Slika 23. Programiranje sa antifuse tehnologijom
7.3. FLEŠ EPROM
FPGA kola sa EPROM memorijskim elementima mogu se realizovati kao EEPROM /
Fleš i hibridni Fleš-SRAM. FPGA kola sa EEPROM ili fleš ćelijama slični su kolima sa
SRAM ćelijama. Kola se obično programiraju off-line koristeći programator, a postoje i neke
verzije tipa programiranja na samoj ploči (in-system programable – ISP), ali je tada vrijeme
programiranja do tri puta duže u odnosu na SRAM-zasnovanim komponentama. Neki
proizvoñači nude danas i kombinaciju programskih tehnologija kod kojih se konfiguracioni
element formira od kombinacije Fleš (ili EEPROM) ćelije i SRAM ćelije. Kod ovog rješenja
Fleš element se može reprogramirati. Nakon uključenja sistema na napajanje, sadržaji Fleš
27
PLD kola i Quartus II programski paket
ćelija se kopiraju u odgovarajuće SRAM ćelije. Ova tehnika čini da FPGA kolo bude nonvolatile tipa što znači da je odmah dostupno za korištenje nakon dovoñenja napajanja u
zavisnosti od tipa kola i proizvoñača moguće je rekonfigurisati fleš ćelije on-line.
Programabilni prekidač je tranzistor sa izolovanim gejtom (EPROM tranzistor), koji se,
programiranjem, može permanentno zakočiti (slika 24). Ovo se postiže injektovanjem
naelektrisanja na izolovani gejt tranzistora (Floating_Gate, gejt 2). Do injektovanja
nelektrisanja dolazi kada se izmeñu upravljačkog gejta (gejt 1) i drejna tranzistora dovede
visok napon. Injektovano naelektrisanje povećava napon praga tranzistora, tako da on, u
normalnom režimu rada ostaje stalno zakočen (tj. neprovodan). Injektovano naelektrisanje se
odstranjuje izlaganjem izolovanog gejta dejstvu ultraljubičastog svjetla. EEPROM
tehnologija je slična EPROM tehnologiji, s tom razlikom što se odstranjivanje injektovanog
naelektrisanja može ostvariti električnim putem, bez ultraljubičastog svjetla. Prednost
EPROM tehnologije je što ona ne zahtjeva eksternu memoriju za čuvanje konfiguracionih
bitova. Pored toga, serijska otpornost provodnog EPROM tranzistora je veća (oko dva puta)
od serijske otpornosti pass tranzistora koji se koristi kod SRAM tehnologije. Takoñe, statička
potrošnja kola koje koristi EPROM tranzistore je zbog “pull-up” otpornika veća od potrošnje
kola koje koristi SRAM ćelije. EPROM tehnologija programiranja se koristi kod većine
CPLD kola i kod FPGA kola firmi Altera i Plus Logic. Kod FPGA kola firmi AMD i Lattice
koristi se EEPROM tehnologija.
Slika 24. Programiranje sa floating gate tehnologijom
28
PLD kola i Quartus II programski paket
8. FPGA SA UGRAðENIM PROCESOROM
Najveći broj današnjih elektronskih proizvoda koje srećemo u svakodnevnom životu
(mobilni telefon, disk-plejer, digitalni foto aparat, i dr.) imaju ugrañen mikroprocesor.
Neprestanim razvojem FPGA kola bilo je samo pitanje vremena kada će neko od vodećih
proizvoñača integrisati procesorsko jezgro u svoju ahitekturu. Proizvoñači FPGA kola u sve
svoje novije familije čipova ugrañuju jednu ili veći broj mikroprocesorskih jezgri
(microprocessor core). Sa ovakvim mogućnostima može se implementirati kompletan (ili
skoro kompletan) sistem sa ugrañenim računarom jedinstvenim FPGA kolom.
Prvo komercijalno FPGA kolo koje je u sebi imalo integrisani mikroprocesor u okviru
logike je bila Altera Excalibur APEX-20KE. Ovu familiju čine tri FPGA kola EPXA1,
EPXA4, i zadnje i najnaprednije EPXA10. U ova kola integrisano je bilo 32-bitno RISC
procesorsko jezgro ARM922T na 200MHz. Procesor ARM922T je član ARM9 familije
procesorskih jezgri, sa ahitekturom koja koristi 5 nivoa protočnosti u jednom taktnom
intervalu: pripremanje podataka, dekodiranje, izvršavanje, memorisanje i ispisivanje. Takoñe,
osim jezgre ugrañen je i SRAM koji se zavisno od varijante kreće u granicama od 32 Kb do
256 Kb. Broj logičkih elemenata je znatno povećan i iznosi maksimalnih 38,400 za EPXA10
kolo i broj gejtova znatno je povećan i iznosi nevjerovatnih 1,000,000 a korisničkih I/O
pinova 711.
Na sljedećoj slici 1. prikazana je blok šema Excalibur arhitekture i ona se sastoji od dva
dijela. Prvi dio čini procesor sa okolinom, a drugi dio je standardni PLD. Takoñe, prikazane
su tri varijante kola u istoj familiji, XA1, XA4 i XA10 odakle se može uočiti da su
poboljšana kola dobijena povećavanjem memorijske i PLD oblasti.
Slika 1. Arhitektura Excalibur FPGA kola
29
PLD kola i Quartus II programski paket
Na jezgro procesora ARM povezani su namjenski spoljašnji memorijski interfejs, UART
interfejs, programibilni kontroler prekida i drugi resursi. Dvije namjenske veoma brze AHB
(Advanced High performance Bus ) i AMBA (Advanced Microprocessor Bus Architecture)
magistrale koje postoje u sistemu omogućavaju procesoru da istovremeno pristupi različitim
kolima. Procesor komunicira sa programibilnom logikom preko preko dual-port RAM-a koji
je preko multipleksera povezan na obje magistrale (AHB1 i AHB2).
Razvoj ove familije naravno prati i razvoj odgovarajućeg softvera, pa je Altera na tržište
izbacila novi odgovarajući softver za programiranje. Riječ je o softverskom paketu Quartus II
koji se može naći na Alterinom sajtu. Nude besplatan softver za programiranje i simuliranje
rada FPGA kola i projektovanje ASIC kola sa VHDL-om i Verilog-om ali bez mogućnosti
upisivanja sadržaja u odgovarajuće kolo i dobijanje lejera za izradu integrisanih kola.
Nešto kasnije kompanija Xilinx je odgovorila sa novom familijom FPGA-ova Virtex-II
Pro i Virtex-4, sa ugrañenim integer PowerPC mikroprocesorom. Kao odgovor na Alterin
izazov ponudili su novu arhitekturu. Osnovna razlika se ogleda kod Xilinxovog rešenja, gdje
je mikroprocesor u okviru FPGA logike smješten kao jedno ostrvo (slika 2.) sa izvedenim
interfejsima ka on-chip SRAM-u ali bez namjenskih procesorskih ili periferijskih magistrala.
Ovakvo rješenje pruža mogućnost projektantu da definiše po svojoj želji arhitekturu sistema
sa ugrañenim računarom, tj. korisnik može sam da definiše svoju arhitekturu što ovo kolo čini
izuzetnim. S druge strane, ovakav procesor nasuprot Excalibur rešenja ne može da bude
efikasan bez dobre konfiguracije FPGA logike.
Slika 2. Arhitektura Xilinxovog FPGA kola sa ugrañenim procesorom
30
PLD kola i Quartus II programski paket
9. PREGLED NAPREDNIH FPGA FAMILIJA
Neprestanim napredovanjem tehnologije proizvodnje integrisanih kola i napredovanjem
moćnih računara za projektovanje, doprinijelo je razvoju FPGA kola. U početku se takmičilo
više proizvoñača dok danas, uglavnom, srećemo dva najveća. U pitanju su, kao što smo već
spomenuli, Altera i Xilinx. Oba proizvoñača prave kvalitetna kola čije familije su uporedive
po mogućnostima i karakteristikama. Na sljedećoj slici 3. dato je poreñenje, po broju LUT
tabela, najpopularnijih kola familija Stratix II i Virtex IV.
Slika 3. Poreñenje familija Stratix II i Virtex IV
9.1. FPGA kola proizvoñača Altera
Na tržištu se pojavila zadnja serija Altera Stratix IV FPGA kola koja omogućavaju
implementaciju izuzetno složenih rješenja. S obzirom na broj ugrañenih komponenti
proizvoñač koristi izraz „novi napredni nivo razvoja bez kompromisa“.
Stratix IV FPGA kola proizvode se u fabrici Taiwan Semiconductor Manufacturing
Company (TSMC) sa 40-nm širinom kanala. Ova familija sadrži tri optimizovane varijante za
odreñene oblasti primjene.
1. Stratix IV E (Enhanced) FPGA kola sa 813,050 logičkih elemenata (LEs), 33.294
Kbit RAM i 1,288 18 × 18 bitnim množačima
2. Stratix IV GX (transceiver) FPGA kola sa 531,200 logičkih elemenata (LEs), 27.376
Kbit RAM, 1,288 18 × 18 bitnim množačima, 48 full-duplex CDR (Clock Data
Recovery) bazirani primopredajnici do 8.5 Gbps
3. Stratix IV GT (transceiver) FPGA kola sa 531,200 logičkih elemenata (LEs), 27.376
Kbit RAM, 1,288 18 × 18 bitnim množačima, 48 full-duplex CDR (Clock Data
Recovery) bazirani primopredajnici do 11.3 Gbps
Stratix IV familija odlikuje se malom cijenom i minimalnim brojem otkaza.
31
PLD kola i Quartus II programski paket
Ovi 48 full-duplex CDR bazirani primopredajnici u Stratix IV GX i GT kolima
podržavaju protok podataka do 8.5 Gbps i 11.3 Gbps, respektivno. Imaju namjenski
realizovana kola za većinu popularnih standarda prenosa podataka kao što su PCI-Express
(PIPE), Gen1 i Gen2, Gigabit Ethernet, Serial RapidIO, SONET/SDH, SD/HD/3G-SDI,
Fibre Channel, SFI-5... Kompletan PCI Express (PIPE) protokol riješen je sa ugrañenim PCI
Express IP blokovima.
SIV51001-3.0
Pregled Stratix IV Familije
•
•
•
•
•
•
•
•
Najviše 813,050 logičkih elemenata (LEs) po kolu
Najviše 33,294 Kbit memorije koja sadrži tri bloka RAM implementirane kao dual
port
High-speed DSP konfigurabilni blokovi sa veličinama množača od 9 × 9 bit, 12 × 12
bit, 18 × 18 bit, i 36 × 36 bit do frekvencije od 600 MHz
Najviše 16 globalnih takt generatora (GCLK), 88 regionalnih (RCLK), i 132 periferna
(PCLK) po jednom kolu
Programabilna tehnologija napajanja koja minimizuje potrošnju a pritom povećava
performanse kola.
Najviše 1,120 korisničkih I/O pinova oblikovanih u 24 I/O grupe
Podrška za high-speed eksternu memoriju preko interfejsa DDR, DDR2, DDR3,
SDRAM, RLDRAM II, QDR II, i QDR II+ SRAM
Raspored pinova na Stratix IV E kolu dizajniran je da odgovara Stratix III kolima tako
da prebacivanje dizajna sa starije na noviju verziju kola može biti jednostavno
napravljeno.
Osnovni podaci ove familije dati su u sljedećoj tabeli 1.
Tabela 1. Pregled Stratix-IV familije
32
PLD kola i Quartus II programski paket
DSP blokovi su u Stratix® IV familiji unaprijeñeni i optimizovani da podržavaju
zahtjevnije DSP operacije, sa većim protokom podataka, obrañujući zahtjevne matematičke
operacije koje realizuju FIR (finite impulse response filtre), IIR filtre (infinite impulse
response filters), brze Furijeove transformacije (FFT). Moguće je konfigurisati DSP blokove
da implementiraju jednu od više ponuñenih operacija. Mnogi kompleksni sistemi, kao što su
WiMAX. 3 GPP, high-performance computing (HPC), voice over Internet protocol (VoIP),
H.264 video kompresija, medicinske aplikacije, i HDTV koriste sofisticirane digitalne
tehnike koje obično zahtjevaju veliki broj izračunavanja. Stratix IV familije su idealne za te
poslove jer se DSP blokovi sastoji od kombinacije elemenata koji obavljaju množenje,
sabiranje, oduzimanje, pamćenje i sabiranje. Način na koji su realizovani daje im mogućnost
da vrše operacije i sa „plivajućim zarezom“.
Realizovanje lanaca pomjeračkih registara, množača i sabirača minimizira potrebnu
količinu eksterne logike, što je rezultovalo efikasnom korištenju resursa i poboljšanju
performansi i protoku podataka za DSP aplikacije.
U toku pisanja ovog teksta na sajtu ovog proizvoñača pojavila se informacija da je
uspješno testirana nova familija Stratix® V FPGA. Ista je napravljena u tehnologiji 28-nm!?
Ovaj tehnološki skok (6. 2010. god.) predstavlja obaranje Murovog zakona.
9.2.
FPGA kola proizvoñača Xilinx
Virtex®-6 familija je najnovija familija proizvoñača Xilinx koja pruža većinu naprednih
funkcija na FPGA tržištu. Treća generacija ASMBL™ (Advanced Silicon Modular Block)
sadrži tri optimizovane varijante kola unutar ove familije, LXT, SXT i HXT. Svaka varijanta
ima različite mogućnosti:
1. Virtex-6 LXT FPGA kola: Visoke performanse logike sa naprednim serijskim
povezivanjem
2. Virtex-6 SXT FPGAs: Visoke mogućnosti procesiranja signala i sposobnost
naprednog serijskog povezivanja
3. Virtex-6 HXT FPGAs: Najviši protok serijskog povezivanja
Pored visokih performansi logike, Virtex-6 FPGA kola sadrže mnogo ugrañenih
„sistemema“ unutar blokova koje omogućavaju dizajnerima da prave dizajn na najvišem
nivou sa odličnom funkcionalnošću. Familija je realizovana sa 40-nm tehnologijom i
predstavlja pandam alterinoj familiji Stratix – IV sa performansama koja su odlična
alternativa ASIC kolima. Odlikuju se odličnim DSP, logičkim i namjenskim blokovima te
procesorskim mogućnostima.
33
PLD kola i Quartus II programski paket
Pregled Virtex®-6 familije
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Kompatibilno uvezivanje kola iz različitih opotimizovanih varijanti unutar familije
LXT i SXT kola imaju kompatibilan raspored pinova za isti tip kućišta
Realna 6-ulazna look-up tabela (LUT)
Dualna LUT5 (5-input LUT) opcija
Poboljšana efikasnost rutiranja
64-bit ( ili dva puta 32-bit) raspodjeljena LUT RAM opcija
Powerful mixed-mode clock managers (MMCM)
MMCM blokovi obezbjeñuju pamćenje bez kašnjenja, sintezu frekvencije
36-Kb blokovi RAM/FIFO
Programabilne memorije:
- Dual-port širine do 36 bitova
- Simple dual-port širine do 72 bitova
Unaprijeñeno programiranje FIFO logike
1.2 V do 2.5 V I/O operacije
On-chip/off-chip posmatranje temperature i napona napajanja
Integrisani blokovi za PCI Express®
Brzine prenosa podataka manje od 480 Mb/s podržane u FPGA logici.
GTH transceivers: 2.488 Gb/s do 11 Gb/s
Integrisani 10/100/1000 Mb/s Ethernet MAC blok
40 nm CMOS technologija
1.0V napajanje procesorske jezgre
U narednoj tabeli 2. dat je pregled Virtex®-6 familije.
Tabela 2. Pregled Virtex-6 familije
34
PLD kola i Quartus II programski
rogramski paket
Poreñenje Virtex®-66 familije sa ostalim familijama istog proizvoñača Xilinx dato je u
narednoj tabeli 3:
Features
Virtex-6
6
Virtex-5
Spartan -6
Extended Spartan
Spartan-3A
Tabela 3. Familije proizvoñača Xilinx
Iz ove tabele jasno se vidi evolucija FPGA familija. Ne tako davno broj logičkih ćelija je
bio 53.000 dok se danas popeo na nevjerovatnih 760.000. Rast mogućnosti prati i rast
korisničnih pinova koji se danas popeo na 1200. Nevjerovatan rast mogućnos
mogućnosti FPGA
familija čini nemogućim iznositi bilo kakve prognoze o mogućnostima budućih familija koje
trenutno projektuju ovi proizvoñači.
35
PLD kola i Quartus II programski paket
10.
PROJEKTOVANJE SA PLD
Razvoj PLD-ova pratio je i neprestan razvoj softvera za programiranje ovih kola. Svaki
proizvoñač ima vlastite programske pakete koji omogućavaju razvoj dizajna digitalnih
sistema, simulaciju i programiranje programabilnih logičkih kola.
Firma Altera je ponudila novi programski paket Quartus II sa velikim brojem raznovrsnih
alata koji omogućavaju realizaciju željenog dizajna na lak i jednostavan način. Objedinjuje
veliki broj programa i alata za opis dizajna, prevoñenje, optimizaciju, analizu, verifikaciju i
programiranje. Na slici 4. data je blok šema aktivnosti u procesu projektovanja digitalnih
sistema sa Quartus II paketom. To su aktivnosti koje predlaže proizvoñač Altera prilikom
projektovanja nekog dizajna a formirane su na osnovu najčešće preduzetih aktivnosti za
najveći broj situacija. Osnovne faze u procesu projektovanja digitalnih sistema su:
•
•
•
•
•
•
Design Entry – unos dizajna sistema. Paket podržava nekoliko načina opisa sistema.
Synthesis – obrada unijetog dizajna u smislu prevoñenja, optimizacije i formiranja
potrebnih datoteka sa rezultatima za dalju analizu i verifikaciju.
Place & Route – organizacija i povezivanje dijelova sistema u okviru resursa
programabilnog kola
Timing Analysis – analiza propagacije signala u okviru programabilnog kola u cilju
utvrñivanja maksimalne učestalosti rada digitalnog sistema, kritičnih puteva
prostiranja signala i sl.
Simulation – verifikacija opisanog dizajna na osnovu dobijenih rezultata iz postavke
prevoñenja
Programming & Configuration – programiranje programabilnih PLD, CPLD ili
FPGA kola na bazi formiranih podataka u prethodnim postupcima obrade.
Design Entry
Synthesis
Power Analysis
Place & Route
Debugging
Timing analysis
Engineering Change
Managment
Simulation
Timing Closure
Programming &
Configuration
Slika 4. Blok šema
36
PLD kola i Quartus II programski paket
Nakon unosa opisa digitalnog sistema pristupa se postupku prevoñenja i optimizacije
pomoću prevodioca Quartus II Compiler za odreñeni tip programabilnog PLD/CPLD/FPGA
kola. Poslije uspješnog prevoñenja obavlja se simulacija i testiranje funkcionalnosti preko
simulatora Quartus II Simulator, kao i analiza kašnjenja signala korištenjem analizatora
kašnjenja Quartus II Timing Analyzer u cilju otkrivanja grešaka i sprovoñenja daljih akcija.
Postupak simulacije vrši se kroz analizu vremenskih oblika signala na izlazu ili unutar kola u
zavisnosti od različitih ulaznih signala.
Nakon detaljne simulacije ako je konstatovano da digitalni sistem zadovoljava zahtjevane
osobine vrši se implementacija sistema, odnosno programiranje kola preko programatora iz
paketa Quartus II Programmer.
Quartus II programski paket omogućava opis digitalnog sistema na više načina te na taj
način dozvoljava dizajnerima da realizuju željeni dizajn preko:
•
•
•
Quartus II Block / Graphic Editor – grafičkog editora za opis dizajna preko
standardnih logičkih kola
Quartus II Vector Waveform Editor – editora talasnih oblika za opis dizajna preko
talasnih oblika signala ulaza i izlaza.
Quartus II Text Editor – tekstualnog editora za opis dizajna kroz razne tekstualne
opise : VHDL, Verilog i AHDL
37
PLD kola i Quartus II programski paket
11. QUARTUS II
11.1. IZBOR NOVOG PROJEKTA
Pokretanjem programskog paketa Quartus II 9.1 pojavljuje se glavni prozor. Ispred
glavnog prozora je meni sa prečicama. Nudi nam pokretanje novog projekta (Create a New
Project), otvaranje postojećeg (Open Existing Project) kao i mogućnost pokretanja četiri
zadnja zatvorena projekta (slika 1).
Slika 1. Glavni prozor Quartus II programskog paketa
Izborom Create a New Project pojavljuje se novi meni (slika 2.) koji nam omogućava
unos lokacije projekta, dodjeljivanje imena projektu i datoteci najveće važnosti (Top level
design entity).
38
PLD kola i Quartus II programski paket
Slika 2. Prozor za unos adrese i imena novog projekta
Na ponuñenoj lokaciji naveli smo ime direktorijuma Vjezbe DE, ime projekta je vjezba1 a
s obzirom da je ovo prva datoteka unutar ovog dizajna ona je najveće važnosti (Top level
design entity). Potvrdom na taster Next pojavljuje se sljedeći prozor koji nam omogućava
dodavanje datoteka i biblioteka našem projektu iz drugih projekata (slika 3).
Slika 3. Prozor za unos postojećih datoteka u novi projekat
Ovu opciju sada nećemo koristiti i klikom na taster Next pojavljuje se sljedeći prozor koji
je prikazan na slici 4.
Ovaj meni nam omogućava izbor familije Altera FPGA (Field Programmable Gate Array)
kola, te izbor odgovarajućeg čipa unutar izabrane familije.
39
PLD kola i Quartus II programski paket
Slika 4. Prozor za izbor FPGA familije i kola
Takoñe, izbor adekvatnog kola možemo prepustiti programskom paketu koji će izvršiti
izbor unutar izabrane familije na osnovu složenosti dizajna. Na ovom osnovnom kursu mi
ćemo izabrati tj. potvrditi predloženu familiju Stratix II tasterom Next.
Novi prozor koji nam omogućava izbor naprednijih tehnika u razvoju sistema a koje
nećemo koristi na ovom kursu prikazan je na narednoj slici 5.
Slika 5. Prozor za izbor dodatnih tehnika razvoja sistema
40
PLD kola i Quartus II programski paket
Pritiskom na taster Next pojavljuje se zadnji prozor sa informacijama koje su prikazane
na slici 6. Ukoliko želimo da napravimo ispravke možemo da se vratimo na neki od
predhodnih prozora pritiskom na taster Back. Potvrñivanje vršimo izborom tastera Finish.
Slika 6. Prozor sa informacijama
41
PLD kola i Quartus II programski paket
11.2. LABORATORIJSKA VJEŽBA 1.
Univerzalni komparator
•
•
•
•
Projektovanje univerzalnog komparatora za poreñenje dva jednobitna broja
Unos dizajna grafičkim putem
Verifikacija realizovanog sistema simulacijom
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
42
PLD kola i Quartus II programski paket
Projektovanje univerzalnog komparatora za poreñenje
dva jednobitna broja
Rješenje:
A>B
AVB = 1
AVB=AB
A<B
AMB = 1
B
AMB=A
A=B
JED = 1
B
A
JED =AB
Unos dizajna grafičkim putem
Slika:
43
PLD kola i Quartus II programski paket
Verifikacija realizovanog sistema simulacijom
Slika:
Zaključak:
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
44
PLD kola i Quartus II programski paket
Postupak izrade laboratorijske vježbe 1.
Pokrenimo programski paket Quartus II, zatim odaberimo ime direktorijuma i projekta na
predhodno opisani način. (c:\altera\91\quartus\Vjezbe DE\Un_komp). Unutar ovog projekta
potrebno je napraviti datoteku u koju ćemo crtati blok šemu komparatora. Izborom File>New
pojavljuje se meni (slika 7.) u kojem biramo Block Diagram/Schematic File.
Slika 7. Izbor naznačene datoteke
Potvrdom na taster OK pojavljuje se prostor za crtanje blok šeme u novom prozoru (slika 8).
45
PLD kola i Quartus II programski paket
Slika 8. Glavni prozor sa prostorom za crtanje blok šeme
Prilikom otvaranja svake nove datoteke uvjek je poželjno odmah izvršiti memorisanje
(File>Save As). Naime, prilikom pokretanja raznih biblioteka koje se nalaze u različitim
direktorijumima dešava se da prilikom prvog memorisanja sačuvamo datoteku na onoj adresi
na kojoj se nalazi zadnja otvorena biblioteka. Na taj način razdvajamo blok dijagram od
ostatka projekta što za posljedicu ima neuspješno kompajliranje.
Sa lijeve strane prostora za crtanje (slika 9) nalaze se potrebni alati. Izaberimo simbol I kola
koji pokreće prozor sa bibliotekama.
46
PLD kola i Quartus II programski paket
Slika 9. Izgled prozora za crtanje blok dijagrama
Prozor sa bibliotekama nam omogućava izbor simbola koje ćemo koristiti prilikom
crtanja blok dijagrama (slika 10). Potrebne biblioteke nalaze se na adresi
c:/altera/91/quartus/libraries/. Ponuñene su nam tri grupe simbola (megafunctions, others i
primitives) od kojih ćemo koristiti samo primitives. Unutar ove grupe nalaze se biblioteke
buffer, logic, other, pin i storage. U biblioteci logic nalaze se standardna logička kola.
Biblioteka pin sadrži korisničke pinove programabilnog kola koje programiramo (ulazni
pinovi, izlazni pinovi i dvosmjerni pinovi), a u biblioteci storage nalaze se flipflopovi.
Slika 10. Prozor za izbor biblioteka i simbola
Izborom biblioteke logic biramo potrebana logička kola. Za našu šemu potrebnu su nam
dva logička kola tipa and2, jedno nor2 i dva invertora not (slika 11).
47
PLD kola i Quartus II programski paket
Slika 11. Simbol I kola
Osim kola potrebno je dodjeliti ulazne i izlazne pinove izborom biblioteke pin (slika 12).
Za ovaj zadatak potrebna su dva ulazna pina A i B i tri izlazna AVB, AMB i JED.
Slika 12. Simbol ulaznog pina
Poslije razmještanja logičkih kola i pinova blok dijagram je prikazan na sljedećoj slici 13.
48
PLD kola i Quartus II programski paket
Slika 13. Razmještaj simbola unutar blok dijagrama
Za povezivanje komponenti potrebno je izabrati gornji naznačeni taster na sljedećoj slici
14. Povezivanje vršimo pozicioniranjem miša na željeni početni kontakt a zatim sa
pritisnutim lijevim klikom vršimo povlačenje veze i pozicioniranje na željeni krajnji kontakt.
Nakon povezivanja komponenti potrebno je ulaznim i izlaznim pinovima dodjeliti imena
editovanjem simbola sa dvostrukim klikom. Ime pina ne može biti sastavljeno od dvije riječi,
odnosno one mogu biti rastavljene donjom crticom.
Od ostalih simbola bitno je napomenuti da uključenje donjeg označenog tastera omogućava
pomjeranje povezanih komponenti bez prekida konekcija. Konačan izgled blok dijagrama
prikazan je na narednoj slici 14.
49
PLD kola i Quartus II programski paket
Slika 14. Blok dijagram univerzalnog komparatora
Nakon crtanja potrebno je memorisati šemu blok dijagrama te izvršiti kompajliranje
dizajna. Kopajliranje pokrećemo Processing>Start Compilation ili izborom označene alatke
(slika 15).
Slika 15. Glavni prozor sa alatkama
Nakon pokretanja ove opcije otvaraju se novi prozori u kojima je moguće pratiti
kompletan tok kompajliranja dizajna. U prozoru sa lijeve strane nalaze se informacije o
različitim etapama kompajliranja kroz koje prolazi dizajn (analiza i sinteza, rutiranje,
generisanje programske datoteke te analize vremena). U donjem dijelu nalazi se prozor sa
detaljnim informacija info, upozorenjima warning te greškama error. Dizajn ne može biti
uspješno kompajliran ako sadrži greške. Upozorenja se obično odnose na vremenska
ograničenja i za ovaj kurs nisu bitna. Nakon uspješnog kompajliranja pojavljuje se poruka
Full Compilation was successfull (Slika 16).
50
PLD kola i Quartus II programski paket
Slika 16. Izgled glavnog prozora Quartus II nakon uspješnog kompajliranja
Naredni korak je simulacija unesenog dizajna. Simulaciju vršimo u posebnoj datoteci
koju napravimo (slika 17) sa File>New>Vector Waveform File.
Izborom ove datoteke pojavljuje se novi prozor sa vremenskim dijagramom (slika 18).
51
PLD kola i Quartus II programski paket
Slika 17.
Slika 18. Glavni prozor sa datotekom koja sadrži vremenski dijagram
52
PLD kola i Quartus II programski paket
Takoñe i ovde se preporučuje da se odmah memoriše ova datoteka u onaj direktorijum u
kojem se nalaze i ostale datoteke sa istim imenom kao blok dijagram.
Duplim lijevim klikom na kolonu označenu kao Name pokrećemo novi prozor (slika 19).
Slika 19. Prozor za unos pinova u simulacionu datoteku
Izaborom tastera Node Finder dobijamo novi prozor u kojem možemo da definišemo
ulazne i izlazne pinove (slika 20).
Slika 20. Prozor za pronalaženje željenih pinova
Prvi korak je podešavanje filtera za pronalaženje upotrebljenih pinova. Potrebno je filter
podesiti na opciju Pins:all kako bi mogli učitati sve pinove. Zatim izborom tastera List u
desnom dijelu prozora dobijamo listu svih korištenih pinova u ovom dizajnu. Izbor pinova
vršimo njihovim premještanjem u desni dio prozora alatkama u središnjem dijelu prozora.
Premještanje vršimo onim redoslijedom koji nam omogućava najbolju preglednost kod
vremenskog dijagrama simulacije dizajna (slika 21).
53
PLD kola i Quartus II programski paket
Slika 21. Prozor sa izabranim pinovima
Potvrñivanjem na taster OK pojavljuju se pinovi u prozoru sa vremenskim dijagramom.
Vremenski interval u kojem želimo da izvršimo simulaciju dizajna biramo u padajućem
meniju Edit>End Time…te nam se pojavljuje novi prozor sa mogućnošću unosa dužine
trajanja simulacije (slika 22). Unesimo trajanje intervala od 200 us.
Slika 22. Vremenski interval simulacije
Poslije izbora dužine trajanja simulacije potrebno je izvršiti i izbor trajanja podioka koji
vršimo u padajućem meniju Edit>Grid Size… Unesimo vrijeme od 10 us. Poslije
podešavanja vremeskog intervala simulacije poželjno je da vidimo cijeli vremski opseg na
ekranu što ćemo podesiti opcijom View>Fit in Window. Poslije ovih podešavanja naš prozor
za simulaciju će izgledati kao na slici 23.
Prije simulacije potrebno je definisati vrijednosti ulaznih promjenjivih A i B na osnovu
kojih će simulator iscrtati izlazne promjenjive. Izbor i trajanje logičke jedinice ulaznog
signala vršimo selektovanjem dijela intervala (npr. signal A od 20 us do 40 us) te izborom
tastera sa simbolom logičke jedinice sa lijeve strane prozora (koji će biti dostupan poslije
54
PLD kola i Quartus II programski paket
selektovanja signala, označeno na slici 23). Na ovaj način definišimo vrijednosti ulaznih
promjenjivih kao što je prikazano na sljedećoj slici 24.
Slika 23. Prozor za simulaciju
Slika 24. Prozor za simulaciju sa definisanim ulaznim promjenjivim
55
PLD kola i Quartus II programski paket
Nakon definisanja vrijednosti ulaznih promjenjivih, memorišimo datoteku te pokrenimo
simulaciju izborom Processing>Start Simulation. Nakon uspješno obavljene simulacije
dobijamo signale izlaznih veličina koje je potrebno uz pomoć opcije Fit in Window
kompletne prikazati na ekranu (slika 25).
Slika 25. Rezultat simulacije
Zaključak
Simulatori se koriste kako bi provjerili ispravnost i funkcionalnost zamišljenog dizajna.
Uvećavanjem dijelova grafika možemo uočiti stvarna kašnjenja kola, tj njegovo ponašanje u
praktičnoj upotrebi. Takoñe, možemo primjetiti i izmjeriti trajanje kratkotrajnih „lažnih“
impulsa, a o njihovom uklanjanju i problemima koji oni donose biće poslije govora. Izborom
različitih vremena trajanja simulacije i trajanja logičkih jedinica i nula možemo posmatrati i
analizirati ponašanje dizajna te donijeti zaključak na kojim će brzinama i za koje namjene
raditi ispravno.
Poslije uspješne simulacije ostaje da se formira heksadecimalna datoteka te ista učita u
FPGA kolo uz pomoć razvojnog sistema. Ova verzija Quartus II programskog paketa ne
sadrži podršku za programiranje kola jer je namjenjena za edukativne svrhe.
56
PLD kola i Quartus II programski paket
57
PLD kola i Quartus II programski paket
11.3. LABORATORIJSKA VJEŽBA 2.
Realizacija potpunog sabirača
•
•
•
•
•
•
•
•
Projektovanje polusabirača za sabiranje dva jednobitna broja
Unos dizajna grafičkim putem
Verifikacija realizovanog sistema simulacijom
Formiranje simbola polusabirača
Projektovanje potpunog sabirača upotrebom polusabirača
Unos dizajna grafičkim putem
Verifikacija realizovanog sistema simulacijom
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
58
PLD kola i Quartus II programski paket
Projektovanje polusabirača za sabiranje dva jednobitna broja
Rješenje:
Ulazne promjenjive: Enable, X, Y
Izlazne promjenjive: Result, Carry
Enable
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
Y
0
1
0
1
0
1
0
1
Carry Result
Jednačine:
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
________________________________________
Unos dizajna grafičkim putem
Slika:
59
PLD kola i Quartus II programski paket
Verifikacija realizovanog sistema simulacijom
Slika:
Formiranje simbola polusabirača
Slika:
60
PLD kola i Quartus II programski paket
Projektovanje potpunog sabirača upotrebom polusabirača
Rješenje:
Ulazne promjenjive: Enable, Carry in, X, Y
Izlazne promjenjive: Carry, Result
Carry in
0
0
0
0
1
1
1
1
X
0
0
1
1
0
0
1
1
Y
0
1
0
1
0
1
0
1
Carry
Result
Potpuni sabirač pored dvije ulazne promjenjive
ima još i prenos iz prethodnog razreda.
Upotrebom jednog polusabirača potrebno je
sabrati promjenjive X i Y. Rezultat prvog
polusabirača potrebno je sabrati sa prethodnim
prenosom (carry in) upotrebom drugog polusabirača, pa je rezultat drugog polusabirača
ustvari ukupna suma sve tri promjenjive.
S obzirom da povezujemo dva polusabirača, ostaje problem objedinjavanja oba signala
prenosa. Za tu namjenu koristimo XOR kolo.
Unos dizajna grafičkim putem
Slika:
61
PLD kola i Quartus II programski paket
Verifikacija realizovanog sistema simulacijom
Slika:
Zaključak:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
62
PLD kola i Quartus II programski paket
Postupak izrade laboratorijske vježbe 2.
Pokrenimo programski paket Quartus II, zatim odaberimo ime direktorijuma i projekta na
predhodno opisani način (c:\altera\91\quartus\Vjezbe DE\p_sabirac). Unutar ovog projekta
potrebno je napraviti datoteku u koju ćemo crtati blok šemu sabirača.
Često se unutar nekog dizajna ista šema više puta ponavlja. Kako bi uprostili dizajn
možemo od te šeme napraviti jednostavan simbol koji ćemo koristiti umjesto komplikovane
šeme. Prvo napravimo dizajn koji želimo zamjeniti simbolom te nakon crtanja izvršimo
kompajliranje i simuliranje. Ako se predloženi dizajn pokazao funkcionalnim možemo
pristupiti formiranju bloka. U našem slučaju od šeme polusabirača potrebno je napraviti
simbol koji će obavljati funkciju polusabirača.
Novi simbol možemo napraviti upotrebom sljedeće opcije prikazane na slici 26.
Slika 26. Postupak formiranja simbola od postojeće blok šeme
Da bi kreiranje simbola uspjelo na glavnom prozoru mora biti otvorena datoteka sa blok
šemom.
63
PLD kola i Quartus II programski paket
Izborom ove opcije pojavljuje se nova datoteka sa istim imenom i ekstenzijom .bsf (slika 27).
Slika 27. Izgled predloženog simbola
Poslije realizacije simbola otvorimo novi projekat File>New Project Wizard
(c:\altera\91\ quartus\Vjezbe DE\sabirac). Naravno, potrebno je otvoriti novu datoteku za
crtanje blok šeme pod istim imenom kao i projekat te smo na taj način definisali da nam je ta
datoteka sa najvišim hijerarhijskim nivom. U slučaju kada imamo više datoteka u jednom
projektu ne smijemo zaboraviti da se može kompajlirati isključivo datoteka sa najvišim
hijerarhijskim nivoom. Ako datoteka koju kompajliramo nije najvišeg nivoa, kompajler će
nas informisati o ovom problemu pa je potrebno datoteku postaviti na najviši nivo opcijom
Project>Set as Top – Level Entity.
Prilikom crtanja šeme sabirača realizovanog sa dva polusabirača potrebno je pronaći
simbol polusabirača (c:\altera\91\quartus\Vjezbe DE\p_sabirac) i ubaciti ga na isti način kao
i ostale simbole (slika 28).
64
PLD kola i Quartus II programski paket
Slika 28. Izbor novoformiranog simbola
Da bi ovaj simbol ispravno radio potrebno je u dizajn dodati i blok šemu polusabirača.
Dodavanje vršimo opcijom Project>Add/Remove Files in Project.
Blok šema potpunog sabirača prikazana je na sljedećoj slici 29.
Slika 29. Blok šema potpunog sabirača
65
PLD kola i Quartus II programski paket
11.4. LABORATORIJSKA VJEŽBA 3.
D - FF
•
•
•
•
Ispitivanje ponašanja ivično okidanog flipflopa sa pozitivnom i negativnom ivicom
Unos dizajna grafičkim putem
Verifikacija realizovanog sistema simulacijom
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
66
PLD kola i Quartus II programski paket
Ispitivanje ponašanja ivično okidanog flipflopa sa
pozitivnom i negativnom ivicom
Potrebno je istovremeno dovesti signale D, CLK, Set i Reset na obje vrste FF te
posmatrati i uporediti dobijanje izlaznih signala.
Rješenje:
Razlikujemo dvije vrste flipflopova, ivično okidane na pozitivnu i negativnu ivicu taktnog
signala. U biblioteci storage imamo D flipflop okidan samo na pozitivnu ivicu taktnog
signala. S obzirom da u ovoj besplatnoj verziji programskog paketa nemamo mogućnost
editovanja i invertovanja ulaza i izlaza, upotrebom jednog invertora možemo invertovati
ulazni priključak za taktni signal. Tabela prelaza D-ff je:
Q(t)
0
0
1
1
Q(t+1)
0
1
0
1
D
0
1
0
1
Unos dizajna grafičkim putem
Slika:
67
PLD kola i Quartus II programski paket
Verifikacija realizovanog sistema simulacijom
Slika:
Zaključak:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
68
PLD kola i Quartus II programski paket
Postupak izrade laboratorijske vježbe 3.
Prilikom simuliranja dizajna na izlazu flipflopova dobijamo neodgovarajući signal.
Razlog tome je što se u istom trenutku pojavi ili nestane logička jedinica na ulazu D-FF kad i
rastuća/opadajuća ivica takt signala (slika 30).
Slika 30. Neispravni signali na izlazu flipflopova
Ovaj nedostatak se eliminiše pomjeranjem ivice signala tako da se ne dešva u istom
trenutku kada i ivica takt signala. Za ovu namjenu koristi se alatka obilježena na prethodnoj
slici 30. Korištenjem ove alatke možemo pomjerati ivice signala u lijevu ili desnu stranu. Na
taj način ostvarujemo mimoilaženje ivica, funkcionalno i vizuelno, tj. definišemo postojanje
signala na ulazu D FF u trenutku posmatrane ivice takt signala, pa na izlazu D FF dobijamo
ispravan signal (slika 31).
69
PLD kola i Quartus II programski paket
Slika 31. Ispravni signali na izlazu flipflopova
70
PLD kola i Quartus II programski paket
71
PLD kola i Quartus II programski paket
11.5. LABORATORIJSKA VJEŽBA 4.
Realizacija 4-bitnog pomjeračkog registra
•
•
•
•
•
Projektovanje pomjeračkog registra
Unos dizajna grafičkim putem
Verifikacija realizovanog registra simulacijom
Formiranje simbola pomjeračkog registra
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
72
PLD kola i Quartus II programski paket
Projektovanje pomjeračkog registra
Rješenje (kratak opis registra):
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Unos dizajna grafičkim putem
Slika:
73
PLD kola i Quartus II programski paket
Verifikacija realizovanog registra simulacijom
Slika:
Formiranje simbola pomjeračkog registra
Slika:
74
PLD kola i Quartus II programski paket
Zaključak:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
75
PLD kola i Quartus II programski paket
11.6. LABORATORIJSKA VJEŽBA 5.
Realizacija generatora pseudoslučajnih bitova sa 4-bitnim pomjeračkim
registrom
•
•
•
•
Projektovanje generatora pseudoslučajnih brojeva
Unos dizajna grafičkim putem
Verifikacija realizovanog generatora simulacijom
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
76
PLD kola i Quartus II programski paket
Projektovanje generatora pseudoslučajnih brojeva
Rješenje (kratak opis generatora):
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Unos dizajna grafičkim putem
Slika:
77
PLD kola i Quartus II programski paket
Verifikacija realizovanog generatora simulacijom
Slika:
Zaključak:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
78
PLD kola i Quartus II programski paket
79
PLD kola i Quartus II programski paket
11.7. LABORATORIJSKA VJEŽBA 6.
Realizacija asinhronog brojača
•
•
•
•
Projektovanje asinhronog brojača
Unos dizajna grafičkim putem
Verifikacija realizovanog brojača simulacijom
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
80
PLD kola i Quartus II programski paket
Projektovanje asinhronog brojača
Potrebno je realizovati asinhroni brojač modula 9 upotrebom T flipflopova, ivično
okidanih na negativnu ivicu. Na raspolaganju su NE i NI logička kola.
Rješenje:
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
81
PLD kola i Quartus II programski paket
Unos dizajna grafičkim putem
Slika:
Verifikacija realizovanog brojača simulacijom
Slika:
82
PLD kola i Quartus II programski paket
Zaključak:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
83
PLD kola i Quartus II programski paket
11.8. LABORATORIJSKA VJEŽBA 7.
Realizacija sinhronog brojača
•
•
•
•
Projektovanje sinhronog brojača
Unos dizajna grafičkim putem
Verifikacija realizovanog brojača simulacijom
Zaključak
Ime i prezime:___________________
Datum: __________________
Broj indeksa:__________
Pregledao:________________
84
PLD kola i Quartus II programski paket
Projektovanje sinhronog brojača
Nacrtati strukturnu šemu dekrementirajućeg sinhronog brojača po modulu 12 sa
upravljačkim signalom Co koji se preko I kola dovodi zajedno sa signalom takta. U
slučaju da doñe u zabranjeno stanje brojač se vraća u početno stanje. Na raspolaganju
su T flipflopovi i NI logička kola.
Rješenje:
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
85
PLD kola i Quartus II programski paket
Unos dizajna grafičkim putem
Slika:
Verifikacija realizovanog brojača simulacijom
Slika:
86
PLD kola i Quartus II programski paket
Zaključak:
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
___________________________________________________________________________
87
PLD kola i Quartus II programski paket
11.9. Unos dizajna grafičkim putem preko talasnih oblika
Programski paket Quartus II nam omogućava da vršimo unos dizajna grafičkim putem
preko talasnih oblika signala. To podrazumjeva da zadajemo ulazne signale, izlazne signale i
signale u karakterističnim tačkama unutar sistema kao što su memorijski elementi i slično.
Zadatak programskog paketa, u ovom slučaju, je da generiše kod na osnovu zadanih signala,
kojim programiramo kolo čiji je zadatak da se ponaša prema zadatim signalima. Ovakav
način projektovanja u literaturi je poznat kao reverzibilni inženjering. U ovom slučaju
dizajnera ne interesuje kod niti kako je on generisan već samo da programirano kolo za
odreñene ulazne signale ima izlazne signale koji su unaprijed definisani.
Datoteka u kojoj se definišu talasni oblici signala je Vector Waveform File i već je
detaljno opisana u prethodnom primjeru unosa dizajna grafičkim putem sa logičkim kolima.
Jedina razlika u odnosu na prethodni metod je što smo u prethodnom primjeru zadavali
ulazne signale a izlazne dobijali simuliranjem šeme sa logičkim elementima.
11.10. Unos dizajna tekstualnim putem preko VHDL koda
Unos dizajna tekstualnim putem pisanjem VHDL koda (Very High Speed Integrated
Circuit Hardware Description Language) vrlo je popularan kod programera dok većina
inženjera koristi grafički pristup sa logičkim blokovima. Otvaranjem datoteke
File/New/VHDL file unos dizajna možemo vršiti pisanjem VHDL koda. Ovaj kod je
popularan u Evropi dok je Verilog njegov američki pandam.
Strukturu VHDL koda čine tri dijela:
1. Definisanje biblioteka,
2. Definisanje entiteta (entity)
3. Opis dizajna tj. arhitekture (architecture)
Pod definisanjem biblioteka podrazumjeva se unos dvije linije koda: definisanje biblioteke
(LIBRARY ieee) i njena upotreba (USE ieee.std_logic_1164.all). Definisanje entiteta
(entity) podrazumjeva definisanje ulaznih (IN), izlaznih (OUT) i bidirekcionih (INOUT)
pinova. Opis dizajna se vrši u dijelu nazvanom arhitektura. Sintaksa i način upotrebe
prikazani su u narednom primjeru polusabirača.
Primjer jednostavnog dizajna polusabirača realizovanog tekstualnim putem sa VHDL
kodom prikazan je na sljedećoj slici 13.
88
PLD kola i Quartus II programski paket
Slika 13. Dizajna polusabirača realizovanog tekstualnim putem sa VHDL kodom
Da bi provjerili moguće greške i ispravnost dizajna potrebno je izvršiti kompajliranje
dizajna. Poslije uspješnog kompajliranja pristupa se otvaranju nove datoteke Vector
Waveform File za simuliranje. Pokretanje ove datoteke kao i definisanje pinova ulaznih
signal već je detaljno razmatrano u prvom opisu unosa dizajna grafičkim putem.
S obzirom da programski kod može biti nepregledan, ukoliko je preobiman, programski
paket Quartus II sadrži alat za prevoñenje VHDL koda u mnogo pregledniju blok šemu.
Izborom opcije Tools/Netlist Viewers/RTL Viewer programski paket generiše odgovarajuću
šemu koja je prikazana na sljedećoj slici 14. i odgovara napisanom VHDL kodu.
89
PLD kola i Quartus II programski paket
Slika 14. Generisana blok šema iz VHDL koda.
11.11. Unos dizajna tekstualnim putem preko AHDL koda
Kod projektovanja sekvencijalne mreže opisane mašinom stanja u programskom paketu
Quartus II najpogodniji način unosa je preko opisa stanja u AHDL (Altera HDL) tekstualnom
editoru. Tabele stanja unose se u AHDL editor koji se pokreće izborom opcije
File/New/AHDL File. Primjer jednog takvog unosa na osnovu definisanih stanja (slika 15)
prikazan je na slici 16.
Signali: IN/OUT
1/0
STATE 2
1/0
0/0
STATE 1
0/0
X/1
STATE 3
Slika 15. Stanja mašine, dijagram prelaza
90
PLD kola i Quartus II programski paket
Slika 16. Dizajn preko dijagrama stanja mašine unosom AHDL koda
Poslije uspješnog kompajliranja pristupa se otvaranju nove datoteke Vector Waveform
File za simuliranje. Pokretanje ove datoteke kao i definisanje pinova ulaznih signal već je
detaljno razmatrano u prvom opisu unosa dizajna grafičkim putem.
Zaključak
Cilj ovog poglavlja je detaljno opisivanje mogućnosti koje nam nudi programski
paket Quartus II pritom misleći na različite načine unosa dizajna. Ova razmatranja pokazuju
da željeni dizajn možemo realizovati na više različitih suštinskih načina sa jednim ciljem a to
je stvaranje odgovarajućeg dizajna koji će uspješno realizovati postavljeni problem.
Za razliku od unosa dizajna preko talasnih oblika signala na ulazu i izlazu ostali metodi
zahtjevaju simulaciju dizajna. Simulatori se koriste kako bi provjerili ispravnost i
funkcionalnost zamišljenog dizajna te na najjednostavniji i najbrži način otkrile i ispravile
moguće greške u dizajnu. Uvećavanjem dijelova grafika možemo uočiti stvarna kašnjenja
kola, tj. u praktičnoj upotrebi. Takoñe, možemo primjetiti i izmjeriti trajanje kratkotrajnih
„lažnih“ impulsa. Izborom različitih vremena trajanja simulacije i trajanja logičkih jedinica i
nula možemo posmatrati i analizirati ponašanje dizajna te donijeti zaključak na kojim će
brzinama i za koje namjene raditi ispravno.
Poslije uspješne simulacije ostaje da se formira heksadecimalna datoteka te ista učita u
FPGA kolo uz pomoć razvojnog sistema. Ova verzija Quartus II programskog paketa ne
sadrži podršku za programiranje kola jer je namjenjena za edukativne svrhe.
91
PLD kola i Quartus II programski paket
12.
ZAKLJUČAK
Cilj ovog praktikuma je bio objasniti princip rada PLD kola i na jednom mjestu dati
kratki pregled najvažnijih arhitektura u različitim fazama razvoja kroz koja su prošla PLD
kola, od jednostavnih do vrlo složenih. Razmatrane su i uporeñene različite arihitekture,
uglavnom dva najveća proizvoñača, jer se na njihove koncepte oslanjaju ostali manji
proizvoñači. Za procvat PLD tehnologija podjednako su zaslužni jer su imali korisne
inovacije. Xilinx je prvi uveo in system način programiranja zasnovan na JTAG standardu
koji je znatno olakšavao implentaciju različitih ideja u fazi rješavanja problema i
programiranja FPGA kola. Altera je prva uvela procesor u FPGA aritekturu koji je ovim
kolima dao snagu procesiranja podataka i nametnuo ih kao logično rješenje za realizaciju
složenijih ureñaja. Sa ovim kolima omogućeno je krajnjem korisniku da realizuje mnoge
složene operacije, jeftino, sa relativno velikim stepenom zaštite intelektualne imovine tj.
ponuñenog rješenja. Tajnost je potpuna upotrebom ASIC kola koja su neisplatna za razvijanje
ako su u pitanju manje serije.
U drugom dijelu ovog rada detaljno je opisan postupak programiranja PLD kola
upotrebom grafičke metode u programskom paketu Quartus II koji je preuzet sa sajta
www.altera.com. Izabran je grafički metod programiranja jer je najlakši, najpregledniji i
najbrže se pravi željeni dizajn. Programski paket je namjenjen za edukativne svrhe pa ne
sadrži dosta koristih opcija kao i mogućnost programiranja kola. U toku je projekat nabavke
opreme više razvojnih sistema kao i odgovarajućeg programskog paketa. Ispunjavanjem ovih
preduslova može se pristupiti kopletiranju ovog rada.
92
PLD kola i Quartus II programski paket
13.
LITERATURA
14. Altera, MAX 7000, datasheet, www.altera.com
15. Altera, FLEX 8000, datasheet, www.altera.com
16. Altera, FLEX 10000, datasheet, www.altera.com
17. Altera, Excalibur, datasheet, www.altera.com
18. ARM922T, datasheet, http://www.datasheetarchive.com/ARM922T-datasheet.html#
19. Dokić L. Branko, INTEGRISANA KOLA, ETF Banja Luka
20. ðorñević Goran, FPGA kola, EF Niš
21. National Semiconduktor, PAL16P8, datasheet, http://www.datasheetarchive.com
22. Philips, PLS153/A, datasheet
23. Stojanović D. Radovan, AUTOMATIZOVANO PROJEKTOVANJE
DIGITALNIH SISTEMA (VHDL i FPGA), Podgorica
24. Xilinx, XC9536XV CPLD, datasheet, www.xilinx.com
25. Xilinx, XC4000, datasheet, www.xilinx.com
93
Download

praktikum za laboratorijske vježbe iz predmeta digitalna elektronika