PROGRAMSKO OKOLJE ZA NAČRTOVANJE PROGRAMIRLJIVIH VEZIJ S POMOČJO RAZVOJNE ENOTE

Size: px
Start display at page:

Download "PROGRAMSKO OKOLJE ZA NAČRTOVANJE PROGRAMIRLJIVIH VEZIJ S POMOČJO RAZVOJNE ENOTE"

Transcription

1 Blaž Zidarič PROGRAMSKO OKOLJE ZA NAČRTOVANJE PROGRAMIRLJIVIH VEZIJ S POMOČJO RAZVOJNE ENOTE Diplomsko delo Maribor, maj 2009

2 I Diplomsko delo visokošolskega strokovnega študijskega programa PROGRAMSKO OKOLJE ZA NAČRTOVANJE PROGRAMIRLJIVIH VEZIJ S POMOČJO RAZVOJNE ENOTE Študent: Študijski program: Smer: Mentor: Somentor: Blaž Zidarič visokošolski strokovni, elektrotehnika elektrotehnika elektronika izred. prof. dr. Rudolf Babič dr. Davorin Osebik Maribor, maj 2009

3 II Številka: E.0787 Datum in kraj: , Maribor Na osnovi 330. člena Statuta Univerze v Mariboru (Ur. 1. RS, št. 90/2008) SKLEP O DIPLOMSKEM DELU 1. Blažu Zidariču, študentu visokošolskega strokovnega študijskega programa Elektrotehnika, smer Elektronika, se dovoljuje izdelati diplomsko delo pri predmetu Elektronika. 2. MENTOR: izred. prof. dr. Rudolf Babič SOMENTOR: asist. dr. Davorin Osebik 3. Naslov diplomskega dela: PROGRAMSKO OKOLJE ZA NAČRTOVANJE PROGRAMIRLJIVIH VEZIJ S POMOČJO RAZVOJNE ENOTE 4. Naslov diplomskega dela v angleškem jeziku: SOFTWARE ENVIRONMENT FOR FPGA CIRCUIT DESIGN WITH DEVELOPTMENT UNIT 5. Diplomsko delo je potrebno izdelati skladno z "Navodili za izdelavo diplomskega dela" in ga oddati v treh izvodih ter en izvod elektronske verzije do v referatu za študentske zadeve. Pravni pouk: Zoper ta sklep je možna pritožba na senat članice v roku 3 delovnih dni. Obvestiti: kandidata, mentorja, somentorja, odložiti arhiv.

4 III ZAHVALA Iskreno se zahvaljujem mentorju izred. prof. dr. Rudolfu Babiču in dr. Davorinu Osebiku za vsestransko pomoč pri izdelavi diplomskega dela. Posebno se zahvaljujem tudi svojim staršem in vsem ostalim, ki so me podpirali pri študiju.

5 IV PROGRAMSKO OKOLJE ZA NAČRTOVANJE PROGRAMIRLJIVIH VEZIJ S POMOČJO RAZVOJNE ENOTE Ključne besede: razvojna enota, programsko okolje za načrtovanje Xilinx ISE, programirljiva vezja, uporabniška navodila, primer načrtovanja UDK: 004.4: (043.2) Povzetek V diplomskem delu je opisano programsko okolje za načrtovanje programirljivih vezij s pomočjo razvojne enote. Predstavljen je postopek dela s programskim okoljem Xilinx ISE in simulatorjem ModelSim. Razvojna enota je namenjena predvsem pedagoškim namenom za povezavo med računalnikom ter programskim okoljem Xilinx ISE. Cilj diplomskega dela je bil pripraviti uporabniška navodila za delo s programskim okoljem za načrtovanje programirljivih vezij s pomočjo razvojne enote. Podan je tudi primer načrtovanja časovnega multiplekserja 2:1 s programirljivim vezjem Spartan 3E XC3S100E, ki je generiran s periodo 2 s.

6 V SOFTWARE ENVIRONMENT FOR FPGA CIRCUIT DESIGN WITH DEVELOPMENT UNIT Key words: development unit, software environment for planning Xilinx ISE, programmable circuits, user instruction, planning example UDK: 004.4: (043.2) Summary The diploma work thesis describes the software environment Xilinx ISE program surrounding for the planning field programmable gate array (FPGA) ming circuits design with a laboratory developing system. The designing with software environment Xilinx ISE and ModelSim is presented. he main part of the developing system is represented by the programmable programme circuits of the family XC3S100E by the firm Xilinx. The laboratory developing system is used mainly designed for education pedagogical purpose for within the FPGA circuits linked with a personal computer and the software environment Xilinx ISE interconection. The aim of the diploma work thesis was to prepare user instructions manual preparation. for the work with the programme surrounding, when planning programmable programming circuits for the laboratory developing system. The example of time multiplexer circuit design with Xilinx FPGA circuit XC3S100E is described.

7 VI KAZALO VSEBINE: 1 UVOD NAMEN IN CILJI DIPLOMSKEGA DELA RAZVOJNA ENOTA NAPAJALNI DEL LCD PRIKAZOVALNIK GENERATOR URINEGA SIGNALA ZAŠČITENI VHODNI IN IZHODNI PRIKLJUČKI NEPOSREDNI VHODNO-IZHODNI PRIKLJUČKI DIP STIKALA ZA NASTAVLJANJE VHODNIH LOGIČNIH NIVOJEV USB UPORABNIŠKI VMESNIK SERIJSKI EEPROM XCS01S ZA SHRANJEVANJE KONFIGURACIJSKIH PODATKOV INICIALIZACIJSKI KABEL DELO S PROGRAMSKIM OKOLJEM XILINX ISE ORGANIZACIJA NAMESTITEV IN ZAGON PROGRAMSKEGA PAKETA XILINX ISE WEBPACK USTVARJANJE NOVEGA PROJEKTA SHEMATSKI OPIS ELEMENTA VHDL OPIS ELEMENTA INICIALIZACIJA JTAG ZAPIS PROGRAMA NA EEPROM SIMULATOR MODELSIM REZULTAT SKLEP LITERATURA... 58

8 VII KAZALO SLIK: Slika 2.1: Opisani deli razvojne enote... 4 Slika 2.2: Shema razvojne enote... 5 Slika 2.3: Napajalni del razvojne enote... 6 Slika 2.4: Shema napajalnika... 7 Slika 2.5: Shema LCD prikazovalnika Slika 2.6: Povezava LCD prikazovalnika s FPGA vezjem XC3S100E... 8 Slika 2.7: Oscilator CFPS321B... 9 Slika 2.8: Shema generatorja urinega signala Slika 2.9: Shema zaščitenih vhodnih priključkov Slika 2.10: Povezava zaščitenih vhodnih priključkov s FPGA vezjem XC3S100E Slika 2.11: Shema zaščitenih izhodnih priključkov Slika 2.12: Povezava zaščitenih izhodnih priključkov s FPGA vezjem XC3S100E Slika 2.13: Logična zgradba vmesnika Slika 2.14: Shema neposrednih vhodno-izhodnih priključkov Slika 2.15: Povezava neposrednih vhodno-izhodnih priključkov s FPGA vezjem XC3S100E Slika 2.16: Shema DIP stikal Slika 2.17: Povezava DIP stikal s FPGA vezjem XC3S100E Slika 2.18: FT245BL uporabniški vmesnik proizvajalca FTDI Slika 2.19: Shema USB vmesnika Slika 2.20: Povezava USB vmesnika s FPGA vezjem XC3S100E Slika 2.21: Serijski EEPROM XCS01S Slika 2.22: Shema pomnilnika Slika 2.23: Inicializacijski kabel Slika 3.1: Postopek izdelave projekta Slika 3.2: Zagon programa Slika 3.3: Programa Xilinx ISE Slika 3.4: Določitev imena in lokacije projekta Slika 3.5: Lastnosti naprave Slika 3.6: Izbira tipa vira Slika 3.7: Izbran vir in tip datoteke Slika 3.8: Osnovno okno z vsemi orodji Slika 3.9: Izbira menija Slika 3.10: Izbira vira Slike 3.11: Izbrane možnosti Slika 3.12: Knjižnica za izbiro elementa Slika 3.13: Določitev vhodno-izhodnih priključkov Slika 3.14: Samodejno generirana predloga VHDL jezika Slika 3.15: Preverjanje sintaks Slika 3.16: Ustvarjanje shematskega elementa Slika 3.17: Ustvarjen element Slika 3.18: JTAG priključki Slika 3.19: Izbira vezja in dodelitev paketa pinov Slika 3.20: Seznam vhodno-izhodnih pinov Slika 3.21: Predloga vhodno-izhodnih priključkov v tekstovni obliki... 37

9 VIII Slika 3.22: Sinteza vezja Slika 3.23: Izvedba načrta Slika 3.24: Ustvarjanje programske datoteke Slika 3.25: Ustvarjanje PROM, ACE ali JTAG datoteke Slika 3.26: Nastavitev JTAG povezave Slika 3.27: Zavihek Boundary Scan Slika 3.28: Določitev nove konfiguracijsko datoteko Slika 3.29: Programiranje uspelo Slika 3.30: Zapis programa na EEPROM Slika 3.31: Priprava PROM datoteke Slika 3.32: Dodajanje naprave Slika 3.33: Uspešno končano zapisovanje Slika 3.34: Določitev nove konfiguracijske datoteke Slika 3.35: Izbira naprave Slika 4.1: Izbira menija Slika 4.2: Povzemanje HDL knjižnic simulacije Slika 4.3: Zagon programa ModelSim Slika 4.4: Program ModelSim Slika 4.5: Postavitev vseh spremenljivk na začetek Slika 4.6: Ustvariti-spremeniti tok signala Slika 4.7: Ustvariti vzorec čarovnika Slika 4.8: Ura vzorca atributov Slika 5.1: Blokovna shema primera Slika 5.2: Vezje primer Slika 5.3: Seznam vhodno-izhodnih pinov Slika 5.4: Veriga vezja KAZALO TABEL: Tabela 2.1: Priključki LCD prikazovalnika... 9 Tabela 2.2: Priključek za generator urinega signala Tabela 2.3: Zaščiteni vhodni priključki Tabela 2.4: Zaščiteni izhodni priključki Tabela 2.5: Neposredni vhodno-izhodni priključki Tabela 2.6: Priključki DIP stikala Tabela 2.7: Priključki USB vmesnika... 20

10 IX UPORABLJENE KRATICE FPGA USB EEPROM LED LVTTL TTL CPLD JTAG FTDI DCM DIP CLB I/O VHDL HDL DIR OE Field Programmeable Gate Array Logična programirna vezja Universal Serial Bus Univerzalno serijsko vodilo Electronically Erasable Programmable Read Only Memory Električno zbrisljiv in programirljiv bralni pomnilnik Light Emitting Diode Polprevodniška svetilna dioda Lov Voltage Transistor Transitor Logic Nizko napetostna transistor transistor logika Transistor-Transistor Logic Tranzistor-tranzistor logika Complex Programmable Logic Device Kompleksna programirljiva logična naprava Joint Test Action Group ali Standard Test Access Port and Boundary Scan Architecture Standard IEEE , standardizirano testiranje elektronskih komponent ali sklopov Future Tehnology Devices Intl. Angleški proizvajalec integriranih vezij Digital Control Maneger Digitalni upravitelj ure Dual In Line Package Dvolinijsko ohišje, t.p. večvrstično DIP stikalo Configurable Logic Block Konfiguracijski logični blok Input Output Connector Vhodno izhodni priključek Very High Speed Integrated Circuit Hardware Description Language jezik za opis zelo hitrih integriranih vezij komponent ali sklopov Computer-Aided Design Računalniško podprto načrtovanje Direction Smer Output Enable Omogoči izhod

11 Uvod 1 1 Uvod Dandanes se uporabljajo digitalni sistemi na najrazličnejših področjih. Vsak dan imamo stik z napravami, ki vsebujejo digitalne komponente za obdelavo informacij in podatkov. Zmogljivost digitalnih komponent je vedno večja, zato moramo načrtovati vedno bolj zmogljive sisteme za obdelavo podatkov. Digitalni sistemi, zgrajeni s programirnimi vezji, imajo več prednosti glede na enake sisteme, ki so zgrajeni z mikrokrmilnikom. Najpomembnejše prednosti so hitrost delovanja, zanesljivost, sočasnost, majhna poraba energije, preprogramljivost in obdelava podatkov v realnem času. FPGA integrirana vezja so vezja, v katerih lahko sami načrtujemo svojo strukturo digitalnega vezja ali sistema v integrirani obliki. Sestavljene so iz matrike logičnih blokov (CLB-konfiguracijskih logičnih blokov in vhodno-izhodnih blokov) in povezovalnih polj, katera vsebujejo veliko število povezav. Obstaja več proizvajalcev FPGA vezij. Naša razvojna enota uporablja FPGA vezje firme Xilinx, ki se v laboratoriju uporablja že dalj časa. V zadnjem desetletju je tehnologija izdelave integriranih vezij naglo napredovala. Elektronski sistemi, ki so imeli pred desetletjem še visoko ceno, so danes dostopni širokemu krogu uporabnikov. V diplomi je predstavljeno programsko okolje Xilinx ISE v povezavi s FPGA vezjem in simulator ModelSim. Diplomsko delo začenjamo z uvodom. V drugem poglavju sledi opis posameznih elementov na razvojni enoti, povezave med njimi in FPGA vezjem. Tretjo opisuje delo s programskim okoljem Xilinx ISE v povezavi s FPGA vezjem, četrto poglavje simulator ModelSim, v petem pa je prikazan rezultat, in sicer načrtovanje časovnega multiplekserja 2:1 s programirljivim vezjem Spartan 3E XC3S100E, ki je generiran s periodo 2 s. V šestem poglavju sledi sklep in v sedmem literatura.

