Digitális technikai alapáramkörök labormérése

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Digitális technikai alapáramkörök labormérése"

Átírás

1 Digitális technikai alapáramkörök labormérése 1

2 Copyright-oldal Óbudai Egyetem - Neumann János informatikai Kar CONTENTS 1 Bevezetés 3 2 A mérés során használt eszközök Spartan 3 FPGA család Kapcsolómátrix Órajel Konfigurálható logikai blokk Lookup table (LUT) Erőforrások Digilent Basys TM 2 Spartan-3E FPGA Board Xilinx ISE fejlesztő rendszer Első mintafeladat elkészítése kapcsolási rajz alapú tervezés Beállítások Kapcsolási rajz készítése Alkatrészek Jel és busz vezetékek A kapcsolás ellenőrzése szimulációval Makró hozzáadása meglévő projekthez Példa kapcsolási rajz alapú makró készítésére Kapcsolási rajz alapú saját makró módosítása Kapcsolási rajz alapú saját makró hozzáadása projekthez VHDL alapú saját makró hozzáadása projekthez Kapcsolási rajz elkészítése a makró használatával A kapcsolás hardveres ellenőrzése A konfigurációs fájl letöltése az FPGA-ba Az órajel bemenet prellmentesítése Egyszerű kombinációs hálózatok Multiplexer, demultiplexer Multiplexer Latch Korrekt flip-flop órajel engedélyezés Demultiplexer Laborfeladat Kódolók Komparátorok (Magnitude Comparators) Enkóderek

3 Prioritáskódoló (priority encoder) Dekóder Laborfeladat Összeadó áramkör Teljes összeadó (full adder) BCD összeadó Laborfeladat Aritmetikai és Logikai Egység (ALU) ALU blokkvázlata ALU műveletvégző egységei Laborfeladat Shift regiszter Léptető regiszterek Egyéb alkalmazások shift-regiszterrel Négybites CPU tervezés Bevezetés Számítógépes architektúrák Utasításkészlet A labormérés alatt megépítendő CPU architektúrája A CPU utasításainak felépítése Laborfeladat Órajel forrás, programszámláló, utasításregiszter, kijelzés ALU és regiszterek Kimeneti regiszterek, memória, ugró utasítás Programkód írás References 77 1 BEVEZETÉS A könyv bevezetést kíván nyújtani a digitális áramkörök tervezésébe, célja a tervezési lehetőségek minél szélesebb körben való ismertetése. Manapság több módja is van az áramkörtervezésnek. A következőkben az FPGA alapú digitális áramkörtervezéshez szükséges ismeretekkel és eszközökkel ismerkedhetünk meg. Ismertetésre kerül a XILINX cég SPARTAN 3 FPGA családja és a hozzá kiadott fejlesztői környezet. Valamint egy Basys 2 nevű FPGA fejlesztői kártya, aminek segítségével a megszerzett tudás kipróbálására is lehetőség nyílik. A tananyag végén egy összetettebb projekt keretén belül, négybites CPU tervezésére és szimulációjára kerül sor.

4 4 2 A MÉRÉS SORÁN HASZNÁLT ESZKÖZÖK A következő részben az FPGA alapú tervezés alapjainak elsajátításához szükséges eszközök és szoftverek kerülnek ismertetésre. Természetesen a felsoroltak csak egy lehetőség, sok gyártó sokféle FPGA családot forgalmaz a különböző feladatok megoldására, valamint a tervezőszoftverekből is igen sokféle létezik. 2.1 Spartan 3 FPGA család A Xilinx cég a 90 nm-es technológiával készült Spartan-3 FPGA családot olcsó, közepes bonyolultságú digitális áramkörök megvalósítására tervezte. A felhasználó a családon belül rengeteg különböző méretű, tulajdonságú és tokozású eszköz közül választhat igényeinek és az adott alkalmazásnak megfelelően. A Spartan-3 család öt alapvető programozható funkcionális elemből épül fel (1. ábra): Konfigurálható logikai blokkok (CLB-k): Logikai függvények és tároló funkció megvalósítására alkalmas elem. Input/Output blokkok (IOB-k): A be- és kimenetek (a külvilág) valamint a belső logika elemek közötti adatáramlást valósítják meg. Lehetővé teszik a kétirányú és háromállapotú (tri-state) interfészek valamint különböző szabványú és feszültségszintű digitális jelek illesztését. Blokk RAM: Adattárolásra alkalmas memória elem. Szorzó blokk (Multiplier): Két 18-bites bináris szám gyors összeszorzására alkalmas egység. Digitális órajel menedzser blokk (DCM): Az órajelek kezelésére szolgáló programozható egység. Szolgáltatásai: késleltetés, frekvencia szorzás-osztás, fázistolás. Fig. 1. A Spartan-3 család belső felépítése [2]

5 Kapcsolómátrix Az FPGA-n belül egy sűrű vezetékhálózat biztosítja az egyes elemek közötti kapcsolatot. A funkcionális blokkok programozható összeköttetéseken (kapcsoló mátrix) keresztül kapcsolódnak a vezetékhálózathoz. Az FPGA programja (konfigurációja) tulajdonképpen a funkcionális blokkok vezérlőjeleit valamint a kapcsolómátrixok állapotát határozza meg, vagyis, hogy a belső vezetékhálózaton keresztül mely egységek kerüljenek egymással összeköttetésbe. A programot az FPGA-n belül statikus konfigurációs memória tárolja, amelyet a tápegység bekapcsolása után a kívánt logikai funkciónak megfelelő adattal fel kell tölteni. A feltöltés történhet külső PROM-ból, külső mikroprocesszoron keresztül, vagy JTAG interfészen keresztül. A konfigurációs adat előállítását, a konfigurációs memóriák feltöltését, valamint a JTAG interfészen történő programozást a gyártó saját Xilinx ISE programcsomagja támogatja Órajel Az órajelek FPGA-n belüli elosztásáért speciális belső vezetékhálózat felelős, amely a flip-flopok és egyéb órajeles működésű egységek órajel bemeneteihez kapcsolódik. Az órajel hálózathoz speciális bemeneti blokk (GCLK) és meghajtó-multiplexer (BUFGMUX) tartozik. A hálózatra kerülő órajelet a multiplexer választja ki a GCLK bemenetről vagy a DCM valamelyik kimenetéről (2. ábra). Fig. 2. Az órajel hálózat részei [1] Az FPGA-n belül megengedett, hogy egy flip-flop egy általános felhasználású bemenetről vagy belső vezetékről kapja az órajelét, a nagy-sebességű szinkron működés biztosítása érdekében azonban ez nem javasolt Konfigurálható logikai blokk A konfigurálható logikai blokkok (CLB-k) az elsődleges építő elemei az FPGA-ban felépített kombinációs vagy szinkron sorrendi hálózatoknak. A CLB-k egymással összeköttetésben lévő szeletekből (SLICE) épülnek fel (3. ábra). A szeletek, típustól függően logikai és memória funkciót (SLICEM) vagy csak logikai funkciót (SLICEL) láthatnak el (4. ábra). Mindkét szelet tartalmazza az alábbi összetevőket: Két 4-bemenetű LUT Két tároló elem

6 6 Fig. 3. A szeletek elhelyezkedése a CLB-ben [2] Két multiplexer Carry és aritmetikai logika A SLICEM szeletek további összetevői: Két 16x1 bit RAM blokk két 16-bites shift-regiszter Fig. 4. A szeletek összetevői [2] Lookup table (LUT) A számítógép (sőt számológép) előtti időkben a bonyolultabb függvényeket egy könyv alakban kinyomtatott táblázat segítségével számították ki, ahol a függvény értékei bizonyos felbontásban és pontossággal voltak megadva, és a táblázatban megadott értékek között lineáris interpolációval számoltak (logaritmustáblák, trigonometrikus függvények, stb.). A megfelelő értékek kikeresése sokkal gyorsabb volt, mint a függvény valamilyen képlettel történő közelítő kiszámítása. Természetesen, valakiknek előzőleg ki kellett számolni a táblázat értékeit, sokszor sok-sok éves munkával. A számítástechnikában a használata azon alapul, hogy egy előre feltöltött tárolóból

7 7 rendszerint sokkal gyorsabban lehet az adatokat kiolvasni, mint azokat valamilyen algoritmussal kiszámolni. A fixpontos és lebegőpontos aritmetikákban is használnak LUT-ot a kezdeti pontosságú érték előállítására, a végső pontosságot már számítással érik el. Az FPGA CLB blokkjában a LUT az adott logikai függvény értékeit tartalmazza, amit a fordítóprogram a logikai rajz alapján állít elő és tárol el benne. 4 bemeneti változó esetén az összes lehetséges logikai függvény száma 64K. A következő példa az alábbi háromváltozós logikai függvény Look-Up-Table lel történő megvalósítását láthatjuk. Y (A, B, C) = ĀB C + A B C + AB C A függvény igazságtáblázata: A B C Y Fig. 5. LUT Erőforrások Az FPGA erőforrásai (CLB, IOB, DCM, RAM és a szorzó) közötti kapcsolatot a kapcsoló mátrixok biztosítják (6. ábra). A kapcsoló mátrixok a belső vezetékhálózatra

8 8 kapcsolódnak, ami horizontálisan és vertikálisan az egész FPGA-t lefedi, így bizonyos megkötésekkel bármely elem bármelyik másikkal összeköttetésbe hozható (6. ábra, 7. ábra). Fig. 6. Kapcsoló mátrix összeköttetések [2] Fig. 7. A részegységek FPGA-n belüli tömbszerkezete [2] A Spartan-3 családról további információ a gyártó honlapján érhető el: Digilent Basys TM 2 Spartan-3E FPGA Board A mérés során a SPARTAN-3E típust tartalmazó demonstrációs panelt (Digilent Basys TM 2 Spartan-3E FPGA Board) fogjuk használni (8. ábra). A fejlesztőkártya paraméterei a következőek: Xilinx Spartan-3E FPGA, kapu 18-bites szorzók, 72Kbits dual-port block RAM USB 2 port az FPGA konfigurálásához (ingyenes Adept 2.0 szoftverrel) XCF02 Platform Flash ROM az FPGA konfiguráció tárolásához Programozható frekvenciájú oszcillátor (25, 50, and 100 MHz), egy további foglalat kvarc- oszcillátorhoz

9 9 Stabilizált tápegységek (1.2V, 2.5V, and 3.3V) 8 LED, 4 db. hétszegmenses kijelző, 4 nyomógomb, 8 kapcsoló, PS/2 port, VGA port Felhasználói I/O csatlakozók Fig. 8. Digilent Basys TM 2 Spartan-3E FPGA panel [3] A panelt a hozzá tartozó USB kábel segítségével csatlakoztatjuk a PC-hez. Bár lehetőség van külső tápforrás bekötésére, a tápellátás és a programozás is az USB kábelen keresztül történik. A panel be- és kikapcsolása az SW8 jelű kapcsolóval végezhető. A programozásához szükséges (.bit kiterjesztésű) konfigurációs állományt amelyet a későbbiekben ismertetett Xilinx ISE fejlesztő rendszerrel állítunk elő a panel gyártója által ingyenesen hozzáférhető Adept segédprogram segítségével tölthetjük le közvetlenül az FPGA-ba, vagy a hozzá kapcsolódó külső konfigurációs PROM-ba (Platform Flash). A program kezelői felületét az alábbi ábrán látható (9. ábra). A közvetlenül az FPGA-ba töltött konfiguráció a tápfeszültség kikapcsolása után törlődik, a következő bekapcsolást követően az FPGA a Platform Flash-ben tárolt állomány szerint konfigurálódik fel automatikusan. A négy nyomógomb bemenet alapállapotban logikai 0 (L) szinten van. Logikai 1 szint (H) a gomb megnyomásával adható a bemenetekre. A nyolc kapcsoló konstans L vagy H szintet ad a hozzájuk tartozó bemenetekre. A nyolc LED a hozzájuk tartozó kimenetek logikai 1 szintje esetén világítanak (10. ábra). A négy hétszegmenses kijelző szegmensei és a tizedes pont multiplexált módban vezérelhetők. A CA, CB, CC, CD, CE, CF, CG és DP jelekkel a szegmenseket és a tizedes pontot kapcsolhatjuk ki/be. Az AN0, AN1, AN2 és AN3 jelekkel választhatjuk ki, hogy a négy kijelző közül melyikre vonatkoznak a szegmenseket vezérlő jelek. A vezérlő és kiválasztó jelek megfelelően gyors egymás utáni kapcsolgatásával négydigites számokat jelezhetünk ki.

10 10 Fig. 9. Az Adept program konfigurációs felülete Fig. 10. Kapcsolók, nyomógombok és hétszegmenses kijelzők [3] 3 XILINX ISE FEJLESZTŐ RENDSZER A Xilinx ISE WebPack (Integrated Software Environment integrált szoftverkörnyezet) a Xilinx cég FPGA-ihoz és CPLD-ihez kifejlesztett ingyenes szoftvere, amely az internetről,

11 11 a cég weboldaláról szabadon letölthető. A fejlesztőrendszer tartalmazza mindazon elemeket, amelyek kapcsolási rajz alapú és hardverleíró nyelv alapú fejlesztéshez szükségesek. A mérési segédlet bevezetést kíván nyújtani az áramkörök tervezésébe, célja a tervezési lehetőségek minél szélesebb körben való ismertetése. Elmélyülésre a korlátozott laboridő miatt saját munkával, illetve a konzultációk alatt van lehetőség. A mérések sikeres elvégzését nagymértékben segíti a mérést előkészítő előadás anyagának elsajátítása. Az ISE tervező rendszer alrendszereinek, részeinek működését a Project Navigator szoftver, az ISE keretprogramja fogja össze (11. ábra). Fig. 11. A tervezés menete [1] A tervező az elképzeléseit, terveit: beviheti kapcsolási rajz (Schematic) formájában, a kapcsolási rajz készítő és beviteli program segítségével. beviheti hardver leíró nyelven. Ezt a HDL editor rész támogatja. A támogatott nyelvek: Verilog és VHDL. A rendszer sok mintaleírást is tartalmaz, úgynevezett sablonok (template) formájában. A bevitel utáni az ellenőrzéssel megbizonyosodunk arról, hogy a terv szerinti áramkör működése megfelel-e a feladat specifikációjának. Az ellenőrzés általában szimulációval történik. A WebPACK rendszer szimulátora a Xilinx ISE Simulator. A szimulációs

12 12 vizsgálathoz a modellt működtetni, "gerjeszteni" kell, azaz a modell bemeneteire megfelelően változó jeleket kell adni. Ez az úgynevezett tesztvektorok sorozatának ráadásával történik. A tesztvektorokat a tervező HDL leírással adhatja meg (testbench). A régebbi ISE verziókban rendelkezésre álló grafikus felület az újabb verziókban már nem érhető el. Ha a tervet rendben találtuk, akkor következhet a szintézis, amit jelen esetben a Xilinx Synthesis Technology (XST) alrendszer végez, amely ugyancsak az ISE része. A szintézer a HDL leírásból előállít egy minimalizált és optimalizált huzalozási listát, amely az adott FPGA primitíveket (LUT, FF... ) és a köztük levő kapcsolatokat tartalmazza. Ezt követik a Translate, a Map és a Place&Route fázisok (összefoglalva: implementáció). A Translate a huzalozási listákból és a felhasználói megkötésekből (constraint-ek) generál egy fájlt, a Map leképezi ezt az adott FPGA primitív-készletére, végül a Place&Route elhelyezi a primitíveket az eszközben és kialakítja a köztük levő fizikai huzalozást. A programozói fájl előállítását követő programozást normál esetben ("égetés") az IMPACT alrendszer vezérli. A mérések során használt demonstrációs panelhez a panel gyártója saját programozói felületet biztosít. 3.1 Első mintafeladat elkészítése kapcsolási rajz alapú tervezés A Xilinx ISE WebPack segítségével hozzunk létre egy egyszerű példaprogramot a gyakorlópanelen található LED-ek, kapcsolók és nyomógombok tesztelésére! A program ikonjára kattintva, vagy a Start menüből indítsuk el a Xilinx ISE Design Suite ISE Design Tools 32-bit Project Navigator-t. A mintapélda projekt létrehozásához a File menüben válasszuk a New Project parancsot, és töltsük ki a párbeszédablakot az alábbi módon (12. ábra). Az ISE fejlesztő környezetben kerülni kell a fájlnevekben és a könyvtárszerkezetben a különleges karaktereket (ékezet, szóköz, vessző, pont, stb). A fájlok, könyvtárak lenevezésekor csak az angol ABC betüit használjuk! A Project Name legyen "proba". A rendszer automatikusan létrehoz egy ilyen nevű mappát a Project Location mezőben megadott elérési útnak megfelelően. Az ISE a projekthez tartozó állományokat ebbe a mappába fogja menteni. Top-Level Module Type mezőben a legördülő ablakból válasszuk a Schematic-ot. A Next gombra kattintás után megjelenik a New Project Wizard, a Project Settings táblába írhatunk be paramétereket, válasszuk a próbapanelhez tartozó alábbi értékeket: Family: Spartan3E Device: XC3S100E Package: CP132 Speed : -4 Synthesis Tool: XST (VHDL/Verilog) Simulator: ISim (VHDL/Verilog) A többi paramétert most nem kell változtatnunk. A Next gombra kattintva megjelennek a készülő projekt adatai. A Finish gombra kattintva elkészül a még üres

