Budapesti Műszaki és Gazdaságtudományi Egyetem VHDL. Horváth Péter, Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) október 3.

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

Download "Budapesti Műszaki és Gazdaságtudományi Egyetem VHDL. Horváth Péter, Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) 2013. október 3."

Átírás

1 Áramkörtervezés az absztrakciótól a realizációig BMEVIEEM284 Budapesti Műszaki és Gazdaságtudományi Egyetem VHDL Horváth Péter, Nagy Gergely Elektronikus Eszközök Tanszéke (BME) október 3. Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 1 / 62

2 Bevezető Bevezető Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 2 / 62

3 Bevezető A VHDL A VHDL A VHDL egy hardverleíró nyelv neve egy rövítés: VHSIC Hardware Description Language, amelyben szintén van egy rövidítés: VHSIC Very-High-Speed Integrated Circuit. A nyelvet az amerikai védelmi minisztérium (Department of Defense DoD) készíttette az 1980-as években digitális ASIC áramkörök dokumentálására. Hamar nagy igény lett a dokumentáció szimulálására, majd később a logikai szintézisre. A megbízás 1983-ban történt, az első szabvány az IEEE volt, majd ezt követte az IEEE-1164 és 1993-ban az IEEE-1076 új verziója. A nyelvnek létezik analóg és analóg-digitális rendszerek leírását lehetővé tevő verziója: a VHDL-AMS. Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 3 / 62

4 Bevezető A VHDL A VHDL nyelv A VHDL alapjául az Ada nyelv szolgált, amit szintén a DoD rendelt meg. Az Ada egy erősen típusos nyelv, nagy megbízhatóságú rendszerek fejlesztésére hozták létre. A VHDL is ezt a hagyományt követi. Szintaktikájára jellemző, hogy kevesebb szimbólumot és több, egész szavas kulcsszót használ, mint más nyelvek. Előnye a könnyű olvashatóság és az áttekinthető, szabályos szerkezet, hátránya a sok foglalt szó. A VHDL nem különbözteti meg a kis- és nagybetűket! A nyelv folyamatos fejlesztés alatt áll a mai napig: verifikáció támogatása, OOP. Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 4 / 62

5 Típusok és operátorok a VHDL-ben Típusok és operátorok a VHDL-ben Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 5 / 62

6 Típusok és operátorok a VHDL-ben Egyed deklaráció entity Egyed deklaráció entity A VHDL-ben, más HDL-ekhez hasonlóan, a tervezés alapja a logikai egység egyed. Az egyedek megadása két részletben történik: 1 entity blokk: az egyed interfésze (deklaráció) a portjainak az iránya és típusa, 2 architecture blokk: az egyed leírása (definíció) viselkedési, strukturális leírás. entity reg4 is port (d0, d1, d2, d3, en, clk : in bit ; q0, q1, q2, q3 : out bit ); end entity reg4 ; A példa egy négybites flipflopot mutat be. Az egyes portok egybites logikai típusúak. Az end után az entity reg4 opcionális. Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 6 / 62

7 Típusok és operátorok a VHDL-ben Egyed definíció architecture Egyed definíció architecture Az egyedek definíciója architecture blokk(ok)ban történik. Egy egyedhez tartozhat több definíció is: ez lehetsőséget ad több absztrakciós szint párhuzamos kipróbálására: entity nand_gate is port (a, b : in bit ; q : out bit ); end entity nand_gate ; architecture arch_1 of nand_gate is begin q <= not (a and b); end architecture arch_1 ; architecture arch_2 of nand_gate is signal internal : bit ; begin internal <= a and b; q <= not internal ; end architecture arch_2 ; Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 7 / 62

8 Típusok és operátorok a VHDL-ben Jelek létrehozása, értékadás jeleknek Jelek létrehozása, értékadás jeleknek Egy egyed portjai jelek (signal). Az egyedeken belül definiálhatunk további jeleket is. A jeleket a deklarációs blokkban hozzuk létre, ami a begin kulcsszó előtt található. architecture arch_2 of nand_gate is signal internal : bit ; -- lok á lis jel begin internal <= a and b; q <= not internal ; end architecture arch_2 ; Az értékadás a <= operátorral történik jelek esetében. A jelek értékadása párhuzamosan kerül végrehajtásra ezért lesz a fenti leírásból egy NAND kapu. A -- utáni szöveg egy sorban: megjegyzés. Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 8 / 62

9 Típusok I. Típusok és operátorok a VHDL-ben Típusok A jeleink típusa eddig bit volt, ami 0 és 1 értékeket tud felvenni. Hardver-modellezéshez ennél többféle érték szükséges. nagy impedancia, ismeretlen/érdektelen, stb. Ilyen típust létre lehet hozni a nyelv saját eszközeivel (ld. később), de a szabványosítók elkészítettek a saját verzióikat. Érdemes ezeket használni, hiszen ezek széles körben elterjedtek és támogatottak és ezeket ismerik a szintézerek is. Horváth Péter, Nagy Gergely (BME EET) VHDL október 3. 9 / 62

10 Típusok II. Típusok és operátorok a VHDL-ben Típusok A nagy VHDL projektek hierarchikus felépítésűek, így a típusdefiníciók is ebben a hierchiában jelentkeznek: Könyvtár (library): legmagasabb szintű egység, Csomag (package): a könyvtár alegysége. Pl. az IEEE-1164 szabványban bevezetett típusok az ieee könyvtár std logic 1164 csomagjában találhatóak. A kódban jelezni kell, ha egy könyvtár egyes csomagjait használjuk. Pl. ha a teljes std logic 1164 csomagot használjuk: library ieee ; use ieee. std_logic_1164. all; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

11 Típusok és operátorok a VHDL-ben Az std.standard típusai Típusok A legalapvetőbb típusok az std.standard csomagban vannak definiálva ezt a legtöbb környezetben automatikusan beszerkeszti a fordító. Az itt található típusok: Az std.standard típusai Típus bit bit vector character integer natural real time Leírás 0 vagy 1 értékű bit több-bites érték karakter egész szám (méret: implementáció-függő) pozitív egész szám valós szám (a szintézerek általában nem támogatják) idő (megadható: sec, ms, us, ns, ps, fs egységekben) Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

