94
  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.

Praktikum DE.pdf

  • Upload
    stanisa

  • View
    263

  • Download
    0

Embed Size (px)

Citation preview

  • UNIVERZITET U ISTONOM SARAJEVU ELEKTROTEHNIKI FAKULTET

    ODSJEK ZA AUTOMATIKU I ELEKTRONIKU

    PRAKTIKUM ZA LABORATORIJSKE VJEBE

    IZ PREDMETA

    DIGITALNA ELEKTRONIKA

    (STUDENTSKA VERZIJA)

    Dejan Joki, Milomir oja

    Istono Sarajevo, maj 2010.

  • PLD kola i Quartus II programski paket

    1

    Ovaj materijal kreiran je za potrebe laboratorijskih vjebi na predmetu Digitalna elektronika i predstavlja prvu probnu verziju praktikuma. Plan je da se uz pomo ovog materijala odre probne laboratorijske vjebe i skupi potrebno iskustvo kako bi se u budunosti realizovao jedan kvalitetan praktikum. Materijal se sastoji iz dva dijela, tampanog i u elektronskoj formi.

    Rezultati simulacija i prorauna dobijeni izradom laboratorijskih vjebi se unose u elektronsku verziju praktikuma. Potrebno je koristei 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 zvanini dokument.

  • PLD kola i Quartus II programski paket

    2

    SADRAJ

    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 LOGIKI BLOKOVI...... 6.4. ALTERA LOGIKI BLOKOVI

    6.4.1. LOGIKI 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. STATIKI RAM 7.2. ANTIFUSE 7.3. FLE EPROM..

    8. FPGA SA UGRAENIM PROCESOROM.. 9. PREGLED NAPREDNIH FPGA FAMILIJA ...................................................... 9.1. FPGA KOLA PROIZVOAA ALTERA .................................................. 9.1. FPGA KOLA PROIZVOAA XILINX ....................................................

    10. PROJEKTOVANJE SA PLD.............................................................................. 11. QUARTUS II PROGRAMSKI PAKET . 11.1. IZBOR NOVOG PROJEKTA...... 11.2. LABORATORIJSKA VJEBA 1...... Univerzalni komparator 11.3. LABORATORIJSKA VJEBA 2......

    Realizacija potpunog sabiraa 11.4. LABORATORIJSKA VJEBA 3......

    DFF 11.5. LABORATORIJSKA VJEBA 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

  • PLD kola i Quartus II programski paket

    3

    Realizacija 4-bitnog pomjerakog registra 11.6. LABORATORIJSKA VJEBA 5.. Projektovanje generatora pseudosluajnih brojeva 11.7. LABORATORIJSKA VJEBA 6

    Projektovanje asihronog brojaa 11.8. LABORATORIJSKA VJEBA 7 Projektovanje sinhronog brojaa 11.9. UNOS DIZAJNA TEKSTUALNIM PUTEM PREKO VHDL KODA........................................................................................................ 11.10. UNOS DIZAJNA GRAFIKIM PUTEM PREKO TALASNIH OBLIKA.......................................................................................................

    11.11. UNOS DIZAJNA TEKSTUALNIM PUTEM PREKO AHDL KODA..... 12. ZAKLJUAK ......................................................................................................

    13. LITERATURA ....................................................................................................

    76 80 84 88 88 90 92 93

  • PLD kola i Quartus II programski paket

    4

    1. UVOD Svjedoci smo svakodnevnog razvoja elektronike koja nezaustavljivo napreduje i tei sve veoj minimizaciji i implementaciji u sva mogua pomagala i ureaje. Logika kola su nekad inili diskretni elementi koji su za cilj imali realizaciju neke jednostavne logike svedene na nivo jednostavne logike funkcije. Poslije izvjesnog vremena preko jednostavnih programljivih PLA ili PAL kola, evoluirala su u jedinstvena integrisana kola koja sadre nekoliko procesorskih jezgri. Cilj ovog rada je napraviti kratki pregled razvoja programljivih logikih kola koja se sreu pod imenom PLD (Programmable Logic Devices), objasniti svaku vaniju arhitekturu u evoluciji ovih kola te pokazati princip programiranja najlakom metodom. Postoje razliiti naini programiranja PLD kola od tekstualnih do grafikih metoda. Grafika 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 grafikog metoda. Ovaj materijal kreiran je za potrebe laboratorijskih vjebi na predmetu Digitalna elektronika i predstavlja prvu probnu verziju praktikuma. Plan je da se uz pomo ovog materijala odre probne laboratorijske vjebe i skupi potrebno iskustvo kako bi se u budunosti 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 oekuje nabavka vie razvojnih sistema DE1. Nabavkom ovih razvojnih sistema bie mogue uitati isprojektovani dizajn u PLD kolo te na taj nain kompletirati ovaj probni praktikum.

  • PLD kola i Quartus II programski paket

    5

    2. INTEGRISANA KOLA Integrisano kolo (IC), predstavlja ip napravljen od poluprovodnikog materijala koji obavlja razliite funkcije: pojaava, oscilator, tajmer, mikroprocesor, memorija itd. a sastoji se od velikog broja tranzistora, otpornika i kondenzatora. Postoji vie parametara kojim se karakterie jedno IC: implementaciona tehnologija, potronja, napajanje, brzina rada, sloenost itd. Za nas je znaajna sloenost i ona se obino 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, sadre do 100 osnovnih elemenata (logika kola, flip-flopovi).

    MSI (Medium-Scale Integration), kola srednjeg stepena integracije, sadre od 100 do 1000 osnovnih elemenata (registri, brojai, aritmetika kola).

    LSI (Large-Scale Integration), kola visokog stepena integracije, sadre 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 vie osnovnih elemenata.

    2.1. PODJELA INTEGRISANIH KOLA Prema nainu projektovanja, integrisana kola moemo 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 tehnolokom smislu proizvedena nezavisno od krajnjeg korisnika. Naime, kolo se proizvodi za nepoznatog korisnika koji obino nema uticaj na njegove karakteristike. Takvo kolo proizvodi se u velikim serijama po niskoj cijeni. Primjeri su: analogni integrisani operacioni pojaavai, tajmeri, standardna digitalna kola (TTL, CMOS) itd.

    2. Aplikaciono orjentisana integrisana kola, ASIC (Application Specific Integrated

    Circuits). Ova kola su projektovana tako da odgovaraju specifinoj namjeni. Za razliku od standardnih komponenata, funkciju ASIC kola definie korisnik. ASIC kola se proizvode po narudbi u velikim ili malim serijama to utie 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 tano definisanu primjenu. Ova tehnologija omoguava najbolje karakterisike, ali je pojedinana cijena dosta visoka.

    Kod semi-custom kola, proizvoa koristi pre-projektovane ili pre-fabrikovane

    (nedovrene) strukture koje doradom prilagoava korisnikim zahtjevima. S obzirom da se na taj nain skrauje vrijeme pripremne proizvodnje, krajnja pojedinana cijena

  • PLD kola i Quartus II programski paket

    6

    je nia, ali su performanse loije u poreenju sa full-custom dizajnom. U okviru semi-custom kola prepoznajemo sljedee kategorije:

    standard cell (standardne elije), kod kojih proizvoa nudi veliki broj standardnih elija (logika kola, flipflopovi, ali i strukture SSI, MSI sloenosti). Korisnik isporuuje proizvoau emu sainjenu od standardnih elija, na osnovu koje se izrauje ip. Pri tome proizvoa ne poinje od poetka ve samo uklapa i povezuje prethodno projektovane standardne elije.

    gate arrays (gejtovske matrice), koje se izrauju na podlozi sainjenoj od velikog broja pre-fabrikovanih jednostavnih logikih elemenata ili MOS tranzistora koji nisu meusobno povezani. Korisnik isporuuje proizvoau emu do nivoa osnovnih elemenata na bazi koje on obavlja doradu, tj. metalizaciju, polaznog ipa.

    3. Posebnu grupu integrisanih kola predstavlja kompromis izmeu izmeu SIC i ASIC komponenti pod imenom PLD (Programmable Logic Devices), programabilna logika kola. To su integrisana kola koja se mogu konfigurisati (tj. programirati) od strane krajnjeg korisnika da bi ispunili zahtjeve koji se tiu konkretne aplikacije. Strukturu PLD kola ini fiksan skup komponenti kakvi su logiki gejtovi ili sloeniji logiki blokovi (LEs Logics Elements ili LCs Logic Cells), meusobno spojeni programabilnim vezama. Programiranjem ovih veza krajnji korisnik definie funkciju kola, a jednom programirana funkcija se moe mijenjati djelimino ili u potpunosti. Sutinska razlika u odnosu na ostale tipove ASIC kola je u tome da PLD kolo programira sam korisnik ime je on u potpunosti nezavisan od proizvoaa. Ova su kola preteno digitalnog karaktera, a u novije vrijeme i visokog kapaciteta. Idealna su za izradu prototipova ili manje serije. Cijena im je relativno prihvatljiva.

    Slika 1. Podjela integrisanih kola

    IC

    SIC ASIC

    IC fiksne funkcije

    PLD Semi-custom

    Standard cell

    Full-custom

    Gate arrays

  • PLD kola i Quartus II programski paket

    7

    3. PLD KOLA Na tritu je dostupan veliki broj PLD kola razliitih proizvoaa, koji se razlikuju po nainu programiranja, sloenosti (tj. logikom kapacitetu ili implementacionoj moi), unutranjoj strukturi, brzini rada i broju pinova. Broj dostupnih komponenata kod savremenih PLD-ova je veoma veliki tako da se sa aspekta sloenosti ova kola proteu od MSI IC do VLSI IC. Raspoloiv logiki kapacitet se kree od nekoliko stotina do nekoliko stotina hiljada ekvivalentnih gejtova, a taktna uestanost od nekoliko desetina MHz do nekoliko stotina MHz. PLD kola se pakuju u kuitima sa nekoliko desetina do nekoliko stotina pinova. To znai da su PLD-ovi u stanju da implementiraju irok dijapazon kombinacionih i sekvencijalnih logikih funkcija. Kao to je reeno veoma su pogodna za brzu izradu prototipa, ali i konanih reenja koja e se proizvoditi u malim serijama. Vrijeme trajanja faze projektovanja kod ovih kola je veoma kratko. U sluaju da je potrebno kratko vrijeme pojavljivanja proizvoda na trite, tada izbor PLD kola predstavlja pravo reenje ak i sa aspekta cijene. Prema sloenosti i organizaciji unutranje strukture savremena PLD kola se mogu klasifikovati u sljedee tri kategorije:

    SPLD (Simple PLD). PLD kola srednjeg stepena integracije zasnovana na programabilnim AND-OR poljima, koja se koriste za implementaciju logikih funkcija izraenih u formi suma proizvoda.

    CPLD (Complex PLD). Sastoje se od veeg broja programabilnih logikih blokova

    povezanih preko centralizovane programabilne sprene mree. Po unutranjoj strukturi logiki blokovi su slini tipinom SPLD kolu.

    FPGA (Field Programmable Gate Array). PLD kola visokog stepena integracije koje se izvode kao polje velikog broja programabilnih logikih blokova (elija) jednostavne strukture rasporeenih na infrastrukturi koja ih meusobno povezuje.

  • PLD kola i Quartus II programski paket

    8

    4. SPLD KOLA Glavni dio SPLD arhitekture ine dvije programabilne logike matrice:

    AND matrica za formiranje logikih proizvoda i OR matrica za sumiranje logikih proizvoda.

    Pored AND-OR polja pojedine PLD arhitekture ovog tipa poseduju izlazni stepen koji tipino obezbjeuje povratne veze sa izlaza na ulaz, mogunost promjene polariteta izlaznog signala, mogunost da se pojedini eksterni prikljuci koriste bilo kao ulazi bilo kao izlazi i memorijske elemente za memorisanje stanja izlazih signala, to omoguuje sintezu sekvencijalnih digitalnih kola.

    4.1. PLA Uobiajeni naziv za SPLD kolo kod koga se obje logike matrice mogu programirati (slika x) je PLA (Programmable Logic Array).

    Slika 2. Programljive AND i OR logike 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 vrimo preko programljivih osiguraa. Samo 8 od 18 moguih ulaznih priljuaka su dodjeljeni ulazi. Preostalih 10 su dvosmjerne linije kontrolisane trostatikim baferima. Kada je neki od bafera onemoguen, odgovarajui O/I prikljuak oznaen sa B0-B9 (slika 3.) pridruuje se ulazu preko linija povratne sprege. Invertori u povratnoj sprezi obezbjeuju komplemente. U omoguenom stanju trostatikih bafera, O/I prikljuci Bi su izlazni i vraeni su u programljivo I polje linijama povratne veze. Takoe, moemo uoiti 10 kontrolnih gejtova D0-D9 za dozvolu odgovarajuih izlaza.

    X1 X2 X3 Programabilne

    veze

    AND mrea

    OR mrea

  • PLD kola i Quartus II programski paket

    9

    Slika 3. Struktura PLA tipa PLS153A.

    4.2. PAL Pored PLA strukture u upotrebi su i AND-OR polja kod kojih je jedna od logikih matrica fiksna, a druga programabilna. Konfiguracija fiksne matrice je izvedena u toku proizvodnje kola i ne moe 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).

    Slika 4. Programabilana AND matrica Kao i PLA tako i PAL ima ogranien broj produktnih lanova to se nadoknauje programljivou svih AND polja. Ogranien broj produktnih lanova po svakom izlazu unosi izvjesna ogranienja prilikom sinteze logikih funkcija. Takoe, jedan produktni lan ne moe se dijeliti na vie izlaza, stoga funkciju treba minimizovati kako bi imali to manji broj produktnih lanova.

    X1 X2 X3

    AND mrea

    f1

    f2

  • PLD kola i Quartus II programski paket

    10

    PAL komponente oznaavaju se u formi PALXYZ gdje su X i Z respektivno broj ulaza i izlaza a oznaka Y predstavlja oznaku vrste izlaza. Postoji vie razliitih PAL komponenti kod kojih imamo razliite 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 poreenju sa ostalim tipovima PLD kola (CPLD I FPGA), SPLD kola odlikuju se relativno niskim logikim kapacitetom (do nekoliko stotina ekvivalentnih gejtova). Glavna namjena SPLD kola je zamjena standardnih digitalnih kola niskog i srednjeg stepena integracije ime se postie uteda prostora na tampanoj ploi, pojeftinjuje proizvodnja i poveava pouzdanost u radu. Brzina rada SPLD kola je velika a propagaciono kanjenje od pina do pina je fiksno, ne zavisi od implementirane funkcije i iznosi do nekoliko nanosekundi.

  • PLD kola i Quartus II programski paket

    11

    5. CPLD KOLA Uspjeh i popularnost prvih PLD kola, prije svega PAL, poveali su oekivanja od programabilne logike i pospjeili njihov dalji razvoj. Projektanti hardvera su u programabilnoj logici vidjeli moguu zamenu za ASIC tehnologiju, koja bi uz ouvanje sloenosti i fleksibilnosti znaajno smanjila vrijeme razvoja i realizacije digitalnih sistema. Ova oekivanja su u velikoj mjeri ispunjena pojavom novog tipa programabilnih kola: CPLD (Complex Programmable Logic Device). Kao to je ve reeno, CPLD kola se sastoje od vie logikih blokova tipa SPLD povezanih globalnom programabilnom sprenom mreom. Meutim, ak i na nivou logikih blokova, CPLD kola su obino znaajno sloenija od tipinih SPLD kola. U veini sluajeva logiki blokovi koji se koriste kod CPLD kola mogu se smatrati nekom formom proirenog PAL-a. Proirenje PAL-a se vri u cilju ekonominijeg koritenja logikih proizvoda programabilne AND matrice. Kod klasinih PAL-ova raspodjela logikih proizvoda je fiksna u smislu da je svaki logiki proizvod pridruen izlazu jednog izlaznog AND kola (tj. makroelije). Logiki proizvodi koji ostaju neiskoriteni ne mogu se pridruiti nekoj drugoj makroeliji. Takoe, makroelije ne mogu da imaju zajednike logike proizvode, pa u sluajevima kada se isti proizvod koristi za formiranje logikih funkcija u vie makroelija, taj proizvod mora da se formira u svakoj makroeliji u kojoj se koristi. Kod savremenih CPLD kola koritenjem razliitih tehnika ovi nedostaci su u velikoj mjeri otklonjeni. Postoji vie proizvoaa 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 klasinu CPLD arhitekturu koja se sastoji od skupa logikih blokova, tj. LAB blokova (Logic Array Block) meusobno povezanih globalnom programabilnom prekidakom matricom (interkonekcijom), tj. PIA matricom (Programmable Interconnect Matrix). Arhitektura serije Max 7000 prikazana je na slici 6, preuzeta sa sajta proizvoaa.

    Slika 6. Arhitektura serije Max 7000

  • PLD kola i Quartus II programski paket

    12

    Broj LAB blokova serije MAX 7000 kree se od 2 do 16, to zavisi od tipa kola (tabela 1). LAB blokovi imaju strukturu proirenog PAL-a i sadre po 16 makroelija svrstanih u dvije grupe od po 8 makroelija. 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 makroelijom, kao to je to prikazano na slici 7.

    Slika 7. U/I blok Altera Max 7000 Kada se pin koristi kao izlaz, kontrola izlaznog trostatikog bafera se ostvaruje pomou jednog od dva globalna signala OE1 ili OE2. Kada se U/I pin koristi kao ulaz, izlaz tro-statikog bafera je permanento postavljen u stanje visoke impedanse, a signal doveden na pin se vodi u PIA matricu, preko koje se moe proslijediti bilo kojem LAB bloku. S obzirom da se izlaz svake makroelije direktno vraa u PIA matricu, u sluajevima kada se U/I pin koristi kao ulaz, odgovarajua makroelija ne ostaje neiskoritena ve se moe upotrebiti za formiranje neke interne funkcije. U tabeli 1. prikazane su osnovne informacije o razliitim kolima serije MAX 7000.

    Tabela 1. Specifikacije serije MAX 7000. Struktura jedne makroelije LAB bloka prikazana je na slici 8. Logiko polje (Logic Array) je programabilna AND matrica koja se koristi za formiranje logikih proizvoda. Za svaku makroeliju se u logikom polju formira pet logikih proizvoda. U praksi se veina potrebnih kombinacionih funkcija moe se realizovati sa manje od pet logikih proizvoda ali neke kombinacione funkcije su sloenije i zahtjevaju vei broj logikih proizvoda. Da bi se u takvim sluajevima obezbjedilo ekonomino koritenje raspoloivog logikog kapaciteta

  • PLD kola i Quartus II programski paket

    13

    LAB bloka, koriste se paralelni ekspanderi (parallel expanders) i djeljivi ekspanderi (shared expanders). Paralelni ekspanderi predstavljaju varijantu koncepta preusmeravanja logikih proizvoda kod koje makroelija i moe da pozajmi svoje logike proizvode makroeliji i+1 (ali ne i makroeliji i-1). Dodatno ogranienje je da se logiki proizvodi mogu preusmeravati samo unutar grupe od 8 makroelija. Djeljivi ekspanderi formiraju se tako to se po jedan logiki proizvod iz svake makroelije invertuje i vraa u logiko polje tako da se moe dodati bilo kom logikim proizvodu koji se formira u LAB bloku. Takoe, unakrsnim povezivanjem djeljivih ekspandera mogu se formirati dodatni leevi i flip flopovi.

    Slika 8. Blok ema makroelije

    Makroelija se sastoji od logike selekcione matrice, OR kola za sumiranje logikih proizvoda i programabilnog flip flopa. Posredstvom logike selekcione matrice na ulaze OR kola je mogue prikljuiti bilo koji podskup ulaznih logikih proizvoda. Takoe, bilo koji od ulaznih logikih proizvoda moe se koristiti za upravljanje flip flopom (taktovanje, asinhrono resetovanje i setovanje) i kontrolu polariteta kombinacione funkcije formirane na izlazu OR kola. Flip flop se moe konfigurisati tako da funkcionie kao D, T, JK ili SR flip flop. Za taktovanje i resetovanje flip flopa mogue je koristiti i globalne signale za takt i reset, to se regulie multiplekserima. Makroelija se moe konfigurisati i da obavlja samo kombinacionu funkciju, tako to se izlaznim registrom na U/I blok direktno prikljuuje izlaz EXOR kola.

    Zadnja serija CPLD a od strane proizvoaa Altera je MAX 9000. Ova serija posjeduje veliki broj programljivih gejtova, ak 12.000 (tabela 2).

    Odlikuje se i velikim brojem flip flopova i makroelija to krajnjem korisniku omoguava implementaciju zahtjevnijih operacija i to koritenjem manjeg broja ipova to smanjuje sloenost a poveava pouzdanost ureaja. to se tie arhikteture ove serije ona se znaajno ne razlikuje od predhodne.

  • PLD kola i Quartus II programski paket

    14

    Tabela 2. Specifikacije serije MAX 9000

    5.2. CPLD XILINX XC9536XV

    Kao to smo ve spomenuli postoji vie razliitih proizvoaa 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 makroelije. Broj makroelija 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 mogunost programiranja kola u sistemu, bez vaenja kola i prebacivanja istog u odgovarajui programator. Za ovu namjenu koriste se posebni pinovi. Nain programiranja i oblik informacije koja se alje CPLD kolu propisani su standardom koji se zove JTAG port (IEEE Standard 1149.1). Na tampanoj ploi koja sadri CPLD kolo postavljen je konektor za prikljuenje kabla za vezu sa raunarom. CPLD se programira tako to se iz raunara preko kabla direktno u CPLD kolo prenose podaci za programiranje prethodno pripremljeni na raunaru. U samom CPLD kolu ugraen je sklop koji prihvata ove podatke i na osnovu njih programira pojedinane prekidae. Na slici 9. prikazana je struktura kola XC9536XV. Ovo kolo sastoji se od brze prekidake matrice koja spaja I/O blokove sa dva funkcionalna bloka unutar kojih se nalazi po 18 makroelija. Ovi funkcionalni blokovi odlikuju se irokim pristupom sa 54 ulaza koji ine ulazi iz I/O blokova kao i interne promjenjive. Programiranje se vri preko JTAG kontrolera koji upravlja I/O blokom i kontrolerom za programiranje u sistemu.

  • PLD kola i Quartus II programski paket

    15

    Slika 9. Struktura kola XC9536XV Zahvaljujui relativno velikoj brzini rada i irokom asortimanu, CPLD kola nalaze iroku primjenu, poevi od implementacije jednostavne sprene logike, do realizacije prototipova jednostavnijih ASIC kola. Vaan razlog za sve veu primjenu CPLD kola je redizajn postojeih sistema baziranih na SPLD kolima, gdje se vei broj SPLD kola zamjenjuje manjim brojem CPLD kola. Sistemi koji se sastoje od vie meusobno povezanih funkcionalnih modula mogu se efikasno realizovati pomou CPLD kola tako to se svaki modul realizuje jedim logikim blokom. Opte pravilo je da su za realizaciju u CPLD tehnologiji pogodni sistemi koji zahtijevaju sloenu logiku sa malim brojem flip flopova. Dobar primjer takve klase kola su konani automati. Sva komercijalna CPLD kola su reprogramabilna, to omoguava jednostavnu i brzu izmjenu dizajna. CPLD kola koja su reprogramabilna u sistemu omoguavaju rekonfiguraciju hardvera (npr. izmjena protokola kod kola za komunikaciju) bez iskljuenja napajanja.

  • PLD kola i Quartus II programski paket

    16

    6. FPGA KOLA

    FPGA (Field Programmable Gate Array) kola sastoje se od programabilnih logikih blokova, programabilnih veza, memorije i ulazno/izlaznih blokova. Nabrojani elementi su najee rasporeeni u formu matrice. Logiki blokovi rasporeeni su u vrste i kolone matrice, dok su kanali kojima se vri interkonekcija pojedinih logikih blokova vertikalno i horizontalno postavljeni izmeu njih,. Pored navedene strukture sreu se jo i hijerarhijski strukturirana FPGA kola i FPGA kola kod kojih su logiki blokovi rasporeeni iskljuivo u kolone (takozvana

    rowbased arhitektura). Globalno posmatrano svaki proizvoa FPGA kola ima svoju sopstvenu FPGA arhitekturu, ali u sutini sve te arhitekture su varijanta ove dvije navedene.

    Kao to smo ve spomenuli dva najvea proizvoaa FPGA kola su Altera i Xilinx, pa emo u daljem tekstu razmatrati njihove najpopularnije familije. Tipini predstavnik Xilinxa je XC4000 familija a Altere FLEX 8000.

    6.1. ARHITEKTURA XILINX FPGA KOLA

    Tipini predstavnik Xlinx FPGA kola je XC4000. Xilinx-ova arihtektura prikazana je na slici 10. a sastoji se od programabilnih logikih blokova, programabilnih veza, memorije i ulazno/izlaznih blokova. Cijela struktura je oiviena ulazno/izlaznim blokovima.

    Slika 10. Xilinx-ova arihtektura FPGA kola

    Logiki blokovi u FPGA kolima su realizovani na razliite naine, zavisno od proizvoaa. Sastoje se od dijela koji obezbjeuje kombinacionu mreu i dijela koji obezbjeuje sekvencijalnu mreu. Kombinaciona mrea, u zavisnosti od proizvoaa realizovana je na jedan od dva naina. Sastoji se od multipleksera i vieulaznih logikih kola ili je izvedena u obliku look-up tabele (LUT) memorijske oblasti irine jednog bita sa n ulaza koja raspolae sa 2n memorijskih mjesta i moe realizovati bilo koju logiku funkciju programiranjem tabele istinitosti. Sekvencijalni dio logikog bloka se sastoji od leeva ili flip flopova koji omoguavaju memorisanje podataka koji se dobijaju na izlazu iz sekvencijalne mree.

  • PLD kola i Quartus II programski paket

    17

    Kao to se vidi sa slike 10, FPGA struktura sadri pomenute tri komponente, ali ipak treba naglasiti da savremene FPGA arhitekture ukljuuju u svoju strukturu i druge gradivne blokove (nisu prikazani na slici 10), a koji se koriste za sljedee namjene: 1. Distribucija taktnog signala do svakog logikog bloka, 2. Obavljanje aritmetikih operacija, selekciju blokova, i memorisanje, tj implementiraju se kao ALU-ovi, mnoai, dekoderi, i memorija. 3. Programiranje i testiranje ukljuujui JTAG lanac i programabilne elemente. Logiki blokovi, esto nazivani logiki elementi (LE), ili kombinacioni logiki blokovi (CLB), ine logiku FPGA kola. CLB-ovi sadre logiku koja je dovoljna za kreiranje funkcije standardnih logikih kola (or, and, xor) kao i jednostavnih automata. Sprega izmeu CLB-ova se ostvaruje koritenjem programabilne sprene mree, 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 karakteriu sitno-zrnastom (fine-grain) arhitekturom. To znai da se logike operacije obavljaju na nivou bita ili na nivou rijei malog obima (< 4 bita), to omoguava kreiranje veoma fleksibilnih arhitektura prilagoenih specifinim 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 izraunavanja iz razloga to on moe direktno u FPGA da implementira obim bilo kog sabiraa koji je neophodan za specifinu aplikaciju. Ova fleksibilnost predstavlja znaajni prednost FPGA kola u odnosu na neprogramabilne implementacije na silicijumu.

    6.2. ARHITEKTURA ALTERA FPGA KOLA Na sljedeoj slici 11. prikazana je arihitektura kola FLEX 8000 proizvoaa ALTERA. Kod Alterine arihitekture uoavamo drugaiju organizaciju logikih blokova. Naime, ovdje su logiki blokovi, koji se kod Altere nazivaju LE (Logiki Elementi), grupisani u logike oblasti. Svaka ova oblast sadri po 8 logikih elemenata i ona se naziva Logic Array Blocks (LAB). Logiki elementi unutar jednog logikog bloka meusobno su povezani preko kratke lokalne interkonekcije, sa mogunou povezivanja sa ulazno/izlaznim elementima (I/O E)i udaljenim logikim blokovima preko brze interkonekcije.

  • PLD kola i Quartus II programski paket

    18

    Slika 11. Arihitektura kola FLEX 8000

    U novije vrijeme realizovan je nasljednik FLEX 8000 arhitekture koja je proirena u FLEX 10 000 familiji. Ova familija ima sve osobine FLEX 8000 familije sa dodatkom SRAM blokova promjenjive veliine koji se nazivaju Embedded Array Blocks (EABs).

    Slika 12. Arihitektura FLEX 10 000

  • PLD kola i Quartus II programski paket

    19

    EAB je fleksibilni blok koji sadri RAM, registre i ulazno izlazne portove. Koristi se za implementiranje sloenijih funkcija kao to su mnoenje koritenjem velikog broja veih vieizlaznih look up tabela. Zbog njegovih mogunosti mogu se kombinovati u aplikacijama sa digitalnim filtrima i mikrokontrolerima.

    6.3. XILINX LOGIKI BLOKOVI

    Na sljedeoj slici 13. prikazan je jedan tipini CLB proizvoaa Xilinx XC4000E.

    Slika 13. CLB proizvoaa Xilinx XC4000E

    CLB (Configurable Logic Blocks) je konfigurabilni logiki blok i predstavlja najvei dio logike FPGA. Unutar njega nalaze se tri bloka koja iji je zadatak da generiu zadatu logiku funkciju od ulaznih promjenljivih. Prva dva bloka imaju po 4 ulaza (F i G) to je sasvim dovoljno, jer u praksi se veina logikih funkcija sastoji od najvie etiri ulazne promjenljive. Trei blok ima tri ulazne promjenljive, koje predstavljaju izlazne veliine od ova dva bloka i treu promjenljivu H1 koja predstavlja rezultat izraunavanja iz nekog drugog CLB-a. Na taj nain moemo realizovati sloenija izraunavanja koja su rezultat rada vie CLB ova. Logiki blokovi prestavljaju RAM i zavisno od literature oznaavaju 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 veim brojem multipleksera. Uloga multipleksera je da rutira kako logike signale u okviru CLB-a tako i signale ka/od spoljnih resursa.

  • PLD kola i Quartus II programski paket

    20

    6.4. ALTERA LOGIKI BLOKOVI

    Logika oblast koja sadri 8 logikih elemenata sa meusobnim vezama prikazana je na sljedeoj slici 14.

    Slika 14. Logika oblast sa LE i interkonekcijama

    Lokalna interkonekcija povezuje sve logike elemente sa 4 kanalnom vezom. Svaki logiki element raspolae sa 4 ulaza za ulazne promjenljive. Takoe, svaka logika oblast ima dva dodatna ulaza i izlaza za kaskadno vezanje susjednih logikih oblasti. Zavisno od izlaza selekcionog bloka omoguen je rad pojedinim logikim elementima. Osim signala dozvole, na svaki blok dovode se jo tri upravljaka signala od kojih je jedan globalni takt. Izlaz svakog logikog elementa spojen je na magistralu podataka koja se jo oznaava kao brza interkonekcija.

  • PLD kola i Quartus II programski paket

    21

    6.4.1. LOGIKI ELEMENT

    Logiki element (LE) je najmanja logika jedinica unutar FLEX 8000 arhitekture. Ovako realizovana prua efikasnu upotrebu logike. Svaki LE sadri 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 logikim elementom. Blok ema logikog elementa prikazana je na sljedeoj slici 15.

    Slika 15. Blok ema logikog elementa

    6.5. POVEZIVANJE BLOKOVA KOD XILINX FPGA KOLA

    Pored logike, kljuna osobina FPGA kola je mogunost meusobnog povezivanja CLB-ova i U/I blokova. Matrica koja nam omoguava 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, razliitih duina. Razlikujemo kratke linije, izmeu susjednih CLB-ova, i duge linije, koje se prostiru duinom cijelog kola.

  • PLD kola i Quartus II programski paket

    22

    Slika 16. Programabilna matrica

    Jednokanalne linije omoguavaju najveu fleksibilnost meusobnog povezivanja. Nude brzo rutiranje izmeu susjednih blokova.

    Postoji po osam vertikalnih i horizontalnih linije za vezu sa svakim CLB. Jednokanalne linije povezane su putem programabilnih prekidaa matrice i prave veliko kanjenje kod veih duina. Nisu pogodne za usmjeravanje signala na veu daljinu pa se koriste za lokalno povezivanje susjednih blokova.

    Dvokanalne linije sastoje se od mree metalnih segmenata. One su dva puta due od jednokanalnih gdje izmjenino svaka linija ovog dvokanalnog voda ulazi u prekidaku matricu kod svakog drugog CLB-a. Ove linije obezbjeuju bre rutiranje signala preko srednje razdaljine zadravajui fleksibilnost rutiranja. Postoje etiri vertikalne i horizontalne dvokanalne linije koje su u vezi sa svakim CLB-om.

    6.6. POVEZIVANJE BLOKOVA KOD ALTERA FPGA KOLA

    Lokalne interkonekcije su takoe povezane na globalne koje se nazibaju Fast Track (FT). FT su sline dugim linijama kod Xlinxa, tako da se svaki FT protee na punu irinu ili duinu kola. Glavna razlika izmeu FLEX 8000 i Xilinx ipa je u tome to FT sadri samo duge linije. Ovo ini FLEX 8000 pogodnim za CAD alate za brzo konfigurisanje to je vrlo vana osobina. Sve FT horizontalne linije su identine, tako da su sva kanjenja na interkonekcijama kod FLEX 8000 mnogo predvidljivija nego kod FPGA kola koja sadre mnogo kraih segmenata, jer nema programabilnih svieva. Broj kanala po koloni (slika 17) je isti za cijelu familiju i iznosi 16, a broj kolona se kree u granicama od 13 do 27, zavisno

  • PLD kola i Quartus II programski paket

    23

    od sloenosti kola unutar ove familije. Broj kanala u redovima varira kao i sam broj redova. Kod ove familije moemo sresti najmanje 2 reda sa 168 kanala a najvie 6 redova sa 216 kanala.

    Slika 17. Nain 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 dovoenje signala u ip ili za odvoenje signala iz ipa. Sastavni dijelovi ovog bloka su ulazni bafer i izlazni tro-statiki bafer sa izlazom tipa otvoreni kolektor kojim se moe upravljati. Na izlazima postoje tranzistori, gdje je gornji spojen prema napajanju (pull up), i donji prema masi (pull down). Takoe, na svakom pinu su ugraene zatitne diode.

  • PLD kola i Quartus II programski paket

    24

    Slika 18. Konfigurabilni ulazno/izlazni blok

    6.8. ULAZNO/IZLAZNI BLOKOVI UNUTAR ALTERA FPGA KOLA

    Ulazno/izlazni element (IOE) sadri potrebne elemente za dvosmjernu komunikaciju (slika 19.), odnosno konfiguraciju pina na kuitu kao ulaznog ili izlaznog. Taj zadatak izvrava trostatiki bafer. Takoe, izlazna vrijednost po potrebi moe biti invertovana, zapamena u registru i proslijeena na izlaz. Invertovanje se vri softverski preko programabilnog multipleksera. Broj ulazno izlaznih elemenata varira zavisno od kola unutar ove familije i kree se u granicama od 78 do 208.

  • PLD kola i Quartus II programski paket

    25

    Slika 19. Ulazno/izlazni element

  • PLD kola i Quartus II programski paket

    26

    7. OSNOVNI TIPOVI PROGRAMABILNIH ELEMENATA Tri osnovna tipa programabilnih elemenata kod FPGA kola su:

    1. statiki RAM (SRAM), 2. anti-osigurai (anti-fuses), i 3. fle EPROM.

    7.1. STATIKI RAM Najvei dio FPGA-ova se zasniva danas na koritenju SRAM programabilnih elemenata to znai da se ova kola mogu konfigurisati (programirati) vie puta. Glavne prednosti ove tehnike su to se nove ideje mogu brzo implementirati i testirati jer je mogue programirati kolo na samoj ploi (on line) bez upotrebe programatora. Kod ove tehnologije, konfigurisanje kola ostvaruje se pomou pass tanzistora i multipleksera koji upravljaju SRAM elijama. Par SRAM elija - pass tranzistor se koristi kao programabilna veza izmeu dva iana segmenta (slika 22). Kada je u SRAM eliji memorisana jedinica, pass tranzistor ponaa 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 sadraj nakon iskljuenja napajanja, kolo mora biti napunjeno konfiguracionim sadrajem pri svakom ukljuenju 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 pomjerakog registra, a samo punjenje se vri 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 povrina koju na ipu zauzimaju SRAM elije (tipina 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

  • PLD kola i Quartus II programski paket

    27

    7.2. ANTIFUSE FPGA kola sa antiosiguraima programiraju se izvan ploe na kojoj su upotrebljeni (off-line) koritenjem programatora. Nakon programiranja konfiguracioni sadraj ostaje trajno zapisan u kolu, tj. ne moe se vie mijenjati. To znai da su ova kola non-volatile tipa, tj. konfiguracioni podaci ostaju u kolu i nakon iskljuenja. Prednost ovakvih kola je imunost na radijaciju pa su svoju primjenu nali u vojnim aplikacijama i svemirskim istraivanjima. 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 iana segmenta, kao to je to prikazano na slici 23. Neprogramiran, dialektrik izoluje provodne slojeve; programiran, on postaje permanentni spoj male otpornosti. Programiranje se vri dovoenjem visokog napona (od 11 do 20V, to zavisi od tipa antiosiguraa) na krajeve antifuse-a. Dovoenje napona za programiranje se vri 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 neizbjenim pass tranzistorima za programiranje. U poreenju 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 tipinih aplikacija broj zatvorenih prekidaa mnogo manji od broja otvorenih (tipino broj zatvorenih prekidaa ne prelazi 2% od ukupnog broja prekidaa u kolu), to programiranje kola koje koristi antifuse tehnologiju traje krae od programiranja kola koje koristi EPROM tehnologiju. Glavni nedostatak antifuse tehnologije je nemogunost reprogramiranja. Antifuse tehnologiju se sree 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 slini su kolima sa SRAM elijama. Kola se obino programiraju off-line koristei programator, a postoje i neke verzije tipa programiranja na samoj ploi (in-system programable ISP), ali je tada vrijeme programiranja do tri puta due u odnosu na SRAM-zasnovanim komponentama. Neki proizvoai nude danas i kombinaciju programskih tehnologija kod kojih se konfiguracioni element formira od kombinacije Fle (ili EEPROM) elije i SRAM elije. Kod ovog rjeenja Fle element se moe reprogramirati. Nakon ukljuenja sistema na napajanje, sadraji Fle

  • PLD kola i Quartus II programski paket

    28

    elija se kopiraju u odgovarajue SRAM elije. Ova tehnika ini da FPGA kolo bude non-volatile tipa to znai da je odmah dostupno za koritenje nakon dovoenja napajanja u zavisnosti od tipa kola i proizvoaa mogue je rekonfigurisati fle elije on-line. Programabilni prekida je tranzistor sa izolovanim gejtom (EPROM tranzistor), koji se, programiranjem, moe permanentno zakoiti (slika 24). Ovo se postie injektovanjem naelektrisanja na izolovani gejt tranzistora (Floating_Gate, gejt 2). Do injektovanja nelektrisanja dolazi kada se izmeu upravljakog gejta (gejt 1) i drejna tranzistora dovede visok napon. Injektovano naelektrisanje poveava napon praga tranzistora, tako da on, u normalnom reimu rada ostaje stalno zakoen (tj. neprovodan). Injektovano naelektrisanje se odstranjuje izlaganjem izolovanog gejta dejstvu ultraljubiastog svjetla. EEPROM tehnologija je slina EPROM tehnologiji, s tom razlikom to se odstranjivanje injektovanog naelektrisanja moe ostvariti elektrinim putem, bez ultraljubiastog svjetla. Prednost EPROM tehnologije je to ona ne zahtjeva eksternu memoriju za uvanje konfiguracionih bitova. Pored toga, serijska otpornost provodnog EPROM tranzistora je vea (oko dva puta) od serijske otpornosti pass tranzistora koji se koristi kod SRAM tehnologije. Takoe, statika potronja kola koje koristi EPROM tranzistore je zbog pull-up otpornika vea od potronje kola koje koristi SRAM elije. EPROM tehnologija programiranja se koristi kod veine 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

  • PLD kola i Quartus II programski paket

    29

    8. FPGA SA UGRAENIM PROCESOROM Najvei broj dananjih elektronskih proizvoda koje sreemo u svakodnevnom ivotu (mobilni telefon, disk-plejer, digitalni foto aparat, i dr.) imaju ugraen mikroprocesor. Neprestanim razvojem FPGA kola bilo je samo pitanje vremena kada e neko od vodeih proizvoaa integrisati procesorsko jezgro u svoju ahitekturu. Proizvoai FPGA kola u sve svoje novije familije ipova ugrauju jednu ili vei broj mikroprocesorskih jezgri (microprocessor core). Sa ovakvim mogunostima moe se implementirati kompletan (ili skoro kompletan) sistem sa ugraenim raunarom 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 protonosti u jednom taktnom intervalu: pripremanje podataka, dekodiranje, izvravanje, memorisanje i ispisivanje. Takoe, osim jezgre ugraen je i SRAM koji se zavisno od varijante kree u granicama od 32 Kb do 256 Kb. Broj logikih elemenata je znatno povean i iznosi maksimalnih 38,400 za EPXA10 kolo i broj gejtova znatno je povean i iznosi nevjerovatnih 1,000,000 a korisnikih I/O pinova 711. Na sljedeoj 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. Takoe, prikazane su tri varijante kola u istoj familiji, XA1, XA4 i XA10 odakle se moe uoiti da su poboljana kola dobijena poveavanjem memorijske i PLD oblasti.

    Slika 1. Arhitektura Excalibur FPGA kola

  • PLD kola i Quartus II programski paket

    30

    Na jezgro procesora ARM povezani su namjenski spoljanji 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 omoguavaju procesoru da istovremeno pristupi razliitim 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 odgovarajueg softvera, pa je Altera na trite izbacila novi odgovarajui softver za programiranje. Rije je o softverskom paketu Quartus II koji se moe nai 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 mogunosti upisivanja sadraja u odgovarajue kolo i dobijanje lejera za izradu integrisanih kola. Neto kasnije kompanija Xilinx je odgovorila sa novom familijom FPGA-ova Virtex-II Pro i Virtex-4, sa ugraenim integer PowerPC mikroprocesorom. Kao odgovor na Alterin izazov ponudili su novu arhitekturu. Osnovna razlika se ogleda kod Xilinxovog reenja, gdje je mikroprocesor u okviru FPGA logike smjeten kao jedno ostrvo (slika 2.) sa izvedenim interfejsima ka on-chip SRAM-u ali bez namjenskih procesorskih ili periferijskih magistrala. Ovakvo rjeenje prua mogunost projektantu da definie po svojoj elji arhitekturu sistema sa ugraenim raunarom, tj. korisnik moe sam da definie svoju arhitekturu to ovo kolo ini izuzetnim. S druge strane, ovakav procesor nasuprot Excalibur reenja ne moe da bude efikasan bez dobre konfiguracije FPGA logike.

    Slika 2. Arhitektura Xilinxovog FPGA kola sa ugraenim procesorom

  • PLD kola i Quartus II programski paket

    31

    9. PREGLED NAPREDNIH FPGA FAMILIJA Neprestanim napredovanjem tehnologije proizvodnje integrisanih kola i napredovanjem monih raunara za projektovanje, doprinijelo je razvoju FPGA kola. U poetku se takmiilo vie proizvoaa dok danas, uglavnom, sreemo dva najvea. U pitanju su, kao to smo ve spomenuli, Altera i Xilinx. Oba proizvoaa prave kvalitetna kola ije familije su uporedive po mogunostima i karakteristikama. Na sljedeoj slici 3. dato je poreenje, po broju LUT tabela, najpopularnijih kola familija Stratix II i Virtex IV.

    Slika 3. Poreenje familija Stratix II i Virtex IV

    9.1. FPGA kola proizvoaa Altera Na tritu se pojavila zadnja serija Altera Stratix IV FPGA kola koja omoguavaju implementaciju izuzetno sloenih rjeenja. S obzirom na broj ugraenih komponenti proizvoa 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 sadri tri optimizovane varijante za odreene oblasti primjene.

    1. Stratix IV E (Enhanced) FPGA kola sa 813,050 logikih elemenata (LEs), 33.294 Kbit RAM i 1,288 18 18 bitnim mnoaima

    2. Stratix IV GX (transceiver) FPGA kola sa 531,200 logikih elemenata (LEs), 27.376 Kbit RAM, 1,288 18 18 bitnim mnoaima, 48 full-duplex CDR (Clock Data Recovery) bazirani primopredajnici do 8.5 Gbps

    3. Stratix IV GT (transceiver) FPGA kola sa 531,200 logikih elemenata (LEs), 27.376 Kbit RAM, 1,288 18 18 bitnim mnoaima, 48 full-duplex CDR (Clock Data Recovery) bazirani primopredajnici do 11.3 Gbps

    Stratix IV familija odlikuje se malom cijenom i minimalnim brojem otkaza.

  • PLD kola i Quartus II programski paket

    32

    Ovi 48 full-duplex CDR bazirani primopredajnici u Stratix IV GX i GT kolima podravaju protok podataka do 8.5 Gbps i 11.3 Gbps, respektivno. Imaju namjenski realizovana kola za veinu 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 rijeen je sa ugraenim PCI Express IP blokovima. SIV51001-3.0 Pregled Stratix IV Familije

    Najvie 813,050 logikih elemenata (LEs) po kolu Najvie 33,294 Kbit memorije koja sadri tri bloka RAM implementirane kao dual

    port High-speed DSP konfigurabilni blokovi sa veliinama mnoaa od 9 9 bit, 12 12

    bit, 18 18 bit, i 36 36 bit do frekvencije od 600 MHz Najvie 16 globalnih takt generatora (GCLK), 88 regionalnih (RCLK), i 132 periferna

    (PCLK) po jednom kolu Programabilna tehnologija napajanja koja minimizuje potronju a pritom poveava

    performanse kola. Najvie 1,120 korisnikih I/O pinova oblikovanih u 24 I/O grupe Podrka 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 moe biti jednostavno napravljeno.

    Osnovni podaci ove familije dati su u sljedeoj tabeli 1.

    Tabela 1. Pregled Stratix-IV familije

  • PLD kola i Quartus II programski paket

    33

    DSP blokovi su u Stratix IV familiji unaprijeeni i optimizovani da podravaju zahtjevnije DSP operacije, sa veim protokom podataka, obraujui zahtjevne matematike operacije koje realizuju FIR (finite impulse response filtre), IIR filtre (infinite impulse response filters), brze Furijeove transformacije (FFT). Mogue je konfigurisati DSP blokove da implementiraju jednu od vie ponuenih 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 obino zahtjevaju veliki broj izraunavanja. Stratix IV familije su idealne za te poslove jer se DSP blokovi sastoji od kombinacije elemenata koji obavljaju mnoenje, sabiranje, oduzimanje, pamenje i sabiranje. Nain na koji su realizovani daje im mogunost da vre operacije i sa plivajuim zarezom. Realizovanje lanaca pomjerakih registara, mnoaa i sabiraa minimizira potrebnu koliinu eksterne logike, to je rezultovalo efikasnom koritenju resursa i poboljanju performansi i protoku podataka za DSP aplikacije. U toku pisanja ovog teksta na sajtu ovog proizvoaa pojavila se informacija da je uspjeno testirana nova familija Stratix V FPGA. Ista je napravljena u tehnologiji 28-nm!? Ovaj tehnoloki skok (6. 2010. god.) predstavlja obaranje Murovog zakona.

    9.2. FPGA kola proizvoaa Xilinx

    Virtex-6 familija je najnovija familija proizvoaa Xilinx koja prua veinu naprednih funkcija na FPGA tritu. Trea generacija ASMBL (Advanced Silicon Modular Block) sadri tri optimizovane varijante kola unutar ove familije, LXT, SXT i HXT. Svaka varijanta ima razliite mogunosti:

    1. Virtex-6 LXT FPGA kola: Visoke performanse logike sa naprednim serijskim povezivanjem

    2. Virtex-6 SXT FPGAs: Visoke mogunosti procesiranja signala i sposobnost naprednog serijskog povezivanja

    3. Virtex-6 HXT FPGAs: Najvii protok serijskog povezivanja Pored visokih performansi logike, Virtex-6 FPGA kola sadre mnogo ugraenih sistemema unutar blokova koje omoguavaju dizajnerima da prave dizajn na najviem nivou sa odlinom funkcionalnou. Familija je realizovana sa 40-nm tehnologijom i predstavlja pandam alterinoj familiji Stratix IV sa performansama koja su odlina alternativa ASIC kolima. Odlikuju se odlinim DSP, logikim i namjenskim blokovima te procesorskim mogunostima.

  • PLD kola i Quartus II programski paket

    34

    Pregled Virtex-6 familije

    Kompatibilno uvezivanje kola iz razliitih opotimizovanih varijanti unutar familije LXT i SXT kola imaju kompatibilan raspored pinova za isti tip kuita Realna 6-ulazna look-up tabela (LUT) Dualna LUT5 (5-input LUT) opcija Poboljana efikasnost rutiranja 64-bit ( ili dva puta 32-bit) raspodjeljena LUT RAM opcija Powerful mixed-mode clock managers (MMCM) MMCM blokovi obezbjeuju pamenje bez kanjenja, sintezu frekvencije 36-Kb blokovi RAM/FIFO Programabilne memorije:

    - Dual-port irine do 36 bitova - Simple dual-port irine do 72 bitova

    Unaprijeeno 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 podrane 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

  • Poreenje Virtex-6 familije sa ostalim familijama narednoj tabeli 3:

    Tabela 3. Familije proizvoaa Xilinx

    Iz ove tabele jasno se vidi evolucija FPGA familija. Ne tako davno broj logikih elija je bio 53.000 dok se danas popeo na nevjerovatnih 760.000. Rast mogunosti prati i rast korisninih pinova koji se danas popeo na 1200. Nevjerovatan rast mogunosfamilija ini nemoguim iznositi bilo kakve prognoze o mogunostima buduih familija koje trenutno projektuju ovi proizvoai.

    Features Virtex-6

    PLD kola i Quartus II programski paket

    6 familije sa ostalim familijama istog proizvoaa Xilinx dato je u

    Tabela 3. Familije proizvoaa Xilinx

    Iz ove tabele jasno se vidi evolucija FPGA familija. Ne tako davno broj logikih elija je bio 53.000 dok se danas popeo na nevjerovatnih 760.000. Rast mogunosti prati i rast korisninih pinova koji se danas popeo na 1200. Nevjerovatan rast mogunosfamilija ini nemoguim iznositi bilo kakve prognoze o mogunostima buduih familija koje trenutno projektuju ovi proizvoai.

    6 Virtex-5 Spartan -6 Extended Spartan

    rogramski paket

    35

    proizvoaa Xilinx dato je u

    Iz ove tabele jasno se vidi evolucija FPGA familija. Ne tako davno broj logikih elija je bio 53.000 dok se danas popeo na nevjerovatnih 760.000. Rast mogunosti prati i rast korisninih pinova koji se danas popeo na 1200. Nevjerovatan rast mogunosti FPGA familija ini nemoguim iznositi bilo kakve prognoze o mogunostima buduih familija koje

    Extended Spartan-3A

  • PLD kola i Quartus II programski paket

    36

    10. PROJEKTOVANJE SA PLD

    Razvoj PLD-ova pratio je i neprestan razvoj softvera za programiranje ovih kola. Svaki proizvoa ima vlastite programske pakete koji omoguavaju razvoj dizajna digitalnih sistema, simulaciju i programiranje programabilnih logikih kola.

    Firma Altera je ponudila novi programski paket Quartus II sa velikim brojem raznovrsnih alata koji omoguavaju realizaciju eljenog dizajna na lak i jednostavan nain. Objedinjuje veliki broj programa i alata za opis dizajna, prevoenje, 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 predlae proizvoa Altera prilikom projektovanja nekog dizajna a formirane su na osnovu najee preduzetih aktivnosti za najvei broj situacija. Osnovne faze u procesu projektovanja digitalnih sistema su:

    Design Entry unos dizajna sistema. Paket podrava nekoliko naina opisa sistema.

    Synthesis obrada unijetog dizajna u smislu prevoenja, 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 utvrivanja maksimalne uestalosti rada digitalnog sistema, kritinih puteva prostiranja signala i sl.

    Simulation verifikacija opisanog dizajna na osnovu dobijenih rezultata iz postavke prevoenja

    Programming & Configuration programiranje programabilnih PLD, CPLD ili FPGA kola na bazi formiranih podataka u prethodnim postupcima obrade.

    Slika 4. Blok ema

    Design Entry

    Synthesis

    Place & Route

    Timing analysis

    Simulation

    Programming & Configuration

    Power Analysis

    Debugging

    Engineering Change Managment

    Timing Closure

  • PLD kola i Quartus II programski paket

    37

    Nakon unosa opisa digitalnog sistema pristupa se postupku prevoenja i optimizacije pomou prevodioca Quartus II Compiler za odreeni tip programabilnog PLD/CPLD/FPGA kola. Poslije uspjenog prevoenja obavlja se simulacija i testiranje funkcionalnosti preko simulatora Quartus II Simulator, kao i analiza kanjenja signala koritenjem analizatora kanjenja Quartus II Timing Analyzer u cilju otkrivanja greaka i sprovoenja daljih akcija. Postupak simulacije vri se kroz analizu vremenskih oblika signala na izlazu ili unutar kola u zavisnosti od razliitih ulaznih signala.

    Nakon detaljne simulacije ako je konstatovano da digitalni sistem zadovoljava zahtjevane osobine vri se implementacija sistema, odnosno programiranje kola preko programatora iz paketa Quartus II Programmer.

    Quartus II programski paket omoguava opis digitalnog sistema na vie naina te na taj nain dozvoljava dizajnerima da realizuju eljeni dizajn preko:

    Quartus II Block / Graphic Editor grafikog editora za opis dizajna preko standardnih logikih 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

  • PLD kola i Quartus II programski paket

    38

    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 preicama. Nudi nam pokretanje novog projekta (Create a New Project), otvaranje postojeeg (Open Existing Project) kao i mogunost 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 omoguava unos lokacije projekta, dodjeljivanje imena projektu i datoteci najvee vanosti (Top level design entity).

  • PLD kola i Quartus II programski paket

    39

    Slika 2. Prozor za unos adrese i imena novog projekta

    Na ponuenoj lokaciji naveli smo ime direktorijuma Vjezbe DE, ime projekta je vjezba1 a s obzirom da je ovo prva datoteka unutar ovog dizajna ona je najvee vanosti (Top level design entity). Potvrdom na taster Next pojavljuje se sljedei prozor koji nam omoguava dodavanje datoteka i biblioteka naem projektu iz drugih projekata (slika 3).

    Slika 3. Prozor za unos postojeih datoteka u novi projekat

    Ovu opciju sada neemo koristiti i klikom na taster Next pojavljuje se sljedei prozor koji je prikazan na slici 4.

    Ovaj meni nam omoguava izbor familije Altera FPGA (Field Programmable Gate Array) kola, te izbor odgovarajueg ipa unutar izabrane familije.

  • PLD kola i Quartus II programski paket

    40

    Slika 4. Prozor za izbor FPGA familije i kola

    Takoe, izbor adekvatnog kola moemo prepustiti programskom paketu koji e izvriti izbor unutar izabrane familije na osnovu sloenosti dizajna. Na ovom osnovnom kursu mi emo izabrati tj. potvrditi predloenu familiju Stratix II tasterom Next.

    Novi prozor koji nam omoguava izbor naprednijih tehnika u razvoju sistema a koje neemo koristi na ovom kursu prikazan je na narednoj slici 5.

    Slika 5. Prozor za izbor dodatnih tehnika razvoja sistema

  • PLD kola i Quartus II programski paket

    41

    Pritiskom na taster Next pojavljuje se zadnji prozor sa informacijama koje su prikazane na slici 6. Ukoliko elimo da napravimo ispravke moemo da se vratimo na neki od predhodnih prozora pritiskom na taster Back. Potvrivanje vrimo izborom tastera Finish.

    Slika 6. Prozor sa informacijama

  • PLD kola i Quartus II programski paket

    42

    11.2. LABORATORIJSKA VJEBA 1.

    Univerzalni komparator

    Projektovanje univerzalnog komparatora za poreenje dva jednobitna broja

    Unos dizajna grafikim putem

    Verifikacija realizovanog sistema simulacijom

    Zakljuak

    Ime i prezime:___________________ Datum: __________________

    Broj indeksa:__________ Pregledao:________________

  • PLD kola i Quartus II programski paket

    43

    Projektovanje univerzalnog komparatora za poreenje dva jednobitna broja

    Rjeenje:

    A>B AVB = 1 AVB=AB

    A

  • PLD kola i Quartus II programski paket

    44

    Verifikacija realizovanog sistema simulacijom

    Slika:

    Zakljuak:

    ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  • PLD kola i Quartus II programski paket

    45

    Postupak izrade laboratorijske vjebe 1.

    Pokrenimo programski paket Quartus II, zatim odaberimo ime direktorijuma i projekta na predhodno opisani nain. (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 naznaene datoteke

    Potvrdom na taster OK pojavljuje se prostor za crtanje blok eme u novom prozoru (slika 8).

  • PLD kola i Quartus II programski paket

    46

    Slika 8. Glavni prozor sa prostorom za crtanje blok eme

    Prilikom otvaranja svake nove datoteke uvjek je poeljno odmah izvriti memorisanje (File>Save As). Naime, prilikom pokretanja raznih biblioteka koje se nalaze u razliitim direktorijumima deava se da prilikom prvog memorisanja sauvamo datoteku na onoj adresi na kojoj se nalazi zadnja otvorena biblioteka. Na taj nain razdvajamo blok dijagram od ostatka projekta to za posljedicu ima neuspjeno kompajliranje.

    Sa lijeve strane prostora za crtanje (slika 9) nalaze se potrebni alati. Izaberimo simbol I kola koji pokree prozor sa bibliotekama.

  • PLD kola i Quartus II programski paket

    47

    Slika 9. Izgled prozora za crtanje blok dijagrama

    Prozor sa bibliotekama nam omoguava izbor simbola koje emo koristiti prilikom crtanja blok dijagrama (slika 10). Potrebne biblioteke nalaze se na adresi c:/altera/91/quartus/libraries/. Ponuene 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 logika kola. Biblioteka pin sadri korisnike 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 logika kola. Za nau emu potrebnu su nam dva logika kola tipa and2, jedno nor2 i dva invertora not (slika 11).

  • PLD kola i Quartus II programski paket

    48

    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 razmjetanja logikih kola i pinova blok dijagram je prikazan na sljedeoj slici 13.

  • PLD kola i Quartus II programski paket

    49

    Slika 13. Razmjetaj simbola unutar blok dijagrama

    Za povezivanje komponenti potrebno je izabrati gornji naznaeni taster na sljedeoj slici 14. Povezivanje vrimo pozicioniranjem mia na eljeni poetni kontakt a zatim sa pritisnutim lijevim klikom vrimo povlaenje 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 moe biti sastavljeno od dvije rijei, odnosno one mogu biti rastavljene donjom crticom.

    Od ostalih simbola bitno je napomenuti da ukljuenje donjeg oznaenog tastera omoguava pomjeranje povezanih komponenti bez prekida konekcija. Konaan izgled blok dijagrama prikazan je na narednoj slici 14.

  • PLD kola i Quartus II programski paket

    50

    Slika 14. Blok dijagram univerzalnog komparatora

    Nakon crtanja potrebno je memorisati emu blok dijagrama te izvriti kompajliranje dizajna. Kopajliranje pokreemo Processing>Start Compilation ili izborom oznaene alatke (slika 15).

    Slika 15. Glavni prozor sa alatkama

    Nakon pokretanja ove opcije otvaraju se novi prozori u kojima je mogue pratiti kompletan tok kompajliranja dizajna. U prozoru sa lijeve strane nalaze se informacije o razliitim 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 grekama error. Dizajn ne moe biti uspjeno kompajliran ako sadri greke. Upozorenja se obino odnose na vremenska ogranienja i za ovaj kurs nisu bitna. Nakon uspjenog kompajliranja pojavljuje se poruka Full Compilation was successfull (Slika 16).

  • PLD kola i Quartus II programski paket

    51

    Slika 16. Izgled glavnog prozora Quartus II nakon uspjenog kompajliranja

    Naredni korak je simulacija unesenog dizajna. Simulaciju vrimo 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).

  • PLD kola i Quartus II programski paket

    52

    Slika 17.

    Slika 18. Glavni prozor sa datotekom koja sadri vremenski dijagram

  • PLD kola i Quartus II programski paket

    53

    Takoe i ovde se preporuuje da se odmah memorie ova datoteka u onaj direktorijum u kojem se nalaze i ostale datoteke sa istim imenom kao blok dijagram.

    Duplim lijevim klikom na kolonu oznaenu kao Name pokreemo novi prozor (slika 19).

    Slika 19. Prozor za unos pinova u simulacionu datoteku

    Izaborom tastera Node Finder dobijamo novi prozor u kojem moemo da definiemo ulazne i izlazne pinove (slika 20).

    Slika 20. Prozor za pronalaenje eljenih pinova

    Prvi korak je podeavanje filtera za pronalaenje upotrebljenih pinova. Potrebno je filter podesiti na opciju Pins:all kako bi mogli uitati sve pinove. Zatim izborom tastera List u desnom dijelu prozora dobijamo listu svih koritenih pinova u ovom dizajnu. Izbor pinova vrimo njihovim premjetanjem u desni dio prozora alatkama u sredinjem dijelu prozora. Premjetanje vrimo onim redoslijedom koji nam omoguava najbolju preglednost kod vremenskog dijagrama simulacije dizajna (slika 21).

  • PLD kola i Quartus II programski paket

    54

    Slika 21. Prozor sa izabranim pinovima

    Potvrivanjem na taster OK pojavljuju se pinovi u prozoru sa vremenskim dijagramom. Vremenski interval u kojem elimo da izvrimo simulaciju dizajna biramo u padajuem meniju Edit>End Timete nam se pojavljuje novi prozor sa mogunou unosa duine trajanja simulacije (slika 22). Unesimo trajanje intervala od 200 us.

    Slika 22. Vremenski interval simulacije

    Poslije izbora duine trajanja simulacije potrebno je izvriti i izbor trajanja podioka koji vrimo u padajuem meniju Edit>Grid Size Unesimo vrijeme od 10 us. Poslije podeavanja vremeskog intervala simulacije poeljno je da vidimo cijeli vremski opseg na ekranu to emo podesiti opcijom View>Fit in Window. Poslije ovih podeavanja 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 logike jedinice ulaznog signala vrimo selektovanjem dijela intervala (npr. signal A od 20 us do 40 us) te izborom tastera sa simbolom logike jedinice sa lijeve strane prozora (koji e biti dostupan poslije

  • PLD kola i Quartus II programski paket

    55

    selektovanja signala, oznaeno na slici 23). Na ovaj nain definiimo vrijednosti ulaznih promjenjivih kao to je prikazano na sljedeoj slici 24.

    Slika 23. Prozor za simulaciju

    Slika 24. Prozor za simulaciju sa definisanim ulaznim promjenjivim

  • PLD kola i Quartus II programski paket

    56

    Nakon definisanja vrijednosti ulaznih promjenjivih, memoriimo datoteku te pokrenimo simulaciju izborom Processing>Start Simulation. Nakon uspjeno obavljene simulacije dobijamo signale izlaznih veliina koje je potrebno uz pomo opcije Fit in Window kompletne prikazati na ekranu (slika 25).

    Slika 25. Rezultat simulacije

    Zakljuak

    Simulatori se koriste kako bi provjerili ispravnost i funkcionalnost zamiljenog dizajna. Uveavanjem dijelova grafika moemo uoiti stvarna kanjenja kola, tj njegovo ponaanje u praktinoj upotrebi. Takoe, moemo primjetiti i izmjeriti trajanje kratkotrajnih lanih impulsa, a o njihovom uklanjanju i problemima koji oni donose bie poslije govora. Izborom razliitih vremena trajanja simulacije i trajanja logikih jedinica i nula moemo posmatrati i analizirati ponaanje dizajna te donijeti zakljuak na kojim e brzinama i za koje namjene raditi ispravno.

    Poslije uspjene simulacije ostaje da se formira heksadecimalna datoteka te ista uita u FPGA kolo uz pomo razvojnog sistema. Ova verzija Quartus II programskog paketa ne sadri podrku za programiranje kola jer je namjenjena za edukativne svrhe.

  • PLD kola i Quartus II programski paket

    57

  • PLD kola i Quartus II programski paket

    58

    11.3. LABORATORIJSKA VJEBA 2.

    Realizacija potpunog sabiraa

    Projektovanje polusabiraa za sabiranje dva jednobitna broja

    Unos dizajna grafikim putem

    Verifikacija realizovanog sistema simulacijom

    Formiranje simbola polusabiraa

    Projektovanje potpunog sabiraa upotrebom polusabiraa

    Unos dizajna grafikim putem

    Verifikacija realizovanog sistema simulacijom

    Zakljuak

    Ime i prezime:___________________ Datum: __________________

    Broj indeksa:__________ Pregledao:________________

  • PLD kola i Quartus II programski paket

    59

    Projektovanje polusabiraa za sabiranje dva jednobitna broja

    Rjeenje:

    Ulazne promjenjive: Enable, X, Y Izlazne promjenjive: Result, Carry

    Enable X Y Carry Result 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

    Unos dizajna grafikim putem

    Slika:

    Jednaine: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  • PLD kola i Quartus II programski paket

    60

    Verifikacija realizovanog sistema simulacijom

    Slika:

    Formiranje simbola polusabiraa

    Slika:

  • PLD kola i Quartus II programski paket

    61

    Projektovanje potpunog sabiraa upotrebom polusabiraa

    Rjeenje:

    Ulazne promjenjive: Enable, Carry in, X, Y

    Izlazne promjenjive: Carry, Result

    Carry in X Y Carry Result 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

    S obzirom da povezujemo dva polusabiraa, ostaje problem objedinjavanja oba signala prenosa. Za tu namjenu koristimo XOR kolo.

    Unos dizajna grafikim putem

    Slika:

    Potpuni sabira pored dvije ulazne promjenjive ima jo i prenos iz prethodnog razreda. Upotrebom jednog polusabiraa potrebno je sabrati promjenjive X i Y. Rezultat prvog polusabiraa potrebno je sabrati sa