A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN
|
|
- Amanda Takácsné
- 7 évvel ezelőtt
- Látták:
Átírás
1 A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN M.D. CILETTI Department of Electrical and Computer Engineering University of Colorado Colorado Springs, Colorado Copyright 1997 No part of these notes may be copied or reproduced in any form without the written permission of the author. A szerző írásbeli engedélye és jóváhagyása alapján átdolgozta és magyarra fordította FEHÉR BÉLA Budapesti Műszaki Egyetem Méréstechnika és Információs Rendszerek Tanszék
2 TARTALOM 1. rész: Bevezetés, modellek, hierarchikus tervezés, szimuláció 2. rész: Modulok felépítése, adattípusok, logikai operátorok 3. rész: Felhasználói primitívek, késleltetési modellek 4. rész: Működési leírás modellezése Verilog nyelven 5. rész: A Verilog szintézis módszereinek ismertetése 2
3 MODUL ELEMEK ÉS ADAT TÍPUSOK wire, reg wire input... output... inout... wire... tri reg... integer... real... time... input wire modul_a wire wire output wire, reg modul_b wire, reg wire wire Viselkedési utasítás_1 always begin... end 3
4 A NYELVI ELEMEK ÁTTEKINTÉSE A VERILOG NYELVBEN A MODUL FOGLALJA MAGÁBA A TERV LEÍRÁSÁT Modul elemek: Változók Konstansok Adattípusok Primitívek Operatorok PORT DEKLARÁCIÓK VÁLTOZÓ DEKLARÁCIÓK KONSTANS DEKLARÁCIÓK ESEMÉNY DEKLARÁCIÓK PRIMITÍV HIVATKOZÁSOK MODULHIVATKOZÁSOK FOLYTONOS ÉRTÉKADÁS VISELKEDÉSI UTASÍTÁSOK TASZK DEKLARÁCIÓK FÜGGVÉNY DEKLARÁCIÓK I/O IDŐZÍTÉS SPECIFIKÁCIÓK BEÉPÍTETT I/O 4
5 ADATTÍPUSOK ÉS HARDVER MODELLEK A VERILOG ADATTÍPUSOK TÁMOGATJÁK A HARDVER MODELLEZÉSÉT. A JELEK JELLEMZŐI AZ ÉRTÉK ÉS IDŐPONT, MELYET BEÁLLÍTHAT LOGIKAI PRIMITÍV (ELŐRE DEFINIÁLT FUNKCIÓ) FOLYTONOS ÉRTÉKADÁS (IMPLICIT KOMBINÁCIÓS LOGIKA) VISELKEDÉSI UTASÍTÁS (ÉRTÉK/IDŐ SZÁMÍTÁS UTJÁN) KONKURENS HARDVER ELEMEK (primitívek, modulok, viselkedési utasítások, assign) FIZIKAI JELLEMZŐK MEGADÁSA, pl. késleltetés, meghajtás erősség 5
6 ADATTÍPUSOK A VERILOG NYELVBEN CSAK ELŐRE DEFINIÁLT ADATTÍPUSOK VANNAK A VERILOG NYELV A VÁLTOZÓK KÉT ELŐRE DEFINIÁLT CSALÁDJÁT TÁMOGATJA VÁLTOZÓK VEZETÉK VÁLTOZÓK: HUZALOK (WIREs) ADATTÁROLÓ VÁLTOZÓK: REGISZTEREK (REGs) KONSTANSOK 6
7 ADAT TÍPUSOK - VEZETÉKEK A vezetékek valósítják meg a strukturális kapcsolatokat. PÉLDA: wire control_bits; // Deklarálja a vezetéket CÉL: BIZTOSÍTJA A STRUKTURÁLIS KAPCSOLATOT A TERV EGYES OBJEKTUMAI (PRIMITÍVEK ÉS MODULOK) KÖZÖTT A FOLYTONOS ÉRTÉKADÁS UTASÍTÁSNÁL A KIMENETI JEL VÁLTOZÓJA (IMPLICIT KOMBINÁCIÓS LOGIKA) A vezeték típusú változó logikai értékét az őt meghajtó kimenet szabja meg. 7
8 PÉLDA: ÖSSZEKÖTŐ VEZETÉK A y1 y_out B module connect_1 ( y_out, A, B); input A, B; output y_out; wire y1; not (y1, A); nand (y_out, y1, B); endmodule // Tulajdonképpen opcionális, a nem definiált // változók automatikusan vezetékek 8
9 PÉLDA: A FOLYTONOS ÉRTÉKADÁS UTASÍTÁS KIMENETI VÁLTOZÓJA (IMPLICIT KOMBINÁCIÓS LOGIKA) module connect_2 ( y_out, A, B); input A, B; output y_out; wire y1; assign y1 =!A; assign y_out = y1 ~& B; endmodule BÁRMELY VÁLTOZÁS A JOBBOLDALI VÁLTOZÓK ÁLLAPOTÁBAN AZ UTASÍTÁS AZONNALI KIÉRTÉKELÉSÉT OKOZZA, MAJD AZ ÚJ ÉRTÉK KIADÁSÁNAK ÜTEMEZÉSÉT ELŐJEGYZI A SZIMULÁTORBAN. A FOLYAMATOS KIJELÖLŐ UTASÍTÁS (assign) BAL OLDALÁN CSAK VEZETÉK TÍPUSÚ VÁLTOZÓ LEHET. 9
10 FONTOSABB SZABÁLYOK EGY VEZETÉKET CSAK EGY PRIMITÍV KAPU HAJTHAT MEG VAGY EGY FOLYTONOS KIJELÖLŐ UTASÍTÁS ADHAT ÉRTÉKET NEKI. A B w_abc A w_abc vezeték változó értékét az A és B jelek állapota és a NOR kapu funkciója határozza meg. wire signal_1; assign signal_1 = signal_2 & signal 3; A signal_1 vezeték változó értékét a signal_2 és signal_3 jelek állapota és a & operátor (bitwise and) funkciója határozza meg. 10
11 ELŐRE DEFINIÁLT VEZETÉK TÍPUSOK A Verilog nyelv a vezeték típusok teljes készletét biztosítja. VEZETÉK TÍPUSÚ VÁLTOZÓK KÜLÖNBÖZŐ ELEMEI wire Egyszerű huzal az összeköttetésekhez. tri Huzal háromállapotú busz kapcsolat megvalósításához. wand Meghajtó huzalozott-és logika realizálásához. wor Meghajtó huzalozott-vagy logika realizálásához. triand WAND háromállapotú kimenettel. trior WOR háromállapotú kimenettel. 11
12 ELŐRE DEFINIÁLT VEZETÉK TÍPUSOK (folyt.) supply0 supply1 Logikai 0, kapcsolat a tápfeszültség GND-hez. Globális hálózat. Logikai 1, kapcsolat a tápfeszültség VCC-hez. Globális hálózat. tri0 Buszkapcsolat 0 -ra húzó ellenállással. tri1 Buszkapcsolat 1 -re húzó ellenállással. trireg Buszkapcsolat a fizikai huzal tároló kapacitását modellezve. Megjegyzés: Csak az utóbbi tárol értéket, a többit folyamatosan meg kell hajtani. 12
13 ELŐRE DEFINIÁLT TÁROLÓ TÍPUSOK A Verilog nyelv különböző tároló típusok használatát támogatja. ADATTÁROLÓ VÁLTOZÓK reg Logikai értékek tárolásához integer Eljárások lokális változóinak tárolásához time A szimulációs idő rendszerváltozója real Valós értékek (pl. késleltetési idők) tárolásához A VERILOG NYELV NEM TÁMOGAT FELHASZNÁLÓ ÁLTAL DEFINIÁLT ADATTÍPUSOKAT. A regiszter változók csak viselkedési utasításokban kaphatnak értéket. 13
14 PÉLDA: LOGIKAI ÉRTÉK TÁROLÁSA A regiszter típusú változók csak viselkedési leírások eljárásaiban (initial, always) kaphatnak értéket, a megfelelő szekvenciális utasítás végrehajtása során. A felvett értéket megtartják, amíg egy másik utasítás azt nem módosítja. module value_storage (... ); reg [2:0] hold_something; // 3 bit... initial begin hold_something =... ;... end... endmodule // Értékadás eljárásban 14
15 PÉLDA: A SZEKVENCIÁLIS SZÁMÍTÁSOK TÁMOGATÁSA A regiszter típusú változók támogatják a procedurális (szekvenciális) számítást egy viselkedési leíráson belül. module procedural_comp ( A, num_one); input [15:0] A; output num_one; integer counter; reg [4:0] num_one;... (A) begin for... counter =... // ciklusszámláló num_one =...; end endmodule 15
16 A KAPUK MEGHAJTÁS ERŐSSÉGÉNEK DEFINIÁLÁSA A Verilog primitívekhez (opcionálisan) különböző meghajtáserősségeket rendelhetünk. Strength Strength Element Declaration Printed Name Level Modeled Abbreviation Abbreviation Supply Drive 7 Power supply supply Su Strong Drive 6 Default gate and strong St assign output strength Pull drive 5 Gate and pull Pu assign output strength Large 4 Size of trireg large La Capacitor net capacitor Weak Drive 3 Gate and weak We assign output strength 16
17 A KAPUK MEGHAJTÁS ERŐSSÉGÉNEK DEFINIÁLÁSA (folyt.) Strength Strength Element Declaration Printed Name Level Modeled Abbreviation Abbreviation Medium 2 Size of trireg medium Me Capacitor net capacitor Small 1 Size of trireg small Sm Capacitor net capacitor High 0 Not applicable highz Hi Impedance Megjegyzés: 1. A meghajtáserősség alapértéke a strong drive. 2. Meghajtáserősséget a következő primitívekhez rendelhetünk: and or xor buf bufif0 bufif1 pullup nand nor xnor not notif0 notif1 pulldown 17
18 A VERILOG NYELV LOGIKAI RENDSZERE 18
19 NÉGY ÉRTÉKŰ LOGIKAI RENDSZER A Verilog nyelv egy négyértékű, előre definiált logikai rendszert valósít meg A VERILOG NYELV ELŐRE DEFINIÁLT LOGIKAI ÉRTÉKEI 0 Logikai 0, vagy HAMIS (FALSE) feltétel 1 Logikai 1, vagy IGAZ (TRUE) feltétel x Határozatlan, nem definiált logikai érték (0 vagy 1) z Nagyimpedanciás állapot A VEZETÉKEK LOGIKAI ÉRTÉKÉT AZ ŐKET MEGHAJTÓ PRIMITÍV KAPU KIMENETE VAGY A FOLYTONOS KIJELÖLŐ UTASÍTÁS ÉRTÉKE HATÁROZZA MEG. 19
20 PÉLDA: VEZETÉKEK LOGIKAI ÉRTÉKE enable A y1 y2 5 ns 1 ns B module nand #5 (y1, A, B); bufif1 #1 (y2, enable, y1); endmodule Működés: Ha A = 1 és B = 1 akkor 5 ns múlva y1 = 0 Ha enable = 0 akkor 1 ns múlva y2 = z (Kikapcsol) A szimulációk során minden változó kezdeti értéke x (t=0-ban). 20
21 VEZETÉKTÍPUSOK DEKLARÁCIÓJÁNAK SZINTAKTIKÁJA Vezeték_típus töltéserősség indextartomány késleltetés nevek listája; Megjegyzés: 1. Töltéserősség csak a trireg primitívhez adható meg. 2. A vezeték késleltetés megadása opcionális. 3. A vezetékek alapértelmezésben skalárok. 4. Az indextartomány megadása: [3:7]. 5. Az indexértékek megadása kifejezésekkel is lehetséges. 6. A baloldali érték definiálja a legnagyobb helyiértéket (MSB), függetlenül a két érték relatív nagyságától. 21
22 PÉLDA: VEZETÉK DEKLARÁCIÓK wire [7:0] data_bus ; wire [0:word_size -1] control_bus; wire y1, z_5,...; wand A,B,C; trior [31:0] Abus1, Abus2; wire #5 x_sig1; // Vezeték deklaráció késleltetéssel trireg (medium) node1, node2, node3; 22
23 VÁTOZÓK DEKLARÁCIÓJA wire y1, z_5; // y1 és z_5 skalár vezetékek delarációja tri [7:0] some_bus; // Háromállapotú 8 bites busz delarációja. supply1 Pwr; // Tápfesz (logikai 1) delarációja. supply0 Gnd; // Föld (logikai 0) delarációja. wand A,B,C; // Három "huzalozott ÉS" vezeték delarációja. wire [7:0] data_bus; // 8-bites vektor, ahol data_bus[7] az MSB. wire [0:3] control_bus; // 4-bites vector, ahol control_bus[0] az MSB. reg A_Bit_Register; // 1-bites tároló regiszter. reg [31:0] A_Word; // 32-bites adat tároló regiszter. 23
24 VEKTORVÁLTOZÓK HASZNÁLATA A Verilog nyelv változói azonosítójukkal érhetők el. data_bus[5] // A data_bus 5-ös indexü bitje. (Bit-kiválasztás) data_bus[3:5] // A data_bus 3-5-ig terjedő bitjei. (Tartomány kiválasztás) data_bus[k+2] // Bit kiválasztás, ahol k+2 kifejezés a bit indexe. // k fordításidejű konstans! 24
25 NYELVI ESZKÖZÖK A TÖBBSZÖRÖS MEGHAJTÁS REALIZÁLÁSÁRA Helyes megoldás wand C; nor (C, A, B); not (C, X1); A B C X1 ROSSZ megoldás (Compiler Error Message) wire C; nor (C, A, B); not (C, X1); ERROR/WARNING: MULTIPLE DRIVERS ON NET OF TYPE WIRE 25
26 A VEZETÉKEK TÍPUSÁNAK ALAPBEÁLLÍTÁSA SZABÁLY: A NEM DEKLARÁLT AZONOSÍTÓK (IMPLICIT) VEZETÉKEK. PÉLDA module Nand_Latch(q, qbar, preset, clear); output q, qbar; input preset, clear; wire preset, clear, q, qbar; // Opcionális nand # 1 g1 (q, preset, qbar), g2 (qbar, clear, q); endmodule MEGJEGYZÉS: Az alapérték a fordításnál esetleg beállítható (direktíva). 26
27 TÁROLÓ ADATÍPUSOK FUNKCIÓ: A HARDVER TÁROLÓELEMEK ABSZTRAKCIÓJA. PÉLDA reg A_Bit_Register; reg [7:0] A_Word; Megjegyzés: A reg típusú változó ezen kívül használható a viselkedési leírások eljárásaiban értékek átmeneti tárolására. Ezeket az átmeneti tároló elemeket a szintézis eszközök többnyire automatikusan elhagyják. 27
28 TÁROLÓ ADATTÍPUSOK SZABÁLYOK REGISZTER VÁLTOZÓK CSAK ELJÁRÁS UTASÍTÁSOKBAN, TASZKOKON BELÜL, VAGY FÜGGVÉNYEKBEN KAPHATNAK ÚJ ÉRTÉKET. A reg TÍPUSÚ VÁLTOZÓK KEZDETI DEFAULT ÉRTÉKE 'X', HATÁROZATLAN. A reg VÁLTOZÓ NEM LEHET KÖZVETLENÜL ELŐRE DEFINIÁLT PRIMITÍV KIMENETE. A REGISZTEREK MEGTARTJÁK ÉRTÉKÜKET A KÖVETKEZŐ ÉRTÉKADÁSIG. A VÁLTOZÓ MÉRET ALAPÉRTÉKE 1 BIT. EGY MODUL BEMENETI PORTJA NEM LEHET reg TÍPUSÚ. EGY MODUL BE-/KIMENETI (I/O) PORTJA NEM LEHET reg TÍPUSÚ.. 28
29 VEKTOR VÁLTOZÓK HASZNÁLATA SZABÁLYOK 1. MINDIG A TARTOMÁNY KIVÁLASZTÁS BAL OLDALI ELEME AZ MSB, A JOBB OLDALI AZ LSB. 2. A DEFINIÁLT HATÁRON KÍVÜLI ELEMEK ÉRTÉKE 'x'. 3. A TARTOMÁNY KIJELÖLÉSRE KONSTANS KIFEJEZÉSEK HASZNÁLHATÓK. PÉLDA vect[7:0] vect[7:0] értéke 36 vect[3:0] értéke 4 vect[5:1] értéke 18 vect[0:3] értéke 2 Vect[addr] értéke x, ha az addr a definiált tartományon kívül esik. 29
30 MEMÓRIÁK: KÉTDIMENZIÓS ADATTÖMBÖK A VERILOG NYELV (KORLÁTOZOTTAN) TÁMOGATJA A KÉTDIMENZIÓS ADATTÖMBÖKET ÁLTALÁNOS FORMÁTUM reg szószélesség azonosító memóriaméret... reg [31:0] cache_memory [0:1023];... reg [31:0] a_word_register; 31 reg [7:0] instr_register; word_size 0 array_depth KORLÁTOZÁS: A MEMÓRIÁBAN KÖZVETLENÜL BIT VAGY BITTARTOMÁNY KIVÁLASZTÁS NEM LEHETSÉGES. 30
31 MEMÓRIÁK: KÉTDIMENZIÓS ADATTÖMBÖK SZABÁLYOK: 1. BIT ÉS TARTOMÁNYKIVÁLASZTÁS NEM LEHETSÉGES 2. CSAK TELJES MEMÓRIASZAVAK HOZZÁFÉRHETŐK. PÉLDA HELYES HASZNÁLATRA reg [15:0] cache_memory [0:1023]; reg [15:0] a_word_register; reg [7:0] instr_register;... // az aktív eljárás utasításai a_word_register = cache_memory[17];... instr_register[k] = a_word_register [k+4];... 0 cache_memory[17] a_word_register[k+4] 31
32 MEMÓRIÁK: KÉTDIMENZIÓS ADATTÖMBÖK NEM MEGENGEDETT HASZNÁLAT instr_register = cache_memory [0:4]; a_word_register[k+4] cache_memory[17]
33 AZ EGÉSZ (INTEGER) ADATTÍPUS FUNKCIÓ: AZ ELJÁRÁSOK LOKÁLIS VÁLTOZÓINAK MEGVALÓSÍTÁSA INTEGER A rendszer 32 bites változóként tárolja Operátorai kettes komplemens aritmetikát realizálnak MSB egyúttal az előjelet is jelzi PÉLDÁK integer A1, K, Size_of_Memory; integer loop_index [1:100]; // A változó nincs inicializálva 33
34 AZ IDŐ (TIME) ADATTÍPUS FUNKCIÓ: AZ ELJÁRÁSOKBAN SZÜKSÉGES IDŐFÜGGŐ MŰVELETEK MEGVALÓSÍTÁSÁT TÁMOGATJA. CSAK SZIMULÁCIÓBAN!! PÉLDÁK time T_samples [1:100]; // implicit méret 64 bit time A_Time_Value; A_Time_Value = $time; T_samples[42] = $time; FONTOS AZ IDŐ (time) TÍPUSÚ VÁLTOZÓ NEM LEHET SEM MODUL PORT, SEM PRIMITIVE KAPU KI-/ BEMENETE 34
35 VÁLTOZÓK ÉRTÉKADÁSA ÉRTÉKADÁS MÓDJA VÁLTOZÓ TÍPUSA VEZETÉK VÁLTOZÓ REGISZTER VÁLTOZÓ PRIMITÍV KAPU KIMENETE IGEN NEM FOLYTONOS KIJELÖLÉS UTASÍTÁS IGEN NEM ELJÁRÁS UTASÍTÁS NEM YES FOLYTONOS KIJELÖLÉS ELJÁRÁSBAN NEM assign... deassign IGEN assign... deassign A VERILOG NYELVBEN MINDEN VÁLTOZÓ STATIKUS VÁLTOZÓ. 35
36 ADATTÍPUSOK HASZNÁLATA MODUL PORTOKON VÁLTOZÓ TÍPUS VEZETÉK VÁLTOZÓ PORT MÓD input output inout IGEN IGEN IGEN REGISZTER VÁLTOZÓ NEM IGEN NEM 36
37 VÁLTOZÓK ÉRVÉNYESSÉGE MINDEN VÁLTOZÓ LOKÁLIS ÉRVÉNYŰ, ARRA A MODULRA, TASZKRA, FÜGVÉNYRE VAGY ELNEVEZETT BLOKKRA, AHOL DEKLARÁLTÁK. parent_module NET or REGISTER NET NET child_module NET NET or REGISTER NET 37
38 VÁLTOZÓK ÉRVÉNYESSÉGE Add_full formal actual c_in a a sum Add_half b b c_out M1 w1 (a b) w2 ab formal a sum Add_half b c_out M2 w3 (a b) c_in (a b) c_in (a + b) c_in + ab sum c_out module Add_full (sum, c_out, a, b, c_in); input a, b, c_in; output c_out, sum; wire w1, w2, w3, w4; Add_half M1 (w1, w2, a, b); Add_half M2 (sum, w3, w1, c_in); or (c_out, w2, w3); endmodule module Add_half (sum, c_out, a, b); input a, b; output c_out, sum; assign {c_out, sum} = a + b; endmodule 38
39 HIERARCHIKUS HIVATKOZÁSOK A változók vagy konstansok a terv hierarchia bármely pontjáról hivatkozhatók. Hivatkozható: PARAMÉTER, REGISZTER, EGÉSZ, VEZETÉK, VALÓS, IDŐ, ESEMÉNY VÁLTOZÓK ÉRVÉNYESSÉGE LOKÁLIS. HIERARCHIKUS HIVATKOZÁS A NÉVVEL ELLÁTOTT BLOKKOKBAN. PÉLDA TOP_MODULE_1.CHILD_MODULE_1.child_block_1.register_A TOP_MODULE_1 CHILD_MODULE_1 begin: child_block_1... end A hierarchikus hivatkozást általában jelek megfigyelésekor használjuk.
40 SZÁMOK DEFINIÁLÁSA PÉLDÁK Szám Bitek Alap Érék Tárolt formátum 2'b10 2 Binary 'd5 3 Decimal 'o5 3 Octal 'o5 8 Octal 'ha 8 Hex 'b5 Érvénytelen! 3'b01x 3 Binary - 01x 12'hx 12 Hex - xxxxxxxxxxxx 8'hz 8 Hex - zzzzzzzz 8'b0000_ Binary 'b001 8 Binary 'bx01 8 Binary - xxxxxx01 'bz nem definiált Binary - zzzzz...zzzzzz (32 bit) 10 H = 16 D 10 B = 2 D 10 O = 8 D 40
41 KONSTANS ADATTÍPUS A VERILOG NYELV TÁMOGATJA A reg, integer, real ÉS time TÍPUSÚ KONSTANSOKAT. parameter MS_BIT = 15; parameter j = 5, k=10; parameter mask = 8'b1100_1100; parameter byte_size = 8, byte_max = byte_size -1; parameter r = 5.7; parameter av_delay = (min_delay + max_delay)/2; Megjegyzés: A paraméter deklaráció jobb oldalán csak korábban már definiált értékek szerepelhetnek. 41
42 KONSTANSOK HASZNÁLATA module Param_Examp (y_out, a, b); parameter size = 8, delay = 15; output [size-1:0] y_out; input [size-1:0] a, b; wire [size-1:0] #delay y_out; // Vezeték késleltetése // Egyéb utasítások. endmodule A Verilog nyelv megengedi a paraméterek felülírását közvetlenül a modul hívásakor és közvetve teljes hierarchikus hivatkozást használva. 42
43 PARAMÉTER ÁTADÁS KÖZVETLENÜL, MODUL HÍVÁSKOR module modxnor (y_out, a, b); parameter size = 8, delay = 15; // lokális definició output [size-1:0] y_out; input [size-1:0] a, b; wire [size-1:0] #delay y_out = a~^b; // komplex deklaráció, xnor funkció endmodule // késleltetés definiálásával module Your_Design; modxnor M1 (y1_out,b1,c1); // Modulhívás default paraméterekkel modxnor #(4,5) M2 (y2_out,b2,c2); endmodule // Modulhívás módosított paraméterekkel // A size=4, delay = 5 értékek érvényesek Megjegyzés: A paraméterek a listában sorban egymás után helyettesítődnek, a nem használt paraméter helye dupla (,,) vesszőkkel átugorható. 43
44 PARAMÉTER ÁTADÁS KÖZVETETT, HIERARCHIKUS HIVATKOZÁSSAL module Your_Design; // Felső színtű modul modxnor M1 (y1_out, b1, c1), // Almodulok hívása M2 (y2_out, b2, c2); endmodule module modxnor (y, a, b); // Az almodul definiálása parameter size = 8, delay =15; // Paraméterek deklarációja output [size-1:0] y_out; input [size-1:0] a, b; wire [size-1:0] #delay y_out = a^b; endmodule module annotate; // Független "paraméterátadó" modul defparam Your_Design.M2.size = 4, // Parameter azonosítás név szerinti Your_Design.M2.delay = 5; // hierarchikus hivatkozással endmodule 44
45 A VERILOG NYELV ELŐRE DEFINIÁLT NYELVI OPERÁTORAI 45
46 OPERÁTOROK FUNKCIÓ: MŰVELETI TÁMOGATÁS A FOLYTONOS ÉRTÉKADÁS UTASÍTÁSOK ÉS REGISZTER MÓDOSÍTÁSOK VÉGREHAJTÁSÁHOZ. {} concatenation +, -, *, / arithmetic (includes unary +, -) % modulus (remainder) >, >=, <, <= relational! logical negation && logical and logical or == logical equality (ambiguity results in x)!= logical inequality (ambiguity results in x) === case equality (includes x, z match)!== case inequality (includes x, z match) 46
47 OPERÁTOROK ~ bit-wise negation & bit-wise and bit-wise inclusive or ^ bit-wise exclusive or ~ bit-wise nor ~^ or ^~ equivalence (bit-wise exclusive nor) & reduction and ~& reduction nand reduction or ~ reduction nor ^ reduction xor ~^ or ^~ reduction xnor << left shift >> right shift?: conditional 47
48 OPERÁTOROK - VHDL és VERILOG VHDL VERILOG & {} concatenation same +, -, *, / arithmetic (includes unary +, -) mod, rem % modulus (remainder) same >, >=, <, <= relational not! negation and, nand1 && logical and or, nor, xor1 logical or = == logical equality (ambiguity results in x) /=!= logical inequality (ambiguity results in x) === case equality (includes x, z match)!== case inequality (includes x, z match) 1 Csak a VHDL standard BIT, BOOLEAN típusokhoz. 48
49 OPERÁTOROK - VHDL és VERILOG VHDL VERILOG ~ bit-wise negation and, nand1 & bit-wise and or1 bit-wise inclusive or xor1 ^ bit-wise exclusive or ~& bitwise nand ~ bitwise nor ~^, ^~ equivalence (bit-wise exclusive nor) &(010101) = 0 &(010x10) = 0 & reduction and (010101) = 1 (010x10) = 1 reduction or ~ reduction nor ^ reduction xor ~^, ^~ reduction xnor << left shift >> right shift? : conditional abs 1 Korlátozva az egy dimenziós BIT és BOOLEAN tömbökre 49
50 OPERANDUSOK VEZETÉKEK REGISZTEREK KONSTANSOK VEZETÉK VEKTOR EGY BITJE REGISZTER VEKOR EGY BITJE VEZETÉK VEKTOR BITTARTOMÁNYA REGISZTER VEKTOR BITTARTOMÁNYA MEMÓRIA CÍM FENTI ELEMEKBŐL ÖSSZEKAPCSOLÁSSAL KÉPEZETT ÚJABB VEKTOR 50
51 KIFEJEZÉSEK A kifejezések az operandusok előre definiált operátorok, felhasználói függvények és rendszer függvények segítségével formált kombinációi. A KIFEJEZÉSEK AZ ÉRTÉKADÁSOKHOZ ÉS A FELTÉTEL KIÉRTÉKELÉSEKHEZ KAPCSOLÓDNAK. PÉLDÁK assign THIS_SIG = a_sig ^ b_sig; if (A!= B) Y = 10; // Két or RESET) begin... end if (non_zero_value) execute_statement; ha a non_zero_value kiértékelése true A kifejezések mindig egy vagy több bitből álló értéket adnak vissza. 51
52 PÉLDÁK OPERÁTOROK HASZNÁLATÁRA ~(101011) = Bitwise Negation (010101) & (001100) = Bitwise And (010101) (001100) = Bitwise Or (010101) ^ (001100) = Bitwise Xor &(010101) = 0 Reduction And (010101) = 1 Reduction Or &(010x10) = 0 Reduction And (010x10) = 1 Reduction Or LOGIKAI KAPCSOLATOK (a < size -1) && (b!= c) && (index!= last_one) if (! inword) if (inword == 0) 52
53 PÉLDÁK OPERÁTOROK HASZNÁLATÁRA module shift; reg [1:0] start, result; initial begin start = 1; // Alapértelmezésben decimális result = (start << 1); end endmodule 53
54 SZINTAKTIKA KORLÁTOZÁSOK A && B legal A B legal A & &B illegal A B illegal A & (&B) A ( B) legal legal 54
55 EGYENLŐSÉG OPERÁTOROK a === b a!== b a egyenlő b, az 'x' és 'z' értékeket is beleértve a nem egyenlő b, az 'x' és 'z' értékeket is beleértve a == b a egyenlő b, az eredmény lehet ismeretlen* a!= b a nem egyenlő b, az eredmény lehet ismeretlen* MEGJEGYZÉSEK *az ismeretlen eredmény azt jelenti, hogy lehet 'x' is AZ ÖSSZEHASONLÍTÁS BITENKÉNT TÖRTÉNIK, A RÖVIDEBB OPERANDUST NULLÁKKAL KIEGÉSZÍTVE AZ EREDMÉNY '1' HA IGAZ ÉS '0' HA HAMIS 55
56 LOGIKAI OPERÁTOROK SZABÁLYOK KIFEJEZÉSEK KIÉRTÉKELÉSE BALRÓL JOBBRA A KIÉRTÉKELÉS LEÁLL, HA AZ IGAZ VAGY HAMIS FELTÉTELEK BÁRMELYIKE TELJESÜL A && OPERÁTOR NAGYOBB PRECEDENCIÁJÚ MINT A PÉLDÁK A < SIZE-1 && B!= C && INDEX!= LASTONE (A < SIZE-1) && (B!= C) && (INDEX!= LASTONE) if (!inword) // gyorsabb, mint: if(inword ==0) 56
57 PÉLDA - A XOR OPERÁTOR IGAZSÁGTÁBLÁJA Exclusive Or (Bitwise) ^ 0 1 x z x x x x x x x x x z x x x x 57
58 A FELTÉTELES OPERÁTOR ÁLTALÁNOS SZINTAKTIKA céloperandus = feltételkifejezés? igaz-ág : hamis-ág; PÉLDA wire [15:0] bus_a = drive_bus_a? data : 'bz; Működés: drive_bus_a =1; // 'data' meghajtja bus_a vonalait drive_bus_a = 0; // bus_a nagy impedanciás marad drive_bus_a = x; // bus_a határozatlan 'x' értékű lesz 58
59 A FELTÉTELES OPERÁTOR MEGJEGYZÉS: 1. 'z' használata feltételes kifejezésekben 2. Az operandusokat nullákkal tölti fel, ha eltérő méretűek 3. Ha a feltételes kifejezés bizonytalan, akor mind az igaz, mind a hamis kifejezés kiértékelésre kerül, majd az eredményt a következő táblázat szerint adja meg: ?: 0 1 x x x 1 x 1 x x x x x 59
60 A SHIFT OPERÁTOR A SHIFT MŰVELET SORÁN FELLÉPŐ ÜRES BITEKET 0-VAL TÖLTI FEL module shifter // Példa a 0-k belépésére reg [1:0] start, result; initial begin start = 1; result = (start << 1); end endmodule PÉLDA start result
61 AZ ÖSSZEKAPCSOLÁS (CONCATENATION) OPERÁTOR FUNKCIÓ: FÜGGETLEN JELEKBŐL LOGIKAI BUSZ KIALAKÍTÁSA. MEGJEGYZÉSEK: {A, B[3:0], W, 3'b101} {A, B[3], B[2], B[1], B[0], W, 1'b1, 1'b0,1'b1} 1. Az összekapcsolás a Verilog nyelvben sokkal általánosabb, mint a VHDL-ben, ahol ez csak két egydimenziós tömbre vonatkozhat. 2. Az összekapcsolás a Verilog nyelvben támogatja beágyazást és ismétlést. 3. Az összekapcsolásban nem szerepelhetnek konstansok. 61
62 ISMÉTLŐDŐ ÖSSZEKAPCSOLÁS PÉLDÁK { 4 {w}} ugyanaz, mint {w, w, w, w} { A, B, {C,D}} ugyanaz, mint {A, B, C, D} 62
63 KARAKTERLÁNCOK A KARAKTERLÁNCOK TÁROLÁSÁHOZ MEGFELELŐ MÉRETŰ TÖMBÖT KELL DEKLARÁLNI. 8 BITES ASCII KÓD KARAKTERENKÉNT reg TÍPUSÚ VÁLTOZÓ A TÁROLÁSHOZ PÉLDA reg [8 * num_char -1 : 0] string_holder string_holder = "Hello world"; // 11 karakter 88 biten MEGJEGYZÉS: Ha num_char > 11 akkor a tároló balról nullákkal töltődik fel 63
64 ARITMETIKAI OPERÁTOROK A VERILOG NYELVBEN A +, -, *, /, % (MODULUS) MŰVELETEK MIND A VEZETÉK, MIND A REGISZTER VÁLTOZÓK KÖRÉBEN ÉRVÉNYESEK PÉLDÁK wire [31: 0] oper_a, oper_b; wire [32:0] Sum = oper_a + oper_b; 64
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észletesebbenLOGIKAI 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észletesebben5. 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észletesebbenVerilog 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észletesebbenLaborgyakorlat 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észletesebbenKombiná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Ú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észletesebbenOccam 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észletesebbenPROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István
PROTOTÍPUSKÉSZÍTÉS VERILOG 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észletesebbenLOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István
LOGIKI TERVEZÉS HRDVERLEÍRÓ NYELVEN Dr. Oniga István Digitális komparátorok Két szám között relációt jelzi, (egyenlő, kisebb, nagyobb). három közül csak egy igaz Egy bites komparátor B Komb. hál. fi
RészletesebbenÚ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észletesebbenBudapesti 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észletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenDigitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk
Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Elméleti anyag: Processzoros vezérlés általános tulajdonságai o z induló készletben
RészletesebbenDr. 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észletesebbenDr. Oniga István DIGITÁLIS TECHNIKA 9
r. Oniga István IGITÁLIS TEHNIKA 9 Regiszterek A regiszterek több bites tárolók hálózata S-R, J-K,, vagy kapuzott tárolókból készülnek Fontosabb alkalmazások: adatok tárolása és adatmozgatás Funkcióik:
RészletesebbenA 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észletesebbenA VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA a LOGIKAI SZINTÉZISBEN
A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA a LOGIKAI SZINTÉZISBEN M.D. CILETTI Deparmen of Elecrical and Compuer Engineering Universiy of Colorado Colorado Springs, Colorado Copyrigh 1997 No par of hese
RészletesebbenHobbi Elektronika. A digitális elektronika alapjai: További logikai műveletek
Hobbi Elektronika A digitális elektronika alapjai: További logikai műveletek 1 Felhasznált anyagok M. Morris Mano and Michael D. Ciletti: Digital Design - With an Introduction to the Verilog HDL, 5th.
RészletesebbenProgramozá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észletesebbenJava 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észletesebbenKészítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
RészletesebbenÚ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észletesebbenEgyszerű 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észletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás 2. előadás Console I/O bővebben Lásd mintaprogram 2015.09.21. Számítástechnika I. 2. Előadás 2 Számábrázolásról
RészletesebbenJava 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észletesebbenKifejezé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Ú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észletesebbenBevezetés az informatikába
Bevezetés az informatikába 4. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
RészletesebbenDigitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar
Digitális Technika Dr. Oniga István Debreceni Egyetem, Informatikai Kar 5. Laboratóriumi gyakorlat Kombinációs logikai hálózatok 2. Komparátorok Paritásvizsgáló áramkörök Összeadok Lab5_: Két bites komparátor
RészletesebbenHobbi Elektronika. A digitális elektronika alapjai: Kombinációs logikai hálózatok 1. rész
Hobbi Elektronika A digitális elektronika alapjai: Kombinációs logikai hálózatok 1. rész 1 Felhasznált anyagok M. Morris Mano and Michael D. Ciletti: Digital Design - With an Introduction to the Verilog
Részletesebben12.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észletesebbenProgramozá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észletesebbenMé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észletesebbenLOGIKAI TERVEZÉS PROGRAMOZHATÓ. Elő Előadó: Dr. Oniga István
LOGIKI TERVEZÉS PROGRMOZHTÓ ÁRMKÖRÖKKEL Elő Előadó: Dr. Oniga István Funkcionális kombinációs ió egységek 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észletesebbenSzámítógépek felépítése, alapfogalmak
2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés
RészletesebbenMechatronika é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észletesebbenSzámítógépek felépítése, alapfogalmak
2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd SZE MTK MSZT lovas.szilard@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van
RészletesebbenDIGITÁ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észletesebben10. 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észletesebben7.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észletesebbenProgramozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
RészletesebbenIII. 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észletesebbenFPGA & Verilog ismertetı. BME Méréstechnika és Információs Rendszerek Tanszék
FPGA & Verilog ismertetı BME Méréstechnika és Információs Rendszerek Tanszék FPGA-k FPGA: Field Programmable Gate Array programozható logikai áramkör Jelentısebb gyártók: Xilinx, Altera, Actel, Quicklogic,
RészletesebbenSmalltalk 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észletesebben5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
RészletesebbenA VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN
A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN Az OPEN VERILOG INTERNATIONAL (OVI) szervezet felkérésére készítette MICHAEL D. CILETTI Department of Electrical and Computer Engineering
RészletesebbenKarakterké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észletesebbenKomputeralgebra 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észletesebbenAlapszintű formalizmusok
Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények
RészletesebbenPé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észletesebbenSZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS
SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok
RészletesebbenA SystemC programok adattípusai
A SystemC programok adattípusai A negyedik fejezetben bemutatott félösszeadó áramköri példában semmilyen SystemC típus sem szerepelt. Viszont összetettebb áramköri feladatok esetén elengedhetetlen a különböző
RészletesebbenDigitá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észletesebbenKifejezések. Kozsik Tamás. December 11, 2016
Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},
RészletesebbenDigitális technika VIMIAA01
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 Fehér Béla BME MIT Digitális Rendszerek Számítógépek
RészletesebbenDigitális technika (VIMIAA02) Laboratórium 2
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 2 Fehér Béla Raikovich Tamás,
RészletesebbenDigitá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észletesebbenA számítógép alapfelépítése
Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán
RészletesebbenDigitá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észletesebbenAlgoritmizá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észletesebben6. 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észletesebbenDigitá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észletesebbenDigitá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észletesebbenLOGIKAI 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észletesebbenDigitá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észletesebbenVerilog ismertető (Szántó Péter, BME MIT, )
Verilog ismertető (Szántó Péter, BME MIT, 2006-09-17) Tartalomjegyzék 1. Bevezetés...1 2. Verilog nyelvi elemek...2 2.1. Modulok definiálása...2 2.2. Operátorok...3 2.3. Változók, értékadások...4 2.3.1.
RészletesebbenDIGITÁ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 6. ELŐADÁS Arató Péter: Logikai rendszerek tervezése, Tankönyvkiadó,
RészletesebbenDigitá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észletesebbenKészítette: Oláh István mestertanár
BME Automatizálási és Alkalmazott Informatikai Tanszék Villamos laboratórium 1. PLC-k programoza sa Mérési útmutató Készítette: Oláh István mestertanár (olah.istvan@aut.bme.hu) 2014. szeptember Bevezetés
Részletesebben1. 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észletesebbenDr. Oniga István DIGITÁLIS TECHNIKA 4
Dr. Oniga István DIGITÁLIS TECHNIKA 4 Kombinációs logikai hálózatok Logikai hálózat = olyan hálózat, melynek bemenetei és kimenetei logikai állapotokkal jellemezhetők Kombinációs logikai hálózat: olyan
RészletesebbenDigitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással
Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással Megoldás Elméleti anyag: Processzor belső felépítése, adat
RészletesebbenElő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észletesebbenDigitális technika VIMIAA01 9. hét Fehér Béla BME MIT
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 9. hét Fehér Béla BME MIT Eddig Tetszőleges
RészletesebbenDigitális technika VIMIAA01 9. hét
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 9. hét Fehér Béla BME MIT Eddig Tetszőleges
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenDIGITÁ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észletesebben2. Fejezet : Számrendszerek
2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College
RészletesebbenDigitá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észletesebbenProgramozá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észletesebbenDigitá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észletesebbenProgramozá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észletesebbenHobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 2. rész
Hobbi Elektronika A digitális elektronika alapjai: Sorrendi logikai áramkörök 2. rész 1 Felhasznált anyagok M. Morris Mano and Michael D. Ciletti: Digital Design - With an Introduction to the Verilog HDL,
RészletesebbenJárműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
RészletesebbenProgramozási nyelvek 6. előadás
Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan
RészletesebbenA feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:...
2..év hó nap NÉV:...neptun kód:.. Kurzus: feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:... Kedves Kolléga! kitöltést a dátum, név és aláírás rovatokkal
RészletesebbenÚjrakonfigurálható technológiák nagy teljesítményű alkalmazásai
Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Xilinx System Generator Szántó Péter BME MIT, FPGA Laboratórium Xilinx System Generator MATLAB Simulink Toolbox Simulink Modell alapú grafikus
RészletesebbenSzekvenciális hálózatok és automaták
Szekvenciális hálózatok a kombinációs hálózatokból jöhetnek létre tárolási tulajdonságok hozzáadásával. A tárolás megvalósítása történhet a kapcsolás logikáját képező kombinációs hálózat kimeneteinek visszacsatolásával
RészletesebbenSzámítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
Részletesebben1. 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észletesebbenTartalom 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észletesebbenDigitá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észletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenLOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ. 2010. november 8. Verzió 1.0. http://logsys.mit.bme.hu
LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ 2010. november 8. Verzió 1.0 http://logsys.mit.bme.hu Tartalomjegyzék 1 Bevezetés... 1 2 Kommunikációs interfész... 2 3 Memóriák az LCD vezérlőben... 3 3.1
Részletesebbené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észletesebbenA 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észletesebbenMemó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