13 13 Fig. 12. Új projekt létrehozása próba projekt. Új modul létrehozásához a Project menüben kattintsunk a New Source parancsra, és válasszuk a Schematic típusú forrást. A létrehozandó modul neve legyen "teszt", amit a File name ablakba kell beírni, és jelöljük ki az Add to Project opciót. A Next majd Finish gombra kattintás után egy üres kapcsolási rajz szerkesztő jelenik meg, amiben elkészíthetjük a próbaalkalmazást. A View menüpont Panel alpontjában kijelölhetjük, hogy a szerkesztő ablakban mely segédablakok jelenjenek meg. Egyelőre hagyjuk meg az alapértelmezés szerinti beállításokat. A jobb oldalon a rajzlap, a bal oldalon a Select Options jelenik meg. Itt a rajzolással kapcsolatos néhány paramétert állíthatunk be. Általában a képernyő az alábbi részekre van osztva (13. ábra, 14. ábra). Alul a Consol látható, ahol a parancsok szöveges formában jelennek meg Beállítások A projekt elkészítése után célszerű néhány beállítást elvégezni. A "Designe" fül, "Generate Programing File" elemére jobb gombbal kattintsunk és válasszuk ki a "Process Properties" opciót. Először állítsuk be, hogy az FPGA nem használt portjai alapértelmezetten bemenetek legyenek (15. ábra), így például az olyan nem használt I/O portok, ahol a hétszegmenses kijelző helyezkedik el, biztosan nem fog vezérlést kapni. A következő lépésben állítsuk be az "FPGA Start-Up Clock" opciót "JTAG Clock-ra"

14 14 Fig. 13. Új projekt létrehozása Fig. 14. A Project Navigator részei 16. ábra. Ennek letöltéskor van szerepe.

15 15 Fig. 15. Bit file - nem használt bemenetek Fig. 16. Bit file - órajel forrás Kapcsolási rajz készítése A tesztalkalmazásban egy T-tárolókból felépített 4-bites bináris számláló kapcsolást valósítunk meg. A számláló kimeneti bitjei a panelen található LED-eket hajtják meg, így ellenőrizhető a kapcsolás működése. A számlálót a Basys 2 FPGA fejlesztő kártyán található SW0 kapcsolóval engedélyezzük, a BTN0 nyomógombbal pedig nullázhatjuk. A segédablakok közül válasszuk a Symbols fület, ennek segítségével helyezhetjük el a kapcsolási rajzban használt alkatrészeket (17. ábra), felül a kategória, alatta a hozzátartozó egyik elem kiválasztásával: FTCE: Engedélyezhető T-flip-flop (4 db, a négybites számlálóhoz) AND3, AND2: három, ill. két bemenetű ÉS kapuk (a bemeneti kombinációs hálózathoz) PULLUP: Pozitív tápfeszültség (logikai magas jelszint (H)) PULLDOWN: Földpont (logikai alacsony jelszint (L)) CONSTANT: Jelnek vagy busznak konstans értékadás. IBUF: Egybites bemeneti buffer, csak bemeneti port után helyezhető el (több bites változatai: IBUF4, IBUF8, IBUF16) OBUF: Egybites kimeneti buffer, csak kimeneti port elé helyezhető el (több bites változatai: OBUF4, OBUF8, OBUF16) Az alkatrészek megkeresése történhet kategóriák (Categories) alapján, de használhatjuk a névkeresőt is (Symbol Name Filter). Az alkatrészek forgatását az Orientation mezőben

16 16 állíthatjuk be. Fig. 17. A Symbols segédablak és a használt alkatrészek Az alkatrészek huzalozásakor a következő parancsokat, ill. parancsikonokat fogjuk használni: Select ( ): Kiválasztás/mozgatás. Add Wire ( ): Vezeték hozzáadása. Add Net Name ( ): Vezetékezés elnevezése. Rename Selected Bus ( ): A kijelölt busz átnevezése. Add Bus Tap ( ): Buszos vonalra csatlakozás hozzáadása. Add I/O Marker ( ): Be-, kimeneti pontok hozzáadása. Add Symbol ( ): Szimbólum (alkatrész, könyvtári, vagy saját) hozzáadása. Mindegyik művelethez a bal alsó ablakban (Process/Options) találunk beállítási lehetőségeket, illetve műveleteket. A kényelmesebb szerkesztés érdekében megnövelhetjük a lap méretét is. Ezt a rajz területen jobb kattintásra felugró Object

17 17 Properties parancs kiválasztásával tehetjük meg. A megjelenő ablakban a Sheets sort kiválasztva módosíthatjuk a lap méretét (Size) Alkatrészek Alkatrészeket (logikai kapuk, kombinációs -és sorrendi alapáramkörök,...) a "Symbols" segédablak segítségével kereshetünk és rakhatjuk le a rajzterületre. A Symbols segédablak megnyitása előtt egy kapcsolási rajz fájlt kell készíteni és megnyitni. Utána a segédablakok között már megtalálható a Symbols fül, vagy az "Add Symbol" ( ) ikonra kattintva jeleníthető meg. A Categories ablakban az áramkör kategóriát lehet kiválasztani, majd alatta a Symbols ablakban a konkrét elemek jelennek meg. Alkatrész nevére bal gombbal kell kattintani, majd az egeret a rajlapra mozgatva megjelenik a kiválasztott elem. Egy ismételt bal kattintás hatására a rajlapra felkerül a kiválasztott áramköri elem. A Symbols name filter segítségével az alkatrészek között lehet szűrni. Például az összes 4 bemenetű ÉS kapu kilistázásához írjuk be a következőt: "and4". A rajzterületen elhelyezett alkatrészek orientációját kétféleképpen is meg lehet változtatni. A Symbols ablakon, az alkatrész kijelölése után, az "Orientation" legördülő menüben adható meg a kívánt orientáció. Később, a rajzterületen elhelyezett alkatrész forgatásához először ki kell jelölni az elemet, majd a CTRL+L és CTRL+R billentyűkombinációk használatával lehet elforgatni a kijelölt elemet Jel és busz vezetékek Az egyes alkatrészek közötti kapcsolatokat jelvezetékek és/vagy buszvezetékek segítségével lehet kialakítani. Az "Add Wire" ( ) ikonra kattintás után a bal egérgomb lenyomásával lehet elkezdeni a vezeték rajzolását. A vezeték rajzolásnál ügyeljünk arra, hogy az egeret pontosan az alkatrész lábának végére mozgassuk és onnan kezdjük meg a rajzolást. A bal egérgomb lenyomásakor töréspontot vihetünk a rajzolt vezetékbe. A rajzolás akkor ér véget, ha egy másik alkatrész lábára csatlakozunk, vagy megnyomjuk az ESC gombot. Az így megrajzolt vezetéket az ISE automatikusan elnevezi, valamint alapértelmezetten jelvezetékként kezeli. Az "Add Net Name" ( ) gombra kattintva lehetőség van a vezeték nevének megváltoztatására. A bal alsó ablakban az Options fülnél a Name sorba írhatjuk a vezeték nevét. A 18. ábra legfelső kapcsolási rajz részén láthatunk példát jelvezetékekre (a0, a1,...). A vezetékek neveire a kapcsolási rajz átláthatósága érdekében hivatkozhatunk is, ha két vagy több vezetéket ugyanúgy (y) nevezünk el, az olyan, mintha fizikailag összehuzaloztuk volna őket. Ha kijelölünk egy jel-, vagy buszvezetéket, bal oldalon megjelenik az "Options" fül. Ezt kiválasztva lehetőség van a "When you click on a branch" opcióval megadni, hogy ha egy vezetékre kattintunk, az egész jelvezetéket (Select the entire branch), vagy csak egy darabját (Select the line segment) jelölje ki a program.

18 18 Az ábra 2. és 3. kapcsolásán a buszvezetékekre láthatunk példát. Az "Add net name" ikonra kattintva adhatjuk meg, hogy egy vezeték buszvezeték legyen. Buszvezetékeket a kapcsolási rajzokban az összetartozó vezetékek ábrázolása érdekében használunk. Az elnevezés formája a következő (18. ábra): a(3:0). Először megadjuk a busz nevét, majd zárójelben a legnagyobb és kettősponttal elválasztva a legkisebb helyi értékét. A busz vezetékre "Bus Tap" rajzlét helyezve buszleágazást tudunk készíteni. A busz leágazás után szükséges a jelvezeték elnevezése, pl a(3). A "Bus Tap" rajzjelek a működés szempontjából nem fontosak, azok elhagyhatóak. Fig. 18. Busz vezeték Az előző példa esetében (17. ábra) a tárolók q(0), q(1), q(2) és q(3) kimenetei a speciális q(7:0) un. busz vezetékre csatlakoznak. A buszok, illetve leágazásaik elnevezése utal arra, hogy adott buszon belül melyik vonalra (bitre) csatlakozunk. A kapcsolásán a q(7:0) jel egy 8 bites busz, melyre az adott helyértékű bitvezeték (q(0)... q(7)) buszcsatlakozáson (Bus Tap) keresztül kapcsolódik. A kapcsolás be- és kimeneti jelei I/O buffer-eken keresztül kapcsolódnak a külvilágot reprezentáló I/O Marker-ekhez. A CLK, ENABLE és CLEAR bemenetekre IBUF, a LED(7:0) kimenetekre pedig OBUF (itt egy 8 bites OBUF8) elemeket helyezünk el, ez a szabályos megoldás. Az automatikus buffer-elhelyezés miatt a kapcsolás ezek nélkül is implementálható, de a be- és kimenetek nincsenek optimálisan bufferelve. Az IBUF és OBUF elemekkel számos beállítás mellett pl. a logikai családhoz,

19 19 illetve a logikai szintekhez való illesztés valósítható meg. A rajz ellenőrzése az alsó Processes területen kibontva a Design Utilities-t, a Check Design Rules-ra kattintva fut le, ami ha jó, egy zöld pipa jelenik meg mellette. Ugyanezt tehetjük meg a Tools > Check Schematic paranccsal A kapcsolás ellenőrzése szimulációval Teszteljük le a kapcsolás működését szimulációval! Ehhez létre kell hoznunk egy ellenőrzési környezetet (testbench, tesztelési környezet) melyben az egységet működtető gerjesztő jeleket és jelformákat definiáljuk. Régebbi ISE verziókban lehetőség volt a gerjesztő-jelek grafikus felületen történő megadására, az újabb verziókból azonban kikerült ez a funkció, így az egyetlen lehetőség a HDL nyelvű leírás. A gyakorlatokon nem cél a HDL nyelvek ismertetése, ezért a tesztkörnyezetet leíró forrást nem kell elkészíteni, a kész forrásokat csak a projekthez kell adni. Szimulációs fájl készítése Az elkészült projekthez szimulációs fájlt a "Design/Simulation" ablakban, az "Add New Source" opcióval lehet hozzáadni (19. ábra). Fontos hogy minden port nevet adjunk meg a kapcsolási rajzon a szimulációs fájl elkészítése előtt és mindent mentsünk el, mert a program az aktuális port neveket használja fel a sablon elkészítésére. Fig. 19. Szimulációs fájl hozzáadása a projekthez Ezután a "VHDL Test Bench" opciót válasszuk és adjuk meg a tesztfájl nevét (teszt_tb). A "Next" gomb lenyomása után a program megkérdezi melyik forrásfájlhoz készül a tesztfájl. Itt válasszuk a fő kapcsolási rajzot (példánkban: teszt.sch), majd válasszuk a "Next" gombot, végül kattintsunk a "Finish" gombra. Az ISE által generált sablon fájl tartalmazza a ki- és bemeneti portokat és a VHDL fájl keretét. Ha mindent jól csináltunk a következő VHDL fájlt kapjuk eredményül:

20 20 1 Vhdl t e s t bench created from schematic C:\ temp\proba\ t e s z t. sch Wed May : 0 1 : LIBRARY i e e e ; USE i e e e. s t d _ l o g i c _ ALL ; 5 USE i e e e. numeric_std. ALL ; LIBRARY UNISIM ; 7 USE UNISIM. Vcomponents. ALL ; ENTITY t e s z t _ t e s z t _ s c h _ t b IS 9 END t e s z t _ t e s z t _ s c h _ t b ; ARCHITECTURE behavioral OF t e s z t _ t e s z t _ s c h _ t b IS 11 COMPONENT t e s z t 13 PORT( ENABLE : IN STD_LOGIC ; CLK : IN STD_LOGIC ; 15 CLEAR : IN STD_LOGIC ; LED : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0) ) ; 17 END COMPONENT; 19 SIGNAL ENABLE: STD_LOGIC ; SIGNAL CLK : STD_LOGIC ; 21 SIGNAL CLEAR : STD_LOGIC ; SIGNAL LED : STD_LOGIC_VECTOR ( 7 DOWNTO 0) ; 23 BEGIN 25 UUT: t e s z t PORT MAP( 27 ENABLE => ENABLE, CLK => CLK, 29 CLEAR => CLEAR, LED => LED 31 ) ; 33 Test Bench User Defined S e c t i on tb : PROCESS 35 BEGIN WAIT; w i l l wait f o r e v e r 37 END PROCESS ; End Test Bench User Defined S e c t i o n 39 END;../sections/src/codeTestBrench1.vhd A vizsgálójelek előállításához az alapértelmezett tesztfájlt módosítani kell. Az első kiegészítéssel adjuk hozzá a szimulációhoz a számlálót működtető 1MHz-es órajelet (CLK). A kódba a constantclk_period : time := 1us; sor beszúrásával definiálásra kerül az órajel periódusideje és a clk_process : processbegin....end process-el az órajel előállításra kerül. Amennyiben nem CLK az órajel port neve, módosítani kell az általunk használt névre. A fenti kiegészítéseket elvégezve, a szimuláció során a CLK bemeneti porton egy 1 us periódusidejű órajel jelenik meg.

21 21 Vhdl t e s t bench created from schematic C:\ temp\proba\ t e s z t. sch Wed May : 0 1 : LIBRARY i e e e ; USE i e e e. s t d _ l o g i c _ ALL ; 4 USE i e e e. numeric_std. ALL ; LIBRARY UNISIM ; 6 USE UNISIM. Vcomponents. ALL ; ENTITY t e s z t _ t e s z t _ s c h _ t b IS 8 END t e s z t _ t e s z t _ s c h _ t b ; ARCHITECTURE behavioral OF t e s z t _ t e s z t _ s c h _ t b IS 10 COMPONENT t e s z t PORT( ENABLE : IN STD_LOGIC ; 12 CLK : IN STD_LOGIC ; CLEAR : IN STD_LOGIC ; 14 LED : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0) ) ; END COMPONENT; 16 SIGNAL ENABLE : STD_LOGIC ; SIGNAL CLK : STD_LOGIC ; 18 SIGNAL CLEAR : STD_LOGIC ; SIGNAL LED : STD_LOGIC_VECTOR ( 7 DOWNTO 0) ; 20 o r a j e l : ############################################################## 22 constant clk_ period : time : = 1 us ; BEGIN 24 UUT: t e s z t PORT MAP( ENABLE => ENABLE, 26 CLK => CLK, CLEAR => CLEAR, 28 LED => LED ) ; 30 o r a j e l : ############################################################## 32 c lk_ process : process begin 34 CLK <= 0 ; wait f o r clk_period /2; 36 CLK <= 1 ; wait f o r clk_period /2; 38 end process ; ############################################################## 40 szim. : tb : PROCESS 42 BEGIN ENABLE j e l n e k l o g i k a i 0 es 44 CLEAR j e l n e k l o g i k a i 1 e r t e k adasa 2. 3 us idore ENABLE <= 0 ; 46 CLEAR <= 1 ; wait f o r 2. 3 us ; 48 ENABLE= 1 es CLEAR= us idore ENABLE <= 1 ; 50 CLEAR <= 0 ; wait f o r us ; 52 CLEAR <= 1 ; wait f o r 3 us ; 54 CLEAR <= 0 ; wait f o r us ; 56 ENABLE <= 0 ; wait f o r 4. 3 us ; 58 ENABLE <= 1 ; WAIT; stop 60 END PROCESS ; 62 END;../sections/src/codeTestBrench2.vhd A jeleknek értéket a "<=" értékadó utasítással lehet adni (példa: ENABLE<= 1 ). Buszvezetékeknél értékadás binárisan történik (példa egy négybites busz értékadására: INB<="1011"). A jelek beállítása után a wait for paranccsal adhatjuk meg mennyi ideig maradjanak meg a beállított értékek. Lehetőség van kész VHDL testbench-et hozzáadni a projekthez. A "valami_tb.vhd" fájlt ami tartalmazza a szimulációs környezetet, célszerű a projekt könyvtárába másolni, majd a Project menü Add Source parancsával adhatjuk