12 Uvod Namen in cilji diplomskega dela Namen diplomskega dela je spoznati razvojno enoto s FPGA vezjem XC3S100E ter programsko okolje Xilinx ISE in simulator ModelSim. Cilj diplomskega dela je pripraviti uporabniška navodila za delo s programskim okoljem Xilinx ISE in simulatorjem ModelSim. Naš cilj je tudi načrtovati časovni multiplekser 2:1 s programirljivim vezjem Spartan 3E XC3S100E, ki je generiran s periodo 2 s. Predstaviti želimo postopek ustvarjanja novega projekta v programu Xilinx ISE in postopek s shematskim in VHDL opisom elementa. Opisali bomo tudi, kako inicializiramo JTAG s programirnim FPGA vezjem Spartan 3E XC3S100E in kako zapišemo program na EEPROM. S simulatorjem ModelSim pa bomo prikazali, kako posameznim vezjem izvedemo simulacijo.

13 RAZVOJNA ENOTA 3 2 RAZVOJNA ENOTA Razvojna enota je namenjena predvsem za pedagoško delo. Lahko jo uporabimo za učne namene, saj vsebuje 12 LED diod za opazovanje vhodnih signalov, štiri LED diode za izhodne signale, osem uporabniških preklopnih DIP stikal, USB vmesnik za sočasno sprejemanje in oddajanje ter enovrstični LCD prikazovalnik. Ostale priključke uporabljamo kot neposredne vhodno-izhodne priključke. Pridobljene rezultate tako koristimo z vsestransko ponazoritvijo tudi zaradi kompatibilnosti razvojne enote z drugimi napravami. Uporabljamo programirno vezje iz družine Spartan 3E XC3S100E. Enota podpira JTAG, glavni serijski in pomožni serijski način inicializacije preko Xilinx paralelnega kabla, kar nam omogoča programiranje v programskem okolju Xilinx ISE 9.1i. USB vmesnik in funkcije za komunikacijo omogočajo enostaven prenos podatkov iz programskega okolja MATLAB na razvojno enoto. Prav tako je razvojna enota z vmesnikom napetostnih nivojev popolnoma združljiva s starejšo strojno opremo, ki temelji na TTL logiki. Na sliki 2.1 imamo prikazano razvojno enoto od zgoraj, na njej pa so označeni tudi posamezni deli razvojne enote.

14 RAZVOJNA ENOTA 4 Zaščiteni vhodni priključki Neposredni vhodno-izhodni priključki Zaščitni izhodni priključki s štirimi LED indikatorji s štirimi LED indikatorji Osem LED indikatorjev za LCD prikazovalnik krmiljenje z DIP stikali tipa 16 1 Kvarčni kristal 6MHz Konfiguracija z Tipki»Reset«in logičnim stanjem Programiranje treh vhodnih priključkov Priključki za M0, M1, M2 inicializacijo JTAG in za DIP stikala za vpis podatkov preizkušanje na EEPROM določenih aplikacij Priključki za zaporedno USB priključek inicializacijo Priključki za določitev branja iz EEPROMA-a Priključki za (SD,D0,CD) prenos podatkov (IO_P,IO_N, LED indikator GCLK,GND) Blokirni kondenzatorji Napajalni del Linearno nastavljivi regulatorji Linearni 5V regulator (LM317T) (LM7805) Slika 2.1: Opisani deli razvojne enote Glavni elementi razvojne enoto so: napajalni del LCD prikazovalnik generator urinega signala zaščiteni vhodni in izhodni priključki neposredni vhodno-izhodni priključki DIP stikala za nastavljanje vhodnih logičnih nivojev USB uporabniški vmesnik serijski EEPROM XCS01S za shranjevanje konfiguracijskih podatkov Shemo razvojne enote prikazuje slika 2.2.

15 RAZVOJNA ENOTA 5 Slika 2.2: Shema razvojne enote

16 RAZVOJNA ENOTA Napajalni del Napajalni del razvojne enote je 9 V izmeničnega napajanja. Sestavljen je iz AC priključka, diodnega usmernika, stikala za vklop in izklop, gladilnega in blokirnega kondenzatorja, treh linearno nastavljivih regulatorjev LM317T in enega linearnega 5 V regulatorja LM7805 (slika 2.3). Blokirni kondenzatorji, ki zagotavljajo dovolj energije ob hitrih prehodih in izmenjavanju stanj pri višjih frekvencah, so na vseh napajalnih priključkih FPGA naprav. Poraba toka v celotni obliki z vsemi elementi znaša 76 ma. Slika 2.3: Napajalni del razvojne enote Slika 2.4 prikazuje shemo napajalnika.

17 RAZVOJNA ENOTA 7 Slika 2.4: Shema napajalnika 2.2 LCD prikazovalnik Za izpis raznih stanj števcev, ure itd. se uporablja matrični alfanumerični LCDprikazovalnik tipa 16 1 (16 znakov v eni vrsti). Enovrstični prikazovalnik uporabljamo zato, ker je razvojna enota namenjena učilu in nimamo potrebe po večvrstičnih. Slika 2.5 prikazuje shemo LCD prikazovalnika 16 1.

18 RAZVOJNA ENOTA 8 Slika 2.5: Shema LCD prikazovalnika 16 1 Slika 2.6 prikazuje povezavo LCD prikazovalnika s FPGA vezjem XC3S100E. Slika 2.6: Povezava LCD prikazovalnika s FPGA vezjem XC3S100E Tabela 2.1 podaja seznam priključkov LCD prikazovalnika s FPGA vezjem XC3E100E.

19 RAZVOJNA ENOTA 9 Tabela 2.1: Priključki LCD prikazovalnika OZNAKA DB4 DB5 DB6 DB7 RS R/W ENA FPGA PIN P70 P71 P78 P79 P95 P98 P94 Predloga priključkov LCD prikazovalnika (.ucf datoteka): NET "DB4" LOC = "p70" IOSTANDARD = LVCMOS33 ; NET "DB5" LOC = "p71" IOSTANDARD = LVCMOS33 ; NET "DB6" LOC = "p78" IOSTANDARD = LVCMOS33 ; NET "DB7" LOC = "p79" IOSTANDARD = LVCMOS33 ; NET "RS" LOC = "p95" IOSTANDARD = LVCMOS33 ; NET "R/W" LOC = "p98" IOSTANDARD = LVCMOS33 ; NET "ENA" LOC = "p94" IOSTANDARD = LVCMOS33 ; 2.3 Generator urinega signala Za generiranje sistemskega urinega signala je namenjen oscilator CFPS321B (slika 2.7). S pomočjo tega oscilatorja in upraviteljem sistemske ure DCM lahko natančno upravljamo s signali ure. Oscilator CFPS321B omogoča generiranje urinega signala s frekvenco 50 MHz. Slika 2.7: Oscilator CFPS321B [2] Slika 2.8 prikazuje shemo generatorja urinega signala.

20 RAZVOJNA ENOTA 10 Slika 2.8: Shema generatorja urinega signala Tabela 2.2 podaja podatek o priključku za generator urinega signala s FPGA vezjem XC3S100E. Tabela 2.2: Priključek za generator urinega signala OZNAKA GCLK FPGA PIN P9 Predloga priključka za generator urinega signala (.ucf datoteka): NET "GCLK" LOC = "p9" IOSTANDARD = LVTTL ; Za delovanje oscilatorja niso potrebne nobene dodatne komponente, potrebujemo samo napajanje z enojno enosmerno napetostjo v območju od 2,7 V do 5 V in zunanji kondenzator. Amplituda izhodnega signala je pravokotna s polovičnim trajanjem impulza. S pomočjo zunanjega preklopnika lahko osrednjo frekvenco 50 MHz delimo na 25 MHz ali dobimo s povratno vezavo 100 MHz. 2.4 Zaščiteni vhodni in izhodni priključki Razvojna enota ima zaščitene vhodne in izhodne priključke, povezane z vmesnikom SN74LV245A za priključitev starejših naprav. Starejše naprave delujejo z višjimi napetostnimi nivoji, zato imamo vmesnik, ki nam bo omogočil priključitev teh naprav. Slika 2.9 prikazuje shemo zaščitenih vhodnih priključkov.

21 RAZVOJNA ENOTA 11 Slika 2.9: Shema zaščitenih vhodnih priključkov Slika 2.10 prikazuje povezavo zaščitenih vhodnih priključkov s FPGA vezjem XC3S100E. Slika 2.10: Povezava zaščitenih vhodnih priključkov s FPGA vezjem XC3S100E Tabela 2.3 podaja seznam zaščitenih vhodnih priključkov s FPGA vezjem XC3S100E. Tabela 2.3: Zaščiteni vhodni priključki OZNAKA VH0 VH1 VH2 VH3 FPGA PIN P58 P54 P57 P53

22 RAZVOJNA ENOTA 12 Predloga zaščitenih vhodnih priključkov (.ucf datoteka): NET "VH0" LOC = "p58" IOSTANDARD = LVCMOS33 ; NET "VH1" LOC = "p54" IOSTANDARD = LVCMOS33 ; NET "VH2" LOC = "p57" IOSTANDARD = LVCMOS33 ; NET "VH3" LOC = "p53" IOSTANDARD = LVCMOS33 ; Slika 2.11 prikazuje shemo zaščitenih izhodnih priključkov. Slika 2.11: Shema zaščitenih izhodnih priključkov Slika 2.12 prikazuje povezavo zaščitenih izhodnih priključkov s FPGA vezjem XC3S100E. Slika 2.12: Povezava zaščitenih izhodnih priključkov s FPGA vezjem XC3S100E

23 RAZVOJNA ENOTA 13 Tabela 2.4 podaja seznam zaščitenih izhodnih priključkov s FPGA vezjem XC3S100E. Tabela 2.4: Zaščiteni izhodni priključki OZNAKA IZH0 IZH1 IZH2 IZH3 FPGA PIN P2 P3 P4 P22 Predloga zaščitenih izhodnih priključkov (.ucf datoteka): NET "IZH0" LOC = "p2" IOSTANDARD = LVCMOS33 ; NET "IZH1" LOC = "p3" IOSTANDARD = LVCMOS33 ; NET "IZH2" LOC = "p4" IOSTANDARD = LVCMOS33 ; NET "IZH3" LOC = "p22" IOSTANDARD = LVCMOS33 ; Vmesnik [1] SN74LV245A omogoča asinhrono preklapljanje med dvema 8-bitnima vodiloma. Narejen je na osnovi nizkonapetostne CMOS tehnologije. Prenos logičnih stanj iz vodila A v B in iz B v A je mogoč glede na logično stanje DIR priključka. Priključek omogoči izhod (OE), vmesnik lahko postavi v stanje visoke impedance, tako da nanj priključene naprave ne čutijo nobene obremenitve. Vhodni priključki so lahko krmiljeni z napetostmi od 3,3 V do 5 V, kar ustreza LVTTL ali TTL napetostnemu standardu. Standarda se razlikujeta po velikosti napajalne napetosti in po napetosti, ki jo dajeta na izhodu ob visokem logičnem stanju. Ostali napetostni nivoji preklopov in nivojev logičnih stanj na izhodu so popolnoma identični, zato lahko z LVTTL napravo krmilimo katerokoli TTL napravo. Priklop med TTL in LVTTL napravami omogočajo samo integrirana vezja iz družine LVC. Slika 2.13 prikazuje logično zgradbo vmesnika. Do 7. ostalih kanalov Slika 2.13: Logična zgradba vmesnika [1]

24 RAZVOJNA ENOTA 14 Tudi vmesnik SN74LV245A je zaščiten. Zaščita vezja je potrebna zaradi vsesplošne uporabe razvojne enote. Ker je vezje namenjeno pedagoškemu delu, bi lahko hitro prišlo do uničenja katerega izmed programljivih vhodno-izhodnih priključkov. Zaščito vezja sestavljata en upor, vezan zaporedno na vhodno-izhodni priključek, in zenerjeva dioda 4,7 V. To pomeni, da napetost na diodi zaradi omejitve toka z uporom ne more preseči 5 V. Tovrstna zaščita zdrži prednapetosti do 30 V. 2.5 Neposredni vhodno-izhodni priključki Ti priključki nimajo zaščite vezja, ampak so neposredno povezani s FPGA vezjem. Ker priključki nimajo zaščite z nobenim zaščitnim vezjem, lahko pride ob nepravilni uporabi do poškodbe FPGA vezja ali celo uničenja. Namenjeni so prenosu podatkov med zunanjo periferijo in razvojno enoto. Slika 2.14 prikazuje shemo neposrednih vhodno-izhodnih priključkov. Slika 2.14: Shema neposrednih vhodno-izhodnih priključkov Slika 2.15 prikazuje povezavo neposrednih vhodno-izhodnih priključkov s FPGA vezjem XC3S100E.