12 Típusok és operátorok a VHDL-ben Az ieee típusai: std logic Típusok A nagy támogatottság és pontos modellezés érdekében érdemes az IEEE típusokat használni. Az std logic logikai jeleket ír le. Az std logic U inicializálatlan X kényszerített ismeretlen 0 kényszerített 0 1 kényszerített 1 Z nagy impedancia W gyenge ismeretlen L gyenge 0 H gyenge 1 - érdektelen (don t care) Az egybites értékeket aposztrófok közt adjuk meg VHDL-ben. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

13 Típusok és operátorok a VHDL-ben Típusok Az ieee típusai: std logic vector Az std logic vector több-bites értékek tárolására jó. Használata: signal vec_a : std_logic_vector (0 to 3); -- MSB : 0- s bit signal vec_b : std_logic_vector (3 downto 0); -- MSB : 3- as bit... vec_b (2) <= 1 ; A Veriloghoz hasonlóan kétféleképpen lehet megadni vektort (tömböt). Mindkét példában egy négybites vektort hozunk létre, de az elsőben az MSB a 0 indexű elem lesz, az LSB a 3 indexű, a másodikban az MSB a 3 indexű elem lesz, az LSB a 0 indexű. A második megoldást javasolt használni általában. Elemek elérése: a () operátorral. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

14 Típusok és operátorok a VHDL-ben Típusok Felhasználói típusok I. Intervallumok A felhasználó is létrehozhat saját típusokat a type kulcsszó segítségével: type { azonosito } is { tipusleiras }; Például egész számok intervallumai: type small_int is range 0 to 1024; type word_length is range 31 downto 0; subtype data_word is word_length range 7 downto 0; A subtype egy típus részhalmaza, amely kompatibilis vele (értékadásokban vegyesen szerepelhet egy típus és altípusai, de különböző típusok nem). Készíthető a beépített típusokhoz is altípus: subtype int_small is integer range to 1024; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

15 Típusok és operátorok a VHDL-ben Típusok Felhasználói típusok II. Fizikai típusok Létrehozhatóak fizikai típusok reprezentációi, amelyek mértékegységekkel együtt adhatóak meg ilyen a std.standard time típus is): type conductance is range 0 to 2e -9 units mho ; mmho = 1e -3 mho ; umho = 1e -6 mho ; nmho = 1e -9 mho ; pmho = 1e -12 mho ; end units conductance ; Deklaráció a fenti típussal: constant LINE_COND : conductance := 125 umho ; a constant kulcsszó konstansok létrehozására szolgál. A fizikai típusokat a szintézerek nem támogatják. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

16 Típusok és operátorok a VHDL-ben Típusok Felhasználói típusok III. Felsorolt típus Más programnyelvekhez hasonlóan VHDL-ben is létezik a felsorolt típus: type mnemonics is ( load, store, add, sub, div, mult ); type three_state is ( 0, 1, Z );... signal sig_1 : three_state := Z ; Inicializálatlan felsorolt típusú változók a felsorolás első értékét kapják kezdőértékként. A korábban megismert std logic is egy felsorolt típus. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

17 Típusok és operátorok a VHDL-ben Típusok Felhasználói típusok IV. Tömbök I. Tömböket (array) a következőképpen lehet létrehozni: type word_type is array (15 downto 0) of std_logic ; type one_byte is array (7 downto 0) of integer ;... signal data_addr : word_type ; signal mem_addr : word_type := B" "; az inicializációnál látható, hogy több-bites értékeket idézőjelek közt ("") adhatunk meg jelölve a számrendszert, ami lehet: B, O, D, X. A számrendszerek közül a bináris az alapértelmezett, így a "1011" karaktersorozatot a fordító bináris számként értelmezi. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

18 Típusok és operátorok a VHDL-ben Típusok Felhasználói típusok V. Tömbök II. Tömbtípus definiálásakor nem muszáj megadni a méretet: type vector_int is array( integer range < >) of integer ; Ilyenkor a jelek létrehozásakor kell megadni a méretet: signal my_vector : vector_int (2 downto -3) := (2, 4, 12, 6, 2); A fenti példa egyben egy tömb inicializálást is mutat. Tömbök értékadásakor létezik egy egyszerűsítő leírás: signal bvec : bit_vector (3 downto 0);... bvec <= (1= > 1, others = > 0 ); -- bvec : ( 0, 0, 1, 0 ) az others önmagában az összes bitnek a megadott értéket adja. Ilyen tömb-típus a std logic vector is. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

19 Típusok és operátorok a VHDL-ben Típusok Felhasználói típusok VI. Rekordok A VHDL nyelv támogatja rekordok, másnéven strukúrák létrehozását is: type module_parameters is record rise_time : time ; fall_time : time ; size : integer range 0 to 200; data : std_logic_vector (15 downto 0); end record; signal a, b: module_parameters ;... a. rise_time <= 5 ns; b <= a; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

20 Attribútumok I. Típusok és operátorok a VHDL-ben Attribútumok A VHDL sokféle attribútumok ismer, amelyek információt szolgáltatnak egy adott jelről/értékről. Az attribútumok megadása: {jelnév} {attribútum}. Jelattribútumok I. signal name event signal name active signal name transaction signal name last event signal name last active igaz, ha a jel esemény részese volt igaz, ha értékadás történt értéke egy bit, ami értéket vált, ha a jelen tranzakció történik legutóbbi esemény óta eltelt idő legutóbbi tranzakció óta eltelt idő Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

21 Attribútumok II. Típusok és operátorok a VHDL-ben Attribútumok Jelattribútumok II. signal name last value signal name delayed(t) a jel előző értéke T -vel késleltett másolata a jelnek signal name stable(t) igaz, ha T ideje nem volt változás signal name quiet(t) igaz, ha T ideje nem volt tranzakció Például egy jel felfutó élére a következőképp írhatunk ki vizsgálatot: if ( clock event and clock = 1 ) then... Ugyanez megoldható az ieee könyvtár std logic 1164 csomagjában található rising edge függvény segítségével is: if ( rising_edge ( clock )) then... Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