22 22 hozzá a projekthez. A megjelenő Adding Source Files ablakban az Association alatt a Simulation kell, hogy legyen. A szimuláció elindítása a korábban ismertetett módon történik. A szimuláció elindításához a Design segédablakban jelöljük be a Simulation rádiógombot, majd jelöljük ki a megjelenő "teszt_tb.vhd" fájlt. Kibontva a Isim Simulatort az alsó segédablakban, megjelenik a Simulate Behavioral Model parancs, amivel elindíthatjuk az ISE szimulátorát. A szimuláció lépéseit alul, a Console területen láthatjuk. A szimuláció során a CLK órajel, az ENABLE és a CLEAR vezérlő jelek a VHDL forrásban megadottak szerint változnak. A szimuláció eredménye egy új ablakban fog megjelenni (20. ábra, a képen látható eredmény a Zoom to Full View ikonra kattintás után látható). A Zoom In, Zoom Out, Zoom to Full View ikonokkal (20. ábra, piros téglalappal jelölt rész) tudjuk a megjelenített időtartományt módosítani. A Restart ikon újraindítja a szimulátort, törli a megjelenített idődiagramot, Run for the time specified on toolbar ikon lenyomásakor a szimuláció a beállított időegységnyit lép előre. Fig. 20. A szimuláció eredménye a Xilinx ISE Simulator hullámforma ablakában. Az egyes jelnevekre a jobb gombbal kattintva lehetőség van a kijelzés formátumát megváltoztatni. A led[7:0] kimenet esetén ezt (jobb gomb, Radix / Hexadecimal) hexadecimálisra állítva máris könnyebben ellenőrizhető a helyes működés. A szimuláció során lehetőség van rá, hogy különböző jeleket (logikailag független jelek vagy egy buszban szereplő néhány jel) hozzáadjunk egy virtuális buszhoz. A

23 23 Fig. 21. Kijelzés formátuma 22. ábra szemlélteti, hogy a 7 bites LED busz első négy helyi értékéből hogyan készíthetünk virtuális buszt. A jeleket a CTRL gomb nyomva tartásával lehet kijelölni (ábrán kékkel jelölve), majd a kijelölt jelekre jobb gombbal kattintva válaszuk a "New Virtual Bus" opciót. Az új busznak nevet is adhatunk. A példa során 3 darab virtuális buszt hoztunk létre, amiknél a radixot különbözű módon állítottuk be: vbus_udec (előjeltelen számábrázolás), vbus_sdec (előjeles számábrázolás), vbus_hex (hexadecimális számábrázolással). Fig. 22. Virtuális busz Sokszor nagyon hasznos a modulok belső jeleit vizsgálni, ennek elvégzéséhez nem szükséges ezeket a jeleket kivezetni a modulból, a szimulátorban egyszerűen hozzáadhatjuk őket a Wave ablakhoz. A szimuláció a View>Panels> Instance and Process Name bal oldali ablakában megjelenik a szimulációs hierarchia, amelyben megtalálható (UUT unit under test néven) a tesztelés alatt álló kapcsolási rajz modul. A View>Panels>Objects ablakban látjuk a modul összes jelét, melyek közül a vizsgálni kívánt jel egyszerű drag-and-drop módszerrel adható hozzá a Wave ablakhoz (23. ábra). Ezután már csak a szimuláció újraindítására van szükség ahhoz, hogy a jelek értékeit figyelemmel tudjuk követni (Kék, enter-szerű gomb a felső menüben, majd a homokórás play-szerű gomb, amelyet nyomkodva, a mellette beállított értéknek megfelelő időt haladunk a szimulációban). Lehetőség van a szimulációs beállítások mentésére, ezt a File>Save paranccsal tehetjük meg. Az elmentett "*.wcfg" fájlt a szimulátorban megnyitva, visszaállítható a korábbi konfiguráció. A szimulátor bezárásakor, ha nincs elmentve a szimulátor konfigurációja,

24 24 Fig. 23. További jelek hozzáadása a program megkérdezi, hogy szeretnénk e menteni a beállításokat. 3.2 Makró hozzáadása meglévő projekthez Minden az ISE kapcsolási rajz szerkesztőjében használt makróhoz két fájl tartozik. Az egyik egy szimbólumfájl (*.sym), ami leírja a makró kapcsolási rajzon való megjelenését. A másik a működést leíró fájl, ami lehet kapcsolási rajz (*.sch), vagy HDL (*.vhd) alapú. Ha makrót akarunk a rajzból készíteni későbbi felhasználásra, akkor a portok be- és kimenetekre történő hozzáadása után, a Design ablak alsó Processes részén kibontva a Design Utilities menü-pontot rá kell kattintanunk a Create Schematic Symbol-ra. Az eddigi rajz neve alatt egy új elem jelenik meg, amit egy másik rajzra le is tehetünk. Ha rögtön makrót akarunk készíteni, akkor más az eljárás. A Project Navigator-ban, kiválasztva a Project > New Source menüpontot, megjelenik a New Source Wizard ablak. A forrás típusaként kiválasztjuk a rajzot (Schematic), megadjuk a fájl nevét és helyét majd a Next és Finish megnyomása után hozzáadódik a projekthez és megnyílik az adott nevű üres rajz. Ezután i/o portokat kell a rajzhoz hozzáadnunk a Tools > Create I/O Markers segítségével. A megjelenő dialógus dobozba be kell írni sorban, vesszővel elválasztva, az összes bemeneti, kimeneti és esetleg kétirányú port nevét. Az üres rajzon megjelennek a portok, ezután hozzárajzoljuk a makró többi részét. Ha kész, el kell mentenünk Példa kapcsolási rajz alapú makró készítésére A következő példa során a korábbi négybites számlálót felhasználva készítjük el a makrónkat, így később lehetőség nyílik rá, hogy a számlálót önálló szimbólumként

25 25 kezeljük. A 24. ábra szerint módosítsuk az előző feladatban szereplő számlálót. A korábbi kapcsolási rajzhoz képest csak a kimeneti busz szélessége változott, valamint a ki és bemeneti portokon csak IO markerek találhatóak. Az IO markereket a "ADD" I/O Marker" nevű gombbal lehet hozzáadni. IBUF-ra és OBUF-ra csak olyan portok esetén van szükség ami a külvilággal tart kapcsolatot. Az I/O markerekhez kapcsolódó vezeték neve lesz az IO marker neve és ez lesz a makró ki- és bemeneti portjának a nev is. A kapcsolási rajzot kijelölve, megjelenik a "Create Schematic Symbol" opció (24. ábra). Ezt a processt futtatva elkészül a makró (létrejön egy sym kiterjesztésű fájl a kapcsolási rajz mellett). Fig. 24. Kapcsolási rajz módosítása A fejlesztő környezet parancssorában a makró sikeres elkészítését a következő üzenet jelzi: "Process completed successfully". A szimbólumok között ezután már megtalálható a makró szimbólum (25. ábra). Fig. 25. Elkészült makró kiválasztásaa A makró tartalmát a "View" menü "Push into Symbol" gombjával lehet megtekinteni.

26 26 Előtte szükséges kijelölni a makrót, a kapcsolási rajzon! A korábbi teszt.sch fájl most szimbólum fájlként létezik, így szükséges egy új kapcsolási rajz fájl hozzáadása a projekthez, aminek adjuk a teszt_macro.sch nevet (26. ábra). Az új kapcsolási rajz file jelenleg nem "Top Modul", ezért módosítsuk a teszt_macro.sch fájl beállításait top modul szintűre (26. ábra). Fig. 26. Top modul Kapcsolási rajz alapú saját makró módosítása Ha a változtatás nem érinti a makró ki- és bemeneti portjait, akkor a "Push into Symbol" paranccsal megnyitva lehetőség van a makró módosítására. A változásokat minden esetben el kell menteni. Amennyiben a változás a makró megjelenésére is kihat, például új portot kell hozzáadni, törölni, vagy port nevet kell változtatni, akkor a következőképpen kell eljárni. Első lépésként meg kell nyitni a makrót tartalmazó sch fájlt. Ezt a "Push into Symbol" paranccsal, vagy a "Design" ablakban a kapcsolási rajzra kétszer kattintva lehet megtenni. Végezzük el a változtatásokat a makró fájlon. A példában a régi rajzot egészítsük ki egy új kimenettel, ami a számláló 15-ös értékét jelzi (27. ábra). A módosítások mentése után a teszt.sch kapcsolási rajz fájlt kijelölve, a "Create Schemetic Symbol" parancs-ra jobb gombbal kattintva a "Process Properties..." opciót kiválasztva engedélyezni kell a létező szimbólumfájl felülírását, úgy hogy az "Owerwrite Existing Symbol" jelölő négyzetet bepipáljuk. A "Run" parancs futtatásával módosul a makró megjelenését leíró szimbólum fájl. Ha valamelyik kapcsolási rajzban használunk egy ilyen makrót, amit módosítottunk, majd a makró megjelenésére kiható változtattatást hajtunk végre, a kapcsolási rajz szerkesztőben

27 27 Fig. 27. Kimenet "Obsolate Symbols" ablak jelenik meg. Az "Update" paranccsal frissíthetjük a kijelölt objektumra vonatkozó módosításokat (28. ábra). Fig. 28. Kapcsolási rajz alapú makró módosítása Ha a makró újrafordítása után nem kínálja fel a program a makró szimbólum frissítését, és a kapcsolási rajzon nem is változik meg a makró megjelenése, akkor újra kell indítani az ISE fejlesztőkörnyezetet (előtte mindent mentsünk el!). Az újraindulás után már a módosított szimbólumnak kell megjelennie (29. ábra). Fig. 29. Módosított szimbólumfájl A szimbólumfájl külső megjelenésén is lehetőség van módosítani. A kapcsolási rajzon elhelyezett teszt nevű makró fájlra jobb gombbal kattintva válasszuk a Symbol->Edit Symbol opciót (30. ábra) Kapcsolási rajz alapú saját makró hozzáadása projekthez Másoljuk át a makró fájlokat a projektkönyvtárba. A makró megjelenését és működését egy azonos nevű *.sym és egy *.sch kiterjesztésű fájl írja le. A *.sch fájlt az Add Source

28 28 Fig. 30. Makró szerkesztés paranccsal a projekthez kell adni. Mivel korábban átmásoltuk a projektkönyvtárunkban kell lennie. Fontos, hogy a fájlok másolása után hajtsuk végre ezt a lépés. Végül a szimbólumok között megjelenik az új makró. Lehetőség van a projekthez hozzáadott makró tartalmának megtekintésére. A makró szimbólum kijelölése után a View menü Push into Symbol gombjára kattintva megjelenik a működést leíró fájl VHDL alapú saját makró hozzáadása projekthez Másoljuk át a makró fájlokat a projektkönyvtárba. A makró megjelenését és működését egy azonos nevű *.sym és egy *.vhd kiterjesztésű fájl írja le. A *.vhd fájlt az Add Source paranccsal a projekthez kell adni. Mivel korábban átmásoltuk a projektkönyvtárunkban kell lennie. Fontos, hogy a fájlok másolása után hajtsuk végre ezt a lépés, mert az ISE ellenkező esetben a *.vhd fájlt felülírhatja egy template fájllal. Végül a szimbólumok között megjelenik az új makró. Lehetőség van a projekthez hozzáadott makró tartalmának megtekintésére. A makró szimbólum kijelölése után a View menü Push into Symbol gombjára kattintva megjelenik a működést leíró fájl. 3.3 Kapcsolási rajz elkészítése a makró használatával Készítsünk egy új kapcsolási rajzot "teszt_macro.sch" néven. A 31. ábra szerint készítsük el a kapcsolási rajzot. Felhasználva a négybites számláló makrót, készíthetünk 8 bites számlálót. Figyeljünk rá, hogy a "teszt_macro.sch" rajz legyen a topmodul (??. ábra). Az áramkör szimulációját hasonló képen végezzük el, mint a 4 bites számláló esetében. A tesztfájl elkészítése után a következő VHDL kódot használjuk fel.

29 29 Fig. 31. Hierarchikus terv készítése saját modul (teszt) létrehozásával Fig bites számláló fájlok LIBRARY i e e e ; 2 USE i e e e. s t d _ l o g i c _ ALL ; USE i e e e. numeric_std. ALL ; 4 LIBRARY UNISIM ; USE UNISIM. Vcomponents. ALL ; 6 ENTITY teszt_ macro_ teszt_ macro_ sch_ tb IS END teszt_ macro_ teszt_ macro_ sch_ tb ; 8 ARCHITECTURE behavioral OF teszt_ macro_ teszt_ macro _ sch_ tb IS 10 COMPONENT teszt_ macro PORT( ENABLE : IN STD_LOGIC ; 12 CLK : IN STD_LOGIC ; CLEAR : IN STD_LOGIC ; 14 LED : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0) ) ; END COMPONENT; 16 SIGNAL ENABLE : STD_LOGIC ; 18 SIGNAL CLK : STD_LOGIC ; SIGNAL CLEAR : STD_LOGIC ; 20 SIGNAL LED : STD_LOGIC_VECTOR ( 7 DOWNTO 0) ; 22 constant clk_ period : time : = 1 us ; 24 BEGIN UUT: teszt_ macro PORT MAP( 26 ENABLE => ENABLE, CLK => CLK, 28 CLEAR => CLEAR, LED => LED 30 ) ; c lk_ process : process 32 begin

30 30 CLK <= 0 ; 34 wait f o r clk_period /2; CLK <= 1 ; 36 wait f o r clk_period /2; end process ; 38 Test Bench User Defined S e c t i on 40 tb : PROCESS BEGIN 42 ENABLE <= 0 ; CLEAR <= 1 ; 44 wait f o r 4 us ; ENABLE <= 1 ; 46 CLEAR <= 0 ; wait f o r 22 us ; 48 CLEAR <= 1 ; wait f o r 3 us ; 50 CLEAR <= 0 ; wait f o r us ; 52 ENABLE <= 0 ; wait f o r 4. 3 us ; 54 ENABLE <= 1 ; WAIT; stop 56 END PROCESS ; End Test Bench User Defined S e c t i o n 58 END;../sections/src/codeTestBrench3.vhd A szimuláció lefuttatása után a 33. ábra szerinti eredményt kell kapnunk. Fig bites számláló szimulációs eredmény 3.4 A kapcsolás hardveres ellenőrzése Jelöljük be az Implementation rádiógombot a Design panelen. A Project menü Add Source parancsával adjuk hozzá a projekthez a laborok során használt Basys2 fejlesztőpanel alapértelmezett lábkiosztását és a felhasználói megkötéseket (constraintek) tartalmazó "Basys2_100_250General.ucf" fájlt. A Megnyitás és OK gombok megnyomása után a projektben megjelenik a kiválasztott fájl, amit kettős kattintással szerkesztésre meg is nyithatunk (34. ábra). A fájl egyéb itt nem részletezett felhasználói megkötések mellett a kapcsolási rajzban használt vezetékek neveit (NET) és a hozzájuk tartozó FPGA IC kivezetések (lábak) összerendeléseit definiálja. A "Basys2_100_250General.ucf" fájl az FPGA összes panelen bekötött kivezetéséhez alapértelmezett belső vezetékneveket rendel. Az alapértelmezett elnevezések segítenek a panelen való tájékozódásnál, azonban nincsenek összhangban a kapcsolási rajzban általunk használt I/O Marker nevekkel, emellett legtöbbjüket nem is használjuk (35. ábra). A helyes működéshez, módosítsuk az alapértelmezett ucf fájlt az alábbiak szerint.

31 31 Fig. 34. A "Basys2_100_250General.ucf" fájl Fig. 35. UCF