25 RAZVOJNA ENOTA 15 Slika 2.15: Povezava neposrednih vhodno-izhodnih priključkov s FPGA vezjem XC3S100E Tabela 2.5 podaja seznam neposrednih vhodno-izhodnih priključkov s FPGA vezjem XC3S100E. Tabela 2.5: Neposredni vhodno-izhodni priključki OZNAKA VH-IZH0 VH-IZH1 VH-IZH2 VH-IZH3 VH-IZH4 VH-IZH5 VH-IZH6 VH-IZH7 VH-IZH8 VH-IZH9 VH-IZH10 VH-IZH11 VH-IZH12 VH-IZH13 VH-IZH14 VH-IZH15 FPGA PIN P60 P61 P62 P63 P65 P66 P67 P68 P83 P84 P85 P86 P88 P89 P90 P91

26 RAZVOJNA ENOTA 16 Predloga neposrednih vhodno-izhodnih priključkov (.ucf datoteka): NET "IZH0" LOC = "p60" IOSTANDARD = LVCMOS33 ; NET "IZH1" LOC = "p61" IOSTANDARD = LVCMOS33 ; NET "IZH2" LOC = "p62" IOSTANDARD = LVCMOS33 ; NET "IZH3" LOC = "p63" IOSTANDARD = LVCMOS33 ; NET "IZH4" LOC = "p65" IOSTANDARD = LVCMOS33 ; NET "IZH5" LOC = "p66" IOSTANDARD = LVCMOS33 ; NET "IZH6" LOC = "p67" IOSTANDARD = LVCMOS33 ; NET "IZH7" LOC = "p68" IOSTANDARD = LVCMOS33 ; NET "IZH8" LOC = "p83" IOSTANDARD = LVCMOS33 ; NET "IZH9" LOC = "p84" IOSTANDARD = LVCMOS33 ; NET "IZH10" LOC = "p85" IOSTANDARD = LVCMOS33 ; NET "IZH11" LOC = "p86" IOSTANDARD = LVCMOS33 ; NET "IZH12" LOC = "p88" IOSTANDARD = LVCMOS33 ; NET "IZH13" LOC = "p89" IOSTANDARD = LVCMOS33 ; NET "IZH14" LOC = "p90" IOSTANDARD = LVCMOS33 ; NET "IZH15" LOC = "p91" IOSTANDARD = LVCMOS33 ; 2.6 DIP stikala za nastavljanje vhodnih logičnih nivojev Za preizkušanje določenih aplikacij uporabljamo nastavljive vhodne priključke. Z osmimi uporabniškimi DIP stikali na razvojni enoti postavljamo posamezne vhodne linije na ustrezen logični nivo. Ko je stikalo sklenjeno, je na vhodnem priključku nizek logični nivo, pri razklenjenem stikalu je visok logični nivo. Za pravilno delovanje DIP stikal je potrebno v strukturi programirnega vezja uporabiti dvižne (pull up) upore. DIP stikala so vezana na pozitivni potencial 3.3 V. Uporabljamo mini DIP stikala v enem ohišju. Slika 2.16 prikazuje shemo DIP stikal. Slika 2.16: Shema DIP stikal Slika 2.17 prikazuje povezavo DIP stikal s FPGA vezjem XC3S100E.

27 RAZVOJNA ENOTA 17 Slika 2.17: Povezava DIP stikal s FPGA vezjem XC3S100E Tabela 2.6 podaja seznam priključkov DIP stikal s FPGA vezjem XC3S100E. Tabela 2.6: Priključki DIP stikala OZNAKA FPGA PIN LED DIODA DIP0 P5 LD9 DIP1 P10 LD10 DIP2 P11 LD11 DIP3 P12 LD12 DIP4 P18 LD13 DIP5 P16 LD14 DIP6 P17 LD15 DIP7 P15 LD16 Predloga priključkov DIP stikala (.ucf datoteka): NET "DIP0" LOC = "p5" IOSTANDARD = LVTTL PULLUP; #DIP1 NET "DIP1" LOC = "p10" IOSTANDARD = LVTTL PULLUP; #DIP2 NET "DIP2" LOC = "p11" IOSTANDARD = LVTTL PULLUP; #DIP3 NET "DIP3" LOC = "p12" IOSTANDARD = LVTTL PULLUP; #DIP4 NET "DIP4" LOC = "p18" IOSTANDARD = LVTTL PULLUP; #DIP5 NET "DIP5" LOC = "p16" IOSTANDARD = LVTTL PULLUP; #DIP6 NET "DIP6" LOC = "p17" IOSTANDARD = LVTTL PULLUP; #DIP7 NET "DIP7" LOC = "p15" IOSTANDARD = LVTTL PULLUP; #DIP8 2.7 USB uporabniški vmesnik USB vmesnik razvojne enote ponuja uporabniški dostop do vhodno-izhodnih priključkov. S pomočjo ustrezne programske opreme v okolju MATLAB lahko med tekom procesa v programirnem vezju sprejemamo ali pošiljamo podatke. Združljivost med USB vmesnikom in MATLAB-om je popolna, saj za delovanje med njima ni potreben noben

28 RAZVOJNA ENOTA 18 programski ali strojni vmesnik. Takšen vmesnik omogoča enostavno izvedbo meritev razvitih aplikacij v FPGA strukturi. Vmesnik sestavlja integrirano vezje FT245BL (slika 2.18), neposredno priklopljeno na dvonamenske vhodno-izhodne priključke programirnega vezja. Prenos podatkov poteka vzporedno z osembitno dolgo besedo. Zraven priključkov za prenos podatkov imamo še štiri kontrolne signale. Lastnosti integrirnega vezja FT245BL so [1]: razmeroma poceni in lahko dobavljiv podpira sočasen in masoven prenos skrbi za celotno USB komunikacijo kompatibilem z USB standardoma USB 1.1 in USB 2.0 lahko shranljiva identifikacija naprave na zunanji EEPROM vsebnost pretvornika nivojev s 5 V na 3,3 V z gonilniki podprt na operacijskem sistemu Microsoft Windows in MAC OS-X ter Linux Slika 2.18: FT245BL uporabniški vmesnik proizvajalca FTDI [2] Uporaba vmesnika je preprosta, saj nam o USB komunikaciji ni potrebno ničesar vedeti. Sama shema povezav ni zahtevna, ima malo zunanjih povezav. Vmesnik daje na izhodu logična stanja v območju od 0 V do 3,3 V, kar ustreza LVTTL standardu, zaradi tega lahko povezavo vmesnika izvedemo direktno. Slika 2.19 prikazuje shemo USB vmesnika.

29 RAZVOJNA ENOTA 19 Slika 2.19: Shema USB vmesnika Slika 2.20 prikazuje povezavo USB vmesnika s FPGA vezjem XC3S100E. Slika 2.20: Povezava USB vmesnika s FPGA vezjem XC3S100E Tabela 2.7 podaja seznam priključkov USB vmesnika s FPGA vezjem XC3S100E.

30 RAZVOJNA ENOTA 20 Tabela 2.7: Priključki USB vmesnika OZNAKA USB0 USB1 USB2 USB3 USB4 USB5 USB6 USB7 RD WR TXE RXF FPGA PIN P24 P26 P27 P30 P34 P36 P38 P40 P47 P48 P49 P41 Predloga priključkov USB vmesnika (.ucf datoteka): NET "USB0" LOC = "p24" IOSTANDARD = LVCMOS33 ; NET "USB1" LOC = "p26" IOSTANDARD = LVCMOS33 ; NET "USB2" LOC = "p27" IOSTANDARD = LVCMOS33 ; NET "USB3" LOC = "p30" IOSTANDARD = LVCMOS33 ; NET "USB4" LOC = "p34" IOSTANDARD = LVCMOS33 ; NET "USB5" LOC = "p36" IOSTANDARD = LVCMOS33 ; NET "USB6" LOC = "p38" IOSTANDARD = LVCMOS33 ; NET "USB7" LOC = "p40" IOSTANDARD = LVCMOS33 ; NET "RD" LOC = "p47" IOSTANDARD = LVTTL ; NET "WR" LOC = "p48" IOSTANDARD = LVCMOS33; NET "TXE" LOC = "p49" IOSTANDARD = LVCMOS33 ; NET "RXF" LOC = "p41" IOSTANDARD = LVCMOS33; 2.8 Serijski EEPROM XCS01S za shranjevanje konfiguracijskih podatkov Konfiguracijske podatke [2] shranjujemo na zunanje pomnilne enote zaradi trajnega shranjevanja konfiguracijskih podatkov, kar omogoča, da konfiguracijski podatki ostanejo tudi pri izgubi napajanja. Ob vklopu napajanja se ti samodejno prenesejo v programirno vezje. Za shranjevanje konfiguracijskih podatkov Spartan 3E programirnega vezja uporabljamo 1 Mb velik pomnilnik, uporablja se 1 Mb Xilinx XCS01S EEPROM. Vpis podatkov poteka preko inicializacijskega kabla za Xilinx. Z JTAG vmesnikom lahko

31 RAZVOJNA ENOTA 21 konfiguriramo programirno vezje ali pa vpisujemo podatke v pomnilnik. Napajanje pomnilnika moramo izvesti z enosmerno napetostjo 3,3 V, čeprav je delovanje zagotovljeno tudi pri nižjih napetostih. Slika 2.21 prikazuje serijski EEPROM XCS01S. Slika 2.21: Serijski EEPROM XCS01S [2] Slika 2.22 prikazuje shemo pomnilnika. Slika 2.22: Shema pomnilnika 2.9 Inicializacijski kabel S pomočjo inicializacijskega kabla konfiguriramo programirna vezja FPGA, CPLD ali vpisujemo podatke v EEPROM pomnilnike. Podpira IEEE 1284 protokol in je popolnoma združljiv s programsko opremo impact podjetja Xilinx. Prav tako je združljiv s protokolom IEEE Omogoča priklop naprav preko JTAG vodila in na Xilinx programirna vezja v pomožnem serijskem načinu. Napajanje je izvedeno s pomočjo

32 RAZVOJNA ENOTA 22 odcepnika na priključku miške ali tipkovnice osebnega računalnika. Kabel je spojen z osebnim računalnikom preko LTP tiskalniških vrat, podprt pa je z operacijskimi sistemi Microsoft Windows XP in Linux. Avtomatsko zaznavanje referenčne napetosti priklopljene naprave omogoča komuniciranje z različnimi napetostnimi standardi. Inicializacijski kabel prikazuje slika Slika 2.23: Inicializacijski kabel [5] Navodila za priključitev inicializacijskega kabla z razvojno enoto Inicializacijski kabel in razvojno enoto priključimo, tako da so priključki na inicializacijskem kablu in razvojni enoti priključeni enako, in sicer: TMS TMS TDI TDI TCK TCK GND GND VCC 2V5

33 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 23 3 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 3.1 Organizacija ISE WebPack je aplikacija, katera sodi v sklop zagotavljanja celovitosti proizvajalca programljivih logičnih vezij Xilinx. Namen je programiranje FPGA razvojnih enot. Glavni nadzornik opravil okolja ISE Webpack, Project Navigator, pomaga uporabnikom, da nastavijo in vodijo implementacijo sistema. ISE Webpack ponuja sintezo orodij, ki ga razvija samo podjetje Xilinx. Omogoča tudi uporabo orodij podjetij Synplicity, Mentor Graphics in Synopsis. Slika 3.1 prikazuje postopek izdelave projekta. Slika 3.1: Postopek izdelave projekta [2] 3.2 Namestitev in zagon programskega paketa Xilinx ISE WebPACK Za namestitev programa Xilinx ISE WebPACK moramo imeti na računalniku nameščen Windows 2000 ali XP. Moramo pa imeti tudi več kot 4 GB prostora na trdem disku. Podjetje Xilinx na svoji spletni strani ponuja osnovno verzijo