22 Attribútumok III. Típusok és operátorok a VHDL-ben Attribútumok Skalár attribútumok scalar type left az első vagy legbaloldalabbi eleme a típusnak scalar type right az utolsó vagy legjobboldalabbi eleme a típusnak scalar type low az intervallum legkisebb eleme scalar type high az intervallum legnagyobb eleme scalar type ascending igaz, ha ez egy növekvő intervallum scalar type value(s) az s által repezentált elem type my_index is range 3 to 15; my_index value (5) -- returns : "5" conductance right -- returns : 1 e3 three_state left -- returns : 0 Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

23 Attribútumok IV. Típusok és operátorok a VHDL-ben Attribútumok Tömbi attribútumok array left(n) array right(n) array high(n) array low(n) array length(n) array range(n) array reverse range(n) array ascending(n) legbaloldalabbi elem indexe legjobboldalabbi elem indexe felső határ alsó határ az elemek száma intervallum fordított intervallum igaz, ha növekvő intervallum A (N) a dimenziót adja meg, egydimenziós tömböknél elhagyható. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

24 Típusok és operátorok a VHDL-ben A VHDL operátorai A VHDL operátorai Logikai operátorok not and or nand nor xor xnor Relációs operátorok = /= (nem-egyenlő) < <= > >= Eltoló operátorok sll srl (0-t tol be), sla sra (szélső bitet másol), rol ror Összeadó/kivonó operátorok + - & (összefűző operátor) Előjel operátorok + - Szorzás/osztás * / mod rem (maradék) Egyéb operátorok abs ** (hatványozás) Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

25 A VHDL nyelv vezérlési szerkezetei A VHDL nyelv vezérlési szerkezetei Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

26 A VHDL nyelv vezérlési szerkezetei A jelekről részletesebben A jelek késleltetése I. Láttuk, hogy a jelek értékadásai párhuzamosan, azonnal megtörténnek. Egy áramkör viselkedésének az elemzése szempontjából fontos, hogy tudjuk modellezni a késleltetéseket. Egy jel késleltetésének a megadása: output <= in1 and in2 after 5 ns; Ez az ún. tehetetlenségi (inertial) késleltetés, ami azt jelenti, hogy a megadott késleltetésnél nem rövidebb időtartamú jelváltások a késleltetési idővel eltolva továbbítódnak, az annál rövidebbek elnyelődnek. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

27 A VHDL nyelv vezérlési szerkezetei A jelekről részletesebben A jelek késleltetése II. A logikai kapuk késleltetései tipikusan tehetetlenségi jellegű. Külön meg lehet határozni, hogy mi legyen az az időtartam, amit egy kapu még elnyel (reject), illetve mekkora késleltetést iktasson be a jelútba: output <= reject 4 ns inertial in1 and in2 after 10 ns; Ekkor a kapu a 4 ns-nál nem hosszabb jeleket elnyeli és minden változás 10 ns késéssel történik meg. Az inertial az alapértelmezett késleltetés, nem kell kíırni, csak reject esetén. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

28 A VHDL nyelv vezérlési szerkezetei A jelekről részletesebben A jelek késleltetése III. A vezetékekre az a jellemző, hogy minden jelet továbbítanak egy adott késleltetéssel. Ezt a VHDL-ben szálĺıtási (transport) késleltetésnek hívják: output <= transport in1 and in2 after 14 ns; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

29 A VHDL nyelv vezérlési szerkezetei A jelekről részletesebben A jelek késleltetése IV. Összefoglalás b1 <= inertial a after 10 ns; b2 <= transport a after 10 ns; b3 <= reject 4 ns inertial a after 10 ns; Valójában, ha nincs késleltetés megadva, a szimulátor akkor is feltételez egy infinitezimálisan kicsi, ún. késleltetést. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

30 A VHDL nyelv vezérlési szerkezetei Jelek feltételes értékadása I. Jelek feltételes értékadása Jelek esetén létezik feltételes értékadás, amely lényegében a más nyelvekből (C, Verilog) ismert?: operátor megvalósítása VHDL-ben: architecture tri_inv_arch of tri_inv is begin output <= 1 when input = 0 and enable = 1 else 0 when input = 1 and enable = 1 else Z ; end architecture tri_inv_arch ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

31 A VHDL nyelv vezérlési szerkezetei Jelek feltételes értékadása II. Jelek feltételes értékadása Amennyiben az összes feltétel egy adott jel értékeihez van kötve, akkor létezik egy egyszerűbb írásmód (amely hasonló a case szerkezethez ld. később): entity multiplexer is port (a, b, c, d: in std_logic ; sel : in std_logic_vector (1 downto 0); q: out std_logic ); end entity multiplexer ; architecture multi_select of multiplexer is begin with sel select q <= a when "00", b when "01", c when "10", d when "11"; end architecture multi_select ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

32 A VHDL nyelv vezérlési szerkezetei Jelek feltételes értékadása III. Jelek feltételes értékadása Arra is lehetőség van, hogy egynél több értéket felsoroljunk az ágakban, illetve, hogy megadjunk egy ágat az összes fel nem sorolt esetre:... target <= value1 when " 000 ", value2 when " 001 " " 011 " " 101 ", value3 when others;... Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

33 A VHDL nyelv vezérlési szerkezetei A folyamat process I. A folyamat process Mivel egy hardverben a műveletek párhuzamosan történnek alapvetően, a leírás is az. Azonban az algoritmusaink szekvenciálisak illetve tartalmaznak szekvenciális utasítás-sorozatokat. Ezek modellezésére szolgál a folyamat (process). A process magjában lévő utasítások a megadott sorrendben kerülnek végrehajtásra. Egy process folyamatosan, ismétlődve fut. Lehet érzékenységi listája, amely esetben csak akkor fut le, ha az ott szereplő jelek valamelyikén változás történt. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