32 32 NET " c l k " CLOCK_DEDICATED_ROUTE = FALSE ; 2 # Pin assignment f o r LEDs 4 NET " Led<7> " LOC = "G1" ; #Bank = 3, Signal name = LD7 NET " Led<6> " LOC = " P4 " ; #Bank = 2, Signal name = LD6 6 NET " Led<5> " LOC = "N4" ; #Bank = 2, Signal name = LD5 NET " Led<4> " LOC = "N5" ; #Bank = 2, Signal name = LD4 8 NET " Led<3> " LOC = " P6 " ; #Bank = 2, Signal name = LD3 NET " Led<2> " LOC = " P7 " ; #Bank = 3, Signal name = LD2 10 NET " Led<1> " LOC = "M11" ; #Bank = 2, Signal name = LD1 NET " Led<0> " LOC = "M5" ; #Bank = 2, Signal name = LD0 12 # Pin assignment f o r SWs 14 NET " enable " LOC = " P11 " ; #Bank = 2, Signal name = SW0 16 NET " c l k " LOC = " C11 " ; #Bank = 2, Signal name = BTN1 NET " c l e a r " LOC = "G12" ; #Bank = 0, Signal name = BTN0../sections/src/codeUcfClk4bit.vhd Ezzel a kapcsolási rajzunk Led(7:0) kimeneteit a panelen található LED-ekhez, az ENABLE bemenetet az SW0 kapcsolóhoz a CLK és CLEAR bemeneteket pedig a BTN1 és BTN0 nyomógombokhoz rendeltük (a buszvezetékek elnevezésében szereplő zárójelek az.ucf-fájlban <> karakterekkel helyettesítendők). Az összes többi nem használt vezetékek definíciót tartalmazó sorokat a # karakterrel alakítsuk megjegyzéssé (comment), vagy töröljük. Mentsük el a változtatásokat. A kapcsolás implementálásához és az FPGA konfigurációs állományának előállításához a Design segédablakban jelöljük ki a "teszt.sch" kapcsolási rajzot. Ennek hatására a Processes ablakban az Implement Design kibontásakor megjelenik a Generate Programming File parancs, amelynek feladata, hogy létrehozza az FPGA-ba letölthető "teszt.bit" állományt. Ez általában elég sokáig tart, a művelet lépéseit a Console területen követhetjük. Először a parancs futtatásának eredménye hibaüzenet, amit az Errors ablakban tekinthetünk meg. Mivel a kapcsolásban a tárolók órajele nem dedikált órajel vezetéken keresztül kerül az FPGA-ba, a program figyelmeztet. Mivel esetünkben ez a nem optimális vezetékezés elfogadható, az ucf-fájlban el kell helyeznünk a NET "CLK" CLOCK_DEDICATED_ROUTE = FALSE; kiegészítést. Az újabb Generate Programming File parancs futtatásakor a fenti hibajelzés már csak a Warnings ablakban jelenik meg. Az elkészült konfigurációs állományt ("teszt.bit") a korábban ismertetett Adept program segítségével letölthetjük az FPGA-ba A konfigurációs fájl letöltése az FPGA-ba Először telepíteni kell az Adept kezelő programot (jelenleg digilent.adept.system_v2.8.1.exe), ezt még azelőtt kell megtenni, mielőtt a tesztkártyát az PC-hez csatlakoztatnánk. Csatlakoztatáskor a Windows észreveszi az új hardvert, engedélyezni kell a driver telepítését. Az Adept indulásakor észreveszi, hogy melyik eszköz van csatlakoztatva. A Config fül kiválasztásával Browse-ra kattintva kikeressük az adott bit kiterjesztésű fájlunkat és bevisszük az FPGA melletti edit box-ba. A Program gombra kattintva megtörténik a letöltés, és a kártyán azt látjuk, ami sikerült.

33 Az órajel bemenet prellmentesítése A prellezés (a mechanikusan működő villamos érintkezők egymáson való pattogása) miatt az órajelet szolgáltató BTN1 nyomógomb nem mindig ad rögtön stabil jelet. Rövid ideig egyszeri lenyomás hatására is két állapot között "pereg", ezzel többszöri 0 -> 1 átmenetet adhat a tárolók órajel bemenetére. Ennek a jelenségnek a kiküszöbölésére módosítsuk a kapcsolást a 36. ábra szerint, az ucf-fájlt pedig az alábbiak szerint. 1 NET " c l k " CLOCK_DEDICATED_ROUTE = FALSE ; 3 NET " up" LOC = "A7" ; #Bank = 1, Signal name = BTN3 NET "down" LOC = "M4" ; #Bank = 0, Signal name = BTN2 5 #NET " c l k " LOC = " C11 " ; #Bank = 2, Signal name = BTN1 NET " c l e a r " OC = "G12" ; #Bank = 0, Signal name = BTN0../sections/src/codeUcfClkPrell.vhd Az aszinkron törlés és beállítás (CLR, PRE) bemenetekkel rendelkező FDCP flip-flop az UP bemenetre csatlakozó BTN3 nyomógomb megnyomásával (preset) logikai 1 szintre vált, a DOWN bemenetre csatlakozó BTN2 nyomógomb megnyomásával (clear) pedig logikai 0 szintre vált. Egy teljes órajel periódust (felfutó él - lefutó él) a BTN3 és BTN2 nyomógombok egymás utáni lenyomásával hozhatunk létre. Fig bites bináris, szinkron számlaló T-tárolóval, S-R flip-floppal prellmentesített órajellel

34 4 EGYSZERŰ KOMBINÁCIÓS HÁLÓZATOK 34

35 Multiplexer, demultiplexer Multiplexer A multiplexer egy olyan áramkör, amely több bemenet közül egyet enged tovább a kimenetén, méghozzá azt a bemenetet, amelynek a címe rákerül a címző bemenetre. Ez a leggyakrabban használt kombinációs hálózat. 2 bemenetű multiplexer Legegyszerűbb esetben a cím egybites "select" jel (S), ami két bemenet közül (I0, I1) választ ki egyet (37. ábra, 38. ábra). A két bemenetű multiplexer igazságtáblája a következő: TABLE 1 Egybemenetű multiplexer igazságtáblázata S Y 0 I0 1 I1 Fig. 37. Két bemenetű multiplexer kapcsolási rajza Fig. 38. Két bemenetű multiplexer logikai rajza A multiplexert legtöbbször bonyolult adatutak kialakítására használják pl. a processzorok ALU-jában. Vannak egyéb alkalmazási, ezek közül először kettőt mutatunk meg. 4 bemenetű multiplexer A multiplexer címbitjeinek eggyel való megnövelése a bemenetek számának a kétszeresét teszi lehetővé. Így két címbit esetén kapjuk a 4- bemenetű multiplexert (39. ábra, 40. ábra). A négy bemenetű multiplexer igazságtáblája a következő: A nagyobb számú bemenetekkel rendelkező multiplexer tervezése kétféleképpen lehetséges: a megfelelő számú kapuból megtervezve, vagy kisebb multiplexerek

36 36 TABLE 2 Kétbemenetű multiplexer igazságtáblázata S1 S0 Y 0 0 I0 0 1 I1 1 0 I2 1 1 I3 Fig. 39. Négy bemenetű multiplexer logikai rajza Fig. 40. Négy bemenetű multiplexer kapcsolási rajza felhasználásával. Például egy 16 bemenetű multiplexert így is megtervezhetünk. Ez ugyan redundáns a felhasznált kapuk számát illetően, de lehet, hogy az alkatrészkészlet ezt a megoldást teszi alkalmasabbá (41. ábra). A multiplexer lehetőséget nyújt look-up table megvalósítására (42. ábra). Az általunk használt FPGA CLB-jében 4-bemenetű LUT található tetszőleges 4-változós logikai függvény előállítására. Ha ezt egy tárolóval oldanák meg, minden egyes CLB-ben egy 64K bites tárolóra lenne szükség az összes logikai függvény előállítására. Ehelyett

37 37 Fig bemenetű multiplexer tervezése kisebb multiplexerek felhasználásával pl. egy 16 bites regiszter és egy 16 bemenetű multiplexer elegendő. A multiplexer címbitjeire csatlakozik az adott logikai függvény 4 változója. A rajz alapján a szoftver kiszámolja, hogy melyik logikai függvény kell a megvalósításhoz, és a 4 bemenet összes kombinációjának megfelelő 16 kimeneti bitet betölti egy 16 bites regiszterbe, amelynek kimenetei csatlakoznak a multiplexer megfelelő címzésű bemenetéhez. Látható, hogy egy ilyen megoldás erőforrás igénye lényegesen kisebb.

38 38 Fig. 42. Look-up table megvalósítása multiplexer segítségével Latch A latch egy olyan tároló elem, amely nem órajelre (élre) működik, hanem egy engedélyező jel megléte esetén az áramkör transzparens, azaz átengedi a bemenetén lévő jelet, az engedélyező jel megszűnésére az utolsó értéket tárolja. Az alábbi rajzon az engedélyező jel aktív értéke az első esetben magas, a másik esetben alacsony (43. ábra). Fig. 43. Latch

39 Korrekt flip-flop órajel engedélyezés Az órajelre működő szinkron hálózatok esetén fontos, hogy az összes tároló egyszerre billenjen, ellenkező esetben rövid időre hazárd állapotok léphetnek fel. Ezenkívül a dinamikus bemeneten a jelnek stabilnak kell lennie bizonyos idővel az órajel felfutása előtt és után. Ez az áramkörre jellemző katalógus érték (setup time, hold time). Ha ezek a feltételek nem teljesülnek a flip-flop működése bizonytalanná válik, ha például az órajelet kapuzzuk, így plusz késleltetést viszünk bele. Ezért a korrekt megoldást egy multiplexeren áthaladó enable jel biztosítja (44. ábra). az első esetben egy D flip-flop, a másodikban egy T flip-flop esetében. Az első esetben, ha az órajel nincs engedélyezve, az órajelre saját magát írja be újra meg újra, ugyanaz a hatás, mintha nem lenne órajel. A második esetben a bemenetre 0 kerül, így a T flip-flop nem billen. Fig. 44. Korrekt flip-flop órajel engedélyezés

40 Demultiplexer A demultiplexer működése a multiplexerének a fordítottja. Egy bemenete van, és a címző bemenetek határozzák meg, hogy melyik kimeneten megy ki a jel (45. ábra, 46. ábra). A többi kimenet állapota inaktív. A felhasználási területe főként a számítástechnika. Fig. 45. Négy kimenetű demultiplexer Fig. 46. Négy kimenetű demultiplexer kapcsolási rajza

41 Laborfeladat Tervezzen meg egy 8-bemenetű multiplexert. Az adatbemeneteket a Digilent Basys2 kártyán lévő SW0-SW7 kapcsolókon lehessen beállítani, a címző bemeneteket a multiplexer bemenetére csatlakozó 3-bites számláló kimenete adja. A számláló órajelét a CLK jel (BT N0nyomgomb) adja. A helyi értékek megfelelnek a kapcsolók és a számláló kimeneteinek indexének. Végezze el az áramkör szimulációját, és ha jó, fordítsa le, a kapott bit kiterjesztésű fájlt töltse le a Basys2 kártyába, és a kapcsolók és az órajel nyomógomb segítségével próbálja ki az áramkör működését. A multiplexer és a számláló ki-bemeneteit a megadott módon társítsa portokhoz (3. táblázat). TABLE 3 Portkiosztás Port név Busz Leírás CLK - A számláló órajel bemenete SW(7:0) 8 bit A multiplexer párhuzamos adatbemenete LED0, LED1, LED2 - Számláló kimenete és a multiplexer címbemenete LED3 - Multiplexer kimenete Fig. 47. Blokkséma Alkalmazandó műszerek és eszközök PC számítógép Digilent Basys2 Spartan-3E FPGA mérőpanel Digilent Adept konfiguráló szoftver

42 Kódolók Komparátorok (Magnitude Comparators) A digitális komparátorok 2 azonos bitszélességű bináris értéket hasonlítanak össze, egyszerűbb esetben csak az egyenlőséget jelezve, de az un. magnitude komparátorok ezen kívül a kisebb-nagyobb relációt is jelzik (48. ábra). Fig szer 4-bites komparátor blokkrajza A két bemenet A(3:0) és B(3:0), az EQ kimenet igaz volta az egyenlőséget (equal), a BGA a B(3:0) a nagyobb voltát, (B greater), az AGB az A(3:0) nagyobb relációt jelenti. A relációt a legnagyobb helyi érték dönti el, ha egyenlők, akkor a következő helyi érték, stb. (4. táblázat) TABLE 4 Magnitude Comparator igazságtáblázata A3 B3 A2 B2 A1 B1 A0 B0 AGB BGA EQ 1 0 x x x x x x x x x x x x = = 1 0 x x x x = = 0 1 x x x x = = = = 1 0 x x = = = = 0 1 x x = = = = = = = = = = = = = = = = = = = = Miután az A nagyobb, a B nagyobb és A=B relációk egymást kizárják, ezért az előző igazságtábla redundáns, egyszerűsíthető (5. táblázat). Így, ha AGB=0 és EQ=0, akkor BGA=1 (49. ábra).

43 43 TABLE 5 Magnitude Comparator egyszerűsített igazságtáblázata A3 B3 A2 B2 A1 B1 A0 B0 AGB EQ 1 0 x x x x x x 1 0 = = 1 0 x x x x 1 0 = = = = 1 0 x x 1 0 = = = = = = = = = = = = = = 0 1 Fig. 49. Magnitude Comparator egy áramköri megvalósítása Enkóderek Az encoder (átkódoló, kódoló stb.) egy olyan áramkör, amely az információt valamely formából valamilyen másikba alakítja át. (Természetesen, van sokkal precízebb definíció is). Mi két átkódolóval foglalkozunk, az egyszerű átkódolóval és a priority átkódolóval. Az egyszerű átkódoló a sorszámozott egyedi bemeneteket (one hot) átkódolja a sorszám (v. index) bináris kódjává (6. táblázat, 50. ábra). A bemenetek közül egy és csakis egy lehet aktív. Az áramkör nem tudja megkülönböztetni azt, hogy az I0 bemenet van, vagy egy bemenet sincs. TABLE 6 8-ról 3-ra enkóder igazságtáblázata Y2 Y1 Y0 In In In In In In In In

44 44 Fig _to_3 enkóder egy áramköri megvalósítása: Prioritáskódoló (priority encoder) A prioritáskódoló esetében egyszerre több bemenet is lehet, a kimeneten a legnagyobb prioritású jel indexe jelenik meg binárisan. Ezen kívül van egy kimenet, amely jelzi, hogy legalább egy bemenet aktív. A következőkben láthatunk példát egy 4 bites (7. táblázat) és egy 8 bites (8. táblázat) prioritás kódolóra (51. ábra, 52. ábra, 53. ábra). TABLE 7 4 bites prioritáskódoló igazságtáblázata, (1), (2), (3) In0 In1 In2 In3 Out1 Out0 IT x x x x x x x x Out0 = In1 In2 + In3 (1) Out1 = In2 + In3 (2) IT = In0 + In1 + In2 + In3 (3) Out2 = In4 + In5 + In6 + In7 (4) Out1 = In2 (In4 In5) + In3 (In4 In5) + In6 + In7 (5) Out0 = In1 (In2 In4 In6) + In3 (In4 In6) + In5 (In6) + In7 (6) IT = In0 + In1 + In2 + In3 + In4 + In5 + In6 + In7 (7)

45 45 TABLE 8 8 bites prioritáskódoló igazságtáblázata, (4), (5), (6), (7) In0 In1 In2 In3 In4 In5 In6 In7 Out2 Out1 Out0 IT x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 0 Fig bites prioritáskódoló rajzjele Fig bites prioritáskódoló blokkrajza Dekóder A dekóder a kódoló inverze, visszaalakítja az információt a kezdetire. Az egyszerű dekóder esetében a binárisan kódolt bemenetet egy és csakis egy (one hot) kimeneti jelre. 4-ről 1-re dekóder engedélyező jellel

46 46 Fig. 53. A 8 bites prioritáskódoló megvalósítása 2x4 bitesből TABLE 9 4-ről 1-re dekóder igazságtáblázata EN S1 S0 OUT3 OUT2 OUT1 OUT Fig ről 1-re dekóder blokkrajza Laborfeladat Tervezzen 2x2 bites komparátorból 2x4 bitest! A 2x2 bites komparátor bemenetei: A0, A1, B0, B1, EQin, AGin kimenetei: EQout, AGout. Az igazságtábla alapján tervezze meg az áramkört, legfelsőbb szintű rajzot top.sch-nak nevezze el! A szimulációhoz használja a kiadott tesztfájlt (testbench, tb_.vhd). A BASYS2 kártya portjaiból a következőket használja: (56. ábra) Alkalmazandó műszerek és eszközök PC számítógép Digilent Basys2 Spartan-3E FPGA mérőpanel Digilent Adept konfiguráló szoftver

47 47 Fig ről 1-re dekóder engedélyező jellel egy áramköri megvalósítása TABLE 10 Portkiosztás SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0 BTN1 BTN0 LED1 LED0 B3 B2 B1 B0 A3 A2 A1 A0 AGin EQin AGout EQout Fig x4-es komparátor áramkör, 2x2-es modulok felhasználásával 4.3 Összeadó áramkör A legegyszerűbb összeadó két bitet ad össze, és az egy bites eredményt és az átvitelt adja ki a kimenetén, ez a félösszeadó (half adder) (11. táblázat, 57. ábra). TABLE 11 A két bites félösszeadó igazságtáblázata, (8), (9) In0 In1 Sum Cout Sum = In0 In1 + In0 In1 = In0 In1 (8) Cout = In0 In1 (9)