34 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 24 ( razvojnega okolja za njihova FPGA in CPLD vezja. Ko smo program namestili, program zaženemo z dvojnim klikom na Xilinx ISE 9.1i. Lahko pa poiščemo v meniju Start Xilinx ISE 9.1i in izberemo Project Navigator, kot prikazuje slika 3.2. Slika 3.2: Zagon programa Po zagonu programa se nam odpre program Xilinx ISE (slika 3.3), kjer imamo različna okna: Okno VIROV (Sources), v katerem lahko izbiramo med različnimi viri projekta. Okno POSTOPEK (Processes), v katerem lahko projekt izvajamo. Okno PREPIS (Transcript), v katerem nam prikazuje komentarje pregledovanja in najdene napake. Slika 3.3: Programa Xilinx ISE

35 DELO S PROGRAMSKIM OKOLJEM XILINX ISE Ustvarjanje novega projekta Za izdelavo novega projekta v programu Xilinx ISE uporabimo naslednjo pot: Novi ISE projekt ustvarimo tako, da izberemo: Datoteka (File) Novi projekt (New Project). Odpre se okno Ustvarjanje novega projekta (Create New Project), za določitev imena in lokacije projekta (slika 3.4). V polje Ime projekta (Project Name) vpišemo ime našega projekta (brez presledkov, ker jih program ne zazna) in v polju Lokacija projekta (Project Location) izberemo, kje se bo novi projekt shranjeval. Ko vpisujemo ime projekta (Project Name), se nam to ime posledično vpisuje v lokacijo projekta (Project Location). V polju Vrh nivoja tipa vira (Top-Level Source Type) je iz ponujenih seznamov že izbran HDL. Slika 3.4: Določitev imena in lokacije projekta Sledi okno Lastnosti naprave (Device Properties) (slika 3.5), kjer izberemo naslednje lastnosti: Kategorija izdelka (Product Category) : All. Družina (Family): Spartan 3E (ker uporabljamo programirno vezje iz družine Spartan 3E). Naprava (Device): XC3S100E (ker uporabljamo razvojno enoto s XC3S100E programirnim vezjem). Paket (Package): VQ100 (podnožnje programirnega vezja).

36 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 26 Hitrost (Speed): -4. Vrh nivoja tipa vira (Top-Level Source Type): HDL. Orodje za spajanje (Synthesis Tool): XST (VHDL/Verilog). Simulator: Modelsim-SE Verilog. Zaželjeni jezik (Preferred Language): Verilog. Na koncu izberemo še izboljšave povzetka (Enable Enhanced Design Summary), ostala polja pa pustimo neizpolnjena. Slika 3.5: Lastnosti naprave Sledi okno Ustvarjanje novega vira (Create New Source), v katerem kliknemo Novi vir (New Source). Sledi okno Izbira tipa vira (Select Source Type), v katerem določimo ime datoteke, lokacijo in tip. Pod Ime datoteke (File name) vpišemo ime naše datoteke (brez presledkov, ker jih program ne zazna) in pod Lokacija (Location) izberemo naslov, kjer bo datoteka shranjena, nato še na levi strani izberemo tip vira. Tip vira lahko izbiramo med IP (Coregen & Architecture Wizard), Schematic, State Diagram, Test Bench WaveForm, User Document, Verilog Module, Verilog Test Fixture, VHDL Module, VHDL Library, VHDL Package, VHDL Test Bench. Nato izberemo dodati projektu (Add to project), kar pomeni, da vse, kar je izbrano v oknu Izbira tipa vira (Select Source Type), dodamo projektu (slika 3.6).

37 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 27 Slika 3.6: Izbira tipa vira Okno Povzetek (Summary) prikaže izbrane lastnosti projekta, in sicer Dodati projektu (Add to Project), Vir imenika oziroma kje je projekt shranjen (Source Directory), Tip vira (Source Type), Ime vira (Source Neme). Za potrditev lastnosti kliknemo Končati (Finish). Nato ko program vpraša, če želimo ustvariti novo mapo za projekt, kliknemo Ja (Yes). Odpre se okno Ustvari novi vir (Create New Source) z izbranim virom datoteke (Source File) in tipom (Type). Če hočemo spremeniti izbrani vir datoteke (Source File) in tip (Type), kliknemo Odstranitev (Remove) (slika 3.7). Slika 3.7: Izbran vir in tip datoteke

38 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 28 V oknu Dodajanje obstoječemu viru (Add Existing Sources) lahko po potrebi vključimo dodaten že obstoječi vir, in sicer s klikom na Dodati vir (Add Source). Ko končamo z ustvarjanjem novega projekta, se nam prikaže povzetek izbranih nastavitev v oknu Povzetek projekta (Project Summary), in sicer Ime projekta (Project Name), Pot projekta (Project Path), Vrh nivoja tipa vira (Top Level Source Type), Družina naprave (Device Family), Naprava (Device), Paket (Package), Hitrost (Speed), Orodje za spajanje (Synthesis Tool), Simulator (Simulator), Zaželjeni jezik (Prefered Language). V primeru, da opazimo, da nismo izbrali pravilnih lastnosti, lahko te še naknadno spremenimo. Sledi osnovno okno z vsemi orodji. Na levi strani imamo okno virov (Sources), v katerem lahko spodaj izbiramo med zavihki virov (Sources), Snapshats, knjižnic (Libraries), simbolov (Symbols). Pod oknom virov (Sources) imamo okno Postopek (Processes), kjer lahko načrt sintetiziramo (Synthesize XST), izvajamo (Implement Design) in ustvarimo programsko datoteko (Generate Programming File). Na desni strani je Povzetek načrta (Design Summary), kjer imamo Stanje projekta (Project Status), Delitev povzetka (Partition Summary), Povzetek uporabe načrta (Device Utilization Summary), Povzetek uspešnosti (Performance Summary) in Podrobna poročila (Detailed Reports). Spodaj imamo še okno Prepis (Transcript), kjer nam prikazuje komentarje pregledovanja in najdene napake (slika 3.8). Slika 3.8: Osnovno okno z vsemi orodji

39 DELO S PROGRAMSKIM OKOLJEM XILINX ISE Shematski opis elementa Za shematski element moramo pri ustvarjanju projekta v oknu Izbira tipa vira (Select Source Type) izbrati Shematic (slika 3.6). Vse ostalo izvajamo po navodilih, ki so v poglavju Ustvarjanje novega projekta. Ko smo ustvarili svoj projekt v oknu virov (Sources) iz menija okna virov za (Sources for), izberemo Sinteza-Izvajanje (Synthesis/Implementation) (slika 3.9). Slika 3.9: Izbira menija V oknu virov (Sources) izberemo željeno vezje, v katerega nato dodamo željen element (slika 3.10). Slika 3.10: Izbira vira V oknu Postopek (Processes) moramo paziti na Možnost izbora (Select Options). Izbrane možnosti (Select Options) nam olajšajo delo med izvajanjem. Izbirali smo naslednje možnosti (slika 3.11): S klikom na sklop (When you click on a branch) lahko izbiramo med: Izberi celoten sklop (Select the entire branch), katerega smo izbrali mi, ali Izberi samo linijski odsek (Select the line segment).

40 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 30 Ko premakneš objekt (When you move an object), lahko izbiramo med: Ohrani povezavo z ostalimi predmeti (Keep the connections to other objects), katero smo izbrali mi, ali Prekini povezavo z ostalimi predmeti (Break the connections to other objects). Kadar uporabljaš orodje za izbiro področja, izberi objekt (When you use the area select tool, select the objects that), ki ga področje vsebuje (Are enclosed by the area), to smo izbrali mi, ali ki ga križa (Intersect the area). Kadar uporabljaš orodje za izbiro področja, izberi objekte (When you use the area select tool, select), ki izkjučujejo karakteristiko okna (Objects excluding attribute windows), kot smo izbrali mi, ali tiste, ki se tičejo samo okna (Attributes windows only). Slike 3.11: Izbrane možnosti Nato v oknu virov (Sources) kliknemo zavihek Simboli (Symbols), kjer lahko izberemo željen element iz knjižnice (slika 3.12). Element izberemo tako, da pod Ime simbola (Symbol Name Filter) vpišemo njegovo ime, nato se nam vpisano ime elementa prikaže pod Simboli (Symbols), potem z miško enkrat kliknemo na to ime in ga prenesemo desno

41 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 31 na delovni list. Za lažje razumevanje delovanja elementov si pomagamo tako, da kliknemo na Simbol info (Symbol Info), lahko pa tudi z desnim klikom miške na Simbol in izberemo iz menija Simbol (Symbol) Simbol info (Symbol Info). Za urejanje simbola izberemo Simbol (Symbol) Uredi simbol (Edit Symbol), kjer lahko simbolu uredimo vhodnoizhodne priključke, velikost in ime. Za dodajanje vhodno-izhodnih označevalcev kliknemo na Add I/O Marker ( ). Slika 3.12: Knjižnica za izbiro elementa 3.5 VHDL opis elementa Elementi, ki sestavljajo oddajno in sprejemno vezje, so v večini opisani v visokonivojskem jeziku VHDL, saj lahko na hiter in kompakten način naredimo kompleksne elemente ter zelo natančno simulacijo. Celotno vezje je prikazano shematsko, saj pregledno prikazuje relacije med posameznimi gradniki sekvenčnega vezja. Za VHDL element moramo pri ustvarjanju projekta v oknu za Izbira tipa vira (Select Source Type) izbrati VHDL Module (slika 3.6). Po oknu Izbira tipa vira (Select Source Type) se nam odpre okno Določite module (Define Module), kjer določimo vhodno-izhodne priključke vezja. Pod Ime vrat (Port Name) vpišemo imena vhodno-izhodnih priključkov, v našem primeru VH1, VH2, IZHOD, in pod Smer (Direction) določimo, kateri so vhodni (in) in kateri izhodni (out) priključki. V našem primeru sta VH1 in VH2 vhodna (in) priključka in IZHOD izhodni

42 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 32 (out) priključek (slika 3.13). V nekaterih primerih več signalov združujemo v vodila, za katere uporabljamo v jeziku VHDL vektorske podatkovne tipe: bit_vector in std_logic_vector. Velikost vektorjev določimo pri deklaraciji, kjer navedemo indekse spodje (LSB) in zgornje (MSB) meje. Najnižji bit ima običajno indeks 0 in se nahaja na desni strani, zato npr. 4-bitni vektor deklariramo kot»4 down to 0«. Slika 3.13: Določitev vhodno-izhodnih priključkov Sledi okno Povzetek (Summary) z lastnostmi ustvarjenega delovnega lista. S klikom na Končati (Finish) bo projekt navigator ustvaril novi vir z lastnostmi, ki smo jih izbrali: Dodati projektu (Add to Project), Vir imenika, kjer je projekt shranjen (Source Directory), Tip vira (Source Type), Ime vira (Source Name), Ime subjekta (Entity Name), Ime arhitekture (Architecture Name), Definicija vrat (Port Definitions). Nadaljevanje izvajamo po navodilih, ki so v poglavju Ustvarjanje novega projekta. Ko smo ustvarili svoj projekt, dobimo novi zavihek z imenom, ki smo si ga izbrali v oknu Izbira tipa vira (Select Source Type). V tem zavihku vidimo samodejno generirano predlogo VHDL jezika. Samodejno generirana predloga VHDL jezika je sestavljena iz dveh delov (slika 3.14): [4] V prvem delu (Entity) so opisani priključki vezja in ime datoteke. Vse to smo sami določili v oknu Določiti module (Define Module). V drugem delu (Architecture) je opisano delovanje vezja - med besedama Začeti (Begin) in Končati (End Behavioral) v arhitekturnem delu.

43 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 33 Slika 3.14: Samodejno generirana predloga VHDL jezika Z izpopolnjenim programom preverimo sintakso, in sicer preverimo, če je HDL koda pravilno vnesena in ali smo naredili kake tipkarske napake. V oknu Viri (Sources) izberemo željen element ali vezje, kateremu želimo preveriti sintakso. V oknu Postopek (Processes) z desnim klikom miške kliknemo Preveriti sintakso (Check Syntax) in izberemo Teči (Run) (slika 3.15), nato opazujemo pregled pravilnosti sintaks v oknu Prepis (Transcript). Popraviti moramo kakršnekoli napake; če nadaljujemo, ne da bi popravili napake, ne bomo mogli simulirati našega načrta.

44 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 34 Slika 3.15: Preverjanje sintaks Ko so vse sintakse pravilne, v oknu Postopek (Processes) izberemo Zasnova pripomočkov (Design Utilities) Ustvariti shematski simbol (Create Schematic Symbol) in nato z desnim klikom miške izberemo Teči (Run). Moramo tudi paziti, da imamo v oknu Viri (Sources) izbran naš element ali vezje. Ustvariti shematski simbol (Create Schematic Symbol) ustvari iz VHDL jezika element v shematski obliki (slika 3.16). Slika 3.16: Ustvarjanje shematskega elementa

45 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 35 Ko je element ustvarjen, ga najdemo, tako kot je opisano pri sliki 3.12 v poglavju Shematski vnos elementa. Na spodnji sliki 3.17 je prikazan ustvarjen element. Slika 3.17: Ustvarjen element 3.6 Inicializacija JTAG Pri inicializaciji je 2,5 V logika. S priključitvijo JTAG kabla pazimo, da je napajanje pravilno priključeno, saj lahko v nasprotnem primeru poškodujemo čip. Nato nastavimo pravilno konfiguracijo z logičnim stanjem treh vhodnih priključkov M0, M1 in M2. Povezava za inicializacijo JTAG mora biti M0, M1,M2 (1, 0, 1). Slika 3.18 prikazuje JTAG priključke. Slika 3.18: JTAG priključki [2] Ko smo povezali vezje z inicializacijskim kablom, gremo v okno Viri (Sources), kjer izberemo naše vezje. V oknu Postopek (Processes) izberemo Uporabnik omejitve (User Constraints) Dodeliti paket pinov (Assign Package Pins) in nato z desnim klikom miške izberemo Teči (Run) (slika 3.19).

46 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 36 Slika 3.19: Izbira vezja in dodelitev paketa pinov Požene se nam okno Xilinx PACE, kjer imamo okni Seznam vhodno-izhodnih pinov (Design Object List I/O Pins) in Načrt arhitekture (Device Architecture), v katerem vidimo načrt naše razvojne enote. Nato v seznamu vhodno-izhodnih pinov (Desing Object list I/O Pins) nastavimo pin lokacijo za vsak pin (Loc), banke (Bank), napetostne nivoje (I/O Std) in na vhodne pine (Termination) nastavimo Pulldown upore (slika 3.20). Ko končamo z nastavitvami, v oknu Seznam vhodno-izhodnih pinov (Desing Object list I/O Pins) zapremo okno Xilinx PACE; s tem ko smo zaprli okno Xilinx PACE, so se nam vse nastavitve shranile. Slika 3.20: Seznam vhodno-izhodnih pinov Če izberemo v oknu Postopek (Processes) Uporabnik omejitve (User Constraints) Uredi omejitve (besedila)(edit Constraints (Text)) in z desnim klikom miške kliknemo Teči (Run), se nam odpre predloga vhodno-izhodnih priključkov v tekstovni obliki (ucf datoteka) (slika 3.21).

47 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 37 Slika 3.21: Predloga vhodno-izhodnih priključkov v tekstovni obliki Sedaj izvedemo sintezo. V oknu Postopek (Processes) izberemo Sinteza (Synthesize XST), kliknemo desno na miški in izberemo Teči (Run). Med sintezo se HDL datoteke prevajajo v vrata in optimirajo za želeno oblikovanje. Procesi, ki so na razpolaga za sintezo z uporabo XST, so naslednji (slika 3.22): Poročilo o vpogledu v sintezo (View Synthesis Report). Vsebuje točen načrt sinteze in časovni povzetek ter seznam optimalnosti, ki so bile uporabljene. Pogled v RTL shemo (View RTL Schematic). Generira shematski pogled tvojega RTL mrežnega seznama. Vpogled v shemo tehnologije (View Technology Schematic). Generira shemo tehnologije mrežnega seznama. Proizvodnja postsintetičnega simulacijskega modela (Generate Post-Synthesis Simulation Model). Ustvari HDL simulacijske modele, ki bazirajo na mrežnem seznamu sintetiziranja.

48 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 38 Slika 3.22: Sinteza vezja Nato sledi izvedba načrta, ki v slučaju FPGA delovanja odkriva napake: prevajanja (Translate) povzemanja (Map) prostor in pot (Place & Route) V oknu Postopek (Processes) izberemo Izvedba načrta (Implement Design), kliknemo desno na miški in izberemo Teči (Run) (slika 3.23). Slika 3.23: Izvedba načrta Sledi izvedba konfiguracije nad programskimi datotekami za pošiljanje razvojni enoti. V oknu Postopek (Processes) izberemo Ustvariti programsko datoteko (Generate Programming File), kliknemo desno na miški in izberemo Teči (Run) (slika 3.24). Z uspešnim zaključkom konfiguracije dobimo datoteko s končnico.bit.

49 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 39 Slika 3.24: Ustvarjanje programske datoteke Sledi ustvarjanje PROM, ACE ali JTAG datoteke, in sicer v oknu Postopek (Processes) izberemo Ustvari programsko datoteko (Generate Programming File) Ustvari PROM, ACE ali JTAG datoteko (Generate PROM, ACE, or JTAG File), kliknemo desno na miški in izberemo Teči (Run) (slika 3.25). Med tem postopkom se lahko odpre pogovorno okno, kjer kliknemo Upadanje (Decline). Slika 3.25: Ustvarjanje PROM, ACE ali JTAG datoteke Odpre se nam okno Dobrodošli na impact (Welcome to impact), v katerem izberemo Configure device using Boundary-Scan (JTAG). Paziti moramo tudi, da izberemo Avtomatsko poveži kabel in identično Boundary-Scan verigo (Automatically connect to a cable and identify Boundary-Scan chain) (slika 3.26). impact nam omogoča še nasledje: Pripraviti PROM datoteko. Pripraviti sistem ACE datoteke. Pripraviti Boundary-Scan datoteko.

50 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 40 Slika 3.26: Nastavitev JTAG povezave Program Xilinx ISE se povezuje z razvojno enoto. Če dobimo sporočilo, da sta bili najdeni dve napravi, kliknemo OK za nadaljevanje. Ustvari se novi zavihek Boundary Scan, kjer se nam prikaže veriga programirnega vezja FPGA (xc3s100e) in EEPROM pomnilnik (xcf01s) (slika 3.27). Slika 3.27: Zavihek Boundary Scan

51 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 41 Z desnim klikom miške kliknemo na glavno programirno vezje FPGA (xc3s100e) in izberemo Določi novo konfiguracijsko datoteko (Assign New Configuration File). Pojavi se nam okno Določi novo konfiguracijsko datoteko (Assign New Configuration File). Za določitev konfiguracijske datoteke za xc3s100e napravo v JTAG verigi, izberemo našo datoteko s končnico *.bit in kliknemo Odpreti (Open) (slika 3.28). Če dobimo opozorilno sporočilo, kliknemo OK. Slika 3.28: Določitev nove konfiguracijsko datoteko Nato v zavihku Boundary Scan ponovno z desnim gumbom miške kliknemo na glavno programirno vezje FPGA (xc3s100e) in izberemo Program. Z izbiro Program vpišemo program v programirno vezje FPGA (xc3s100e). Odpre se okno Lastnosti programiranja (Programming Properties), ki pa jih ne spreminjamo; kliknemo OK, da programiramo napravo. Program se prek JTAG vmesnika prenese na razvojno enoto. Med prenašanjem programa se nam prikaže okno Napredek (Progress Dialog). Ko je programiranje končano, se v modrem okvirju pojavi sporočilo Program uspel (Program Succeeded) (slika 3.29).

52 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 42 Slika 3.29: Programiranje uspelo 3.7 Zapis programa na EEPROM Z uspešno inicializacijo JTAG nadaljujemo z zapisom na EEPROM. V oknu virov (Sources) izberemo zavihek Konfigurirati (Configuration) in v oknu Postopek (Processes) zavihek Postopek (Processes). Nato v oknu virov (Sources) dvakrat kliknemo na PROM File Formatter (slika 3.30). Slika 3.30: Zapis programa na EEPROM Odpre se okno Priprava PROM datotek (Propare PROM Files). V tem oknu nastavimo naslednje vrednosti (slika 3.31):

53 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 43 Pod Želim ciljati na (I want to target a), izberemo Xilinx PROM. Pod Oblika PROM datoteke (PROM File Format) izberemo MCS. V Ime PROM datoteke (PROM File Name) vtipkamo ime, kot si ga izberemo v oknu Izbira tipa vira (Select Source Type). Slika 3.31: Priprava PROM datoteke V oknu Specificirati Xilinx PROM napravo (Specify Xilinx PROM Device) nastavimo, koliko naprav bomo uporabljali. V našem primeru uporabljamo samo eno napravo. Kliknemo na Dodati (Add) in dodamo EEPROM, ki ga uporabljamo v programirnem vezju; v našem primeru xcf01s. Po kliku na Dodati (Add) se nam še enkrat odpre okno Specificirati Xilinx PROM napravo (Specify Xilinx PROM Device), vendar imamo sedaj pod Del imena (Part Name) naš EEPROM xcf01s, ki smo ga izbrali v prejšnjem oknu in ga dodali s klikom na Dodati (Add). Nato se pojavi okno Povzetek generacije datoteke (File Generation Summary) s podanimi podatki in če se strinjamo, kliknemo Končati (Finish). Vpraša nas, če smo pripravljeni dodati novo napravo. Kliknemo OK. V naslednjem oknu Dodati napravo (Add Device) izberemo našo datoteko s končnico *.bit in kliknemo Odpreti (Open) (slika 3.32).

54 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 44 Slika 3.32: Dodajanje naprave Kliknemo Ne (No), ko nas vpraša, če bi radi dodali še kakšno oblikovalsko datoteko k podatkovni bazi. Nato kliknemo OK za nadaljevanje. Dobimo novi zavihek (PROM File Formatter). V oknu Postopek (Proceses) izberemo zavihek Configuration Operations in dvakrat kliknemo Ustvariti datoteko (Generate File). Po uspešno končanem zapisovanju se nam v modrem okvirju prikaže besedilo Generacija PROM datoteke uspela (PROM File Generation Succeeded) (slika 3.33). Slika 3.33: Uspešno končano zapisovanje

55 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 45 Sedaj sprogramiramo še vezje v»flashu«, kar pomeni, da se bo naš program izvajal tudi po»resetu«razvojne enote. Izberemo datoteko Boundary Scan, v kateri izberemo ikono EEPROM xcf01s in z desnim klikom miške iz menija izberemo Določi novo konfiguracijsko datoteko (Assign New Configuration File). Odpre se okno Določi novo konfiguracijsko datoteko (Assign New Configuration File), v katerem izberemo našo datoteko s končnico *.mcs in kliknemo Odpreti (Open) (slika 3.34). Slika 3.34: Določitev nove konfiguracijske datoteke Nato z desnim klikom miške ponovno kliknemo na EEPROM xcf01s in iz menija izberemo Konfiguracijska datoteka (Assign New Configuration File). Odpre se okno Izberite napravo imena (Select Device Part Name), v kateri izberemo xcf01s_vo20 (slika 3.35). Slika 3.35: Izbira naprave

56 DELO S PROGRAMSKIM OKOLJEM XILINX ISE 46 Sedaj spet z desnim miškinim gumbom kliknemo na EEPROM (xcf01s) in izberemo Program. Z izbiro Program vpišemo le-tega v EEPROM (xcf01s). Program se zapiše v EEPROM in po uspešnem zaključku sporoči v modrem okvirju Program uspel (Program Succeded). Postopki nastavitve za uporabo podatkov iz EEPROM-a: Po opravljenem zapisu na EEPROM izklopimo razvojno enoto s stikalom. Nastavimo konfiguracijo z logičnim stanjem vhodnih priključkov M0, M1, M2, kjer mora biti povezava M0, M1, M2 (1, 1, 1). Nato nastavimo povezavo za branje iz EEPROM-a SD, D0, CD (0, 1, 1). Sedaj vklopimo razvojno enoto s stikalom.

57 SIMULATOR MODELSIM 47 4 SIMULATOR MODELSIM Simulator ModelSim najlažje uporabljamo tako, da ga poženemo iz programa Xilinx ISE, ker bo v tem primeru avtomatsko pognal skripto, ki prevede VHDL kodo,»starta«simulator in prenese vse signale v okno Tok signala (Waveform). Ko uspešno opravimo aplikacijo vezja, želimo preveriti oziroma opazovati delovanje, kar izvedemo s simulacijo vezja v ModelSim. Najprej v programu Xilinx ISE v oknu Viri (Sources) iz menija Viri za (Sources for) izberemo Simulacijo (Behavioval Simulation) (slika 4.1). Slika 4.1: Izbira menija Sledi preverjanje pravilnosti knjižnice, in sicer v oknu virov izberemo xc3s100e4vq100 in v oknu Postopek (Processes) zasnovo pripomočkov (Desing Utilities) Povzemanje HDL knjižnic simulacije (Compile HDL Simulation Libraries), nato kliknemo desno na miški in izberemo Ponovitev vseh (Rerun All) (slika 4.2). Povzemanje HDL simulacije (Compile HDL Simulation) je potrebno opraviti le prvič pri novem projektu. Drugače lahko vedno pristopamo neposredno k simulaciji. Povzemanje HDL knjižnic simulacije lahko poteka nekaj minut.

58 SIMULATOR MODELSIM 48 Slika 4.2: Povzemanje HDL knjižnic simulacije Nato za simulacijo izberemo željen element ali vezje v oknu Viri (Sources) ter v oknu Postopek (Processes) izberemo ModelSim simulator (ModelSim Simulator) Simulacija modela (Simulate Behavioral Model) in nato z desnim klikom miške izberemo Teči (Run) (slika 4.3). Slika 4.3: Zagon programa ModelSim

59 SIMULATOR MODELSIM 49 Odpre se nam program ModelSim z okni za izvajanje simulacije (slika 4.4): Delovno okno (Workspace). Predmeti (Objects). Prepis (Transcript). Slika 4.4: Program ModelSim Sedaj v oknu Prepis (Transkript) vnesemo pod ukazno vrstico VSIM 2>Restart (z malo pisavo) in Vstopiti (Enter). Odpre se nam okno Znova (Restart), kjer postavimo vse spremenljivke na začetek (slika 4.5). Slika 4.5: Postavitev vseh spremenljivk na začetek

60 SIMULATOR MODELSIM 50 Nato odpremo novi delovni vir, in sicer izberemo Datoteka (File) Nov (New) Okno (Window) Valovanje (Wave). Sedaj izberemo vhodne spremenljivke in jih prenesemo z miško iz okna Predmeti (Objects) v Valovanje (Wave1). Nato v oknu Valovanje (Wave1) z desno tipko na miški izberemo vhodno spremenljivko, kateri želimo ustvariti-spremeniti tok signala (Create/Modify Waveform) (slika 4.6). Slika 4.6: Ustvariti-spremeniti tok signala Odpre se okno Ustvariti vzorec čarovnika (Create Pattern Wizard), kjer določimo, kako dolgo se bo signal periodično ponavljal. Pod Čas začetka (Start Time) vpišemo začetek signala in pod Čas zaključka (End Time) zaključek signala, nato izberemo časovno enoto (Time Unit) (slika 4.7). Slika 4.7: Ustvariti vzorec čarovnika

61 SIMULATOR MODELSIM 51 Določimo uro vzorcu atributov (slika 4.8): Začetna vrednost (Initial Value). Ura periode (Clock Period), kjer izberemo tudi časovno enoto (Time Unit). Obratovalni ciklus (Duty Cycle), razmerje med visokim in nizkim logičnim nivojem. Slika 4.8: Ura vzorca atributov Sedaj v oknu Prepis (Transcript) vnesemo pod VSIM 6>Teči (Run) in željen čas opazovanja ter nato Vstopiti (Enter), npr: Run 500ns in Enter. S ponovnim izvajanjem simulacije je potrebno ponoviti (Restart). V primeru, da se signal prikaže v modri barvi ali s presledkom, pomeni, da gre za visoko impedančno stanje.

62 REZULTAT 52 5 REZULTAT Načrtovali smo časovni multiplekser 2:1, s programirljivim vezjem Spartan 3E XC3S100E, ki je generiran s periodo 2 s. V prvi polovici periode je bil aktiven prvi vhod A (4 bitna vrednost), v drugi polovici pa drugi vhod B (4 bitna vrednost). Na vsakem izmed vhodov smo imeli štiri stikala, s katerimi smo lahko nastavljali različne vhodne kombinacije. Glede na vhodno kombinacijo se je postavil izhod (4 bitna vrednost), ki smo ga prikazali s štirimi LED diodami. Periodo 2 s smo dosegli z delilnikom frekvence. Ker je osnovna frekvenca oscilatorja, uporabljenega na razvojni enoti, 50 MHz, smo morali to frekvenco deliti s Ta delilnik je realiziran v podvezju GEN_IZBIRA, kjer smo delilnik opisali v VHDL jeziku. Multiplekser 2:1 smo realizirali v podvezju MUX2NA1, ki smo ga prav tako opisali v VHDL jeziku. Definirali smo tudi ustrezne priključke, s katerimi smo povezali ustrezne vhodno-izhodne elemente na razvojni enoti. Slika 5.1 prikazuje blokovno shemo primera. Slika 5.1: Blokovna shema primera Najprej smo ustvarili nov projekt. V programu Xilinx ISE smo izbrali Datoteka (File) Novi projekt (New Projeckt).

63 REZULTAT 53 Nato se nam je odprlo okno Ustvarjanje novega projekta (Create New Project), v katerem smo pod Ime projekta (Project Name) vpisali PRIMER, ki se nam je posledično vpisoval v lokacijo projekta (Project Location). Sledilo je okno Lastnosti naprave (Device Properties), kjer smo izbrali lastnosti, kot prikazuje slika 3.5. V oknu Ustvarjanje novega vira (Create New Source) smo kliknili Novi vir (New Source). Sledilo je okno Izbira tipa vira (Select Source Type), v katerem smo izbrali tip Shematic in pod Ime datoteke (File Name) vpisali ime GL_VEZJE. Ko smo končali z ustvarjanjem projekta, je sledilo ustvarjanje podvezja; z desnim miškinim gumbom smo kliknili na GL_VEZJE v oknu Viri (Sources) in izbrali Novi vir (New Source). Nato smo v oknu Izbira tipa vira (Select Source Type) izbrali VHDL Module in pod Ime datoteke (File Name) vpisali GEN_IZBIRA. V oknu Določite module (Define Module) smo pod Ime vrat (Port Neme) vpisali ime vhodnega priključka CLK in izhodnega priključka IZBIRA ter jima določili smer (Direction) vhodni (in) in izhodni (out). Dobili smo samodejno generirano predlogo VHDL jezika, v katero smo vpisali predlogo generatorja, ki je generirala periodo T=2 s. Predloga generatorja s periodo T=2 s: signal stevec : integer range 0 to := 0; signal not_signal: STD_LOGIC :='0'; begin process (CLK) begin if rising_edge(clk) then if stevec = then stevec <= 0; not_signal <= not_signal xor '1'; IZBIRA <= not_signal; else stevec <= stevec + 1; end if; end if; end process; Nato smo preverili sintakso (Check Syntax) in ustvarili shematski element (Create Schematic Symbol). Zatem smo dali ustvarjen element v datoteko GL_VEZJE.

64 REZULTAT 54 Sledilo je ustvarjanje dodatnega podvezja; z desnim gumbom miške smo kliknili na GL_VEZJE v oknu Viri (Sources) in izbrali Novi vir (New Source). V oknu Izbira tipa vira (Select Source Type) smo izbrali VHDL Module in pod Ime datoteke (File Name) vpisali MUX2NA1. Nato smo v oknu Določite module (Define Module) pod Ime vrat (Port Name) vpisali imena vhodnih priključkov IZBIRA, VHA, VHB in izhodnega priključka IZHOD ter jim določili smeri (Direction) vhodni (in) in izhodni (out). Potem smo določili še velikosti priključkov VHA, VHB in IZHOD. Označili smo Bus pri omenjenih priključkih in vpisali 0 pri spodnji meji (LSB) in 3 pri zgornji meji (MSB), kar pomeni, da so ti priključki 4- bitni. Dobili smo samodejno generirano predlogo VHDL jezika, v katero smo vpisali predlogo multiplekser 2:1. Predloga multiplekserja 2:1: [6] process(vha,vhb,izbira) begin case IZBIRA is when '0' => IZHOD <= VHA; when '1' => IZHOD <= VHB; when others => NULL; end case; end process; Nato smo preverili sintakso (Check Syntax) in ustvarili shematski element (Create Schematic Symbol). Temu je sledil prenos ustvarjenega elementa v datoteko GL_VEZJE. Potem smo v datoteki GL_VEZJE povezali ustvarjena elementa in dodali vhodnoizhodne označevalce (Add I/O Marker ) ( kot prikazuje slika 5.2. ). Povezano vezje primera je izgledalo tako, Slika 5.2: Vezje primer

65 REZULTAT 55 Sledilo je določanje vhodno-izhodnih pinov glede na razvojno enoto za FPGA vezje Spartan 3E XC3S100E. Seznam vhodno-izhodni pinov (Desing Object list I/O Pins) je izgledal tako, kot prikazuje slika 5.3. Slika 5.3: Seznam vhodno-izhodnih pinov Sledilo je povezovanje razvojne enote s FPGA vezjem Spartan 3 XC3S100E in računalnik z JTAG inicializacijskim kablom (JTAG Programming Cable). Nato smo izvedli sintezo (Sinthesize-XST), izvedbo načrta (Implement Design) in ustvarili programsko datoteko (Generate Programming File). Sledilo je ustvarjanje PROM, ACE ali JTAG datoteke (Generate PROM, ACE or JTAG File). Odprlo se nam je okno Dobrodošli na impact (Welcome to impact), v katerem smo izbrali Configure device using Boundary-Scan (JTAG). Izbrati smo morali tudi Avtomatsko poveži kabel in identično Boundary-Scan verigo (Automatically connect to a cable and identify Boundary-Scan chain). Nato smo dobili zavihek Boundary Scan, kjer smo imeli verigo vezja z EEPROM-om (XCF01S) in FPGA vezjem (XC3S100E) (slika 5.4). Slika 5.4: Veriga vezja

Programirljiva logika

Programirljiva logika 7 Programirljiva logika Programirljiva logična vezja so elektronske komponente, v katerih s postopkom programiranja oz. konfiguracije oblikujemo digitalno vezje, da opravlja želeno funkcijo. Razlikujejo

More information

Tehnologija programirljivih vezij. Načrtovanje digitalnih el. sistemov. Programirljiva vezja (PLD) Programirljiva vezja (CPLD)

Tehnologija programirljivih vezij. Načrtovanje digitalnih el. sistemov. Programirljiva vezja (PLD) Programirljiva vezja (CPLD) Laboratorij za načrtovanje integriranih vezij Fakulteta za elektrotehniko Univerza v Ljubljani Tehnologija programirljivih vezij Andrej Trost Načrtovanje digitalnih el. sistemov 2. Tehnologija in gradniki

More information

Spartan-II Development System

Spartan-II Development System 2002-May-4 Introduction Dünner Kirchweg 77 32257 Bünde Germany www.trenz-electronic.de The Spartan-II Development System is designed to provide a simple yet powerful platform for FPGA development, which

More information

EEM Digital Systems II

EEM Digital Systems II ANADOLU UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EEM 334 - Digital Systems II LAB 3 FPGA HARDWARE IMPLEMENTATION Purpose In the first experiment, four bit adder design was prepared

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.

More information

Main Design Project. The Counter. Introduction. Macros. Procedure

Main Design Project. The Counter. Introduction. Macros. Procedure Main Design Project Introduction In order to gain some experience with using macros we will exploit some of the features of our boards to construct a counter that will count from 0 to 59 with the counts

More information

226V3L.

226V3L. 226V3L www.philips.com/welcome Kazalo vsebine 1. Pomembno...1......... 2. Namestitev monitorja...4...4...5... 3. Optimizacija slike...9...9...9...16... 5. Upravljanje napajanja...20 6. Informacije o predpisih...21...27......

More information

190V3.

190V3. 190V3 www.philips.com/welcome Kazalo vsebine 1. Pomembno...1......... 2. Namestitev monitorja...4...4...5...7 3. Optimizacija slike...9...9...9...16... 5. Upravljanje napajanja...21 6. Informacije o predpisih...22...28......

More information

AN ADVERTICING MODUL, DEVELOPED ON THE BASE OF A CPLD PROGRAMABLE DEVICE

AN ADVERTICING MODUL, DEVELOPED ON THE BASE OF A CPLD PROGRAMABLE DEVICE AN ADVERTICING MODUL, DEVELOPED ON THE BASE OF A CPLD PROGRAMABLE DEVICE Ivan Simeonov Simeonov Computer System and Technologies TU Gabrovo, 4 Hadji Dimitar St., (5300) Gabrovo, Bulgaria, Tel. +359 66

More information

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL School of Engineering, University of Guelph Fall 2017 1 Objectives: Start Date: Week #7 2017 Report Due Date: Week #8 2017, in the

More information

Main Design Project. The Counter. Introduction. Macros. Procedure

Main Design Project. The Counter. Introduction. Macros. Procedure Main Design Project Introduction In order to gain some experience with using macros we will exploit some of the features of our boards to construct a counter that will count from 0 to 59 with the counts

More information

MODERIRANA RAZLIČICA

MODERIRANA RAZLIČICA Državni izpitni center *N06124122* REDNI ROK ANGLEŠ^INA PREIZKUS ZNANJA Sreda, 10. maja 2006 NAVODILA ZA VREDNOTENJE NACIONALNO PREVERJANJE ZNANJA ob koncu 2. obdobja MODERIRANA RAZLIČICA RIC 2006 2 N061-241-2-2

More information

FPGA-BASED EDUCATIONAL LAB PLATFORM

FPGA-BASED EDUCATIONAL LAB PLATFORM FPGA-BASED EDUCATIONAL LAB PLATFORM Mircea Alexandru DABÂCAN, Clint COLE Mircea Dabâcan is with Technical University of Cluj-Napoca, Electronics and Telecommunications Faculty, Applied Electronics Department,

More information

CHAPTER 3 EXPERIMENTAL SETUP

CHAPTER 3 EXPERIMENTAL SETUP CHAPTER 3 EXPERIMENTAL SETUP In this project, the experimental setup comprised of both hardware and software. Hardware components comprised of Altera Education Kit, capacitor and speaker. While software

More information

Memec Spartan-II LC User s Guide

Memec Spartan-II LC User s Guide Memec LC User s Guide July 21, 2003 Version 1.0 1 Table of Contents Overview... 4 LC Development Board... 4 LC Development Board Block Diagram... 6 Device... 6 Clock Generation... 7 User Interfaces...

More information

Uporaba razvojnega okolja Arduino za izdelavo merilnega vozlišča na modulu ESP8266

Uporaba razvojnega okolja Arduino za izdelavo merilnega vozlišča na modulu ESP8266 Univerza v Ljubljani Fakulteta za elektrotehniko Matej Selan Uporaba razvojnega okolja Arduino za izdelavo merilnega vozlišča na modulu ESP8266 Diplomsko delo Mentor: doc. dr. Marko Meža, univ. dipl. inž.

More information

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA 1 ARJUNA RAO UDATHA, 2 B.SUDHAKARA RAO, 3 SUDHAKAR.B. 1 Dept of ECE, PG Scholar, 2 Dept of ECE, Associate Professor, 3 Electronics,

More information

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

FPGA Laboratory Assignment 4. Due Date: 06/11/2012 FPGA Laboratory Assignment 4 Due Date: 06/11/2012 Aim The purpose of this lab is to help you understanding the fundamentals of designing and testing memory-based processing systems. In this lab, you will

More information

COMPUTER ENGINEERING PROGRAM

COMPUTER ENGINEERING PROGRAM COMPUTER ENGINEERING PROGRAM California Polytechnic State University CPE 169 Experiment 6 Introduction to Digital System Design: Combinational Building Blocks Learning Objectives 1. Digital Design To understand

More information

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM) Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design Laboratory 3: Finite State Machine (FSM) Mapping CO, PO, Domain, KI : CO2,PO3,P5,CTPS5 CO2: Construct logic circuit using