34 A VHDL nyelv vezérlési szerkezetei A folyamat process II. A folyamat process A folyamaton belül deklarálhatunk változókat, amelyek a jelekkel ellentétben azonnal megkapják értékadáskor az új értéket, értéküket megőrzik a folyamat futásai között. A folyamaton belül más programnyelvekéihez hasonló vezérlési utasításokat használhatunk: értékadás jeleknek és változóknak, feltételes elágazás (if), case utasítás, ciklus (loop), várakoztató utasítás (wait), stb. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

35 A VHDL nyelv vezérlési szerkezetei A folyamat process III. A folyamat process Például egy pozitív élre érzékeny, aszinkron törléssel rendelkező D flipflopot az alábbi módon modellezheztünk: entity d_flipflop is port ( clk, clear, d : in std_logic ; q : out std_logic ); end entity d_flipflop ; architecture behavioral of d_flipflop is begin process ( clk, clear ) is begin if ( clear = 1 ) then Q <= 0 ; else if ( clk event and clk = 1 ) then Q <= D; end if; end process; end architecture behavioral ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

36 A VHDL nyelv vezérlési szerkezetei A folyamat process IV. A folyamat process A változók használatát egy egyszerű számlálón mutatjuk be: entity cnt is port ( clk, rst : in std_logic ; q : out std_logic_vector (3 downto 0)); end entity cnt ; architecture behavioral of cnt is begin process ( clk ) is variable count : std_logic_vector (3 downto 0); begin if ( clk = 1 ) then if ( rst = 1 ) then count := B" 0000 "; else count := count + B" 001 "; end if; end if; q <= count ; end process; end architecture behavioral ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

37 A VHDL nyelv vezérlési szerkezetei A folyamat process V. A folyamat process A jelek és változók viselkedése közti különbséget nézzük meg egy példán keresztül: signal a1, a2: integer ;... process begin wait for 10 ns; a1 <= a1 +1; a2 <= a1 +1; end process; process variable a3, a4: integer ; begin wait for 10 ns; a3 := a3 +1; a4 := a3 +1; end process; Az értékek alakulása időben Idő a1 a2 a3 a Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

38 Az if szerkezet A VHDL nyelv vezérlési szerkezetei Feltételes elágazások Egy négybites multiplexer: entity MUX_4_1a is port ( S1, S0, A, B, C, D: in std_logic ; Z: out std_logic ); end entity MUX_4_1a ; architecture behav_mux41a of MUX_4_1a is begin process ( S1, S0, A, B, C, D) begin if (( not S1 and not S0 )= 1 ) then Z <= A; elsif (( not S1 and S0) = 1 ) then Z <=B; elsif (( S1 and not S0) = 1 ) then Z <=C; else Z <=D; end if; end process; end architecture behav_mux41a ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

39 Az case szerkezet A VHDL nyelv vezérlési szerkezetei Feltételes elágazások Ugyanaz a négybites multiplexer: entity MUX_4_1 is port ( SEL : in std_logic_vector (2 downto 1); A, B, C, D: in std_logic ; Z: out std_logic ); end entity MUX_4_1 ; architecture behav_mux41 of MUX_4_1 is begin process ( SEL, A, B, C, D) begin case SEL is when " 00" => Z <= A; when " 01" => Z <= B; when " 10" => Z <= C; when " 11" => Z <= D; when others => Z <= X ; end case; end process; end architecture behav_mux41 ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

40 A while ciklus A VHDL nyelv vezérlési szerkezetei Ciklusok Példa a while ciklusra: p1: process ( signal_a ) is -- cimke elhagyhat ó variable index : integer := 0; begin while_loop : -- a cimke elhagyhat ó while index < 8 loop ray_out ( index ) <= ray_in ( index ); index := index +1; end loop while_loop ; end process p1; A processek és a vezérlési szerkezetek megcímkézhetőek, és ezek a nevek feltűntethetőek az end utasítások után. Ez az olvashatóságot javíthatja. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

41 A for ciklus A VHDL nyelv vezérlési szerkezetei Ciklusok Példa a for ciklusra: process( signal_a ) begin label_1 : for index in 0 to 7 -- index impliciten deklar á lva loop ray_out ( index ) <= ray_in ( index ); end loop label_1 ; end process; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

42 A VHDL nyelv vezérlési szerkezetei Várakoztató utasítások I. Várakoztató utasítások A wait utasításnak több alakja is létezik. A szintézerek általában nem támogatják. Az until addig vár, amíg egy feltétel igaz nem lesz (szintézerek ezt támogatják): wait until clk = 1 ; wait until signal event and signal = value ; wait until not signal stable and signal = value ; Egy adott ideig várni a for segítségével lehet (tesztelésnél hasznos): wait for 2 ns; Az on hatására addig vár, amíg a megadott jel(ek)en változás nem történik: wait on sig1, sig2 ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

43 A VHDL nyelv vezérlési szerkezetei Várakoztató utasítások II. Várakoztató utasítások A wait önmagában örökké vár. Ennek hatására a szimuláció leáll, ha más változás nincsen: process begin in1 <= 0 ; in2 <= 0 ; wait for 5 ns; in1 <= 1 ; -- " wait forever " -- le á ll a szimul á ci ó wait; end process; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

44 A VHDL nyelv vezérlési szerkezetei Alprogramok Függvények I. A leírások áttekinthetőbbé tétele érdekében bizonyos algoritmus részletek alprogramokba (függvények, eljárások) emelhetőek ki. A függvények jellemzői: egy visszatérési értékük van, minden paraméterük bemeneti paraméter, az utasításaik sorrendben hajtódnak végre, minden utasítás és szerkezet használható bennük, ami a folyamatokban is. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

45 Függvények II. A VHDL nyelv vezérlési szerkezetei Alprogramok type log8 is array (0 to 7) of std_logic ;... entity convert is port ( i1: in log8 ; o1: out integer ); end entity convert ; architecture convert_fun of convert is function vector_to_int ( s: log8 ) return integer is variable result : integer := 0; begin for i in 0 to 7 loop result := result * 2; if s( i) = 1 then result := result + 1; end if; end loop; return result ; end function vector_to_int ; begin o1 <= vector_to_int ( i1 ); end architecture convert_fun ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