48 48 Fig. 57. Félösszeadó áramkör kapcsolási rajza Teljes összeadó (full adder) A teljes összeadó egy logikai áramkör, ami összeadás műveletet valósít meg három bináris számjegy között (12. táblázat, 58. ábra, 59. ábra, 60. ábra). A teljes összeadó egy összeg és egy átvitel értéket szolgáltat, melyek mind bináris számjegyek. Kombinálható más teljes összeadókkal vagy egymaga is dolgozhat. TABLE 12 A két bites teljes összeadó igazságtáblázata, (10), (11) In0 In1 Cin Sum Cout Sum = In0 In1 Cin+In0 In1 Cin+In0 In1 Cin+In0 In1 Cin = In0 In1 Cin (10) Cout = In0 Cin + In1 Cin + In0 In1 (11)

49 49 Fig. 58. Teljes összeadó egy megvalósítása Fig. 59. Teljes összeadó egy megvalósítása

50 50 Fig. 60. Teljes összeadó megvalósítása félösszeadó áramkörök segítségével Több bit bites összeadó áramkörben (61. ábra) minden helyi értékre kell egy teljes összeadó, az előző helyi érték átvitel kimenete van csatlakoztatva az adott átvitel bemenetére (COUTn-1 -> CINn). Ha kivonást is akarunk végeztetni az összeadónkkal, akkor a második operandus kettes komplemensét (bitenként negált +1) kell az elsőhöz hozzáadnunk. A negálást exkluzív vagy kapuval, az egyes hozzáadását az első helyi értéken a CIN-re adott egyessel oldhatjuk meg. A sorba kapcsolt összeadókkal történő megoldást ripple carry módnak hívjuk. Ennek a megoldásnak az a hátránya, hogy meg kell várnunk, amíg az egyes átvitelek végighaladnak az összes összeadón. Ezért alkalmaznak gyorsítókat (look ahead carry).

51 51 Fig bites összeadó áramkör BCD összeadó A decimális összeadónál is használhatunk hexa összeadót (62. ábra). A bemenet itt is 2db 4 bites operandusból és a bemenő átvitelből áll, de az operandusok maximális értéke 9 lehet, és ez a tervező felelőssége. Átvitel akkor keletkezik, amikor az összeg 10 vagy annál nagyobb, maximálisan 19 lehet. Ha az összeg eléri vagy meghaladja a tízes értékek, ki kell adnunk az átvitel jelet a következő helyi érték felé (a 3 kapuval megoldva), és a bináris értékből le kell vonnunk tízet. Miután modulo 16-ban dolgozunk, ez ekvivalens a 6 hozzáadásával, és ez az egyszerűbb. Ha az összeadás értéke 9 vagy kisebb, a második összeadóval még hozzáadunk 0-t (látszólag feleslegesen). A COUT=0, amely a H5 második operandusának B1 és B2 bemenetére kerül, a B0, B3 és a Cin fixen nullára van kötve. Ha azonban a H6-on keletkezett összeg 10 vagy annál nagyobb, a COUT=1, ez kerül a H6 B1 és B2 bemenetére, így H6 második operandusa 6 lesz.

52 52 Fig. 62. BCD összeadó Laborfeladat Tervezzen egy 4 bites összeadót-kivonót! Az első operandus a 4 bal oldali SW kapcsoló, a második a 4 jobb oldali legyen. A helyi értékek a digiteken belül bal felé nőnek. A kivonás a jobb legszélső nyomógomb (BTN0) lenyomásakor történjen. Az áramkört vizsgálja meg szimulációval, majd töltse le a BASYS2 kártyára, és úgy ellenőrizze a működését. Alkalmazandó műszerek és eszközök PC számítógép Digilent Basys2 Spartan-3E FPGA mérőpanel Digilent Adept konfiguráló szoftver

53 Aritmetikai és Logikai Egység (ALU) A számítástechnikában az aritmetikai-logikai egység (rövidítése ALU az angol Arithmetic Logic Unit alapján) aritmetikai és logikai műveleteket elvégző digitális áramkör. Alapvető eleme a számítógép központi vezérlőegységének. Neumann János alkotta meg az ALU fogalmát 1945-ben, amikor cikkében beszámolt új számítógépéről, az EDVAC-ról. Egy tipikus Neumann-féle CPU belső szerkezetének részében az ALU saját maga végzi az összeadást, a kivonást és más egyszerű műveleteket az inputjain, így adva át az eredményt az output regiszternek. Az első integrált aritmetikai logikai egység a 74-es TTL sorozat típusú áramköre volt, ami megalapozta a mai modern CPU-k kialakulását. Egy ALU általában a következő alapműveletek végrehajtására képes: összeadás és kivonás (fixpontos, lebegőpontos számokkal) szorzás, osztás (fixpontos, lebegőpontos számokkal) léptetések bitszintű logikai műveletek A műveletek eredményével kapcsolatos egyéb információkat (pl.: túlcsordulás, az eredmény nulla, carry átvitel) is szolgáltat ALU blokkvázlata Az egyszerűség kedvéért a laborgyakorlaton csak a legalapvetőbb műveleteket valósítjuk meg az ALU-ban (63. ábra) A modul bemenete két 4 bites szám (A, B). Az S bemenet az ALU vezérlését végzi. Ezzel lehet kiválasztani, hogy éppen milyen műveletet szeretnénk végezni a két bemeneti értéken. Az ALU_out kimeneten az eredmény jelenik meg. A Flags kimeneten a műveletvégzés eredményét jelző (Carry, Overflow, Zero) információk jelennek meg ALU műveletvégző egységei ADD: Két négybites szám összeadására képes teljes összeadó. Ha kivonást is akarunk végeztetni az összeadóval, akkor a második operandus (B) kettes komplemenést (bitenként negált +1) kell az elsőhöz (A) hozzáadnunk. A negálást exkluzív vagy kapuval, az egyes hozzáadását az első helyi értéken a CIN-re adott egyessel oldhatjuk meg. AND, OR, XOR: A két négybites bemenet bitenkénti és, vagy, kizáró-vagy kapcsolatát adja eredményül. ROL, ROR: Az A bemenet egy bittel történő balra, illetve jobbra forgatása. MUX: A multiplexer a vezérlő jeleknek megfelelő műveletvégző egység kimeneti jelét választja ki. Az ALU-ban minden műveletvégző egység kimenetén megjelenik az adott műveleti eredmény, ezért szükséges a multiplexer ami csak a megfelelő műveleti eredményt adja a kimenetre. Ez lesz az ALU kimeneti értéke. A blokksémán látható hogy a multiplexer több négybites adatvonal kiválasztását végzi (13. táblázat), majd az eredmény egy szintén négybites adatvonalra kerül. Megvalósítása: Négy darab multiplexer, a négybites busz helyi értékeinek kiválasztására.

54 54 Fig. 63. A laborgyakorlat során megépítésre kerülő ALU blokkvázlata Másik lehetőség az ALU_out_mux 1 makró használata. Ez egy 8-ról 1-re multiplexer, 4 bites adatcsatornákkal. TABLE 13 Az ALU kimeneti jelei a vezérlőjeleinek függvényében S2 S1 S0 Kimenet Leírás Y = A + B Az A és B bemenet összege Y = A B Az A és B bemenet különbsége Y (i) = A(i)&B(i) Az A és B bemenet bitenkénti ÉS kapcsolata Y (2 : 0) = A(3 : 1), Y (3) = A(0) Az A bemenet rotálása jobbra Y (i) = A(i) B(i) Az A és B bemenet bitenkénti VAGY kapcsolata Y (3 : 1) = A(2 : 0), Y (0) = A(3) Az A bemenet rotálása balra Y (i) = A(i) B (i) Az A és B bemenet bitenkénti XOR kapcsolata A laborgyakorlaton megépített ALU három Flag bitet tartalmaz. Overflow: Előjeles túlcsordulás. Előjeles számok esetében az összeadás, vagy a kivonás eredménye nem ábrázolható az adott számtartományon. Carry: Átvitel előjel nélküli műveleteknél. Az összeadás eredménye nem ábrázolható az adott számtartományban. 1. A makró fájlok a mellékletben megtalálhatóak.

55 55 Zero: Az ALU művelet eredmény nulla lett Laborfeladat Készítse el egy négybites aritmetikai és logikai egységet (64. ábra), a következő műveletek végrehajtására: összeadás, kivonás, ÉS, VAGY, kizáró-vagy, forgatás jobbra, forgatás balra. Az ALU építésénél felhasználható, a szimbólumok között megtalálható ADD4 összeadó áramkör, és a mellékletben megtalálható ALU_out_mux multiplexer. A kész ALU áramkörből készítsen makrót. Fig. 64. ALU A makró ki-bemeneteit a megadott módon társítsa portokhoz (14. táblázat). TABLE 14 Portkiosztás Makró Port (UCF fájl) S0, S1, S2 BTN0, BTN1, BTN2 A(3:0) SW(3:0) B(3:0) SW(7:4) ALU_OUT(3:0) LED(3:0) OVF LED(5) CARRY LED(6) ZERO LED(7) A szimulációhoz használja a kiadott tesztfájlt. Kiegészítő feladat: A bemeneti A, és B számot, a vezérlőbiteket és az eredményt jelenítse meg hétszegmenses kijelzőkön. A feladathoz szükséges makrók: Clk_divide, Bin_to_7_segment_x4. Alkalmazandó műszerek és eszközök PC számítógép Digilent Basys2 Spartan-3E FPGA mérőpanel Digilent Adept konfiguráló szoftver

56 Shift regiszter A shift regiszter sorba kötött, leginkább D flip-flopokból álló áramkör. Ha a flip-flopok bemenetére a tőlük balra lévő flip-flop kimenetét kötik, akkor jobbra léptető, ha a tőlük jobbra lévő flip-flop kimenetét kötik, balra léptető shift regiszterről beszélhetünk. A mikroprocesszorok regisztereinek léptetéskor (shift utasítás) az utolsó bit helyére legtöbbször 0 kerül, rotálásakor a léptető regiszter soros kimenete és bemenete össze van kötve, vagy a Carry jelző bitet léptetjük be az utolsó bit helyére. A shift regisztert használhatjuk számlálónak, vagy állapotgépben a különböző állapotok bináris tárolására. Minden szám egy egyest tartalmaz, a többi zérus (one hot). Minden állapotnak vagy számlálóértéknek egy flip-flop egyes állapota felel meg, azaz, ahány flip-flop van, annyit tud számlálni, vagy annyi állapot feleltethető meg neki. Ez több flip-flopot igényel (n), mint a binárisan kódolt számláló esetén (2 log n), de lényegében nincs szükség kapuáramkörökre. A gyűrűs számláló esetén (65. ábra) a jobb szélső kimenet vissza van csatolva a bal szélső bemenetre, így az egyes a számlálás folyamán balról jobbra lép. Az első flip-flop és a kapu a bekapcsolás utáni első egyes bevitelére szolgál, később már nem játszik szerepet. (Máshogy is megoldható.) Fig. 65. Gyűrüs számláló Léptető regiszterek Soros-párhuzamos átalakító A legegyszerűbb shift regiszter, a soros adat a baloldali SHIN bemeneten lép be, és amikor megjelenik a SHOUT kimeneten (8. ütem), a flipflopok kimenetéről párhuzamosan leolvasható a byte (66. ábra). Felhasználására példa a merevlemez illesztő, ahol a lemezről olvasott soros adatokat a párhuzamos buszon keresztül kell eljuttatni a szintén párhuzamos szervezésű memóriába. Fig. 66. Shift regiszter

57 57 Párhuzamos-soros átalakító A párhuzamosan beírt adatokat sorosan kell az SHOUT kimenetre juttatni. Itt az első flip-flop kivételével az adatok két helyről kerülnek a flipflopok bemenetére, minden órajelre az előző kimenetéről, és 8 ütemenként a párhuzamos bemenetről. Ezt végzik a bemeneti multiplexerek. Ha a MODE bemenet 1 soros léptetés, ha 0 párhuzamos beírás történik. Felhasználására itt is példa lehet a merevlemez illesztő, ahol a párhuzamos szervezésű memóriából olvasott soros adatokat sorosan kell eljuttatni a lemez felületére (67. ábra). Fig. 67. Shift regiszter párhuzamos adatbemenettel Jobbra-balra léptető regiszter Az adat sorosan kerül be a SRIN vagy az SLIN bemeneteken, és a DIRECTION bit határozza meg, hogy balra DIRECTION=0 vagy jobbra DIRECTION=1 léptet. A soros kimenet a S7 jobbra léptetésnél, és S0 a balra léptetésnél (68. ábra). Fig. 68. Jobbra-balra léptető regiszter Barrel shifter A barrel shifter (69. ábra) egy kombinációs hálózat (nem regiszter), legegyszerűbben 2 bemenetű multiplexerekkel építhető fel. Az egy oszlopban lévő multiplexerek száma megegyezik az adatszélességgel, (az ábrán 1 byte), az oszlopok száma egyenlő a címző bitek számával. A címző bitek a lehetséges maximális eltolás binárisan kódolva (az ábrán 3, azaz a maximális eltolások száma 7). Az első oszlopban lévő multiplexerek, ha a címző bemenetükön egy van, eggyel léptetik el az adatot, a másodikban lévők kettővel, a harmadikban lévők néggyel. A léptetések összegződnek. A léptetés (valójában rotálás) az egyik irányban történik, de ha a barrel shifter N léptetésre alkalmas, akkor az n léptetés az egyik irányban megfelel (N-n) léptetésnek a másikban Egyéb alkalmazások shift-regiszterrel Lifo Az előre-hátraléptető regiszter felhasználható hardver LIFO, vagy más néven stack, magyar szóhasználattal verem létrehozására (70. ábra). A példán egy 8 byte mélységű verem látható ahol a LIFOMEM jelenti a 8 byteos tárolót, az SH_FORE a verem állapotának jelzésére szolgáló áramkör. A memória 8 párhuzamosan, bitenként működő 8 bites előre-hátraszámláló léptető regisztert tartalmaz. A LIFOINn jelenti a verem bemenetét, a LIFOOUTn a kimenetét, a LIFOPUSH

58 58 Fig. 69. Fig. 70. LIFO mutatja meg, hogy mélyítünk vagy kiemelünk. A verem korrekt működéséhez jelezni kell az állapotát, ha üres, csak írni szabad bele (ellenkező esetben az olvasott adat nem

59 59 jó), ha tele van, azaz a beírt adat elérte a verem alját, csak olvasni szabad belőle (ellenkező esetben az utolsó adatot felülírjuk, így elvész). Az állapot jelzésére egy 9-dik 8 bites előrehátraszámláló léptető regisztert alkalmazunk, amelynek a jobbra léptető bemenetére egy állandó egyest, a balra léptető bemenetére egy állandó nullát kötünk. Amikor beírunk a LIFO-ba (mélyítés) megy befelé az egyes, és ha megjelenik a jobb kimeneten, akkor a verem tele van. Amikor kiolvasunk a LIFO-ból (kiemelés) a nulla vándorol a bal kimenet felé, és ha a bal kimeneten megjelenik, akkor a verem üres. A hardver vermet a mikroprocesszorok IT kezelésében (amennyiben az többszintes) alkalmazzuk. A Johnson számláló Ha egy léptető regiszter kimenetét egy inverteren keresztül visszacsatoljuk a bemenetére megkapjuk a Johnson számlálót. Egy tízes Johnson számláló öt flip-flopból áll (15. táblázat, 71. ábra). TABLE 15 Johnson számláló igazságtáblázata A B C D E Count Az öt flip-flop kimenetét jelöljük A-tól E-ig. Látható, hogy minden ötbites értékben van két egymás mellett lévő olyan bit, amely egyedi, így ezek a párosok felhasználhatók a számok kódolására 0-tól kilencig. (Ezek: nanb, AnB, BnC, CnD, DnE, EA, nab, nbc, ncd és nde. Az n jelenti a negált értéket). A kimenetek egy-egy esetleg invertált két bemenetű kapuval előállítható. A flip-flopok száma kevesebb, mint a one hot esetében (10), de több, mint a binárisan kódolt számok használatánál (4), de viszonylag kevés kaput használ. Azonkívül, ha sorban számol, a következő szám mindig csak egy bitben különbözik az előzőtől, mint a Grey kód esetén. Fig. 71. Johnson számláló Soros összeadó