More information

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress Nor Zaidi Haron Ayer Keroh +606-5552086 zaidi@utem.edu.my Masrullizam Mat Ibrahim Ayer Keroh +606-5552081 masrullizam@utem.edu.my

More information

Figure 1 Block diagram of a 4-bit binary counter

Figure 1 Block diagram of a 4-bit binary counter Lab 3: Four-Bit Binary Counter EE-459/500 HDL Based Digital Design with Programmable Logic Electrical Engineering Department, University at Buffalo Last update: Cristinel Ababei, August 2012 1. Objective

More information

Using the XSV Board Xchecker Interface

Using the XSV Board Xchecker Interface Using the XSV Board Xchecker Interface May 1, 2001 (Version 1.0) Application Note by D. Vanden Bout Summary This application note shows how to configure the XC9510 CPLD on the XSV Board to enable the programming

More information

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray SLAC-TN-10-007 Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department Darius Gray Office of Science, Science Undergraduate Laboratory Internship Program Texas A&M University,

More information

Remote Diagnostics and Upgrades

Remote Diagnostics and Upgrades Remote Diagnostics and Upgrades Tim Pender -Eastman Kodak Company 10/03/03 About this Presentation Motivation for Remote Diagnostics Reduce Field Maintenance costs Product needed to support 100 JTAG chains

