A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN
|
|
- Donát Szalai
- 7 évvel ezelőtt
- Látták:
Átírás
1 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 University of Colorado Colorado Springs, Colorado Copyright 1998 No part of these notes may be copied or reproduced in any form without the written permission of the author. A szerző jóváhagyásával átdolgozta és fordította FEHÉR BÉLA Budapesti Műszaki Egyetem Méréstechnika és Információs Rendszerek Tanszék 1
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 Veriloggal 5. rész: A Verilog szintézis módszereinek ismertetése 2
3 LEXIKAI SZABÁLYOK SZABÁLYOK Megjegyzések (COMMENTS) // Egyszerű megjegyzés /* Egy másik egyszerű megjegyzés */ /* Többsoros megjegyzés ami a páros lezáró karakterig tart */ SZÁMOK (NUMBERS) decimális, hexadecimális, oktális, bináris formátum: bitszám 'alap számérték 16'h5, 24'b1101, 2'b10 előjelek ill. aláhuzás a tagoláshoz megengedett KARAKTERLÁNCOK (STRING) " Idézőjelek közé zárt karaktersorozat" 3
4 A NYELV KIFEJLESZTÉSÉNEK CÉLJA A tradicionális tervezői módszereket, amelyek a kapuszintű, modulszintű kapcsolási rajzokon alapultak fokozatosan felváltják a hardverleiró nyelveken (HDL, Hardware Description Language) alapuló regisztertranszfer szintű (RTL Register Transfer Level) leírások, amelyek alapján a szintézis eszközök a kívánt funkciónak megfelelő áramköröket automatikusn előállítják A HDL nyelvnek a hardver működésének modellezésén túl olyan feltételeket kell biztosítania, amelyek a tervezői munka minőségét és hatékonyságát növelik 4
5 MI A HARDVER LEÍRÓ NYELV (HDL)? EGY SPECIÁLIS ALKALMAZÁSI TERÜLETHEZ KIFEJLESZTETT SZÁMÍTÓGÉPES PROGRAMOZÁSI NYELV MODELLEZI, ÁBRÁZOLJA ÉS SZIMULÁLJA A DIGITÁLIS HARDVERT KONKURRENS HARDVER MŰKÖDÉS PÁRHUZAMOS PROGRAM VÉGREHAJTÁS JELEK ÉRTÉKÉT ÉS IDŐBELI VÁLTOZÁSÁT KÉPES KÖVETNI SPECIÁLIS SZERKEZETEK ÉS SZEMANTIKA NÉHÁNY PÉLDA AZ ISMERTEBB NYELVEKRE: HILO2, HARDVER C, ABEL, VHDL 5
6 HDL MODELLEK A HDL modellek definiálják a bemeneti jelek és a kimeneti jelek közötti leképezéseket, ideértve az események, jelváltások ütemezését is. Az időtartománybeli viselkedés a szimuláció során válik láthatóvá A HDL nyelvek speciális szerkezeteket és kifejezéseket alkalmaznak a hardver eszközök időben párhuzamos, konkurens működésének leírására, az időbeli késleltetések és jelalakok modellezésére 6
7 EGYSZERŰ HDL PÉLDÁK (1) VERILOG: module and_gate(y, x1, x2); input x1, x2; output y; and(y,x1,x2); endmodule x1 x2 and_gate y VHDL: entity and_gate is port (x1,x2: in BIT; y: out BIT); end and_gate; architecture data_flow of and_gate is begin y <= x1 and x2; end data_flow; x1 x2 and_gate y data_flow y <= x1 and x2; 7
8 EGYSZERŰ HDL PÉLDÁK (2) VERILOG: FÉL - ÖSSZEADÓ a b sum c_out a b Add_half sum c_out module Add_half (sum, c_out, a, b); output sum, c_out; input a, b; wire c_out_bar; xor G1 (sum, a, b); nand G2 (c_out_bar, a, b); not G3 (c_out, c_out_bar); endmodule Megjegyzés: A primitív kapuk elnevezése (G1, G2, G3) nem szükséges 8
9 KAPCSOLÁSI RAJZ HDL KAPCSOLÁSI RAJZ HDL HAGYOMÁNYOS MÉRNÖKI ESZKÖZ MÉRNÖKI/INFORMATIKUS ESZKÖZ VIZUÁLIS INFORMÁCIÓ SZÖVEGES FORMA GRAFIKUS MUNKAHELY EDITOR ALAPÚ FUNKCIONALITÁS: IMPLICIT FUNKCIONALITÁS: EXPLICIT FÓKUSZ: KAPU SZINT FÓKUSZ: KEVERT SZINT ALACSONYSZINTŰ ABSZTRAKCIÓ MAGAS SZINTŰ ABSZTRAKCÓ MÓDOSÍTÁS KÖLTSÉGE MÉRET MÓDOSÍTÁS ÉRZÉKETLEN A ÉS KOMPLEXITÁS FÜGGŐ MÉRETRE ÉS KOMPLEXITÁSRA 9
10 A HDL NYELVEK ELŐNYEI TÁMOGATJÁK A STRUKTÚRÁLT TERVEZÉSI MÓDSZEREKET RUGALMASAN PARTICIONÁLHATÓK A NYELVI LEÍRÁS ALAPJÁN A KAPCSOLÁSI RAJZ GENERÁLHATÓ, HA SZÜKSÉGES MAGAS SZINTŰ ABSZTRAKCIÓ FELKÍNÁLJA ALTERNATÍVÁK ÖSSZEHASONLÍTÁSÁT MÓDOSÍTÁSOK GYORSAN VÉGREHAJTHATÓK JAVÍTJA A HATÉKONYSÁGOT ÉS MINŐSÉGET GYORS PROTOTÍPUS KIHASZNÁLJA A SZINTÉZIS ESZKÖZÖKET 10
11 A TERVEK HIERARKHIKUS SZINTJEI SZINT STRUKTURÁLIS VISELKEDÉSI PRIMITIVEK LEÍRÁS SZINTJE RENDSZER CPU-K, MEMÓRIÁK TELJESÍTÉNY KOMPLEX IC BUSZOK, SPECIFICÁCIÓ, MICROPROCESSZOROK I/0 ÖSSZEFÜGGÉSEK, RAM, ROM, UART ALGORITMUSOK, PÁRRHUZAMOS PORTOK REGISZTER REGISZTEREK, ALU-k, IGAZSÁGTÁBLA, SZÁMLÁLÓK, MUX-OK ÁLLAPOT TÁBLA, MŰVELETEK KAPUSZINT KAPUK, FLIP-FLOPS LOGIKAI EGYENLETEK ÁRAMKÖRI SZINT TRANZISZTOROK DIFFERENCIÁL R,L,C EGYENLETEK FÉLVEZETŐ GEOMETRIAI -- OBJEKTUMOK 11
12 STRUKTURÁLT TERVEZÉSI MÓDSZEREK TOP-DOWN HIERARCHIKUS DEKOMPOZÍCIÓ: A KOMPLEX TERV EGYSZERŰBB, EGYMÁSNAK ALÁRENDELT FUNKCIÓJÚ EGYSÉGEKRE BONTÁSÁRA TERV MŰKÖDÉS KAPUK S ELLENŐRZÉS RÖVID TERVEZÉSI ÉS ELLENŐRZÉSI CIKLUSOK TERVEZHETŐ KÖLTSÉG ÉS ÜTEMEZÉS 12
13 ALTERNATÍV TERVEZÉSI STÍLUSOK A TERVEZÉSI ESZKÖZÖK EVOLÚCIÓJA MAGÁVAL HOZTA A HDL NYELVEKEN ÉS A SZINTÉZIS PROGRAMOKON ALAPULÓ TERVEZÉSI MÓDSZEREK FEJLŐDÉSÉT IS primitívek és modulok A STRUKTURÁIS MODELLEK OBJEKTUMOKAT KÖTNEK ÖSSZE A KIVÁNT TULAJDONSÁGÚ FUNKCIÓ MEGVALÓSÍTÁSÁRA FUNKCIONÁLIS EGYSÉGEK STRUKTURÁLIS VISELKEDÉSI REGISZTER TRANSFER LOGIKA ALGORITMIKUS RTL SZINTŰ VISELKEDÉSI LEÍRÁS NYELVI ESZKÖZÖKET HASZNÁL A LOGIKA IMPLEMENTÁLÁSÁRA KÖZVETLEN HIVATKOZÁSSAL A HARDVER ELEMEKRE (IMPLICIT KOMBINÁCIÓS LOGIKA). közvetlen kombinációs logika műveleti utasítások ALGORITMIKUS MŰKÖDÉSI LEÍRÁS MAGASSZINTŰ HDL MŰVELETI UTASÍTÁSOKKAL, AMI A KÍVÁNT I/O MŰKÖDÉST ÍRJA LE, FÜGGETLENÜL A KONKRÉT HARDVER MEGVALÓSÍTÁSTÓL 13
14 PÉLDA: KÉT-BITES KOMPARÁTOR A1 B1 A0 B0 TWO - BIT COMPARATOR A_lt_B A_gt_B A_eq_B LOGIKAI EGYENLETEK: A_lt_B = A1 B1 + A1 A0 B0 + A0 B1B0 A_gt_B = A1B1 + A0B1 B0 + A1A0B0 A_eq_B = A1 A0 B1 B0 + A1 A0B1 B0 + A1A0B1B0 + A1A0 B1B0 14
15 2 BITES KOMPARÁTOR: STRUKTURÁLIS MODELL STRUKTURÁLIS MODELLEK OBJEKTUMOKAT KAPCSOLNAK ÖSSZE A KÍVÁNT MŰKÖDÉSŰ RENDSZER MEGVALÓSÍTÁSÁHOZ A1 W6 W1 B1 A0 W7 W2 A_lt_B B0 W3 A_gt_B W4 W5 A_eq_B A KARNAUGH TÁBLA MINIMALIZÁLÁSA UTÁN A Verilog nyelv egy teljes logikai primitív készletet (and, or, xor) biztosít a strukturális modellek felépítéséhez. 15
16 2 BITES KOMPARÁTOR: STRUKTURÁLIS MODELL module compare_2_str (A_lt_B, A_gt_B, A_eq_B, A0, A1, B0, B1); input A0,A1,B0,B1; output A_lt_B, A_gt_B, A_eq_B; or (A_lt_B, w1, w2, w3); nor (A_gt_B, A_lt_B, A_eq_B); and (A_eq_B, w4, w5); and (w1, w6, B1); and (w2, w6, w7, B0); and (w3, w7, B0, B1); xnor (w4, A1, B1); xnor (w5, A0, B0); not (w6, A1); not (w7, A0); endmodule A1 B1 A0 B0 W7 W6 W1 W2 W3 W4 W5 A_lt_B A_gt_B A_eq_B Megjegyzés: A modulban használt primitívek interaktív, konkurens modulok, a kimenőjelek beállítása csak a bemenetek változásainak függvénye, bármely bemeneti jel változik, a kimenet kiértékelésre kerül 16
17 2 BITES KOMPARÁTOR: RTL ADAT FOLYAM MODELL A LOGIKAI / RTL / ADAT FOLYAM MODELLEK NYELVI OPERÁTOROKAT HASZNÁLNAK A FÜGGVÉNYEK LEÍRÁSÁRA, KÖZVETLEN (IMPLICIT) HIVATKOZÁSSAL AZ AZT MEGVALÓSÍTÓ ELEMI HARDVER EGYSÉGEKRE module compare_2_rtl (A_lt_B, A_gt_B, A_eq_B, A1, A0, B1, B0); input A1, A0, B1, B0; output A_lt_B, A_gt_B, A_eq_B; assign A_lt_B = (~A1) & B1 (~A1) & (~A0) & B0 (~A0) & B1 & B0; assign A_gt_B = A1 & (~B1) A0 & (~B1) & (~B0) A1 & A0 & (~B0); assign A_eq_B = (~A1) & (~A0) & (~B1) & (~B0) (~A1) & A0 & (~B1) & B0 A1 & A0 & B1 & B0 A1 & (~A0) & B1 & (~B0); endmodule Megjegyzés: A folytonos kijelölés ( assign.. =.. ) utasítás egy interaktív, folytonos eseményvezérlést ír elő a kifejezés jobb és bal oldala között, ez következésképpen közvetlen kombinációs logikai kapcsolatnak felel meg. 17
18 2 BITES KOMPARÁTOR: ALGORITMIKUS MODELL AZ ALGORITMIKUS LEÍRÁSOK A HDL NYELV MŰVELETI UTASÍTÁSAIVAL ÍRJÁK LE A KÍVÁNT I/O MŰKÖDÉST ANÉLKÜL, HOGY AZ AZT MEGVALÓSÍTÓ KONKRÉT HARDVERRŐL BÁRMIT FELTÉTELEZNÉNEK module compare_2_algorithmic (A_lt_B, A_gt_B, A_eq_B, A,B); input [1:0] A,B; output A_lt_B, A_gt_B, A_eq_B; reg A_lt_B; // Állapottartó változó reg A_gt_B; reg A_eq_B; (A or B) // Esemény figyelő begin A_lt_B = 0; A_gt_B = 0; A_eq_B = 0; if (A==B) A_eq_B = 1; else if (A>B) A_gt_B = 1; else A_lt_B = 1; end endmodule Megjegyzés: A Verilog eseményvezérelt műveleti utasításai, pl. always..., csak állapottartó, regiszter típusú változókat tudnak kezelni, változtatni, ezért a kimeneti változók a deklaráció szerint regiszter típusúak. A szintézis során dől majd el, hogy ezek a regiszterek valójában flip-flop-ként realizálva lesznek-e vagy sem. A begin.end programrészleten belül SZEKVENCIÁLIS a programvégrehajtás. 18
19 2 BITES KOMPARÁTOR: VISELKEDÉSI (BEHAVIORAL) LEÍRÁS KÉT BITES KOMPARÁTOR A_lt_B A1 reg A_lt_b B1 A0 MŰVELETI UTASÍTÁS A_gt_B reg A_eq_B A_gt_b B0 reg A_eq_b A MODULBAN MINDEN always. MŰVELETI UTASÍTÁS ÁLLANDÓAN, KONKURRENSEN AKTÍV. EZ MODELLEZI A HARDVER PÁRHUZAMOS MŰKÖDÉSÉT. A MŰVELETI UTASÍTÁSOKON BELÜL A begin.end KÖZÖTTI PROGRAMUTASÍTÁSOK SZEKVENCIÁLISAN ÉRTÉKELŐDNEK KI. 19
20 A NYELV NÉHÁNY TULAJDONSÁGA A HARDVER MŰKÖDÉSÉT KÜLÖNBÖZŐ ABSZTRAKCIÓS SZINTEKEN MODELLEZI A KÜLÖNBÖZŐ ABSZTRAKCIÓS SZINTEK KEVERVE IS HASZNÁLHATÓK A LEÍRÁS ÉS A SZIMULÁCIÓ SORÁN IS TÁMOGATJA A HIERARCHIKUS DEKOMPOZÍCIÓT ESZKÖZÖKET AD A STRUKTURÁLT TERVEZÉSHEZ. KÉPES A HARDVER KONKURRENS, PÁRHUZAMOS MŰKÖDÉSÉNEK MODELLEZÉSÉRE. MEGTARTJA A NYELVI SZERKEZETEK ÉS A HARDVER KÖZÖTTI SZOROS KAPCSOLATOT. MEGFELELŐ FORMA KÜLÖNBÖZŐ RENDSZEREK KÖZÖTTI INTEGRÁCIÓRA 20
21 MODELLEZÉSI ÉS ABSZTRAKCIÓS ALTERNATÍVÁK A VERILOG NYELVBEN 21
22 A MODELLEK TÍPUSAI A Verilog nyelv három alapvető modell típust támogat: EXPLICIT STRUKTURÁLIS MODELL IMPLICIT STRUKTURÁLIS MODELL VISELKEDÉSI MODELL Általában egy Verilog funkcionális működési leírás tartalmazhatja a fentiek keverékét is. 22
23 PÉLDA: NAND LATCH (Explicit - Strukturális) A Verilog nyelvben a tervleírás alapegysége a modul. module Nand_Latch (q, qbar, preset, clear); output q, qbar; input preset, clear; preset G1 1 q wire preset, clear; nand #1 G1 (q, preset, qbar), G2 (qbar, clear, q); clear 1 qbar G2 endmodule Megjegyzés: A primitíveket (nand, or, xor, not, buf) a be- és kimeneti portjaikon keresztül kapcsoljuk össze. A példa ugyanazon típusú nand primitívre egy utasításban kétszer, duplán hivatkozik (G1 és G2). A közvetlen kombinációs visszacsatolás miatt mindkét kapuhoz egy 1ns késleltetést (#1) rendeltünk. 23
24 PÉLDA: nanf201 (Explicit Strukturális+Időzítés) module nanf201 (O,A1,B1); output O; input A1, B1; nand(o, A1, B1); // hivatkozás a primitivre specify // opcionális időzítés adatok // min typ max késleltetések specparam Tpd_0_1 = 1.13 : 3.09 : 7.75, // L H váltás Tpd_1_0 = 0.93 : 2.50 : 7.34; // H Lváltás (A1 => O) = (Tpd_0_1, Tpd_1_0); // (L H és H L késleltetések) (B1 => O) = (Tpd_0_1, Tpd_1_0); endspecify endmodule A specifikációs blokkok közvetlenül a modul be- és kimenetei közötti időzítés adatokat definiálják. A nanf201 azonosító egy 2.01 mikronos ASIC könyvtár elemére utal. 24
25 AZ EXPLICIT STRUKTURÁLIS MODELL TÍPUSÚ LEÍRÁS TÁMOGATÁSA KAPU SZINTŰ PRIMITIVEK (26 beépített, kombinációs) FELHASZNÁLÓI PRIMITIVEK (kombinációs, szekvenciális) TRANZISZTOR KAPCSOLÁSI SZINTŰ PRIMITÍVEK MODUL DEKLARÁCIÓ ÉS HIVATKOZÁS KÉSLELTETÉSI MODELLEK: A KAPUK INERCIÁLIS, A HUZALOK TRANSZPORT MODELLEL 4 ÉRTÉKŰ LOGIKA, 8 MEGHAJTÁSERŐSSÉGGEL HUZALOZOTT AND ÉS OR LOGIKÁK Az explicit strukturális leírás előre definiált működésű objektumokat kapcsol össze a szükséges funkciójú terv megvalósításához. Ezek lehetnek beépített primitív elemek vagy összetett funkciójú modulok. A megvalósított terv be-kimeneti viselkedése a részegységek funkciójából és az összekötések topológiájából következik. Az összekötéseket az egyszerű huzal (wire) adattípus biztosítja 25
26 PRIMITíVEK CÉL: ELŐRE DEFINIÁLT EGYSZERŰ HARDVER FUNKCIÓK BIZTOSÍTÁSA BEÉPÍTETT PRIMITÍVEK A NYELV CSAK KOMBINÁCIÓS BEÉPÍTETT PRIMITÍVEKET TARTALMAZ A KOMBINÁCIÓS PRIMITÍVEK KIMENETE KÖTELEZŐEN "wire" TÍPUSÚ A KOMBINÁCIÓS PRIMITÍVEK BEMENETEI LEHETNEK "wire" vagy "reg" TÍPUSÚAK. A BEMENETEKEN A 0, 1, X, Z ÉRTÉKEK MIND MEGENGEDETTEK FELHASZNÁLÓ ÁLTAL DEFINIÁLT PRIMITÍVEK (UDPs) A NYELV MEGENGEDI KOMBINÁCIÓS ÉS SZEKVENCIÁLIS TÍPUSÚ FELHASZNÁLÓI PRIMITÍVEK DEFINÍÁLÁSÁT IS 26
27 PRIMITÍVEK - ÁLTALÁNOS HIVATKOZÁS primitív_kapu_neve #erősség késleltetés (port_jelek_listája); SZABÁLYOK Az erősség és késleltetés paraméterek opcionálisak és egy listában azonosak az összes elemre. Többszörös, együttes hivatkozás megengedett. PÉLDÁK nand #1 G1 (y1, a1, b1), G2 (y2, a2, b2), G3 (y3, a3, b3); nand #1 nand #3 nand #2 G1 (y1, a1, b1); G2 (y2, a2, b2); G3 (y3, a3, b3); 27
28 IMPLICIT STRUKTURÁLIS MODELLEK Az implicit strukturális modell (RTL vagy adatfolyam [dataflow]) előre definiált nyelvi operátorokat és a konkurens folytonos kijelölés" utasítást használja a logikai működés előírására. Az operátorok közvetve (implicit) meghatározzák a megvalósító hardvert is. Az ilyen közvetett strukturális modellek alapján a szintézer programok könnyen tudnak közel optimális logikai hálózatot generálni. module bitwise_or (y, A, B); input [7:0] A, B; output [7:0] y; assign y = A B; A B endmodule bitwise_or Numerikus példa, szimulációs eredmény : A: B: y: y 28
29 IMPLICIT STRUKTURÁLIS MODELLEK A VERILOG PRIMITIVEK ÉS OPERÁTOROK RUGALMASAK. 8 a 8 b a[7]b[7] a[6]b[6] a[5]b[5] a[4]b[4] a[3]b[3]a[2]b[2]a[1]b[1]a[0]b[0] bit_or8_gate 8 y y[7] y[6] y[5] y[4] y[3] y[2] y[1] y[0] Nyolc-bites adatút module bit_or8_gate (y, a, b); input [7:0] a, b; output [7:0] y; assign y = a b; // Bitenkénti OR endmodule Négy-bites adatút module bit_or4_gate (y, a, b); input [3:0] a, b; output [3:0] y; assign y = a b; // Bitenkénti OR endmodule 29
30 AZ IMPLICIT STRUKTURÁLIS MODELLEK TÁMOGATÁSA FOLYTONOS KIJELÖLÉS UTASÍTÁS assign y = a ^ b; ELŐRE DEFINIÁLT OPERÁTOROK assign y = a[7:0] ^ b[7:0]; assign v = a[3:0] ^ b[3:0]; RTL / ADATFOLYAM LEÍRÁSI STÍLUS KÉSLELTETÉSEK MODELLEZÉSE assign #3 y = a[7:0] ^ b[7:0]; 30
31 PÉLDA: ADATFOLYAM / RTL LEÍRÁS A FOLYTONOS KIJELÖLŐ UTASÍTÁSOK MINDIG AKTÍVAK PÉLDA module add_full_df (sum, c_out, a, b, c_in); output sum, c_out; input a, b, c_in; assign sum = a ^ b ^ c_in; // Bitenkénti XOR assign c_out = (a & b) (b & c_in) (a & c_in); endmodule ESEMÉNY TERJESZTÉS: BÁRMELY VÁLTOZÁS A KIFEJEZÉSEK JOBB OLDALÁN HASZNÁLT OPERÁTOROKBAN, AUTOMATIKUSAN ÉS AZONNAL ÚJ ÉRTÉKET RENDEL A BALOLDALI VÁLTOZÓKHOZ 31
32 A FOLYTONOS KIJELÖLÉS UTASÍTÁS SZINTAKTIKA assign meghajtás_erősség késleltetés előírás logikai_kifejezés; MEGJEGYZÉS: az opcionális meghajtás_erősség pl. strong0, strong1 lehet. wire c_out, c_in; PÉLDA wire [3:0] sum, in_a, in_b; assign {c_out, sum} = in_a + in_b + c_in; // {, } összekapcsolást jelöl MEGJEGYZÉS: Az eredmény egy 5-bites szó, egyszerre kap értéket két lazán kapcsolódó, de logikailag összetartozó mennyiség. 32
33 ADAT FOLYAM/ RTL LEÍRÁS A tervek adatfolyam / RTL leírása folytonos kijelölés utasításokat alkalmaz, amelyek közvetett (implicit) módon írják le a kombinációs hálózatokat megvalósító struktúrákat. A FOLYTONOS KIJELÖLÉS (assign) CSAK 'wire' HUZAL TÍPUSÚ VÁLTOZÓKRA VONATKOZHAT A FOLYTONOS KIJELÖLÉS UTASÍTÁSOK EGYMÁSSAL KONKURENSEK A FOLYTONOS KIJELÖLÉSEK MINDIG AKTÍVAK A JOBBOLDALI OPERANDUSOK MEGVÁLTOZÁSA A KIFEJEZÉSEK AZONNALI ÚJRA KIÉRTÉKELÉSÉT OKOZZA A FOLYTONOS KIJELÖLÉS A KIMENETET MEGHAJTÓ HARDVER ABSZTRAKT MODELLJÉT SZOLGÁLTATJA ELFEDI A KAPU SZINTŰ RÉSZLETEKET, KÖNNYEN OLVASHATÓ 33
34 PÉLDA: MULTIPLEXER ADATFOLYAM / RTL LEÍRÁSA FOLYTONOS KIJELÖLÉS UTASÍTÁSSAL FELADAT: MULTIPLEXER REALIZÁLÁSA FOLYTONOS KIJELÖLÉS UTASÍTÁSSAL module mux4_df_ca(a, b, c, d, select, y_out); input a, b, c, d; input [1:0] select; output y_out; assign y_out = (a &&!select[1] &&!select[0]) (b &&!select[1] && select [0]) (c && select[1] &&!select [0]) (d && select[1] && select [0]) ; endmodule 34
35 VISELKEDÉSI/MŰKÖDÉSI MODELLEK A Verilog támogatja az absztrakt viselkedési/működési (behavioral) modelleket. module Simple_flop (q, data_in, clk, rst); input data_in, clk, rst; output q; reg q; //Állapottartó változó (posedge clk) begin if (rst ==1) q = 0; //Szinkron reset!! else q = data_in; end endmodule clk rst data_in q A Verilog nyelv beépített eszközöket tartalmaz az éldetektálásra. 35
36 A VISELKEDÉSI MODELLEZÉS TÁMOGATÁSA ESEMÉNYVEZÉRLŐ MŰVELETI UTASÍTÁSOK initial (konkurens) always (konkurens) ELJÁRÁS UTASÍTÁSOK (reg típus) szekvenciális értékadás kvázi-folytonos kijelölés nem-blokkoló értékadás vezérlések időzítés vezérlés eseményvezérlés várakozás UTASÍTÁSON BELÜLI IDŐZÍTÉSEK BEMENET/KIMENET TÍPUSÚ IDŐZÍTÉS MODELL NYELVI ESZKÖZÖK HULLÁM- FORMÁK GENERÁLÁSÁHOZ SZEKVENCIÁLIS ÉS PÁRHUZAMOS VÉGREHAJTÁS VEZÉRLÉS CIKLUSOK, FELTÉTELES UTASÍTÁSOK FÜGGVÉNY HÍVÁSOK TASZK HÍVÁSOK ABSZTRAKT ESEMÉNYNEVEK HIERARCHIKUS HIVATKOZÁSOK 36
37 PÉLDA: FÉL-ÖSSZEADÓ (Explicit - Strukturális) module név module portok module Add_half (sum, c_out, a, b); input a, b; port deklarációk output sum, c_out; wire c_out_bar; belső jel deklarácók a b Add_half sum c_out xor (sum, a, b); nand (c_out_bar, a, b); not (c_out, c_out_bar); endmodule primitív hivatkozások a b sum c_out 37
38 PÉLDA: XOR KAPU (ADATFOLYAM - Implicit Kombinaciós Logika) module xorf201_zero_delay (O, A1, B1); input A1, B1; output O; assign O = A1 ^ B1; endmodule 38
39 PÉLDA: BIT-SZELET TÍPUSÚ ÖSSZEADÓ (ADATFLOW - Implicit Kombinációs Logika) module adder_4_df (a, b, c_in, sum, c_out); MSB LSB output [3:0] sum; output c_out; input [3:0] a, b; input c_in; folytonos kijelölés assign {c_out, sum} = a + b + c_in; a b c_in 4 4 adder_4_df 4 c_out sum endmodule összekapcsolás Az összekapcsolás operátor az argumentumaiból a művelet elvégzése ill. az eredmény kijelölése szempontjából egy közös, egyesített objektumot állít elő. A VERILOG nyelv beépített aritmetikával rendelkezik 39
40 PÉLDA: ÁTVITELGYORSÍTÓS ÖSSZEADÓ (Viselkedési - Kombinált RTL és ALGORITMIKUS) a i b i b i a i c i g i = a i & b i // a i and b i p i = a i ^ b i // a i xor b i s i c i+1 s i c i s i a i c i+1 c i+1 c i+1 b i c i+1 s i s i c i c i+1 s i s i = (a i ^ b i ) ^ c i = p i ^ c i c i+1 = (a i ^ b i ) & c i + a i & b i = p i & c i + g i 40
41 PÉLDA: ÁTVITELGYORSÍTÁS REKURZÍV ALGORITMUS: s 0 = p 0 ^ c 0 c 1 = p 0 & c 0 + g 0 s 1 = p 1 ^ c 1 c 2 = p 1 & c 1 + g 1... s 2 = p 2 ^ c 2 c 3 = p 2 & c 2 + g 2 ÖSSZEFOGLALVA: sum = p ^ (c n-1,..., c 2, c 1,c 0 ) // Bitenkénti kizáró-vagy c_out = c n 41
42 PÉLDA: ÁTVITELGYORSÍTÁS (1) module Add_4 (sum, c_out, a, b, c_in); // általános 4-bites // átvitelgyorsítós összeadó // viselkedési modell output [3:0] sum; output c_out; input [3:0] a, b; input c_in; reg [3:0] carrychain; wire [3:0] g = a & b; wire [3:0] p = a ^ b; // átvitel generálás, bitenkénti AND kapcsolat // folytonos kijelölés // átvitel terjesztés, bitenkénti XOR kapcsolat // folytonos kijelölés 42
43 PÉLDA: ÁTVITELGYORSÍTÁS (2) or b or c_in) // bármely változónál esemény begin : carry_generation // a blokk név az 'i' lokális integer i; // változó használata miatt kell carrychain[0] = g[0] (p[0] & c_in); // (a lekérdezhetőség miatt) for(i = 1; i <= 3; i = i + 1) begin #0 // a #0 kikényszeríti carrychain[i] = g[i] (p[i] & carrychain[i-1]); // a kiértékelést end end wire [4:0] shiftedcarry = {carrychain, c_in} ; // összekapcsolás wire [3:0] sum = p ^ shiftedcarry; // összeg képzése wire c_out = shiftedcarry[4]; // átvitel beállítása endmodule 43
44 PÉLDA: ÁTVITELGYORSÍTÁS (3) a b c_in Átvitel generáló bitek. (Kombinációs logika) g Minden bemeneti változásra kiértékeli az átvitelt Átvitel terjesztő bitek. (Kombinációs logika) p c_in Folytonos kijelölés utasítás Eseményvezérelt szekvenciális Putasítások d l Shiftelt átvitel generálása (Kombinációs logika) p Átvitel képzése (Kombinációs logika) Összeg képzése (Kombinációs logika) Folytonos kijelölés utasítás c_out sum 44
45 HIERARCHIKUS DEKOMPOZICIÓ ÉS STRUKTURÁLT TERVEZÉSI MÓDSZEREK A VERILOG NYELVBEN 45
46 HIERARCHIKUS DEKOMPOZICIÓ AZ EGYMÁSBA ÁGYAZOTT MODULHIVATKOZÁSOK HIERACHIKUS DEKOMPOZICIÓT EREDMÉNYEZNEK. module TOP_MOD (); // deklaráció Child_Module_A (); // hivatkozás... Child_Module_B (); // hivatkozás... endmodule module Child_Module_A (); // deklaráció // Modul funkció leírása endmodule module Child_Module_B (); // deklaráció // Modul funkció leírása endmodule 46
47 PÉLDA: TELJES ÖSSZEADÓ (Explicit - Strukturális) module Add_full(sum, c_out, a, b, c_in);// fő modul input a, b, c_in; output c_out, sum; modul azonosító név 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 // almodul // almodul // primitív hivatkozás Bemenetek Verilog Modul Kimenetek A VERILOG NYELVBEN A MODUL TARTALMAZZA A TERVET 47
48 MODULOK ÖSSZEKAPCSOLÁSA MODULOK TARTALMAZHATNAK HIVATKOZÁSOKAT MÁS MODULOKRA. A MODULOK HIERARCHIKUS STRUKTURÁJÁT KÖZVETLENÜL A BEÁGYAZOTT MODULHIVATKOZÁSOK DEFINIÁLJÁK. A MODULOKAT PORTJAIKON KERESZTÜL KAPCSOLJUK ÖSSZE. A MODULOK CSATLAKOZHATNAK MÁS MODULOKHOZ VAGY VERILOG PRIMITÍVEKHEZ. 48
49 PÉLDA A HIERARCHIKUS DEKOMPOZICIÓRA Add_rca_16 A hierarchikus dekompozíció a tervet részekre osztja, melyek egyszerűbb funkcionalitással és komplexitással rendelkeznek. a[15:0] b[15:0] c_in a[15:12] b[15:12] a[11:8] b[11:8] a[7:4] b[7:4] a[3:0] b[3:0] c_in Add_rca_16 Add_rca_4 Add_rca_4 Add_rca_4 Add_rca_4 16 c_out M4 c_in12 M3 c_in8 M2 c_in4 M1 c_out sum[15:0] sum[15:12] sum[11:8] sum[7:4] sum[3:0] 49
50 PÉLDA A HIERARCHIKUS DEKOMPOZICIÓRA Add_rca_4 a[3] b[3] a[2] b[2] a[1] b[1] a[0] b[0] c_in M4 M3 M2 M1 Add_full Add_full Add_full Add_full c_in4 c_4 c_in3 c_in2 sum[3] sum[2] sum[1] sum[0] 50
51 PÉLDA A HIERARCHIKUS DEKOMPOZICIÓRA Add_full c_in a b w1 a sum Add_half (a b) b c_out w2 M1 ab 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 51
52 PÉLDA: 16-BITES ÖSSZEADÓ REALIZÁLÁSA module Add_rca_16 (sum, c_out, a, b, c_in); output [15:0] sum; output c_out; input [15:0] a, b; input c_in; wire c_in4, c_in8, c_in12, c_out; a[15:0] 16 Add_rca_16 b[15:0] c_in c_out sum[15:0] Add_rca_4 M1 (sum[3:0], c_in4, a[3:0], b[3:0], c_in); Add_rca_4 M2 (sum[7:4], c_in8, a[7:4], b[7:4], c_in4); Add_rca_4 M3 (sum[11:8], c_in12, a[11:8], b[11:8], c_in8); Add_rca_4 M4 (sum[15:12], c_out, a[15:12], b[15:12], c_in12); endmodule 52
53 PÉLDA: 16-BITES ÖSSZEADÓ REALIZÁLÁSA module Add_rca_4 (sum, c_out, a, b, c_in); output [3: 0] sum; output c_out; input [3: 0] a, b; input c_in; wire c_in2, c_in3, c_in4; Add_full M1 (sum[0], c_in2, a[0], b[0], c_in); Add_full M2 (sum[1], c_in3, a[1], b[1], c_in2); Add_full M3 (sum[2], c_in4, a[2], b[2], c_in3); Add_full M4 (sum[3], c_out, a[3], b[3], c_in4); endmodule 53
54 PÉLDA: 16-BITES ÖSSZEADÓ REALIZÁLÁSA module Add_full(sum, c_out, a, b, c_in); output sum, c_out; input a, b, c_in; wire w1, w2, w3, w4; Add_half M1 (w1, w2, a, b); Add_half M2 (sum, w3, w2, c_in); or (c_out, w2, w3); endmodule module Add_half(sum, c_out, a, b); output sum, c_out; input a, b; wire c_bar; xorf201 M1 (sum, a, b); nanf201 M2 (c_bar, a, b); invf201 M3 (c_out, c_bar); endmodule Megjegyzés: A xxx201 típusú elemek könyvtári modulok, nem primitívek 54
55 HIERARCHIKUS TERVEZÉS A BEÁGYAZOTT MODULOKRA VONATKOZÓ HIVATKOZÁSOK FORMÁLJÁK A TERVEK TERMÉSZETES HIERARCHIÁJÁT Add_full M1 M2 Add_half Add_half invf101 nanf201 xor nand not xor nand not 55
56 EGYSZERŰ RTL ALTERNATÍVA module add_rtl_16 (sum, c_out, a, b, c_in); input [15:0] a, b; input c_in; output [15:0] sum output c_out; a b add_rtl c_in assign {c_out, sum} = a + b + c_in; endmodule c_out 16 sum 56
57 MODUL PORTOK ÖSSZEKAPCSOLÁSAI KAPCSOLAT AZ AZONOSÍTÓK POZÍCIÓJA SZERINT module parent_mod; wire [4:0] g; child_mod G1 (g[3], g[1], g[0], g[2]); // A felsorolás sorrendje fontos endmodule module child_mod (sig_a, sig_b, sig_c, sig_d); input sig_a, sig_b; output sig_c, sig_d; // A modul funkció leírása endmodule g[3] g[1] g[0] g[2] sig_a sig_b sig_c sig_d child_mod aktuális formális 57
58 MODUL PORTOK ÖSSZEKAPCSOLÁSAI KAPCSOLAT NÉV SZERINTI EGYMÁSHOZ RENDELÉSSEL module parent_mod; wire [4:0] g; // A felsorolás sorrendje tetszőleges child_mod G1 ( endmodule.sig_c(g[3]),.sig_d(g[2]),.sig_b(g[0]),.sig_a(g[1])); module child_mod (sig_a, sig_b, sig_c, sig_d); input sig_a, sig_b; output sig_c, sig_d; // modul funkció leírása endmodule g[1] g[0] g[3] g[2] sig_a sig_b sig_c sig_d child_mod actuális formális 58
59 MODUL PORTOK ÖSSZEKAPCSOLÁSAI KAPCSOLAT NÉV SZERINT Átrendezve a könnyebb olvashatóság miatt module parent_mod; wire [4:0] g; // Felsorolás sorrendje tetszőleges child_mod G1 ( endmodule.sig_a(g[1]),.sig_b(g[0]),.sig_c(g[3]),.sig_d(g[2])); module child_mod (sig_a, sig_b, sig_c, sig_d); input sig_a, sig_b; output sig_c, sig_d; // modul funkció leírása endmodule g[1] g[0] g[3] g[2] actuális sig_a sig_b sig_c sig_d child_mod formális 59
60 MODUL PORTOK ÖSSZEKAPCSOLÁSAI SZABÁLY: CSAK 'wire' vagy 'reg' TÍPUS KAPCSOLHATÓ MODUL PORTRA, 'real' TÍPUSÚ VÁLTOZÓ NEM MEGOLDÁSI PÉLDA driver receiver net_r 64 module driver (net_r); output [64:1]net_r; real r; wire [64:1] net_r = $realtobits(r); // A kód, ami r értékét meghatározza endmodule; module receiver (net_r); input [64:1] net_r; real r; wire [64:1] net_r; initial r = $bitstoreal(net_r); endmodule 60
61 A HIERARCHIKUS DEKOMPOZÍCIÓ ÉS KÜLÖNBÖZŐ SZÍNTŰ ABSZTRAKCIÓK BÁRMELY FORMÁJÚ LEÍRÁS HASZNÁLHATÓ AKÁR EGYETLEN MODULON BELÜL IS module top_of_design mod_a mod_b mod_c module mod_a(); // strukturális nand();... endmodule module mod_b(); // viselkedési //algoritmikus... always... endmodule module mod_c(); // adat folyam assign X =... endmodule 61
62 PÉLDA: KÜLÖNBÖZŐ SZÍNTŰ ABSZTRAKCIÓK mixed_levels clk data_in enable data q_out module mixed_levels(data_in, enable, clk, q_out); input data_in, enable, clk; output q_out; reg q_out; wire data, enable, clk; (posedge clk) // eseményvezérlő utasítás q_out = data; // szekvenciális értékadás nand(data, data_in, enable); // strukturális: primitív hivatkozás //UTASÍTÁS SORREND KÖZÖMBÖS! endmodule 62
63 MODELLEZÉS VERILOG NYELVI TÁMOGATÁS: STRUKTURÁLIS MODELLEK Primitív kapuk Összekötések Modul hivatkozások VISELKEDÉSI MODELLEK Folytonos értékadás/kijelölés utasítás (Implicit kombinációs logika) Műveleti utasítások /Algoritmusok 63
64 MODELLEZÉS ÉS SZIMULÁCIÓ 64
65 SZIMULÁCIÓS MÓDSZEREK module Design_Unit_Test_Bench Gerjesztőjel Generátor module Unit_Under_Test Válaszjel Megfigyelés A SZIMULÁCIÓHOZ EGY ÖNÁLLÓ, LEGFELSŐ SZÍNTŰ VERILOG MODULT ÉPÍTÜNK FEL, AMI A TERV TESZTKÖRNYEZETÉT FOGLALJA MAGÁBA "DESIGN UNIT TEST BENCH" (DUTB). EZZEL ELLENŐRIZZÜK A VERILOG NYELVEN REALIZÁLT "UNIT UNDER TEST" (UUT) MODULT. 65
66 Nand_Latch TESZTELÉSI KÖRNYEZETE module Nand_Latch (q, qbar, preset, clear); input preset, clear; output q, qbar; preset 1 q nand #1 (q, preset, qbar); // egységnyi késleltetés nand #1 (qbar, clear, q); // azonosítók nincsenek endmodule clear 1 qbar module test_nand_latch_1 Műveleti kód, ami a preset és clear jeleket generálja preset clear Nand_Latch_1 q qbar 66
67 Nand_Latch TESZTELÉSI KÖRNYEZETE module test_nand_latch_1; // Beágyazó tesztelési környezet (DUTB) reg preset, clear; // forrásjelek regiszter típusok wire q, qbar; // kimeneti jelek huzal típusok Nand_Latch M1 (q, qbar, preset, clear); // Hivatkozás a tesztelt modulra (UUT) initial begin // Vezérlőjelek generálása a UUT számára $monitor($time,, "preset = %b clear = %b q = %b qbar = %b", preset,clear,q,qbar); #10 preset = 0; clear = 1; #10 preset = 1; $stop; //. parancs a folytatáshoz #10 clear = 0; #10 clear = 1; #10 preset = 0; #10 $finish; end endmodule 67
68 A VÁRT EREDMÉNY preset 1 0 clear 1 0 q1 0 qbar t sim preset clear G1 1 1 G2 q qbar
69 A SZIMULÁCIÓ EREDMÉNYE 0 preset = x clear = x q = x qbar = x 10 preset = 0 clear = 1 q = x qbar = x 11 preset = 0 clear = 1 q = 1 qbar = x 12 preset = 0 clear = 1 q = 1 qbar = 0 20 preset = 1 clear = 1 q = 1 qbar = 0 30 preset = 1 clear = 0 q = 1 qbar = 0 31 preset = 1 clear = 0 q = 1 qbar = 1 32 preset = 1 clear = 0 q = 0 qbar = 1 40 preset = 1 clear = 1 q = 0 qbar = 1 Megjegyzés: Az eredmények az egységnyi késleltetésű (#1) modellekre vonatkoznak 69
70 A MODELL ELLENŐRZÉSE preset q clear qbar 1/0 0/0 0/1 -/0 -/1 1/- -/- 0/1 0/- 1/1 1/1 0/0 1/0 A HDL MODELLEK MEGBÍZHATÓ ELLENŐRZÉSE A TESZTKÖRNYEZET (DUTB) GONDOS, SZISZTEMATIKUS REQUIRES ELŐKÉSZÍTÉSÉT CAREFUL ÉS HASZNÁLATÁT SYSTEMATIC DEVELOPMENT IGÉNYLI Az állapotokra: 1/0 jelöli a q = 1 és qbar = 0; az élekre: 1/- jelöli a preset =1, clear = don t care értékeket. 70
71 ESEMÉNY-VEZÉRELT SZIMULÁCIÓ A TERVEK ELLENŐRZÉSE ÁLTALÁBAN DIGITÁLIS SZIMULÁCIÓ SEGÍTSÉGÉVEL TÖRTÉNIK. ANALÓG SZIMULÁCIÓ (SPICE) - NAGY MEMÓRIA IGÉNY DIGITÁLIS SZIMULÁCIÓ - NAGY CPU IDŐ IGÉNY CIKLUS ALAPÚ SZIMULÁCIÓ - GYORS, GONDOS TERVEZÉS 71
72 NULLA-KÉSLELTETÉSŰ SZIMULÁCIÓ A B C D A B C D t sim A = x B = x C = x D = x A = 1 B = 0 B = 1 A = 0 B = 0 C = 0 C = 1 C = 0 D = 1 D = 0 D = 1 72
73 NEM NULLA-KÉSLELTETÉSŰ SZIMULÁCIÓ A B C 3 2 D A B C D A terjedési idő késleltetések befolyásolják az események ütemezését az időtengelyen, ezáltal az ok-okozat összefüggés alapján ugyanabban az időlépésben időbeli sorrendiséget eredményeznek. t sim A = x B = x C = x D = x A = 1 B = 0 C = 0 B = 1 C = 1 A = 0 C = 0 B = 0 D = 1 D = 0 D = 1 73
74 INERCIÁLIS KÉSLELTETÉS - ESEMÉNY TÖRLÉS A B C 3 2 D A B C D t sim t sim =33 t sim =35 0 A = x B = x C = x D = x 10 A = 1 B = 0 C = 10 0 D = B = 1 C = 1 D = 0 32 A = 0 Előkészített Esemény 74
75 ALAPVETŐ SZIMULÁCIÓS PARANCSOK SZIMULÁCIÓS AKTIVITÁS MEGFIGYELÉSE ($MONITOR) EREDMÉNYEK MEGJELENÍTÉSE ($DISPLAY) SZIMULÁCIÓS SZÁMÍTÁSOK MEGFIGYELÉSE ($STROBE) IDŐ FIGYELÉS (WATCH TIME) SZIMULÁCIÓ MEGÁLLÍTÁSA ($stop) SZIMULÁCIÓ BEFEJEZÉSE ($finish) SZIMULÁCIÓ ABBAHAGYÁSA (ctrl \) SZIMULÁCIÓ FOLYTATÁSA (.) 75
76 SZIMULÁCIÓS EREDMÉNYEK MEGJELENÍTÉSE CÉL: ADOTT IDŐPONTOKBAN A KIVÁLASZTOTT JELÉRTÉKEK ELLENŐRZÉSE $display(p1,p2,...,pn); // A szimuláció végrehajtása során a // kiválasztott jelek értékét mutatja // Új sor karaktert küld ki a nyomtatás végén $write(p1,p2,...,pn); // Ugyanaz mint $display újsor nélkül TIPIKUS FORMÁTUM $display("jelnevek felsorolása C szerű formátum specifikációval, pl. %b ", jelnév_lista ); Megjegyzés: a rendszer funkciók az eseményvezérelt műveleti blokkokban hívhatók 76
77 SZIMULÁCIÓS EREDMÉNYEK MEGJELENÍTÉSE PÉLDÁK $display($time, "SZIMULÁCIÓS EREDMÉNYEK JANUÁR 18"); $display($time, "q_out = %b, q_bar_out = %b, reset = %b, data_in = %b, clk = %b, q, qb, rst, data, clk); MEGJEGYZÉSEK EZEK A FUNKCIÓK CSAK ELJÁRÁSOKON BELÜL HAJTÓDNAK VÉGRE. A $display UTASÍTÁSOK SZÁMA NEM KORLÁTOZOTT. A FORMÁTUM SPECIFIKÁCIÓ KIS ÉS NAGYBETŰT IS ELFOGAD TOVÁBBI RÉSZLETEK A NYELVI LEÍRÁSBAN A \ KARAKTER HASZNÁLHATÓ A SOR FOLYTATÁSÁRA 77
78 A SZIMULÁCIÓ MEGFIGYELÉSE CÉL: KIVÁLASZTOTT JELEK FOLYAMATOS MEGFIGYELÉSE A SZIMULÁCIÓ ALATT, TOVÁBBÁ MINDEN VÁLTOZÁS JELZÉSE ÉS NAPLÓZÁSA. $monitor(p1,p2,...,pn); // ahol p1, p2... jelnév paraméterek $monitoron // bekapcsolja az előzőleg kikapcsolt // $monitor állapotfigyelést $monitoroff // kikapcsolja a $monitor állapotfigyelést MEGJEGYZÉS $monitor AZ AKTUÁLIS SZIMULÁCIÓS IDŐ VÉGÉN NYOMTAT, TEHÁT AKKOR, AMIKOR MÁR MINDEN JELAKTIVITÁS BEFEJEZŐDÖTT. EGYIDŐBEN MINDIG CSAK EGY $monitor() LISTA LEHET AKTÍV. A KIJELZÉST A PARAMÉTERLISTA BÁRMELY AKTIVITÁSA ELINDÍTJA A $time IDŐ VÁLTOZÓBAN TÖRTÉNŐ AKTIVITÁS NEM OKOZ KIJELZÉST 78
79 STROBED DISPLAY CÉL: INFORMÁCIÓK KIJELZÉSE KÖZVETLENÜL A KÖVETKEZŐ SZIMULÁCIÓS CIKLUS MEGKEZDÉSE ELŐTT. $strobe("tetszőleges szöveg és formátum specifikáció", parameter_lista); PÉLDA (negedge clock) $strobe ("At time %d, data_value is %h, $time, data_value); MEGJEGYZÉS $strobe feltételezi, hogy minden aktivitás lezajlott, mielőtt nyomtatni kezd. A $strobe használható, mint elővigyázatos jelzés a nem helyesen terminálódó szimulációk ill. megfigyelések esetén 79
80 AZ IDŐ VÁLTOZÓ CÉL: A RENDSZERIDŐ HOZZÁFÉRÉS BIZTOSÍTÁSA $time ÉRDEMES A $time IDŐVÁLTOZÓT A NYOMTATÁSKOR A KIMENETI LISTÁBA FELVENNI, A KÖNNYEBB KIÉRTÉKELHETŐSÉG ÉRDEKÉBEN 80
81 A SZIMULÁCIÓ MEGÁLLÍTÁSA CÉL: A SZIMULÁCIÓ VÉGREHAJTÁSÁNAK ÁTMENETI FELFÜGGESZTÉSE $stop; $stop(0); $stop(1); $stop(2); // ugyanaz mint $stop(1). // megállás nyomtatás nélkül // megállás a szimulációs idő // és a hely megadásával // megállás a szimulációs idő, // a hely és a statisztika megadásával AZ ÁTMENETILEG FELFÜGGESZTETT SZIMULÁCIÓ FOLYTATHATÓ A. PARANCS KIADÁSÁVAL 81
82 A SZIMULÁCIÓ BEFEJEZÉSE CÉL: A SZIMULÁCIÓ BEFEJEZÉSE ÉS VISSZATÉRÉS AZ OPERÁCIÓS RENDSZERHEZ $finish; $finish(0); $finish(1); $finish(2); // ugyanaz mint $finish(1). // nyomtatás nélkül befejezi a szimulációt és // visszatér az operációs rendszerhez // befejezi a szimulációt, // kinyomtatja a szimulációs időt, a helyet és // visszatér az operációs rendszerhez // befejezi a szimulációt, // kinyomtatja a szimulációs időt, a helyet, // statisztikát ad a szimulációról és // visszatér az operációs rendszerhez 82
83 A SZIMULÁCIÓ LEÁLLÍTÁSA CÉL: A SZIMULÁCIÓS PROGRAM LEÁLLÍTÁSA; VISSZATÉRÉS AZ OPERÁCIÓS RENDSZERHEZ A SZIMULÁCIÓ A Ctrl \ BILLENTYŰKKEL ÁLLÍTHATÓ LE. 83
84 ÖSSZEFOGLALÁS - 1. Rész AZ ELSŐ RÉSZBEN ÁTTEKINTETTÜK A VERILOG LEHETŐSÉGEIT A STRUKTURÁLIS MODELLEZÉS VISELKEDÉSI MODELLEZÉS KEVERT SZINTŰ ABSZTRAKCIÓ HIERARCHIKUS DEKOMPOZÍCIÓ STRUKTURÁLT TERVEZÉSI MÓDSZEREK SZIMULÁCIÓ ÉS ELLENŐRZÉS SZEMPONTJÁBÓL 84
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é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é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é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é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é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é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észletesebben8.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é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é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é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é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é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é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é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é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é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 (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é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é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észletesebbenDigitá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észletesebbenDigitá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é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é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 Department of Electrical and Computer Engineering University of Colorado Colorado Springs, Colorado Copyright 1997 No part
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észletesebbenÖsszetett feladatok megoldása
Összetett feladatok megoldása F1. A laboratóriumi feladat a legnagyobb közös osztó kiszámító algoritmusának realizálása digitális hardver eszközökkel. Az Euklideszi algoritmus alapja a maradékos osztás,
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é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 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 Department of Electrical and Computer Engineering University of Colorado Colorado Springs, Colorado Copyright 1997 No part
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é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é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észletesebbenVIII. BERENDEZÉSORIENTÁLT DIGITÁLIS INTEGRÁLT ÁRAMKÖRÖK (ASIC)
VIII. BERENDEZÉSORIENTÁLT DIGITÁLIS INTEGRÁLT ÁRAMKÖRÖK (ASIC) 1 A korszerű digitális tervezés itt ismertetendő (harmadik) irányára az a jellemző, hogy az adott alkalmazásra céleszközt (ASIC - application
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 Department of Electrical and Computer Engineering University of Colorado Colorado Springs, Colorado Copyright 1997 No part
RészletesebbenVerilog HDL ismertető 4. hét : 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ő 4. hét : 1.-3. hét + 41 61 dia Fehér Béla, Raikovich
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észletesebbenProgramozá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észletesebbenDIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István
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észletesebbenDigitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció
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 rszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció
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é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é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é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észletesebbenSzimuláció és verifikáció. Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció. Kétfajta szimulációs módszer
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 rszerek tervezése FPGA áramkörökkel Fehér Béla Szántó Péter,
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észletesebbenDigitális eszközök típusai
Digitális eszközök típusai A digitális eszközök típusai Digitális rendszer fogalma Több minden lehet digitális rendszer Jelen esetben digitális integrált áramköröket értünk a digitális rendszerek alatt
RészletesebbenVerilog HDL ismertető
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ő 1. hét: 1 14 diák 2. hét: 15 25 diák 3. hét: 26
RészletesebbenDigitális technika Xilinx ISE GUI használata
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika Xilinx ISE GUI használata BME MIT Fehér Béla Raikovich
RészletesebbenÁramkörök elmélete és számítása Elektromos és biológiai áramkörök. 3. heti gyakorlat anyaga. Összeállította:
Áramkörök elmélete és számítása Elektromos és biológiai áramkörök 3. heti gyakorlat anyaga Összeállította: Kozák László kozla+aram@digitus.itk.ppke.hu Elkészült: 2010. szeptember 30. Utolsó módosítás:
RészletesebbenLaborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Multiplexer (MPX) A multiplexer egy olyan áramkör, amely több bemeneti adat közül a megcímzett bemeneti adatot továbbítja a kimenetére.
Ré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 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 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é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é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észletesebben1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD)
1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD) 1 1.1. AZ INTEGRÁLT ÁRAMKÖRÖK GYÁRTÁSTECHNOLÓGIÁI A digitális berendezések tervezésekor számos technológia szerint gyártott áramkörök közül
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é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é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 feladatgyűjtemény
IGITÁLIS TEHNIK feladatgyűjtemény Írta: r. Sárosi József álint Ádám János Szegedi Tudományegyetem Mérnöki Kar Műszaki Intézet Szerkesztette: r. Sárosi József Lektorálta: r. Gogolák László Szabadkai Műszaki
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. 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észletesebbenfunkcionális elemek regiszter latch számláló shiftregiszter multiplexer dekóder komparátor összeadó ALU BCD/7szegmenses dekóder stb...
Funkcionális elemek Benesóczky Zoltán 24 A jegyzetet a szerzői jog védi. Azt a BM 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. funkcionális
RészletesebbenLaborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő
Ré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észletesebbenVégh János Bevezetés a Verilog hardver leíró nyelvbe INCK??? előadási segédlet
1 Debreceni Egyetem Informatikai Kara Végh János Bevezetés a Verilog hardver leíró nyelvbe INCK??? előadási segédlet V0.30@14.11.07 Tartalomjegyzék (folyt) 2 Tartalomjegyzék I. Alapfogalmak 1.. A digitális
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észletesebbenMPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka
MPLAB IDE - SIM - - Rövid ismertető a használathoz - 3E22 89/2004 2006. November 14 Szabadka - 2 - Tartalomjegyzék TARTALOMJEGYZÉK 3 SIMULATOR I/O 4 SIMULATOR STIMULUS 4 STIMULUS VEZÉRLŐ (CONTROLLER) 5
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é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észletesebbenDigitális technika (VIMIAA02) Laboratórium 5.5
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 5.5 Fehér Béla Raikovich Tamás,
RészletesebbenDigitális technika VIMIAA02 7. 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 VIMIAA02 7. hét Fehér Béla BME MIT Kombinációs logikák
RészletesebbenDigitális technika VIMIAA02 7. 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 VIMIAA02 7. hét Fehér Béla BME MIT Kombinációs logikák
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é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észletesebbenÖsszeadás BCD számokkal
Összeadás BCD számokkal Ugyanúgy adjuk össze a BCD számokat is, mint a binárisakat, csak - fel kell ismernünk az érvénytelen tetrádokat és - ezeknél korrekciót kell végrehajtani. A, Az érvénytelen tetrádok
RészletesebbenSzántó Péter BME Méréstechnika és Információs Rendszerek Tanszék, FPGA Labor
Verilog ismertető Szántó Péter BME Méréstechnika és Információs Rszerek Tanszék, FPGA Labor 2011-07-20 Tartalomjegyzék 1. Bevezetés... 1 2. Verilog nyelvi elemek... 2 2.1. Modulok definiálása... 2 2.2.
RészletesebbenDigitá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észletesebbenSzámítógéppel segített folyamatmodellezés p. 1/20
Számítógéppel segített folyamatmodellezés Piglerné Lakner Rozália Számítástudomány Alkalmazása Tanszék Pannon Egyetem Számítógéppel segített folyamatmodellezés p. 1/20 Tartalom Modellező rendszerektől
RészletesebbenDigitális technika (VIMIAA01) 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 (VIMIAA01) Laboratórium 2 Fehér Béla Raikovich Tamás,
RészletesebbenFehé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 Digitális rendszerek tervezése FPGA áramkörökkel Verilog RTL kódolás Fehér
RészletesebbenDigitális technika VIMIAA02
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 Fehér Béla BME MIT Sorrendi hálózatok Az eddigiekben
RészletesebbenDigitális technika VIMIAA02
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 Fehér Béla BME MIT Sorrendi hálózatok Az eddigiekben
RészletesebbenNyolcbites 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észletesebben11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON
11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON 1 Számos alkalmazásban elegendő egyszerű, hétszegmenses LED vagy LCD kijelzővel megjeleníteni a bináris formában keletkező tartalmat,
Ré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észletesebbenThe Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003
. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,
RészletesebbenAutóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
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é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é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é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észletesebbenDigitális technika (VIMIAA01) 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 (VIMIAA01) Laboratórium 2 Fehér Béla Raikovich Tamás,
RészletesebbenS 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észletesebbenVéges állapotú gépek (FSM) tervezése
Véges állapotú gépek (FSM) tervezése F1. A 2. gyakorlaton foglalkoztunk a 3-mal vagy 5-tel osztható 4 bites számok felismerésével. Abban a feladatban a bemenet bitpárhuzamosan, azaz egy időben minden adatbit
RészletesebbenLOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens
LOGIKAI TERVEZÉS PROGRAMOZHATÓ ÁRAMKÖRÖKKEL Előadó: Dr. Oniga István Egytemi docens A tárgy weboldala http://irh.inf.unideb.hu/user/onigai/ltpa/logikai_tervezes.htmltervezes.html Adminisztratív információk
Részletesebben