60 60 A soros összeadóban van két jobbra léptető regiszter a két operandusnak, egy harmadik az eredménynek, egy flip-flop a carry out tárolására, és egy egybites teljes összeadó. a legkisebb helyi értékű bitek rákerülnek az összeadó adatbemeneteire, az összeg rákerül a harmadik regiszter shift in bemenetére, az esetleg keletkezett átvitel a flip-flop bemenetére, a flip-flop kimenete tartalmazza az előző összeadás átvitelét. Órajelre mindhárom léptető regiszter eggyel jobbra lép, az összeadó adatbemeneteire a következő helyi érték kerül, a flip-flopba beíródik az új átvitel, az összeget tartalmazó léptető regiszterbe belép az adott helyi értékhez tartozó egybites összeg. A 8.-ik órajelre előáll az eredmény, a flip-flop kimenete pedig tartalmazza az esetleges átvitelt (72. ábra). Fig. 72. aborfeladat Tervezzen egy 8 bites, jobbra-balra léptető regisztert párhuzamos beírási lehetőséggel. A léptető regiszter kimenetei csatlakozzanak a tesztkártyán lévő LEDekhez, az órajelet (clk) a BTN0 nyomógombról, a párhuzamos beírás engedélyezése(pen) a BTN1 nyomógomb megnyomásával legyen elérhető. Oldja meg, hogy a léptető regiszterbe beírt byte órajelre addig lépdeljen jobbra ill. balra, amíg egy egyes nem éri el valamelyik (0. vagy 7.) szélső bitet, amikor is a léptetés iránya megfordul. Ha beíráskor a két szélen mindkét bit egyes, a következő órajelre az egyik kerüljön át a másik mellé, és innen folytassa a fentebb leírt működést (futófény). Alkalmazandó műszerek és eszközök PC számítógép Digilent Basys2 Spartan-3E FPGA mérőpanel Digilent Adept konfiguráló szoftver

61 61 5 NÉGYBITES CPU TERVEZÉS 5.1 Bevezetés A CPU (angol: Central Processing Unit központi feldolgozóegység) más néven processzor, a számítógép agya, azon egysége, amely az utasítások értelmezését és végrehajtását vezérli, félvezetős kivitelezésű, összetett elektronikus áramkör. Egy szilícium kristályra integrált, sok tízmillió tranzisztort tartalmazó digitális egység. A bemeneti eszközök segítségével kódolt információkat feldolgozza, majd az eredményt a kimeneti eszközök felé továbbítja. A processzor alatt általában mikroprocesszort értünk, régebben a processzor sok különálló áramkör volt, ám a mikroprocesszorral sikerült a legfontosabb komponenseket egyetlen szilíciumlapkára integrálni. Fig. 73. Intel os processzor Az első mikroprocesszor az 1971-ben megjelent 4 bites szóhosszúságú Intel 4004 volt. Később több sikeres 8 bites sorozat jelent meg több gyártó részéről (Intel 8008, 8080, 8085, Zilog Z80, Motorola 6800, MOS Technology 6502). A 80-as évektől kezdve megnőtt a processzorok szóhossza (Intel 8086 (az IBM PC és PC/XT processzora): 16 bit (20-bites címtartomány), Intel (a PC/AT processzora): 16 bit (24 bites címtartomány) 1982, Intel 80386: 32 bit 1985) az órajel folyamatos növekedése mellett Számítógépes architektúrák A mikroszámítógépek fejlődése során két architektúra terjedt el (74. ábra). Az egyik a Neumann architektúra, itt ugyanabban a memóriában van a programkód, mint az adatok. Ilyen architektúrájúak például az INTEL x86-os processzorok. A Harvard architektúra esetében külön memória áll rendelkezésre az adatok és az utasításkód tárolására (mikrokontrollerek, PIC család) Utasításkészlet A processzor által ismert műveletek és utasítások összességét értjük a processzor utasításkészlete alatt. Legelőször a RISC (Reduced Instructions Set Computer) utasításkészletet használták, ez leegyszerűsített, rövid utasításokat tartalmazott. Elsődlegesnek tekintette a sebességet, és az egyszerűséget. Később a CISC-et (Complex

62 62 Fig. 74. Neumann és Harvard számítógép architektúra Instructions Set Computer) alkalmazták, ez már több, hosszabb utasítást tartalmazott, ám a túl sok, bonyolult utasítás nem bizonyult célravezetőnek, ezért visszatértek a RISChez. Ma már persze rengeteg utasításkészlet van, melyben keverednek a RISC, és a CISC irányelvei A labormérés alatt megépítendő CPU architektúrája A labormérés korlátozott időtartama miatt az alábbi blokkvázlaton látható (egyszerű felépítésű) Harvard architektúrájú CPU kerül megtervezésre és elkészítésre (75. ábra). A gyakorlatban használatos processzorok ennél jóval bonyolultabb belső felépítéssel rendelkeznek, de az általános működés megértéséhez ez az egyszerű változat is elegendő. A következőekben a laborgyakorlatok során összeállított négybites processzor belső felépítése kerül ismertetésre. PC (Program Counter): A programszámláló mindig a következő végrehajtandó utasítás címét tartalmazza. A labormérésen épített processzorban a programszámláló maximális értéke 255 lehet, mivel a programmemória 256 elemű. Programmemória (INST_MEM): A programmemória tartalmazza a végrehajtandó programot. A program utasítások sorozatából épül fel. Az utasítások vezérlik a mikroprocesszor működését. Egy utasítás kód hossza 21 bit, így a programmemória is 21 bit szélességű. Utasítás: Az utasítások az alegységeket vezérlő bináris kódokat és operandusokat tartalmaznak. Az éppen végrehajtásra kerülő utasítást a PC választja ki. Az utasítást két részre lehet bontani: Vezérlőjelek: az utasítás azon része, mi a mikroprocesszor vezérléséért felel. Pl.: beolvasás a bemenetről, összeadás, kivonás elvégzése regisztereken... Operandus: a vezérlőjeleken kívül az utasítás operandust is tartalmazhat. Ez az utasítás típusától függően lehet adat, vagy cím is.

63 63 Fig. 75. A laborgyakorlatok alatt épített négybites CPU blokkvázlata Regiszterek: Vannak speciális célú regiszterek a CPU-ban. Ilyen az A és a B regiszter. Ezekbe lehet az operandusokat betölteni, majd az ALU ezeken végzi el a kiválasztott műveletet. Az ALU művelet eredménye szintén ezekbe a regiszterekbe töltődik. Aritmetikai és Logikai Egység (ALU): Aritmetikai és logikai műveletek végrehajtására alkalmas. Memória (RAM): Címezhető memória. Adatok tárolására alkalmas. A regiszterek értékét, az utasításban megadott című memóriarekeszbe lehet tölteni, vagy kiolvasni. A memória 32 darab 4 bites adatot tud tárolni. Bemenet (input): A processzor két bemeneti porttal rendelkezik. Rajtuk keresztül 4 bites adatokat lehet a processzor belső regisztereibe juttatni. Kimenet (output): A processzor két kimeneti porttal rendelkezik. Rajtuk keresztül 4 bites adatokat lehet a kimenetre írni (pl. LED-ekre vagy hétszegmenses megjelenítőkre) A CPU utasításainak felépítése A processzoron belül különböző műveletvégző egységek, memóriák, kimeneti, bemeneti egységek találhatóak. Ezek vezérléséhez vezérlőjelek szükségesek. A vezérlőjelek az utasításban általában kódolva jelennek meg, így rövidebb utasítás szóhossz érhető el. Ebben az esetben a vezérlőjelek előállításához az utasítást dekódolni kell. A labormérésen épített CPU egyszerűsítése miatt kihagyjuk az utasításdekódolót, így az utasításokban a vezérlőjelek már dekódolt formában helyezkednek el. A következő táblázatok a CPU egyes egységeinek vetélését adják meg.

64 64 Az A és B regiszter bemenetének kiválasztása (Register input select) A labormérésen tervezett CPU-ban minden adat az A és B regiszteren keresztül mozgatható, ezért a regiszterek bemenete több modulból is érkezhet. A regiszterek bemenetét egy 8 bemenetű multiplexerrel választhatjuk ki a három vezérlőbemenet segítségével. A multiplexer adatbemenetei 4 bitesek. A következő táblázat megadja, az egyes vezérlő bemenet kombinációk esetén melyik forrás kerül a regiszterekre. A multiplexerrel kiválasztott adatot a megfelelő regiszterbe a Ben, ABEN típusú vezérlőbittel lehet beírni. A Ben nulla értéke esetén a kiválasztott adat az A regiszterbe, míg logikai egy értéke esetén a B regiszterbe töltődik. TABLE 16 Az A és B regiszter bemenetének kiválasztása Aen2 Aen1 Aen0 Funkció Leírás Aout A regiszterek bemenete az A regiszter kimenete Bout A regiszterek bemenete a B regiszter kimenete RAMout A regiszterek bemenete a memória kimenete INST A regiszterek bemenete az utasítás argumentuma (utasítás első 4 bite) IN0 A regiszterek bemenete az input IN1 A regiszterek bemenete az input ALUout A regiszterek bemenete az ALU kimenete ALU vezérlése (ALU control) A processzor Aritmetikai és Logikai Egysége a bemeneti A illetve B regisztereken képes műveleteket végezni. Az eredmény minden esetben az A regiszterbe kerül. A művelet kiválasztása 3 biten történik, ezt ismerteti a következő táblázat. TABLE 17 ALU vezérlő jelei S2 S1 S0 Funkció Leírás A+B Az A és a B regiszter összeadása, eredmény az A -ba A-B Az A regiszterből B kivonása, eredmény az A -ba A and B Az A és a B regiszter bitenkénti ÉS kapcsolata, eredmény az A -ba ROR Az A regiszter rotálása jobbra, eredmény az A -ba A or B Az A és a B regiszter bitenkénti VAGY kapcsolata, eredmény A -ba ROL Az A regiszter rotálása balra, eredmény az A -ba A xor B Az A és a B regiszter bitenkénti XOR kapcsolata, eredmény az A -ba Ugró utasítások, a programszámláló megváltoztatása (Branch control) Normál esetben az utasítás számláló minden utasítás után eggyel növekszik. Ugró utasítás esetén a program végrehajtását az utasításkódban megadott címtől kell folytatni (utasítás első 8 bitje). Ehhez az utasításszámlálót a következő ciklus előtt módosítani kell. Az ugróutasítás lehet feltétel nélküli, vagy feltételes. Feltétel nélküli ugrás esetén

65 65 mindenképpen megváltozik az utasításszámláló értéke. A feltételes ugrásnál az ugrás bekövetkezése feltételhez kötött. A feltételeket az ALU Z (zero), C (carry), O (overflow) jelzőbitjei szolgáltatják. Az ugró utasítás előtti ALU művelet módosítja a jelzőbitek értékét, és ennek függvényében az ugróutasítás vagy bekövetkezik (ekkor módosul a PC az utasításban megadott címre), vagy nem következik be (ekkor a PC értéke eggyel növekszik). TABLE 18 Ugró utasítások Br2 Br1 Br0 Funkció Leírás no BR Nincs ugrás BRZ Az ALU Z flag-je 1, ugrás az utasítás utolsó 8 bitjén megadott címre BRNZ Az ALU Z flag-je 0, ugrás az utasítás utolsó 8 bitjén megadott címre BRC Az ALU C flag-je 1, ugrás az utasítás utolsó 8 bitjén megadott címre BRNC Az ALU C flag-je 0, ugrás az utasítás utolsó 8 bitjén megadott címre BRO Az ALU O flag-je 1, ugrás az utasítás utolsó 8 bitjén megadott címre BRNO Az ALU O flag-je 0, ugrás az utasítás utolsó 8 bitjén megadott címre BR Feltétel nélküli ugrás, ugrás az utasítás utolsó 8 bitjén megadott címre Egyéb vezérlő jelek A processzoron belül található memória adatbemenete az A regiszter kimenetére kapcsolódik. A regiszter értékének memóriába töltése a mwe, MWE típusú vezérlőbittel történik. A beírás során az adatmemória címét az utasítás első 5 bitje határozza meg. Az A regiszter értékének kimenetre történő másolása Oen és Onb, OEN típusú vezérlőbitekkel lehetséges. TABLE 19 Kimeneti regiszterek vezérlő jelei Oen Onb Funkció Leírás Nem történik kiírás Nem történik kiírás 1 0 out0=a Az A regiszter értéke a 0. kimeneti latch-be kerül 1 1 out1=a Az A regiszter értéke a 1. kimeneti latch-be kerül

66 66 Az utasítások felépítése Egy utasítást két részre lehet bontani. A vezérlőjelek az utasítás azon részei, melyek a mikroprocesszor vezérléséért felelnek (pl. az ALU egyes egységeinek vezérlőjelei), ezeket összefoglalóan "Control signals"-nak nevezzük (76. ábra). Az utasítás másik része az operandus, amit a vezérlőjelektől függően lehet adat vagy címként is értelmezni, vagy az utasítás szempontjából nem tartalmaz információt (Address or Operand). Az operandust a következőképpen lehet értelmezni: INSTR address: 8 bites címet tartalmaz, az ugró utasítások esetén. RAM address: 5 bites cím, a memória műveletek esetén. RAM-ba írás, vagy RAMból olvasás. A maradék 3 bit nem használt (don t care). DATA: 4 bites adat, a konstans szám regiszterbe töltése esetén. A maradék 4 bit nem használt (don t care). Fig. 76. Az utasítások felépítése Mnemonik A következő táblázat azokat az utasításokat tartalmazza, melyeket a CPU képes értelmezni, és végrehajtani. Vegyük példának egy konstans A regiszterbe való betöltését (77. ábra). Fig. 77. Az utasítások felépítése A táblázat első sora a bitszámozást tartalmazza, a második sorában az utasítás általános alakja szerepel. Itt a lényeges vezérlőbitek értéket kaptak (0,1), az utasítás számára lényegtelen biteket x-el jelöltük. Az utolsó sorban az utasítás számára érdektelen biteket nullával helyettesítettük. A ik helyi értéken egy k szám kerül megadásra, ez lesz a betöltendő konstans. Ha vesszük az utasítást hexadecimális formában 0x0C000+k és hozzáadjuk a konstans négybites számot akkor megkapjuk az utasítás kódját. Az ilyen kódok szemléletesebb jelölésére rövid utasításneveket szoktak megadni, melyeket mnemonikoknak nevezünk. Ez a rövid azonosító az operandussal együtt meghatározza az utasításkódot. A példa esetében: "LDI k". A CPU teljes utasításkészlete

67 67 Fig. 78. Utasításkészlet Laborfeladat A CPU megtervezése és megépítése 5 laborgyakorlat alatt történik. Az egyes laborgyakorlatokon elkészítendő részfeladatok: CPU laborfeladat és a használt alkatrészek megismerése. Hétszegmenses kijelző modulok használatának megismerése (négy és a nyolc hétszegmenses kijelző). Órajel forrás hozzáadása (manuális, 10Hz-es). Programszámláló és programmemória. A programszámláló és az utasítás megjelenítése. Szimuláció és letöltés. Buszrendszerek. Az A és a B regiszter bemenetének kiválasztása és ALU hozzáadása a rendszerhez. Az A és B regiszter értékének megjelenítése. ALU flag kimeneteinek regiszterbe töltése. Szimuláció és letöltés. Kimeneti regiszterek és memória hozzáadása a rendszerhez. Ugró utasítás megvalósítása. Az így elkészül végleges processzoron az 1. mintaprogram kipróbálása. Letöltés. Az elkészült CPU-ra programkód készítése, és annak vizsgálata. A laborgyakorlatokon elkészítendő részfeladatok a következő 4 alfejezetben kerülnek ismertetésre. Alkalmazandó műszerek és eszközök PC számítógép Digilent Basys2 Spartan-3E FPGA mérőpanel Basys2 extboard #1 kiegészítő panel Digilent Adept konfiguráló szoftver Assembler program: assemblerdtcpu4.exe