More information

Spartan-II Development System

Spartan-II Development System 2002-May-4 Introduction Dünner Kirchweg 77 32257 Bünde Germany www.trenz-electronic.de The Spartan-II Development System is designed to provide a simple yet powerful platform for FPGA development, which

More information

VHDL Upgrading of a TNT2 card

VHDL Upgrading of a TNT2 card VHDL Upgrading of a TNT2 card 1) Get some JTAG programming device... 1 2) Download the software to program Xilinx Component : IMPACT... 2 3) Virtex s 3 EEPROM s upgrade... 2 4) Spartan s EEPROM upgrade...

More information

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique Dr. Dhafir A. Alneema (1) Yahya Taher Qassim (2) Lecturer Assistant Lecturer Computer Engineering Dept.

More information

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit: Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: This lab gives you more exercise in schematic entry, state machine design using the one-hot state method, further understanding

More information

Design of VGA Controller using VHDL for LCD Display using FPGA

Design of VGA Controller using VHDL for LCD Display using FPGA International OPEN ACCESS Journal Of Modern Engineering Research (IJMER) Design of VGA Controller using VHDL for LCD Display using FPGA Khan Huma Aftab 1, Monauwer Alam 2 1, 2 (Department of ECE, Integral

More information

University Program Design Laboratory Package

University Program Design Laboratory Package University Program Design Laboratory Package November 1999, ver. 1.02 User Guide Introduction The University Program Design Laboratory Package was designed to meet the needs of universities teaching digital

More information

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS IMPLEMENTATION OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS 1 G. Sowmya Bala 2 A. Rama Krishna 1 PG student, Dept. of ECM. K.L.University, Vaddeswaram, A.P, India, 2 Assistant Professor,

More information

LOGIČNI ANALIZATOR ZA VODILO CAN S SPLETNIM VMESNIKOM

LOGIČNI ANALIZATOR ZA VODILO CAN S SPLETNIM VMESNIKOM Univerza v Ljubljani Fakulteta za elektrotehniko Kristjan Saksida LOGIČNI ANALIZATOR ZA VODILO CAN S SPLETNIM VMESNIKOM Magistrsko delo Mentor: izr. prof. dr. Andrej Trost Ljubljana, 2015 Zahvala Zahvaljujem

More information

1. Synopsis: 2. Description of the Circuit:

1. Synopsis: 2. Description of the Circuit: Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: This lab gives you more exercise in schematic entry, state machine design using the one-hot state method, further understanding

More information

Digital Systems Design

Digital Systems Design ECOM 4311 Digital Systems Design Eng. Monther Abusultan Computer Engineering Dept. Islamic University of Gaza Page 1 ECOM4311 Digital Systems Design Module #2 Agenda 1. History of Digital Design Approach

More information

Tjaša Lemut Novak in Lea Sobočan

Tjaša Lemut Novak in Lea Sobočan ANGLEŠČINA ZAHTEVNEJŠE NALOGE ZA VSE, KI ŽELIJO ŠE VEČ Tjaša Lemut Novak in Lea Sobočan 8 ZBIRKA ZLATI ZNAM ZA VEČ ANGLEŠČINA 8 Zahtevnejše naloge za vse, ki želijo še več Avtorici: Tjaša Lemut Novak in

More information

OpenXLR8: How to Load Custom FPGA Blocks

OpenXLR8: How to Load Custom FPGA Blocks OpenXLR8: How to Load Custom FPGA Blocks Webinar Breakdown: Introduc*on to pseudorandom number generator (LFSR) code Review of Verilog wrapper interface to microcontroller Simula*on with Mentor Graphics

More information

Using the XC9500/XL/XV JTAG Boundary Scan Interface

Using the XC9500/XL/XV JTAG Boundary Scan Interface Application Note: XC95/XL/XV Family XAPP69 (v3.) December, 22 R Using the XC95/XL/XV JTAG Boundary Scan Interface Summary This application note explains the XC95 /XL/XV Boundary Scan interface and demonstrates

More information

COE758 Xilinx ISE 9.2 Tutorial 2. Integrating ChipScope Pro into a project

COE758 Xilinx ISE 9.2 Tutorial 2. Integrating ChipScope Pro into a project COE758 Xilinx ISE 9.2 Tutorial 2 ChipScope Overview Integrating ChipScope Pro into a project Conventional Signal Sampling Xilinx Spartan 3E FPGA JTAG 2 ChipScope Pro Signal Sampling Xilinx Spartan 3E FPGA

More information

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board Introduction This lab will be an introduction on how to use ChipScope for the verification of the designs done on

More information

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems

Lecture 6: Simple and Complex Programmable Logic Devices. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 6: Simple and Complex Programmable Logic Devices MEMORY 2 Volatile: need electrical power Nonvolatile: magnetic disk, retains its stored information after the removal

More information

Načrtovanje vgrajenih sistemov na čipu Xilinx Zynq

Načrtovanje vgrajenih sistemov na čipu Xilinx Zynq Univerza v Ljubljani Fakulteta za računalništvo in informatiko Luka Pirnat Načrtovanje vgrajenih sistemov na čipu Xilinx Zynq DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

LAB 3 Verilog for Combinational Circuits

LAB 3 Verilog for Combinational Circuits Goals To Do LAB 3 Verilog for Combinational Circuits Learn how to implement combinational circuits using Verilog. Design and implement a simple circuit that controls the 7-segment display to show a 4-bit

More information

Psevdonaključni podatkovni izvor z bitno hitrostjo 10 Gbit/s in dolžino zaporedja

Psevdonaključni podatkovni izvor z bitno hitrostjo 10 Gbit/s in dolžino zaporedja Original paper Journal of Microelectronics, Electronic Components and Materials Vol. 42, No. 2 (2012), 104 108 10 Gb/s 2 15-1 pseudo-random binary sequence generator Leon Pavlovič, Matjaž Vidmar and Sašo

More information

Syed Muhammad Yasser Sherazi CURRICULUM VITAE

Syed Muhammad Yasser Sherazi CURRICULUM VITAE Syed Muhammad Yasser Sherazi Date of Birth: 16th July 1982 Adress: Rydvagen 104A, 58431 Linköping, Sweden Cell: 0046762323697 E-post: smy_sherazi@yahoo.com Objective CURRICULUM VITAE To obtain a position

More information

Individual Project Report

Individual Project Report EN 3542: Digital Systems Design Individual Project Report Pseudo Random Number Generator using Linear Feedback shift registers Index No: Name: 110445D I.W.A.S.U. Premaratne 1. Problem: Random numbers are

More information

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques Madhavi Anupoju 1, M. Sunil Prakash 2 1 M.Tech (VLSI) Student, Department of Electronics & Communication Engineering, MVGR

More information

FPGA Implementation of DA Algritm for Fir Filter

FPGA Implementation of DA Algritm for Fir Filter International Journal of Computational Engineering Research Vol, 03 Issue, 8 FPGA Implementation of DA Algritm for Fir Filter 1, Solmanraju Putta, 2, J Kishore, 3, P. Suresh 1, M.Tech student,assoc. Prof.,Professor

More information

ASTRIX ASIC Microelectronics Presentation Days

ASTRIX ASIC Microelectronics Presentation Days ASTRIX ASIC Microelectronics Presentation Days ESTEC, Noordwijk, 4 th and 5 th February 2004 Matthieu Dollon matthieu.dollon@astrium.eads.net Franck Koebel franck.koebel@astrium.eads.net Page 1 - ESA 4

More information

196V4L.

196V4L. 196V4L www.philips.com/welcome Kazalo vsebine 1. Pomembno...1......... 2. Namestitev monitorja...4...4......7 3. Optimizacija slike...9...9...9...16... 5. Upravljanje napajanja...19 6. Informacije o predpisih...20...25...

More information

Microprocessor Design

Microprocessor Design Microprocessor Design Principles and Practices With VHDL Enoch O. Hwang Brooks / Cole 2004 To my wife and children Windy, Jonathan and Michelle Contents 1. Designing a Microprocessor... 2 1.1 Overview

More information

University Program Design Laboratory Package

University Program Design Laboratory Package University Program Design Laboratory Package October 2001, ver. 2.0 User Guide Introduction The University Program (UP) Design Laboratory Package was designed to meet the needs of universities teaching

More information

L12: Reconfigurable Logic Architectures

L12: Reconfigurable Logic Architectures L12: Reconfigurable Logic Architectures Acknowledgements: Materials in this lecture are courtesy of the following sources and are used with permission. Frank Honore Prof. Randy Katz (Unified Microelectronics

More information

FPGA Design with VHDL

FPGA Design with VHDL FPGA Design with VHDL Justus-Liebig-Universität Gießen, II. Physikalisches Institut Ming Liu Dr. Sören Lange Prof. Dr. Wolfgang Kühn ming.liu@physik.uni-giessen.de Lecture Digital design basics Basic logic

More information

SignalTap Plus System Analyzer

SignalTap Plus System Analyzer SignalTap Plus System Analyzer June 2000, ver. 1 Data Sheet Features Simultaneous internal programmable logic device (PLD) and external (board-level) logic analysis 32-channel external logic analyzer 166

More information

3. Configuration and Testing

3. Configuration and Testing 3. Configuration and Testing C51003-1.4 IEEE Std. 1149.1 (JTAG) Boundary Scan Support All Cyclone devices provide JTAG BST circuitry that complies with the IEEE Std. 1149.1a-1990 specification. JTAG boundary-scan

More information

of Boundary Scan techniques.

of Boundary Scan techniques. SMT TEHNOLOGY Boundary Scan Techniques for Test Coverage Improvement When discussing the JTAG protocol, most engineers immediately think of In System Programming procedures. Indeed, there are numerous

More information

AXALJ-TT: 3-žilni SN kabel z aluminijastim ekranom, izboljšana vodotesnost in pričakovana daljša življenjska doba

AXALJ-TT: 3-žilni SN kabel z aluminijastim ekranom, izboljšana vodotesnost in pričakovana daljša življenjska doba AXALJ-TT: 3-žilni SN kabel z aluminijastim ekranom, izboljšana vodotesnost in pričakovana daljša življenjska doba Karl-Johan Mannerback, Kristoffer Berglund 1 Prysmian Group Sweden * E-pošta: karl-johan.mannerback@prysmiangroup.com

More information

LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0

LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0 LogiCORE IP Spartan-6 FPGA Triple-Rate SDI v1.0 DS849 June 22, 2011 Introduction The LogiCORE IP Spartan -6 FPGA Triple-Rate SDI interface solution provides receiver and transmitter interfaces for the

More information

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System R. NARESH M. Tech Scholar, Dept. of ECE R. SHIVAJI Assistant Professor, Dept. of ECE PRAKASH J. PATIL Head of Dept.ECE,

More information

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY. GEORGE MASON UNIVERSITY Serial FIR Filter A Brief Study in DSP ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 Instructions: Zip all your deliverables into an archive .zip and submit it

More information

Image generator. Hardware Specification

Image generator. Hardware Specification Image generator [SVO-03] Rev. NetVision Co., Ltd. Update History Revision Date Note 2018/07/02 New File(Equivalent to Japanese version 1.2) S.Usuba i index 1. Outline... 1 1.1. features and specification

More information

Inside Digital Design Accompany Lab Manual

Inside Digital Design Accompany Lab Manual 1 Inside Digital Design, Accompany Lab Manual Inside Digital Design Accompany Lab Manual Simulation Prototyping Synthesis and Post Synthesis Name- Roll Number- Total/Obtained Marks- Instructor Signature-

More information

University Program Design Laboratory Package

University Program Design Laboratory Package University Program Design Laboratory Package August 1997, ver. 1 User Guide Introduction The University Program Design Laboratory Package was designed to meet the needs of universities teaching digital

More information

LAB 3 Verilog for Combinatorial Circuits

LAB 3 Verilog for Combinatorial Circuits Goals LAB 3 Verilog for Combinatorial Circuits Learn how to design combinatorial circuits using Verilog. Design a simple circuit that takes a 4-bit binary number and drives the 7-segment display so that

More information

EXOSTIV TM. Frédéric Leens, CEO

EXOSTIV TM. Frédéric Leens, CEO EXOSTIV TM Frédéric Leens, CEO A simple case: a video processing platform Headers & controls per frame : 1.024 bits 2.048 pixels 1.024 lines Pixels per frame: 2 21 Pixel encoding : 36 bit Frame rate: 24

More information

Using SignalTap II in the Quartus II Software

Using SignalTap II in the Quartus II Software White Paper Using SignalTap II in the Quartus II Software Introduction The SignalTap II embedded logic analyzer, available exclusively in the Altera Quartus II software version 2.1, helps reduce verification

More information

General: Catalog Description: Grading Policy: Course Code: COE 203 Title: Digital Logic Laboratory Co-requisite(s): COE 202 (Digital Logic Design)

General: Catalog Description: Grading Policy: Course Code: COE 203 Title: Digital Logic Laboratory Co-requisite(s): COE 202 (Digital Logic Design) King Fahd University of Petroleum & Minerals College of Computer Sciences and Engineering Department of Computer Engineering LAB Manual: COE 203: Digital Logic Laboratory (0-3-1) COE 203 Syllabus COE 203

More information

ATF15xx-DK3 Development Kit... User Guide

ATF15xx-DK3 Development Kit... User Guide ATF15xx-DK3 Development Kit... User Guide Table of Contents Section 1 Introduction... 1-1 1.1 CPLD Development/ Programmer Kit...1-1 1.2 Kit Contents...1-1 1.3 Kit Features...1-1 1.3.1 CPLD Development/Programmer

More information

DS099-E08 (v2.5) December 14, 2006

DS099-E08 (v2.5) December 14, 2006 DS099-E08 (v2.5) December 14, 2006 XC3S4000 and XC3S4000L FPGA Errata and Deviations from Spartan-3/3L Data Sheet Errata Notice These errata apply ONLY to Spartan-3 XC3S4000 and XC3S4000L FPGAs, including

More information

L11/12: Reconfigurable Logic Architectures

L11/12: Reconfigurable Logic Architectures L11/12: Reconfigurable Logic Architectures Acknowledgements: Materials in this lecture are courtesy of the following people and used with permission. - Randy H. Katz (University of California, Berkeley,

More information

AC : DIGITAL DESIGN MEETS DSP

AC : DIGITAL DESIGN MEETS DSP AC 2011-754: DIGITAL DESIGN MEETS DSP Christopher S Greene, University of Saint Thomas Christopher Greene received his Ph.D. in Electrical Engineering from the Massachusetts Institute of Technology (MIT)

More information

Lab 3: VGA Bouncing Ball I

Lab 3: VGA Bouncing Ball I CpE 487 Digital Design Lab Lab 3: VGA Bouncing Ball I 1. Introduction In this lab, we will program the FPGA on the Nexys2 board to display a bouncing ball on a 640 x 480 VGA monitor connected to the VGA

More information

AbhijeetKhandale. H R Bhagyalakshmi

AbhijeetKhandale. H R Bhagyalakshmi Sobel Edge Detection Using FPGA AbhijeetKhandale M.Tech Student Dept. of ECE BMS College of Engineering, Bangalore INDIA abhijeet.khandale@gmail.com H R Bhagyalakshmi Associate professor Dept. of ECE BMS

More information

Tools to Debug Dead Boards

Tools to Debug Dead Boards Tools to Debug Dead Boards Hardware Prototype Bring-up Ryan Jones Senior Application Engineer Corelis 1 Boundary-Scan Without Boundaries click to start the show Webinar Outline What is a Dead Board? Prototype

More information

CPE 329: Programmable Logic and Microprocessor-Based System Design

CPE 329: Programmable Logic and Microprocessor-Based System Design COMPUTER ENGINEERING PROGRAM California Polytechnic State University CPE 329: Programmable Logic and Microprocessor-Based System Design Laboratory 1 Revised 4/7/08 Digital Clock Design Using Programmable

More information

236V4.

236V4. 236V4 www.philips.com/welcome Kazalo vsebine 1. Pomembno...1......... 2. Namestitev monitorja...5...5...6...8 3. Optimizacija slike...10.........17... 5. Upravljanje napajanja...20 6. Informacije o predpisih...21...27......

More information

POVZETEK 7 ABSTRACT 9 1. UVOD OPREDELITEV PODROČJA IN OPIS PROBLEMA NAMEN, CILJI IN HIPOTEZE NALOGE 11

POVZETEK 7 ABSTRACT 9 1. UVOD OPREDELITEV PODROČJA IN OPIS PROBLEMA NAMEN, CILJI IN HIPOTEZE NALOGE 11 ZAHVALA Na tem mestu se zahvaljujem svojemu mentorju, izr. prof. dr. Iztoku Fajfarju, univ. dipl. inž. el., za njegovo nesebično pomoč pri usmerjanju vsebinskega in tehničnega dela ob nastajanju te diplomske

More information

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4) ECE 574: Modeling and synthesis of digital systems using Verilog and VHDL Fall Semester 2017 Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and

More information

Spartan-IIE LC Development Board User s Guide

Spartan-IIE LC Development Board User s Guide Spartan-IIE LC Development Board User s Guide Version 1.0 March 2003 PN# DS-MANUAL-2SELC Memec Design Development Kit Owners Certificate Thank you for purchasing your Memec Design development kit. As an

More information

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 2200

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 2200 DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 2200 Tutorial 1. Xilinx Integrated Software Environment (ISE) Tools Objectives: 1. Familiarize yourself with

More information

Mestna občina Celje Komisija Mladi za Celje HIŠNA AVTOMATIKA RAZISKOVALNA NALOGA. AVTOR Jakob Jug. MENTOR: Gregor KRAMER, univ. dipl. ing.

Mestna občina Celje Komisija Mladi za Celje HIŠNA AVTOMATIKA RAZISKOVALNA NALOGA. AVTOR Jakob Jug. MENTOR: Gregor KRAMER, univ. dipl. ing. Mestna občina Celje Komisija Mladi za Celje HIŠNA AVTOMATIKA RAZISKOVALNA NALOGA AVTOR Jakob Jug MENTOR: Gregor KRAMER, univ. dipl. ing. Celje, marec 2011. 1 ŠOLSKI CENTER CELJE Srednja šola za kemijo,

More information

Radar Signal Processing Final Report Spring Semester 2017

Radar Signal Processing Final Report Spring Semester 2017 Radar Signal Processing Final Report Spring Semester 2017 Full report report by Brian Larson Other team members, Grad Students: Mohit Kumar, Shashank Joshil Department of Electrical and Computer Engineering

More information

LUT Optimization for Memory Based Computation using Modified OMS Technique

LUT Optimization for Memory Based Computation using Modified OMS Technique LUT Optimization for Memory Based Computation using Modified OMS Technique Indrajit Shankar Acharya & Ruhan Bevi Dept. of ECE, SRM University, Chennai, India E-mail : indrajitac123@gmail.com, ruhanmady@yahoo.co.in

More information

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies 8 Nov 25 Testing and Programming PCBA s JTAG Technologies The importance of Testing Don t ship bad products to your customers, find problems before they do. DOA s (Death On Arrival) lead to huge costs

More information

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL K. Rajani *, C. Raju ** *M.Tech, Department of ECE, G. Pullaiah College of Engineering and Technology, Kurnool **Assistant Professor,

More information

Design of VGA and Implementing On FPGA

Design of VGA and Implementing On FPGA Design of VGA and Implementing On FPGA Mr. Rachit Chandrakant Gujarathi Department of Electronics and Electrical Engineering California State University, Sacramento Sacramento, California, United States

More information

ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis

ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis 1) Start the Xilinx ISE application, open Start All Programs Xilinx ISE 9.1i Project Navigator or use the shortcut on

More information

2.6 Reset Design Strategy

2.6 Reset Design Strategy 2.6 Reset esign Strategy Many design issues must be considered before choosing a reset strategy for an ASIC design, such as whether to use synchronous or asynchronous resets, will every flipflop receive

More information

Using HERON modules with FPGAs to connect to FPDP

Using HERON modules with FPGAs to connect to FPDP HUNT ENGINEERING Chestnut Court, Burton Row, Brent Knoll, Somerset, TA9 4BP, UK Tel: (+44) (0)1278 760188, Fax: (+44) (0)1278 760199, Email: sales@hunteng.co.uk www.hunteng.co.uk www.hunt-dsp.com Using

More information

BABAR IFR TDC Board (ITB): system design

BABAR IFR TDC Board (ITB): system design BABAR IFR TDC Board (ITB): system design Version 1.1 12 december 1997 G. Crosetti, S. Minutoli, E. Robutti I.N.F.N. Genova 1. Introduction TDC readout of the IFR will be used during BABAR data taking to

More information

CoLinkEx JTAG/SWD adapter USER MANUAL

CoLinkEx JTAG/SWD adapter USER MANUAL CoLinkEx JTAG/SWD adapter USER MANUAL rev. A Website: www.bravekit.com Contents Introduction... 3 1. Features of CoLinkEX adapter:... 3 2. Elements of CoLinkEx programmer... 3 2.1. LEDs description....

More information

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies 6 Dec 24 Testing and Programming PCBA s JTAG Technologies The importance of Testing Don t ship bad products to your customers, find problems before they do. DOA s (Death On Arrival) lead to huge costs

More information

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit) Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics

More information

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3.

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3. International Journal of Computer Engineering and Applications, Volume VI, Issue II, May 14 www.ijcea.com ISSN 2321 3469 Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol

More information

UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko. Robert Urankar. Pametni rastlinjak DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA

UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko. Robert Urankar. Pametni rastlinjak DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Robert Urankar Pametni rastlinjak DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA Mentor: doc. dr. Gorazd Karer Ljubljana, 2014 Zahvala Zahvaljujem se

More information

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files DE2-115/FGPA README For questions email: jeff.nicholls.63@gmail.com (do not hesitate!) This document serves the purpose of providing additional information to anyone interested in operating the DE2-115

More information

I, you, we, they + have + glagol v 3. obliki. He, she, it + has + glagol v 3. obliki

I, you, we, they + have + glagol v 3. obliki. He, she, it + has + glagol v 3. obliki PEVERJANJE ZNANJA 4.letnik Headway Intermediate Units 7, 8 and 9 1. Put the verb in brackets into PRESENT PERFECT SIMPLE or PAST SIMPLE Present Perfect simple primer: I've lived in Texas for six years

More information

Configuring FLASHlogic Devices

Configuring FLASHlogic Devices Configuring FLASHlogic s April 995, ver. Application Note 45 Introduction The Altera FLASHlogic family of programmable logic devices (PLDs) is based on CMOS technology with SRAM configuration elements.

More information

LAB #6 State Machine, Decoder, Buffer/Driver and Seven Segment Display

LAB #6 State Machine, Decoder, Buffer/Driver and Seven Segment Display LAB #6 State Machine, Decoder, Buffer/Driver and Seven Segment Display LAB OBJECTIVES 1. Design a more complex state machine 2. Design a larger combination logic solution on a PLD 3. Integrate two designs

More information