46 A VHDL nyelv vezérlési szerkezetei Alprogramok Eljárások I. Az eljárások hasonlóak a függvényekhez, azonban az eljárásoknak nincs dedikált visszatérési értékük, megadható a paramétereik iránya: in, out, inout. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

47 Eljárások II. A VHDL nyelv vezérlési szerkezetei Alprogramok procedure vector_to_int ( z: in std_logic_vector ; x_flag : out boolean ; q: inout integer ) is begin q := 0; x_flag := false ; for i in z range loop q := q * 2; if z( i) = 1 then q := q + 1; else if z( i) /= 0 then x_flag := true ; -- ha z( i) = Z pl. end if; end loop; end procedure vector_to_int ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

48 A VHDL nyelv vezérlési szerkezetei Generikus komponensek I. Generikus komponensek Lehetőség van arra, hogy egy komponens bizonyos paramétereit ne tervezéskor, hanem példányosításkor határozzuk meg. Ezt hívjuk általános, vagy generikus tervezésnek (pl. Verilogban a parameter, C++ template-jei). A generikus paramétert definiálni kell az entity blokkban: entity piso is -- parallel in serial out generic ( width : integer := 7); -- default : 7 port ( clk : in std_logic ; load : in std_logic ; in1 : in std_logic_vector ( width downto 0); out1 : out std_logic ); end entity piso ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

49 A VHDL nyelv vezérlési szerkezetei Generikus komponensek II. Generikus komponensek A modulban úgy használhatjuk a generikus változót, mint egy konstanst: architecture Behavioral of piso is signal temp : std_logic_vector ( width downto 0) := ( others => 0 ); -- initialize to zero begin process( clk ) begin if ( load = 0 ) then -- load the register temp <= in1 ; elsif ( clk event and clk = 1 ) then out1 <= temp ( width ); temp ( width downto 1) <= temp ( width -1 downto 0); end if; end process; end architecture Behavioral ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