68 Órajel forrás, programszámláló, utasításregiszter, kijelzés A CPU működéséhez órajel szükséges. Az órajelet a panelen található 50 Mhz-es oszcillátorból nyerhetjük, vagy nyomógombok segítségével állíthatjuk elő. Hogy a processzor működését nyomon követhessük megfelelően kis frekvenciájú órajelre van szükség. Az 50 Mhz-es jelből a Clk_divide makróval 10 Hz-es órajelet állíthatunk elő. Másik lehetőség, hogy az órajel fel- és lefutó életi nyomógombok segítségével állíthatjuk elő (lásd: FPGA fejlesztés ISE-ben 16. oldal). Az egyik gomb az UP a másik gomb a DOWN port nevet viseli az ucf fájlban. Egy kiválasztó gomb (OCLK_EN) lenyomásával dönthetjük el, hogy a 10 Hz-es (OCLK_EN=1), vagy az UP/DOWN gombokkal előállított jel (OCLK_EN=0) legyen a CPU órajele (clock jel). Mivel a processzor egységei az órajel különböző éleire aktívak, szükség van az órajel negáltjára (clock_n). A clock_n órajel adja egy 8 bites számláló (CB8CLE) órajelét. Ez a számláló a programszámláló, melynek load bemenetét az ugróutasítások vezérlik. A párhuzamos adatbemenete az utasítás argumentum része lesz, vagyis az ugrási cím. (Az ugró utasításokról későbbi fejezetben ismerkedhetünk meg részletesebben.) Jelen feladatban az ugró utasításokkal nem foglalkozunk, ezért ezt a bemenetet logikai nulla értékre kell kötni. A számláló kimenete a Pcnt busz, ami az utasításmemória (INST_MEM) címbemenetét adja. Az utasításmemória kimenetén (INSTR busz) jelennek meg az utasítások, a clock órajel hatására. Az órajel felfutó élének hatására a programmemóriából a megfelelő utasítás kiolvasásra kerül, majd az órajel lefutó élének hatására végrehajtódik az utasítás, és a programszámláló értéke megváltozik a következő végrehajtandó utasítás címére. A kijelzőkre kösse rá az utasításmemória és a programszámláló kimenetét (részletek a táblázatban). TABLE 20 Kijelzők portkiosztása Bemenet Jel Leírás in_a1 Pcnt(7:4) in_a0 Pcnt(3:0) Programszámláló megjelenítése az A kijelzőn in_b INSTR(20) in_b0 INSTR(19:16) in_c1 INSTR(15:12) in_c0 INSTR(11:8) Utasítás megjelenítése a B, C és D kijelző modulokon in_d1 INSTR(7:4) in_d0 INSTR(3:0) Szimulációval ellenőrizze a működést. A szimuláció során figyelje meg a programszámláló értékét, és a hozzátartozó utasításokat. Alapértelmezésben az alábbi kódrészlet található a programmemóriában (79. ábra). Az első oszlop az utasítás helyét jelöli a programmemóriában, ez nullától kezdve folyamatosan növekszik. A harmadik oszlopban az utasítás mnemonikja látható (nop, ldi...) majd a következő oszlopban az argumentum. Az utolsó oszlop az utasítás hexadecimális kódját mutatja. Helyes működés esetén a PC kiválasztja az aktuális

69 69 utasítást, a kijelzo n ennek megfelelo utasításkód jelenik meg. A kijelzo kön az (79. ábra elso és utolsó oszlopának sorait kell látnunk. Fig. 79. A mintaprogram mnemonikjai és utasításkódjai A szimuláció után próbálja meg letölteni a kapcsoláshoz tartozó konfigurációs fájlt az FPGA-ba és elleno rizze a mu ködést. A 80. ábra szemlélteti a CPU teszteléséhez szükséges kapcsolók, kijelzo k funkcióját. Fig. 80. Ki-bemeneti egységek A következo táblázat tartalmazza a laborgyakorlaton felhasznált ki-és bemeneti portokat (I/O port) (21. táblázat).

70 70 TABLE 21 Portkiosztás Port név Busz Leírás SEG4(7:0) 8 bit 4db hétszegmenses kijelző szegmensei. AN4(3:0) 4 bit 4db hétszegmenses kijelző kiválasztó jelei. SEG8(7:0) 8 bit A kiegészítő panel szegmensei. AN8(7:0) 8 bit A kiegészítő panel kiválasztó jelei. MCLK - A Clock_divide bemenete. 50 Mhz-es órajel UP - btn3. Lenyomásakor a rendszer órajel magas értékű lesz DOWN - btn2. Lenyomásakor a rendszer órajel alacsony értékű lesz OCLK_EN - btn1. Lenyomásakor a rendszer órajel 10Hz, ellenkező esetben az UP/DOWN RST - btn0. Rendszer alapállapotba helyezése. Minden számlálót töröl. 5.3 ALU és regiszterek Az előző órán elkészített áramkört egészítse ki regiszterekkel. A regiszterekhez FD4CE tárolót használjon. A kapcsolásban szereplő jeleket az ábra szerint nevezze el (81. ábra). Az A és B regiszterek vezérlése a rendszer órajel lefutó élére történik. A regiszterek kimeneteit kösse rá az ALU bemeneteire. Az utasítás busz (INSTR) megfelelő jeleit kösse rá az ALU vezérlőjeleire. Fig. 81. A CPU műveletvégző egysége és regiszterei Az A és B regiszter bemenete több forrásból származhat (bemenet, regiszterek, ALU, RAM, utasítás...), melyek közül a multiplexer választja ki az utasításnak megfelelőt (felhasználható makró: mux8_4bit). Az utasítás busz (INSTR) regiszterekre vonatkozó jeleit kösse a multiplexer kiválasztó bemenetére. A regiszterek lehetséges bemeneti forrásait kösse rá a multiplexer adatbemeneteire, ebből hagyja ki a RAMout kiválasztást, mivel ez a jel egy későbbi gyakorlat során kerül a rendszerbe. Most konstans nulla értékkel helyettesítse ezt a bemenetet. A kiválasztott adat A vagy B regiszterbe való töltését az ABEN vezérlőbit irányítja. A Bin_to_7_segment_x4 makró bekötéseit az alábbi táblázat tartalmazza (22. ábra). Szimulációval ellenőrizze a működést. Figyelje meg a programszámláló értékét, az utasításkódokat, valamint az A és B regiszterek értékeit. Az utasításmemóriában 82. ábra

71 71 TABLE 22 Kimenet portkiosztása Bemenet in_a in_b in_c in_d Jel Aout(3:0) Bout(3:0) 0 0 szerinti program található. Fig. 82. A mintaprogram mnemonikjai és utasításkódjai A szimuláció után próbálja meg letölteni a kapcsoláshoz tartozó konfigurációs fájlt az FPGA-ba és elleno rizze a mu ködést. Az FLAG bitek elleno rzésére és az órajel megjelenítésére használja az FPGA fejleszto panelen található LED-eket. Fig. 83. Ki-bemeneti egységek A következo táblázat tartalmazza a laborgyakorlaton felhasznált ki-és bemeneti portokat (I/O port) (23. táblázat).

Nyolcbites számláló mintaprojekt

Nyolcbites számláló mintaprojekt Nyolcbites számláló mintaprojekt 1. Bevezető A leírás egy nyolcbites számláló elkészítésének és tesztelésének lépéseit ismerteti. A számláló értéke az órajel felfutó élének hatására növekszik. A törlőgombbal

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Multiplexer (MPX) A multiplexer egy olyan áramkör, amely több bemeneti adat közül a megcímzett bemeneti adatot továbbítja a kimenetére.

Részletesebben

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István LOGIKAI TERVEZÉS PROGRAMOZHATÓ ÁRAMKÖRÖKKEL Előadó: Dr. Oniga István Programozható logikai áramkörök fejlesztőrendszerei Fejlesztő rendszerek Terv leírás: (Design Entry) Xilinx Foundation ISE Külső eszköz

Részletesebben

ISE makró (saját alkatrész) készítése

ISE makró (saját alkatrész) készítése ISE makró (saját alkatrész) készítése 1. Makró (saját alkatrész) hozzáadása meglévő projekthez... 2 1.1. Kapcsolási rajz alapú makró készítése... 2 1.2. Kapcsolási rajz alapú saját makró javítása... 4

Részletesebben

FPGA alapú áramkörök fejlesztése a Xilinx ISE Webpack használatával

FPGA alapú áramkörök fejlesztése a Xilinx ISE Webpack használatával FPGA alapú áramkörök fejlesztése a Xilinx ISE Webpack használatával Tartalom 1 Bevezetés... 2 2 A mérés során használt eszközök... 2 2.1 Spartan 3 FPGA család... 2 2.1.1 Kapcsolómátrix... 3 2.1.2 Órajel...

Részletesebben

Bev Be e v z e e z t e ő t az ISE re r nds nds e z r e használatához

Bev Be e v z e e z t e ő t az ISE re r nds nds e z r e használatához Bevezető az ISE rendszer használatához Fejlesztő rendszerek Terv leírás: (Design Entry) Xilinx Foundation ISE Külső eszköz Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Szintézis terv: (Design

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Kombinációs LABOR feladatok Laborfeladat: szavazatszámláló, az előadáson megoldott 3 bíró példája Szavazat példa specifikáció Tervezz

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő

Részletesebben

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István Laborgyakorlat 3 A modul ellenőrzése szimulációval Dr. Oniga István Szimuláció és verifikáció Szimulációs lehetőségek Start Ellenőrzés után Viselkedési Funkcionális Fordítás után Leképezés után Időzítési

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő

Részletesebben

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti 10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti kapcsolója által definiált logikai szinteket fogadja, megfelelő

Részletesebben

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA 3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA Az FPGA tervezésben való jártasság megszerzésének célszerű módja, hogy gyári fejlesztőlapot alkalmazzunk. Ezek kiválóan alkalmasak tanulásra, de egyes ipari tervezésekhez

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Összeadó áramkör A legegyszerűbb összeadó két bitet ad össze, és az egy bites eredményt és az átvitelt adja ki a kimenetén, ez a

Részletesebben

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN Előadó: Dr. Oniga István Programozható logikai áramkörök fejlesztőrendszerei Fejlesztő rendszerek Terv leírás: (Design Entry) Xilinx Foundation ISE Külső eszköz Mentor

Részletesebben

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar Digitális Technika Dr. Oniga István Debreceni Egyetem, Informatikai Kar 3. Laboratóriumi gyakorlat A gyakorlat célja: Négy változós AND, OR, XOR és NOR függvények realizálása Szimulátor használata ciklussal

Részletesebben

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar Digitális Technika Dr. Oniga István Debreceni Egyetem, Informatikai Kar 2. Laboratóriumi gyakorlat gyakorlat célja: oolean algebra - sszociativitás tétel - Disztributivitás tétel - bszorpciós tétel - De

Részletesebben

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ. 2012. szeptember 19. Verzió 1.2. http://logsys.mit.bme.hu

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ. 2012. szeptember 19. Verzió 1.2. http://logsys.mit.bme.hu LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ 2012. szeptember 19. Verzió 1.2 http://logsys.mit.bme.hu Tartalomjegyzék 1 Bevezetés... 1 2 Memóriák... 3 2.1 Aszinkron SRAM... 3 2.2 SPI buszos soros

Részletesebben

Beágyazott rendszerek a mérnöki gyakorlatban Molnár, András Turóczi, Antal Stojcsics, Dániel Léczfalvy, Ádám Kelemen, József Somlyai, László

Beágyazott rendszerek a mérnöki gyakorlatban Molnár, András Turóczi, Antal Stojcsics, Dániel Léczfalvy, Ádám Kelemen, József Somlyai, László Beágyazott rendszerek a mérnöki gyakorlatban Molnár, András Turóczi, Antal Stojcsics, Dániel Léczfalvy, Ádám Kelemen, József Somlyai, László Beágyazott rendszerek a mérnöki gyakorlatban írta Molnár, András,

Részletesebben

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar Szabó Tamás Dr. Lovassy Rita - Tompos Péter DIGITÁLIS TECHNIKA LABÓRATÓRIUMI ÚTMUTATÓ 3. kiadás Mikroelektronikai és Technológia Intézet Budapest, 2014-1

Részletesebben

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens LOGIKAI TERVEZÉS PROGRAMOZHATÓ ÁRAMKÖRÖKKEL Előadó: Dr. Oniga István Egytemi docens A tárgy weboldala http://irh.inf.unideb.hu/user/onigai/ltpa/logikai_tervezes.htmltervezes.html Adminisztratív információk

Részletesebben

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK Elıadó: Dr. Oniga István Egytemi docens A tárgy weboldala http://irh.inf.unideb.hu/user/onigai/ple/programozhato_logika.html Adminisztratív információk Tárgy: Oktató: Dr.

Részletesebben

Digitális technika Xilinx ISE GUI használata

Digitális technika Xilinx ISE GUI használata BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika Xilinx ISE GUI használata BME MIT Fehér Béla Raikovich

Részletesebben

1. Kombinációs hálózatok mérési gyakorlatai

1. Kombinációs hálózatok mérési gyakorlatai 1. Kombinációs hálózatok mérési gyakorlatai 1.1 Logikai alapkapuk vizsgálata A XILINX ISE DESIGN SUITE 14.7 WebPack fejlesztőrendszer segítségével és töltse be a rendelkezésére álló SPARTAN 3E FPGA ba:

Részletesebben

2008. október 9. Verzió 1.0. http://logsys.hu

2008. október 9. Verzió 1.0. http://logsys.hu LOGSYS SPARTAN 3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ 2008. október 9. Verzió 1.0 http://logsys.hu Tartalomjegyzék 1 Bevezetés... 1 2 Memóriák... 3 2.1 Aszinkron SRAM... 3 2.2 SPI buszos soros FLASH memória...

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 3 Fehér Béla Raikovich Tamás,

Részletesebben

Előadó: Nagy István (A65)

Előadó: Nagy István (A65) Programozható logikai áramkörök FPGA eszközök Előadó: Nagy István (A65) Ajánlott irodalom: Ajtonyi I.: Digitális rendszerek, Miskolci Egyetem, 2002. Ajtonyi I.: Vezérléstechnika II., Tankönyvkiadó, Budapest,

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 3 Fehér Béla Raikovich Tamás,

Részletesebben

Segédlet a Xilinx Spartan-3 FPGA méréshez

Segédlet a Xilinx Spartan-3 FPGA méréshez Segédlet a Xilinx Spartan-3 FPGA méréshez A Xilinx ISE WebPack 9.1 IDE (Integrated Development Envirement Integrált Fejlesztő Környezet) segítségével hozzunk létre egy egyszerű demo programot a gyakorlópanelen

Részletesebben

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, 2012. Minden jog fenntartva

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, 2012. Minden jog fenntartva T Bird 2 AVR fejlesztőpanel Használati utasítás Gyártja: BioDigit Kft Forgalmazza: HEStore.hu webáruház BioDigit Kft, 2012 Minden jog fenntartva Főbb tulajdonságok ATMEL AVR Atmega128 típusú mikrovezérlő

Részletesebben

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,

Részletesebben

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1. EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL 2017. június 16. Verzió 1.0 http://logsys.mit.bme.hu A dokumentum célja egy egyszerű alkalmazás

Részletesebben

Digitális elektronika gyakorlat. A VHDL leírástípusok

Digitális elektronika gyakorlat. A VHDL leírástípusok A VHDL leírástípusok 1. A funkcionális leírásmód Company: SAPIENTIA EMTE Engineer: Domokos József Create Date: 08:48:48 03/21/06 Design Name: Module Name: Logikai es kapuk funkcionalis leirasa- Behavioral

Részletesebben

FELHASZNÁLÓI ÚTMUTATÓ

FELHASZNÁLÓI ÚTMUTATÓ FELHASZNÁLÓI ÚTMUTATÓ VÉRADÁS IDŐPONT SZERKESZTŐ (verzió: 1.2) 2013. április 1. Tartalomjegyzék 1. Telepítés és indítás... 3 2. Frissítés... 3 3. Beállítás... 4 4. Felület... 4 5. Véradó helyszínek...

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 1 Fehér Béla Raikovich Tamás,

Részletesebben

Digitális elektronika gyakorlat

Digitális elektronika gyakorlat FELADATOK 1. Felhasználva az XSA 50 FPGA lapon található 100MHz-es programozható oszcillátort, tervezzetek egy olyan VHDL modult, amely 1 Hz-es órajelet állít elő. A feladat megoldható az FPGA lap órajelének

Részletesebben

Perifériák hozzáadása a rendszerhez

Perifériák hozzáadása a rendszerhez Perifériák hozzáadása a rendszerhez Intellectual Property (IP) katalógus: Az elérhető IP modulok listája Bal oldalon az IP Catalog fül Ingyenes IP modulok Fizetős IP modulok: korlátozások Időkorlátosan

Részletesebben

Digitális elektronika gyakorlat

Digitális elektronika gyakorlat FELADATOK 1. Tervezzetek egy félösszeadó VHDL modult 2. Tervezzetek egy teljes összeadó VHDL modult 3. Schematic Editor segítségével tervezzetek egy 4 bit-es öszeadó áramkört. A két bemeneti számot a logikai

Részletesebben

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium BUDAPESTI MŐSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK A LOGSYS GUI Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT atórium

Részletesebben

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON 11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON 1 Számos alkalmazásban elegendő egyszerű, hétszegmenses LED vagy LCD kijelzővel megjeleníteni a bináris formában keletkező tartalmat,

Részletesebben

A LOGSYS rendszer ismertetése

A LOGSYS rendszer ismertetése BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK A LOGSYS rendszer ismertetése Raikovich Tamás BME MIT atórium A LOGSYS

Részletesebben

Választó lekérdezés létrehozása

Választó lekérdezés létrehozása Választó lekérdezés létrehozása A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák, illetve az adatbázis tartalmát nem változtatják meg,

Részletesebben

Tervezési módszerek programozható logikai eszközökkel

Tervezési módszerek programozható logikai eszközökkel Pannon Egyetem, MIK-VIRT, Veszprém Dr. Vörösházi Zsolt voroshazi.zsolt@virt.uni-pannon.hu Tervezési módszerek programozható logikai eszközökkel 3. Xilinx ISE Design Suite integrált fejlesztő rendszer használata.

Részletesebben

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István PROTOTÍPUSKÉSZÍTÉS VERILOG NYELVEN Előadó: Dr. Oniga István A tárgy weboldala http://irh.inf.unideb.hu/user/onigai/pvn/verilog.html Adminisztratív információk Tárgy: Oktató: tó Dr. Oniga István (oniga.istvan@inf.unideb.hu)

Részletesebben

Lapműveletek. Indítsuk el az Excel programot és töröljük ki a Munka1 nevű munkalapot!

Lapműveletek. Indítsuk el az Excel programot és töröljük ki a Munka1 nevű munkalapot! Bevezetés Ebben a fejezetben megismerkedünk az Excel munkalapjainak beszúrásával, törlésével, másolásával, valamint áthelyezésével, illetve csoportos kezelésével. Képesek leszünk különböző munkafüzetek

Részletesebben

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI 1 Kombinációs hálózatok leírását végezhetjük mind adatfolyam-, mind viselkedési szinten. Az adatfolyam szintű leírásokhoz az assign kulcsszót használjuk, a

Részletesebben

Mérési jegyzőkönyv. az ötödik méréshez

Mérési jegyzőkönyv. az ötödik méréshez Mérési jegyzőkönyv az ötödik méréshez A mérés időpontja: 2007-10-30 A mérést végezték: Nyíri Gábor kdu012 mérőcsoport A mérést vezető oktató neve: Szántó Péter A jegyzőkönyvet tartalmazó fájl neve: ikdu0125.doc

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 4 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 4 Fehér Béla Raikovich Tamás,

Részletesebben

Táblázatok. Táblázatok beszúrása. Cellák kijelölése

Táblázatok. Táblázatok beszúrása. Cellák kijelölése Táblázatok Táblázatok beszúrása A táblázatok sorokba és oszlopokba rendezett téglalap alakú cellákból épülnek fel. A cellák tartalmazhatnak képet vagy szöveget. A táblázatok használhatók adatok megjelenítésére,

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 5 Fehér Béla Raikovich Tamás,

Részletesebben

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán A QGIS program GPS eszközök modulja segítségével kétirányú kommunikációt folytathatunk a navigációs GPS vevőnkkel.

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 5 Fehér Béla Raikovich Tamás,

Részletesebben

SQL Backup and FTP. A program telepítésének menete. A szoftvert a következő weboldalról ingyenesen tölthető le: https://sqlbackupandftp.

SQL Backup and FTP. A program telepítésének menete. A szoftvert a következő weboldalról ingyenesen tölthető le: https://sqlbackupandftp. SQL Backup and FTP A szoftvert a következő weboldalról ingyenesen tölthető le: https://sqlbackupandftp.com/ A program telepítésének menete A telepítő elindítása után megjelenő képernyő a Next > gomb megnyomásával

Részletesebben

CGS Civil 3D Extensions 2012 telepítése

CGS Civil 3D Extensions 2012 telepítése CGS Civil 3D Extensions 2012 telepítése Indítsuk el a telepítést a setup_2012_hun_xx 1 bit_vyy 2.exe fájlra való kattintással. A megjelenő telepítő varázsló lapon olvassuk el az információkat, majd kattintsunk

Részletesebben

Mobil Partner telepítési és használati útmutató

Mobil Partner telepítési és használati útmutató Mobil Partner telepítési és használati útmutató Tartalom Kezdeti lépések... 2 Telepítés... 2 A program indítása... 6 Mobile Partner funkciói... 7 Művelet menü... 7 Kapcsolat... 7 Statisztika... 8 SMS funkciók...

Részletesebben

VARIO Face 2.0 Felhasználói kézikönyv

VARIO Face 2.0 Felhasználói kézikönyv VARIO Face 2.0 Felhasználói kézikönyv A kézikönyv használata Mielőtt elindítaná és használná a szoftvert kérjük olvassa el figyelmesen a felhasználói kézikönyvet! A dokumentum nem sokszorosítható illetve

Részletesebben

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont Oktatás WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken SZTE Egyetemi Számítóközpont WLAN kapcsolat beállítása 1 Tartalom Windows XP... 2 Tanúsítvány telepítése... 2 WPA2 védett

Részletesebben

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök Újrakonfigurálható eszközök 1. CPLD komplex programozható logikai eszközök 1 Tartalom Újrakonffigurálható eszközök: PAL, PLA, CPLD, FPGA Az ALTERA MAXII EPM240 CPLD bemutatása A C-M240 fejlesztői kártya

Részletesebben

Programozási segédlet DS89C450 Fejlesztőpanelhez

Programozási segédlet DS89C450 Fejlesztőpanelhez Programozási segédlet DS89C450 Fejlesztőpanelhez Készítette: Fekete Dávid Processzor felépítése 2 Perifériák csatlakozása a processzorhoz A perifériák adatlapjai megtalálhatók a programozasi_segedlet.zip-ben.

Részletesebben

DIGITÁLIS TECHNIKA I

DIGITÁLIS TECHNIKA I DIGITÁLIS TECHNIKA I Dr. Kovács Balázs Dr. Lovassy Rita Dr. Pődör Bálint Óbudai Egyetem KVK Mikroelektronikai és Technológia Intézet 11. ELŐADÁS 1 PÉLDA: 3 A 8 KÖZÜL DEKÓDÓLÓ A B C E 1 E 2 3/8 O 0 O 1

Részletesebben

A FileZilla program beállítása az első belépés alkalmával

A FileZilla program beállítása az első belépés alkalmával 6. A záróvizsga-jegyzőkönyv készítése A záróvizsga-jegyzőkönyveketa Karok többsége a jegyzőkönyvkészítésre Dr. Tánczos László által kifejlesztett Access alkalmazás használatával készíti el. A záróvizsga-jegyzőkönyv

Részletesebben

Aromo Szöveges értékelés normál tantárggyal

Aromo Szöveges értékelés normál tantárggyal Aromo Szöveges értékelés normál tantárggyal Aromo Iskolaadminisztrációs Szoftver Felhasználói kézikönyv -- Szöveges értékelés 1 Tartalomjegyzék Aromo Szöveges értékelés normál tantárggyal 1 Bevezetés 3

Részletesebben

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István Kombinációs áramkörök modelezése Laborgyakorlat Dr. Oniga István Funkcionális kombinációs egységek A következő funkcionális egységek logikai felépítésével, és működésével foglalkozunk: kódolók, dekódolók,

Részletesebben

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt segédlet A Szilipet programok az adatok tárolásához Firebird adatbázis szervert használnak. Hálózatos

Részletesebben

Digitális aláírás általános telepítése és ellenőrzése

Digitális aláírás általános telepítése és ellenőrzése Digitális aláírás általános telepítése és ellenőrzése A digitális aláírásból (tanúsítványból) két fajta létezik! Egyik az úgynevezett hardveres tanúsítvány, amelynél az ügyfél rendelkezik fizikailag egy

Részletesebben

E-Freight beállítási segédlet

E-Freight beállítási segédlet E-Freight beállítási segédlet Az E-Freight rendszer működéséhez szükséges programok és beállítások v08 A legújabb verzióért kérjük, olvassa be az alábbi kódot: 1. Támogatott böngészők Az E-Freight az Internet

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika (VIMIAA02) Laboratórium 5.5 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 5.5 Fehér Béla Raikovich Tamás,

Részletesebben

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról Felhasználói Segédlet MICROSEC Kft. 1022 Budapest, Marczibányi tér 9. telefon: (1)438-6310 2002. május 4. Tartalom Jelentés készítése...3 Új

Részletesebben

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához Ellenőrizzük a projektből importált adatokat. Ha rendben vannak, akkor kattintsunk a Next gombra. Válasszuk a Create Design

Részletesebben

FPGA áramkörök alkalmazásainak vizsgálata

FPGA áramkörök alkalmazásainak vizsgálata FPGA áramkörök alkalmazásainak vizsgálata Kutatási beszámoló a Pro Progressio alapítvány számára Raikovich Tamás, 2012. 1 Bevezetés A programozható logikai áramkörökön (FPGA) alapuló hardver gyorsítók

Részletesebben

Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5 Tartalom jegyzék 1 BEVEZETŐ 2 1.1 SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5 3.1 ELSŐ FUTTATÁS 5 3.2 TULAJDONOSI ADATLAP 6 3.3 REGISZTRÁLÁS 6 3.4 AKTIVÁLÁS 6 3.5 MÉRÉS 7 3.5.1 ÜGYFÉL

Részletesebben

Számítógép felépítése

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

A ChipScope logikai analizátor

A ChipScope logikai analizátor A ChipScope egy, az FPGA tervbe integrálható logikai analizátor, amely az FPGA terv belső jeleinek vizsgálatára használható Előnye a normál logikai analizátorhoz képest Az igényeknek megfelelően konfigurálható

Részletesebben

1. A Windows programok telepítése

1. A Windows programok telepítése 1. A Windows programok telepítése Amennyiben a program egy korábbi példánya már telepítve van a számítógépre, akkor beszélünk frissítésről. Ellenkező esetben a következőkben leírtakat átlépheti és a telepítés

Részletesebben

Memeo Instant Backup Rövid útmutató. 1. lépés: Hozza létre ingyenes Memeo fiókját. 2. lépés: Csatlakoztassa a tárolóeszközt a számítógéphez

Memeo Instant Backup Rövid útmutató. 1. lépés: Hozza létre ingyenes Memeo fiókját. 2. lépés: Csatlakoztassa a tárolóeszközt a számítógéphez Bevezetés A Memeo Instant Backup egyszerű biztonsági másolási megoldás, mely nagy segítséget nyújt a bonyolult digitális világban. A Memeo Instant Backup automatikus módon, folyamatosan biztonsági másolatot

Részletesebben

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 4 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 4 Fehér Béla Raikovich Tamás,

Részletesebben

Java telepítése és beállítása

Java telepítése és beállítása A pályázati anyagok leadás Mozilla Firefox böngészőn keresztül: Tartalom Java telepítése és beállítása... 1 USB kulcs eszközkezelő telepítése... 4 USB kulcs telepítése böngészőbe... 4 Kiadói tanúsítvány

Részletesebben

Egyszerűbb a Google keresőbe beírni a Sharepoint Designer 2007 letöltés kulcsszavakat és az első találat erre a címre mutat.

Egyszerűbb a Google keresőbe beírni a Sharepoint Designer 2007 letöltés kulcsszavakat és az első találat erre a címre mutat. A feladat megoldásához a Sharepoint Designer 2007 programot használjuk, mely ingyenesen letölthető a Microsoft weboldaláról. Az érettségi aktuális szoftverlistája alapján az Expression Web 2, az Expression

Részletesebben

Bevezető az ISE rendszer használatához

Bevezető az ISE rendszer használatához Bevezető az ISE rendszer használatához Fejlesztő rendszerek Terv leírás: (Design Entry) Xilinx Foundation ISE Külső eszköz Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Szintézis terv: (Design

Részletesebben

Operációs rendszerek. Tanmenet

Operációs rendszerek. Tanmenet Tanmenet TANMENET- Operációs rendszerek Témakörök Javasolt óraszám 1. Operációs rendszerek alapjai 2. Windows 2000 ismeretek- Munka a képernyőn 3. Windows 2000 ismeretek- A Start menü elemei 4. Windows

Részletesebben

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség: KRYPTON sablon Részletes leírás a sablonhoz kapcsoló új beállításokról Diavetítés a kezdőlapon A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség: Képes diavetítés Termékes diavetítés

Részletesebben

Tervezési módszerek programozható logikai eszközökkel

Tervezési módszerek programozható logikai eszközökkel Pannon Egyetem, MIK-VIRT, Veszprém Dr. VörösháziZsolt voroshazi.zsolt@virt.uni-pannon.hu Tervezési módszerek programozható logikai eszközökkel 7. VHDL FELADATOK: Speciális nyelvi szerkezetek. Sorrendi

Részletesebben

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán Bevezetés Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán A QGIS program egy nyiltforrású asztali térinformatikai program, mely a http://www.qgis.org oldalról tölthető le. Ebben a kis

Részletesebben

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika (VIMIAA01) Laboratórium 4 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA01) Laboratórium 4 Fehér Béla Raikovich Tamás,

Részletesebben

CAD-ART Kft. 1117 Budapest, Fehérvári út 35.

CAD-ART Kft. 1117 Budapest, Fehérvári út 35. CAD-ART Kft. 1117 Budapest, Fehérvári út 35. Tel./fax: (36 1) 361-3540 email : cad-art@cad-art.hu http://www.cad-art.hu PEPS CNC Programozó Rendszer Oktatási Segédlet Laser megmunkálás PEPS 4 laser megmunkálási

Részletesebben

Geotechnika II. (NGB-SE005-2) Geo5 használat

Geotechnika II. (NGB-SE005-2) Geo5 használat Geotechnika II. (NGB-SE005-2) Geo5 használat A Geo5 szoftvert (1. házi feladathoz opcióként, 2. házi feladathoz kötelezően) online felületen keresztül, távoli asztal kapcsolattal lehet használni. Az ehhez

Részletesebben

ONLINE SZAKÉRTŐI KERETRENDSZER

ONLINE SZAKÉRTŐI KERETRENDSZER FELHASZNÁLÓI SEGÉDLET 1. ÁBRA 1.Lépés Szakértői rendszer főbb paramétereinek megadása 0. Ellenőrzés bekapcsolása (Ha első alkalommal használja a rendszert ajánlott kipipálni). A rendszer a megadott paramétereket

Részletesebben

Ablakok. Fájl- és mappaműveletek. Paint

Ablakok. Fájl- és mappaműveletek. Paint Ablakok. Fájl- és mappaműveletek. Paint I. Ablakok I.1. Ablak fogalma Windows = ablak, rövidítése: win Program indítás kinyílik az ablaka I.2. Ablak részei A programablak rendszerint az alábbi részekre

Részletesebben

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008.

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008. A Xilinx FPGA-k A programozható logikákr król általában A Spartan-3 3 FPGA belső felépítése Az FPGA fejlesztés s menete BMF KVK MAI, Molnár Zsolt, 2008. A programozható logikák k I. Logikai eszközök: -

Részletesebben

Aromo Szöveges értékelés kódolt tantárggyal

Aromo Szöveges értékelés kódolt tantárggyal Aromo Szöveges értékelés kódolt tantárggyal AROMO Iskolaadminisztrációs Szoftver - Felhasználói kézikönyv - Szöveges értékelés 1 Tartalomjegyzék Aromo Szöveges értékelés kódolt tantárggyal 1 Bevezetés

Részletesebben

Digitális aláíró program telepítése az ERA rendszeren

Digitális aláíró program telepítése az ERA rendszeren Digitális aláíró program telepítése az ERA rendszeren Az ERA felületen a digitális aláírásokat a Ponte webes digitális aláíró program (Ponte WDAP) segítségével lehet létrehozni, amely egy ActiveX alapú,

Részletesebben

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program A GeoEasy telepítése GeoEasy V2.05 Geodéziai Feldolgozó Program (c)digikom Kft. 1997-2008 Tartalomjegyzék Hardver, szoftver igények GeoEasy telepítése A hardverkulcs Hálózatos hardverkulcs A GeoEasy indítása

Részletesebben

Vodafone Mobile Connect telepítése

Vodafone Mobile Connect telepítése Vodafone Mobile Connect telepítése Kérjük ne csatlakoztassa a Vodafone Mobile Connect eszközt a Mac számítógépéhez. Ha esetleg már csatlakoztatta az adatkártyát vagy a modemet a Mac számítógépéhez, akkor

Részletesebben

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén A CIB Internet Bankba való webes felületen keresztül történő belépés az Oracle által

Részletesebben

Duál Reklám weboldal Adminisztrátor kézikönyv

Duál Reklám weboldal Adminisztrátor kézikönyv Duál Reklám weboldal Adminisztrátor kézikönyv Dokumentum Verzió: 1.0 Készítette: SysWork Szoftverház Kft. 1. oldal Felület elérése Az adminisztrációs felület belépés után érhető el. Belépés után automatikusan

Részletesebben

Mikrorendszerek tervezése

Mikrorendszerek tervezése BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Vivado fejlesztői környezet Fehér Béla Raikovich

Részletesebben

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla 1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva

Részletesebben

EB134 Komplex digitális áramkörök vizsgálata

EB134 Komplex digitális áramkörök vizsgálata EB34 Komplex digitális áramkörök vizsgálata BINÁRIS ASZINKRON SZÁMLÁLÓK A méréshez szükséges műszerek, eszközök: - EB34 oktatókártya - db oszcilloszkóp (6 csatornás) - db függvénygenerátor Célkitűzés A

Részletesebben

Java-s Nyomtatványkitöltő Program Súgó

Java-s Nyomtatványkitöltő Program Súgó Java-s Nyomtatványkitöltő Program Súgó Hálózatos telepítés Windows és Linux operációs rendszereken A program nem használja a Registry-t. A program három könyvtárstruktúrát használ, melyek a következők:

Részletesebben