50 A VHDL nyelv vezérlési szerkezetei Generikus komponensek Generikus komponensek III. Példányosításkor a komponens megadásánál is szerepel a generic szerkezet (ugyanúgy, mint az entity blokkban. A tényleges példány létrehozásakor a port map rész előtt szerepel egy generic map szerkezet, ahol megadhatjuk a paraméter értékét (amennyiben nem az alapértelmezettet kívánjuk használni): piso1 : piso generic map ( width => 7) port map(clk, load1,in1,o1 ); piso2 : piso generic map ( width => 3) port map(clk, load2,in2,o2 ); Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

51 Hieararchikus tervezés Hieararchikus tervezés Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

52 Komponensek I. Hieararchikus tervezés Példányosítás A hierarchikus építkezés azt jelenti, hogy az egyedek tartalmazhatják más egyedek példányait. Az egyedek példányosítása előtt komponensként definiálnunk kell őket. Legegyszerűbb esetben a komponensdefiníció megegyezik az entity leírással. Amennyiben a neve is ugyanaz, akkor mást nem kell tenni a kapcsolat létrehozásához. entity nand_gate is port (a, b : in bit ; q : out bit ); end entity nand_gate ; architecture testbench of nand_test is component nand_gate is port (a, b : in bit ; q : out bit ); end component nand_gate ;... Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

53 Komponensek II. Hieararchikus tervezés Példányosítás A példányosításkor a létrejövő egyedet hozzá kell kapcsolni a környezetéhez: -- Itt fontos a sorrend : nand_gate_dut : nand_gate port map( in1, in2, output ); -- Itt a portokhoz egyenk é nt rendelj ük a jeleket : nand_gate_dut : nand_gate port map( a => in1, b => in2, q => output ); Sokportos egyedek esetén érdemes a második megoldást alkalmazni, mert olyankor nagyon nehéz a sorrendet követni nehezen érthető kódot eredményez az első alak. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

54 Komponensek III. Hieararchikus tervezés Példányosítás Amennyiben egy egyednek többféle architektúrája van, akkor példányosításkor meg kell adnunk azt is, hogy melyik legyen felhasználva. Alapértelmezés szerint a legutolsó kerül felhasználásra. architecture testbench of nand_gate_tb is component nand_gate_comp port (a, b : in bit ; q : out bit ); end component nand_gate_comp ; for nand_gate_dut : nand_gate_comp use entity work. nand_gate ( arch_1 ); signal in1, in2, output : bit ; begin nand_gate_dut : nand_gate_comp port map( a => in1, b => in2, q => output );... A work az alapértelmezett könyvtárnév, ahová az aktuális projekt egyedei kerülnek. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

55 Komponensek IV. Hieararchikus tervezés Példányosítás Egy egyszerűbb módja az példányosításnak az ún. közvetlen beültetés. Ilyenkor a példányosítás kizárólag a begin után történik: architecture testbench of nand_gate_tb is signal in1, in2, output : bit ; begin nand_gate_dut : entity work. nand_gate ( arch_1 ) port map( a => in1, b => in2, q => output );... Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

56 Csomagok I. Hieararchikus tervezés Csomagok A csomagok célja típusok, konstansok, alprogramok megosztása tervezési egységek között. Egy csomagot két részben adunk meg: 1 csomag deklaráció: az egyes elemek deklarációja, vagyis típussal adott névfelsorolás: alprogram deklarációja, típus/altípus deklaráció, konstansok deklarációja, komponensek deklarációja, use kifejezések, stb. 2 csomag definíció: a csomag elemeinek definíciója, vagyis kifejtése: alprogramok definíciója, konstansok definíciója, stb. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

57 Hieararchikus tervezés Csomagok II. deklarációs rész Csomagok package cluster_package is type nineval is ( Z0, Z1, ZX, R0, R1, RX, F0, F1, FX ); type t_cluster is array (0 to 15) of nineval ; type t_clus_vec is array( natural range <>) of t_cluster ; function resolve_cluster ( s: t_clus_vec ) return t_cluster ; subtype t_wclus is resolve_cluster t_cluster ; constant undriven : t_wclus ; end package cluster_package ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

58 Hieararchikus tervezés Csomagok II. definíciós rész Csomagok package body cluster_package is constant undriven : t_wclus := ( ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX, ZX ); function resolve_cluster ( s: t_clus_vec ) return t_cluster is variable result : t_cluster ; variable drive_count : integer ; begin if s length = 0 then return undriven ; end if; for i in s range loop if s( i) /= undriven then drive_count := drive_count + 1; if drive_count = 1 then result := s( i); else result := undriven ; end if; end if; end loop; return result ; end function resolve_cluster ; end package body cluster_package ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

59 Hardver generálás I. Hieararchikus tervezés Hardver generálás Ahogy Verilogban is, a VHDL is lehetőséget ad hardver generálásra. Ez azt jelenti, hogy egy ciklusban tudunk hardvert példányosítani úgy, hogy az összeköttetéseket a ciklus futó változói határozzák meg. Így egyszerűbb kapukból bonyolult szerkezetet lehet képezni anélkül, hogy mechanikusan le kéne írni az összes elem bekötését. Tipikusan arra használják, hogy egybites elemeket sokbites adatok lekezélésére képes architektúrává építsék össze. Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

60 Hardver generálás II. Hieararchikus tervezés Hardver generálás architecture test_generate of test_entity is signal s1, s2, s3: bit_vector (7 downto 0); begin G1: for N in 7 downto 0 generate and_array : and_gate generic map (2 ns, 3 ns) port map(s1(n), s2(n), s3(n )); end generate G1; end architecture test_generate ; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

61 Hardver generálás III. Hieararchikus tervezés Hardver generálás Lehetőség van feltételekhez kötni a generálást. Erre az if szerkezethasználható. Az else és elsif kulcsszavak generáláskor nem alkalmazhatóak. G1: for N in 8 downto 0 generate G2: if ( N < 7) generate or1 : or_gate generic map (3 ns, 3 ns) port map (s1(n), s2(n), s3(n )); end generate G2;... end generate G1; Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

62 Irodalom Irodalom Irodalom Peter J. Ashenden, Jim Lewis: The designer s guide to VHDL, Morgan Kaufmann, 2008 Peter J. Ashenden: Digital Design An embedded system approach using VHDL, Morgan Kaufmann, 2008 Hosszú Gábor, Keresztes Péter: VHDL-alapú rendszertervezés, Szak kiadó, 2012 Douglas L. Perry: VHDL Programming by example, McGraw-Hill, 2002 Jan Van der Spiegel: VHDL Tutorial, University of Pennsylvania Horváth Péter, Nagy Gergely (BME EET) VHDL október / 62

Bevezető Típusok és operátorok a VHDL-ben A VHDL nyelv vezérlési szerkezetei Hieararchikus tervezés. Budapesti Műszaki és Gazdaságtudományi Egyetem

Bevezető Típusok és operátorok a VHDL-ben A VHDL nyelv vezérlési szerkezetei Hieararchikus tervezés. Budapesti Műszaki és Gazdaságtudományi Egyetem Budapesti Műszaki és Gazdaságtudományi Egyetem A VHDL áttekintése Nagy Gergely, Horváth Péter Elektronikus Eszközök Tanszéke 2014. augusztus 18. Nagy Gergely, Horváth Péter A VHDL áttekintése 1 / 57 A

Részletesebben

VHDL szimuláció. Tervezés. Labor II. Dr. Hidvégi Timót

VHDL szimuláció. Tervezés. Labor II. Dr. Hidvégi Timót VHDL szimuláció Labor II. Dr. Hidvégi Timót Tervezés 1 Lefoglalt szavak abs access after alias all and architecture array assert attribute block body buffer bus case component configuration constant disconnect

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

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

Digitális rendszerek. I. rész. Dr. Turóczi Antal turoczi.antal@nik.uni-obuda.hu

Digitális rendszerek. I. rész. Dr. Turóczi Antal turoczi.antal@nik.uni-obuda.hu Digitális rendszerek I. rész Dr. Turóczi Antal turoczi.antal@nik.uni-obuda.hu A tárgy célja Bevezető Digitális rendszertervezés alapjai Programozható logikai áramkörök Hardverleíró nyelvek (VHDL) A digitális

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

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016 Programozás és digitális technika II. Logikai áramkörök Pógár István pogari@eng.unideb.hu Debrecen, 2016 Gyakorlatok célja 1. Digitális tervezés alapfogalmainak megismerése 2. A legelterjedtebb FPGA-k

Részletesebben

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás 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 HDL nyelvek: VHDL Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38 Bevezetés... 11 1. A VHDL mint rendszertervező eszköz... 13 1.1. A gépi tervezés... 13 1.2. A VHDL általános jellemzése... 14 1.3. Tervezési eljárás VHDL-lel... 15 2. A VHDL nyelv alapszabályai... 19 2.1.

Részletesebben

Verilog HDL ismertető 2. hét : 1. hét dia

Verilog HDL ismertető 2. hét : 1. hét dia BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Verilog HDL ismertető 2. hét : 1. hét + 15 25 dia Fehér Béla, Raikovich

Részletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

Részletesebben

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26. Áramkörtervezés az absztrakciótól a realizációig BMEVIEEM284 Budapesti Műszaki és Gazdaságtudományi Egyetem A Verilog HDL II. Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. szeptember 26. Nagy

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

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

VHDL alapismeretek. (Xilinx FPGA-k programozása VHDL nyelven) Oktatási jegyzet. Összeállította: dr. Zigó Tamás

VHDL alapismeretek. (Xilinx FPGA-k programozása VHDL nyelven) Oktatási jegyzet. Összeállította: dr. Zigó Tamás VHDL alapismeretek (Xilinx FPGA-k programozása VHDL nyelven) Oktatási jegyzet Összeállította: dr. Zigó Tamás E-mail: zigotamas@bytestudio.hu www.bytestudio.hu ByteStudio Bt. 2013. 10. 07. VHSIC (Very High

Részletesebben

Egyszerű mikroprocesszor RTL modellek (VHDL)

Egyszerű mikroprocesszor RTL modellek (VHDL) Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű mikroprocesszor RTL modellek (VHDL) Horváth Péter Elektronikus Eszközök Tanszéke 2014. augusztus 11. Horváth Péter Egyszerű mikroprocesszor RTL modellek

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

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök Újrakonfigurálható eszközök 5. A Verilog sűrűjében: véges állapotgépek Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia Felhasznált irodalom és segédanyagok Icarus Verilog Simulator:

Részletesebben

Algoritmizálás és adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

Részletesebben

6. hét: A sorrendi hálózatok elemei és tervezése

6. hét: A sorrendi hálózatok elemei és tervezése 6. hét: A sorrendi hálózatok elemei és tervezése Sorrendi hálózat A Sorrendi hálózat Y Sorrendi hálózat A Sorrendi hálózat Y Belső állapot Sorrendi hálózat Primer változó A Sorrendi hálózat Y Szekunder

Részletesebben

VHDL alapú tervezés. (nem a teljes változat) Írta : Dr. Hidvégi Timót egyetemi docens

VHDL alapú tervezés. (nem a teljes változat) Írta : Dr. Hidvégi Timót egyetemi docens VHDL alapú tervezés (nem a teljes változat) Írta : Dr. Hidvégi Timót egyetemi docens BEVEZETÉS... 4 A VHDL NYELV MEGADÁSA... 5 A VHDL NYELV ELEMEI... 5 Kommentek... 5 Fentartott szavak... 5 Adattípusok...

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 6. VHDL: speciális nyelvi szerkezetek. Sorrendi hálózatok

Részletesebben

Attribútumok, constraint-ek

Attribútumok, constraint-ek BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Attribútumok, constraint-ek Fehér Béla Szántó Péter, Lazányi János, Raikovich

Részletesebben

PROGRAMOZÁSI NYELVEK - ADA. GYAKORLAT JEGYZET

PROGRAMOZÁSI NYELVEK - ADA. GYAKORLAT JEGYZET PROGRAMOZÁSI NYELVEK - ADA. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. október 31. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! -

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3

Részletesebben

A Verilog HDL áttekintése

A Verilog HDL áttekintése Budapesti Műszaki és Gazdaságtudományi Egyetem A Verilog HDL áttekintése Nagy Gergely, Horváth Péter Elektronikus Eszközök Tanszéke 2014. augusztus 18. Nagy Gergely, Horváth Péter A Verilog HDL áttekintése

Részletesebben

Constraint-ek. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

Constraint-ek. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás 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 Constraint-ek Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás

Részletesebben

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

Occam 1. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

Részletesebben

Egyszerű RISC CPU tervezése

Egyszerű RISC CPU tervezése IC és MEMS tervezés laboratórium BMEVIEEM314 Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű RISC CPU tervezése Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. február 14. Nagy Gergely

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;

Részletesebben

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

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

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva! A PL/SQL alapelemei Karakterkészlet Az angol ABC kis- és nagybetűi: a-z, A-Z Számjegyek: 0-9 Egyéb karakterek: ( ) + - * / < > =! ~ ^ ; :. ' @ %, " # $ & _ { }? [ ] Szóköz, tabulátor, kocsivissza A kis-

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

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök Újrakonfigurálható eszközök 3. Verilog blokkok és struktúrák Végh János: Bevezetés a Verilog hardverleíró nyelvbe c. jegyzete nyomán Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia

Részletesebben

Algoritmizálás + kódolás C++ nyelven és Pascalban

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

Részletesebben

16F628A megszakítás kezelése

16F628A megszakítás kezelése 16F628A megszakítás kezelése A 'megszakítás' azt jelenti, hogy a program normális, szekvenciális futása valamilyen külső hatás miatt átmenetileg felfüggesztődik, és a vezérlést egy külön rutin, a megszakításkezelő

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

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 5. A VHDL alapjai II. Nyelvi szerkezetek. Konkurens és szekvenciális

Részletesebben

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Dr. Oniga István DIGITÁLIS TECHNIKA 8 Dr. Oniga István DIGITÁLIS TECHNIA 8 Szekvenciális (sorrendi) hálózatok Szekvenciális hálózatok fogalma Tárolók RS tárolók tárolók T és D típusú tárolók Számlálók Szinkron számlálók Aszinkron számlálók

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

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 4. A VHDL alapjai I. Nyelvi típusok. Kifejezések, operátorok.

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

Apple Swift kurzus 3. gyakorlat

Apple Swift kurzus 3. gyakorlat Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()

Részletesebben

Programozási nyelvek I. (Az Ada) Kozsik Tamás

Programozási nyelvek I. (Az Ada) Kozsik Tamás Programozási nyelvek I. (Az Ada) Kozsik Tamás kto@elte.hu http://kto.web.elte.hu/ A tárgy célja A programozási nyelvek alapfogalmainak bemutatása Az előadásokon Számonkérjük zh-kal és a Szoftverszigorlaton

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 Összeállította Dr. Oniga István A következő anyagok felhasználásával Digitális rendszerek tervezése FPGA áramkörökkel. Fehér Bela Szanto Peter,

Részletesebben

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális) Csomagok Csomag Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll specifikáció törzs (opcionális) Csomagspecifikáció CREATE [OR REPLACE] PACKAGE csomagnév [AUTHID {DEFINER CURRENT_USER}]

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító

Részletesebben

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN Dr. Oniga István 1. Ismerkedés az ISE fejlesztőrendszerrel és a LOGSYS kártyával 2. Első projekt (Rajz) egyszerű logikai kapuk 3. Második projekt (Verilog) egyszerű

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás 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 HDL nyelvek: VHDL Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

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

Operációs Rendszerek II. labor. 2. alkalom

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István IGITÁLIS TECHNIKA 7 Előadó: r. Oniga István Szekvenciális (sorrendi) hálózatok Szekvenciális hálózatok fogalma Tárolók S tárolók JK tárolók T és típusú tárolók Számlálók Szinkron számlálók Aszinkron számlálók

Részletesebben

III. Alapfogalmak és tervezési módszertan SystemC-ben

III. Alapfogalmak és tervezési módszertan SystemC-ben III. Alapfogalmak és tervezési módszertan SystemC-ben A SystemC egy lehetséges válasz és egyben egyfajta tökéletesített, tovább fejlesztett tervezési módszertan az elektronikai tervezés területén felmerülő

Részletesebben

A VHDL kódtól az FPGA-ba való ágyazásig From the VHDL Code to the Implementation to FPGA-s

A VHDL kódtól az FPGA-ba való ágyazásig From the VHDL Code to the Implementation to FPGA-s A VHDL kódtól az FPGA-ba való ágyazásig From the VHDL Code to the Implementation to FPGA-s KIREI Botond Sándor Kolozsvár Abstract The purpose of the VHDL hardvare describing language is to descibe the

Részletesebben

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

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló

Részletesebben

8.3. AZ ASIC TESZTELÉSE

8.3. AZ ASIC TESZTELÉSE 8.3. AZ ASIC ELÉSE Az eddigiekben a terv helyességének vizsgálatára szimulációkat javasoltunk. A VLSI eszközök (közöttük az ASIC) tesztelése egy sokrétűbb feladat. Az ASIC modellezése és a terv vizsgálata

Részletesebben

S z á m í t ó g é p e s a l a p i s m e r e t e k

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

Részletesebben

Haladó DBMS ismeretek 1

Haladó DBMS ismeretek 1 Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök Újrakonfigurálható eszközök 8. Egy minimalista 8-bites mikrovezérlő tervezése 1 Felhasznált irodalom és segédanyagok Icarus Verilog Simulator: htttp:iverilog.icarus.com/ University of Washington Comttputer

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben

Részletesebben

Smalltalk 2. Készítette: Szabó Éva

Smalltalk 2. Készítette: Szabó Éva Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=

Részletesebben

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök Újrakonfigurálható eszközök 2. Verilog HDL alapok Végh János: Bevezetés a Verilog hardverleíró nyelvbe c. jegyzete nyomán Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia Tartalom

Részletesebben

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

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

Az MSP430 mikrovezérlők digitális I/O programozása

Az MSP430 mikrovezérlők digitális I/O programozása 10.2.1. Az MSP430 mikrovezérlők digitális I/O programozása Az MSP430 mikrovezérlők esetében minden kimeneti / bemeneti (I/O) vonal önállóan konfigurálható, az P1. és P2. csoportnak van megszakítás létrehozó

Részletesebben

Rendszerszintű tervezés: SystemC I.

Rendszerszintű tervezés: SystemC I. Rendszerszintű tervezés: SystemC I. Czirkos Zoltán BME EET 2016. február 24. Miről lesz szó? Magas szintű tervezés programozási nyelvek segítségével HDL leírás (Verilog / VHDL) is emlékeztet egy programra

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

Részletesebben

7.hét: A sorrendi hálózatok elemei II.

7.hét: A sorrendi hálózatok elemei II. 7.hét: A sorrendi hálózatok elemei II. Tárolók Bevezetés Bevezetés Regiszterek Számlálók Memóriák Regiszter DEFINÍCIÓ Tárolóegységek összekapcsolásával, egyszerű bemeneti kombinációs hálózattal kiegészítve

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

12.1.1. A Picoblaze Core implementálása FPGA-ba

12.1.1. A Picoblaze Core implementálása FPGA-ba 12.1.1. A Picoblaze Core implementálása FPGA-ba A Picoblaze processzor Ebben a fejezetben kerül bemutatásra a Pikoblaze-zel való munka. A Picoblaze szoftveres processzort alkotója Ken Chapman a Xilinx

Részletesebben

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások SQL haladó Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások 1 Külső összekapcsolás Összekapcsoljuk R és S relációkat: R C S. R azon sorait,

Részletesebben

1. Jelölje meg az összes igaz állítást a következők közül!

1. Jelölje meg az összes igaz állítást a következők közül! 1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

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

Programozás alapjai. 7. előadás

Programozás alapjai. 7. előadás 7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való

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

VHDL oktatási segédlet

VHDL oktatási segédlet VHDL oktatási segédlet 1.13. verzió Ez a dokumentum szabad szoftver, szabadon terjeszthető és/vagy módosítható a GNU Free Documentation License-ben leírtak szerint. Minden tőlem származó forráskód szabad

Részletesebben

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

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

MSP430 programozás Energia környezetben. LED kijelzok második rész

MSP430 programozás Energia környezetben. LED kijelzok második rész MSP430 programozás Energia környezetben LED kijelzok második rész 1 Lab13 SPI_595_7seg Egyszerű mintaprogram kétszámjegyű hétszegmenses LED kijelzővel, 74HC595 shift regiszterrel, SPI programkönyvtár használattal

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 5. gyakorlat Surányi Márton PPKE-ITK 2010.10.05. C++ A C++ egy magas szint programozási nyelv. A legels változatot Bjarne Stroutstrup dolgozta ki 1973 és 1985 között, a C nyelvb

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

Részletesebben

Tranzakciókezelés PL/SQL-ben

Tranzakciókezelés PL/SQL-ben Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első

Részletesebben

1. A VHDL mint rendszertervező eszköz

1. A VHDL mint rendszertervező eszköz 1.1. A gépi tervezés A gépi leíró nyelvek (HDL) célja az egyes termékek egységesítése, logikai szimulációhoz leíró nyelv biztosítása, a terv hierarchikus felépítésének tükrözése és a nagy tervek áttekinthetővé

Részletesebben

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 2. ELİADÁS Visual Basic bevezetı Visual Basic.NET nyelvi elemek 2 Visual Basic.NET programozási nyelv Nyelvi elemek: Általában

Részletesebben