A VERILOG HARDVER LEÍRÓ NYELV ALKALMAZÁSA A LOGIKAI SZINTÉZISBEN
|
|
- Gizella Magyar
- 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 Veriloggal 5. rész: A Verilog szintézis módszereinek ismertetése 2
3 UTASÍTÁSON BELÜLI KÉSLELTETÉS PÉLDA module dff_viselk (data, clk, q, qbar, reset); input data, clk, reset; output q, qbar; reg q; parameter kapcs_ido = 5; parameter kis_ido = 2; assign qbar = # kis_ido ~q; // Eltérés q, qbar között or reset) begin if (reset == 0) q = # kapcs_ido 0; else q = # kapcs_ido data; end endmodule A data bemenet értéke a kapcs_ido kapcsolási idő múlva jeleneik meg a q kimeneten, amit egy kis_ido múlva a qbar kimenet változása is követ. 3
4 UTASÍTÁSON BELÜLI KÉSLELTETÉS preset data q clk qbar clear module D_Flop (preset, clear, q, qbar, clock, data); input preset, clear, clock, data; output q, qbar; reg q; parameter delay = 5; assign qbar = ~q; (negedge clock) q = # delay data; // késleltetett értékadás (clear or preset) begin if (!clear) #1 assign q = 0; //PCA else if (!preset) assign q = 1; else deassign q; end endmodule 4
5 ISMÉTLŐDŐ ESEMÉYEK Az utasításon belüli késleltetés tartalmazhat ismétlődési számot is. PÉLDA reg_a = repeat (negedge clock) reg_b; // reg_b mintavételezett értékét 5 órajel ciklus utáni másolja át reg_a-ba EKVIVALENS MEGOLDÁS begin temp = (negedge (negedge (negedge (negedge (negedge clock); reg_a = temp; end 5
6 ISMÉTLŐDŐ ESEMÉNYEK VEZÉRLÉSE module repeater; reg clock; reg reg_a, reg_b; clock initial clock = 0; reg_a t initial begin #5 reg_a = 1; #10 reg_a = 0; #5 reg_a = 1; #20 reg_a = 0; end always #5 clock = ~ clock; initial #100 $finish; reg_b initial begin #10 reg_b = repeat (posedge clock) reg_a; end endmodule t t 6
7 IDŐZÍTÉSVEZÉRLÉSI MODELLEK A VISELKEDÉSI LEÍRÁSOKBAN ASSIGNMENTS Procedural Assignment (=) Procedural -Continuous (assign) Non-Blocking (<=) Assignment Delay Control FLOW CONTROL Case Branching Loops Parallel Activity (fork... join) Assignment Event Control Intra-Assignment Delay TIMING Wait Named Events Pin-Pin Delay CODE MANAGEMENT Function Calls Task Calls Prog. Lang. Interface (PLI) 7
8 IDŐZÍTÉSI ÉS KÉSLELTETÉSI MODELLEK CÉL: A viselkedési leírás egy-egy aktivitásához késleltetést rendelhet. X_in PROCEDURÁLIS KÉSLELTETÉS Y_out t X_in KI-BEMENETI VISELKEDÉS LEÍRÁSA Y_out t algo t Késleltetés vezérlés (#) (Blokkolja / felfüggeszti a végrehajtást) Eseményvezérlés (@) (Aktivitásokat szinkronizál) Utasításon belüli késleltetés (Késlelteti az értékadást) Wait (a továbblépés feltételei) Nevesített esemény (Szinkronizáció absztrakt eseményekhez) Interfész (I/O) késleltetés modellezése 8
9 A 'wait' UTASÍTÁS CÉL: A SZINTÉRZÉKENY ESEMÉNYVEZÉRLÉS TÁMOGATÁSA SZINTAKTIKA wait (feltétel_kifejezés) utasítás_vagy_üres; HATÁSA: A végrehajtás felfüggesztődik, amíg a 'wait' feltétel_kifejezés értéke 'IGAZ' nem lesz. PÉLDA... begin wait (!enable) #10 a = b; #10 c = d; end... 9
10 PÉLDA A 'wait' HASZNÁLATÁRA - HANDSHAKE module server (data_out, server_ready, client_ready); output [15:0] data_out; output server_ready; input client_ready; reg server_ready; reg [15:0] data_out; SERVER data_out server_ready client_ready 16 CLIENT data_in server_ready client_ready várakozás client_ready-re server_ready és várakozás!client_ready-re várakozás client_ready-re client_ready!client_ready client_ready 10
11 PÉLDA 'wait' HASZNÁLATÁRA - HANDSHAKE always // SZERVER OLDAL begin server_ready = 0; // kezdeti feltétel beállítása forever begin wait (client_ready) // várakozás a kliens kérésére data_out = $random; // kimeneti adat frissítése server_ready = 1; // szerver kész az adat küldésre wait (!client_ready) // átvitel kész server_ready = 0; end end endmodule 11
12 PÉLDA 'wait' HASZNÁLATÁRA - HANDSHAKE module client (data_in, server_ready, client_ready); input [15:0] data_in; input server_ready; output client_ready; reg client_ready; reg [15:0] data_reg; SERVER data_out server_ready client_ready 16 CLIENT data_in server_ready client_ready várakozás client_ready-re server_ready és várakozás!client_ready-re várakozás client_ready-re client_ready!client_ready client_ready 12
13 PÉLDA 'wait' HASZNÁLATÁRA - HANDSHAKE always // KLIENS OLDAL begin client_ready = 1; // kliens kész jelzés forever begin wait (server_ready) // várakozás a szerver válaszára data_reg = data_in; // adat átvétele client_ready = 0; // jelzés visszavétele // adat feldolgozása wait (!server_ready) // várakozás a szerverre client_ready = 1; // kész válasz a szervernek end end endmodule 13
14 HANDSHAKE SZIMULÁCIÓ module top_module(); // Random client/server wire [3:0] data_out, data_in; wire server_ready, client_ready; server M1 (data_out, server_ready, client_ready); client M2 (data_out, server_ready, client_ready); initial begin #300 $finish; end endmodule module server(data_out, server_ready, client_ready); output [3:0] data_out; output server_ready; input client_ready; reg server_ready; reg [3:0] data_out; reg [3:0] timer; always begin # 15 server_ready = 0; forever begin wait (client_ready) timer = $random; # timer data_out = $random; #5 server_ready = 1; wait (!client_ready) #3 server_ready = 0; end end endmodule module client(data_in, server_ready, client_ready); input [3:0] data_in; input server_ready; output client_ready; reg client_ready; reg [3:0] data_reg; reg [3:0] timer; always begin #30 client_ready = 1; forever begin wait (server_ready) #2 data_reg = data_in; timer = $random; # timer client_ready = 0; wait (!server_ready) #30 client_ready = 1; end end endmodule 14
15 KOMMUNIKÁCIÓ ELJÁRÁSOK KÖZÖTT (INTER-PROCESS COMMUNICATION, IPC) A Verilog nyelv két módszert kínál a konkurrens folyamatok (viselkedési leírások) szinkronizációjára: Élérzékeny eseményvezérlő kifejezés Nevesített esemény. A nevesített események olyan szinkronizációt biztosítanak, amely akár hierarchikus szintek között is, modulportokat nem igényelve használható. 15
16 NEVESÍTETT ESEMÉNYEK CÉL: ELJÁRÁSOK KÖZTI KOMMUNIKÁCIÓ BIZTOSÍTÁSA. JELLEMZŐK: NINCS MEGVALÓSÍTÁSHOZ KÖTVE, MINT PL. wire OR reg. ABSZTRAKT MECHANIZMUS A KOMMUNIKÁCIÓRA / SZINKRONIZÁCIÓRA TÁMOGATJA A MAGAS SZINTŰ VISELKEDÉSI MODELLEZÉST SPECIÁLIS TULAJDONSÁG: AZ IPC PORTOK NÉLKÜL VALÓSÍT MEG MODULOK KÖZÖTTI KOMMUNIKÁCIÓT 16
17 NEVESÍTETT ESEMÉNYEK DEKLARÁCIÓ: event esemény_neve; HASZNÁLAT: -> esemény_neve; MEGJEGYZÉSEK: A nevesített eseményeket a használat előtt deklarálni kell. Nincs szükség hardver elemekre az esemény tárolásához (reg) vagy az átviteléhez (wire). A nevesített esemény szerkezet sokkal absztraktabb, mint az egyszerű eseményvezérlő kifejezés. A VHDL-ben nincs hasonló szerkezet. Nem szükséges semmi speciális művelet a mechanizmus használatához. 17
18 PÉLDA NEVESÍTETT ESENÉNY HASZNÁLATÁRA clock up_edge_of_clock q_out data module named_event1(q_out, clock, data); input clock, data; output q_out; reg q_out; event up_edge_of_clock; clock) -> up_edge_of_clock; q_out = data; endmodule 18
19 PÉLDA NEVESÍTETT ESEMÉNY HASZNÁLATÁRA clock M1 do_it M2 q_out module Top (clock, data, q_out); input clock, data; output q_out; Talker M1 (clock); Receiver M2 (q_out, data); endmodule module Talker (clock); input clock; event do_it; clock) -> do_it; endmodule data module Receiver (q_out, data); input data; output q_out; reg q_out; q_out = data; endmodule 19
20 KÉSLELTETÉSI MODELLEK - MODULOK BE-/KIMENETI KÉSLELTETÉSE CÉL: A teljes modul késleltetés modellezése egyszerű be/kimeneti időadatokkal. X_in MODUL BE/KIMENETI KÉSLELTETÉS Y_out t X_in VERILOG MODUL Y_out t mod t Különböző ütemezések lehetségesek Interfész alapú viselkedési model A késleltetést szétválasztja a belső funkcionalitástól MEGJEGYZÉS: CSAK A MODULOKNAK LEHET BE/KIMENETI KÉSLELTETÉSE 20
21 MODULOK BE-/KIMENETI KÉSLELTETÉSE preset clear 5ns 5ns data clock flop_qca q 8ns A be/kimeneti késleltetési modell megengedi a tervezőnek a időzítés specifikáció elválasztását a modul belső funcionalitásának definiálásától. 21
22 MODUL KÉSLELTETÉSI JELUTAK A be/kimeneti utaknak két típusa lehetséges: párhuzamos vagy teljes. => *> Párhuzamos be/kimeneti késl. Teljes be/kimeneti késleltetés A párhuzamos kapcsolat skalárokat vagy azonos méretű vektorokat igényel. A teljes kapcsolat vektort skalárral, vektorokat eltérő vagy azonos méretű vektorokkal, többszörös jelforrásokat többszörös jelvégpontokkal társít össze. 22
23 JELUTAK MEGADÁSÁNAK SZABÁLYAI SZABÁLYOK A modul jelút végpont csak modulon belüli meghajtó kimenete lehet. A => operator párhuzamos kapcsolatot specifikál a megfelelő be- és kimeneti bitek között. A *> operator teljes kapcsolatot specifikál minden bemenet és minden kimenet között. A modul jelút forrása csak deklarált input vagy inout lehet. A modul jelút végpontja csak deklarált output vagy inout lehet. 23
24 PÉLDA MODUL JELÚT KÉSLELTETÉSRE module mod_path_ff (clock,data,clear,preset,q_out,q_outbar); input clock, data, clear, preset; output q_out, q_outbar; reg q; wire q_outbar = ~ q_out; buf (q_out, q); // Szükséges meghajtó (clear or preset) begin if (!clear) assign q = 0; // PCA else if (!preset) assign q = 1; else deassign q; end clock) q = data; data clk y preset clear q_out q_outbar specify specparam t_rise_clk_q = 90, t_fall_clk_q = 110, t_rise_ctl_q = 40, t_fall_ctl_q = 50; // be-/kimeneti jelút időzítés specifikáció (clock => q_out) = (t_rise_clk_q, t_fall_clk_q); (clear, preset *> q_out) = t_rise_ctl_q, t_fall_ctl_q); endspecify endmodule 24
25 PÉLDA: NAND KAPU KÉSLELTETÉSI MODELLJE Az ASIC technológiai könyvtárak gyakran két részletben modelleznek: primitívekkel írják le a fuknkciót és ún. "specify" blokkal a be-/kimeneti késleltetéseket. module nanf201 (O, A1, B1); // 1.2 mikronos CMOS cella output O; input A1, B1; nand(o, A1, B1); // primitív kapu használata specify // optionális modul jelút időyítések specparam Tpd_0_1 = 0.052:0.097:0.289, Tpd_1_0 = 0.061:0.129:0.330; (A1, B1 => O) = (Tpd_0_1, Tpd_1_0); endspecify endmodule 25
26 ÖSSZEFOGLALÓ A KÉSLELTETÉS SPECIFIKÁCIÓS SZERKEZETEKRŐL KOMBINÁCIÓS LOGIKA KÉSLELTETÉS TÍPUSA Primitív kapu késleltetése Tehetelenségi(min:typ:max, rising, falling, turn-off) assign értékadás Tehetelenségi(min:typ:max, rising, falling, turn-off) Huzal deklaráció Transzport késleltetés Huzal assign értékadás Tehetetlenségi(min:typ:max, rising, falling) SZEKVENCIÁLIS LOGIKA Késleltetés vezérlás # blokkoló_utasítás Esemény Utasításon belüli késleltetés # (esemény_kifejezés) repeat ( (esemény_kifejezés) Be/kimeneti késleltetés Specifikációs blokk 26
27 IDŐZÍTÉS ELLENŐRZÉS Verilog nyelv a szimuláció során szükséges minden időzítés ellenőrzési feladatra beépített rendszer taszkokat biztosít. TASZK $setup $hold $setuphold $period $width $skew $recovery FUNKCIÓ Figyelmeztet, ha a jel a referenciajel aktív éle előtti specifikált intervallumban változik. Figyelmeztet, ha a jel a referenciajel aktív éle utáni specifikált Intervallumban változik. Együttesen ellenőrzi mindkét fenti feltételt. Figyelmeztet, ha a jel periódusideje rövidebb a specifikáltnál. Figyelmeztet, ha a pulzus szélesség keskenyebb a specifikáltnál. Figyelmeztet, ha két jel elcsúszása meghaladja a specifikált értéket. Figyelmeztet, ha a jel feléledési ideje meghaladja a specifikált értéket. 27
28 BEÁLLÁSI IDŐ (SETUP TIME) $setup (adat_esemény, referencia_esemény, határérték, jelzés); PÉLDA sys_clk sig_a 5 slack sig_a A beállási idő veszélyeztetése akkor fordul elő, amikor az adat_esemény a referencia_ eseményhez képest a megadott határértéknek megfelelő időintervallumon belül fordul elő. A gyakorlatban az adatnak stabilnak kell lennie, a regiszterek (flipflop-ok) órajelének aktív éle előtt. sig_b t setup $setup (sig_a, posedge sys_clk, 5) sig_a teljesíti a beállási idő korlátozást. sig_b nem teljesíti a beállási idő korlátozást. A szintézis eszközök a kombinációs jel utak késleltetésének minimalizálásával igyekeznek megfelelő tartalék időt (slack) biztosítani a kritikus jelútban is. Az időzítés ellenőrzéseket általában a specify endspecifiy blokk tartalmazza a modulban. A szimulátorok automatikusan figyelik a jelalakok megfelelősségét. 28
29 TARTÁSI IDŐ (HOLD TIME) $hold (adat_esemény, referencia_esemény, határérték, jelzés); PÉLDA sys_clk sig_a 2 t hold A tartási idő veszélyeztetése akkor fordul elő, amikor az adat_esemény a referencia_ eseményhez képest a megadott határértéknél rövidebb idő alatt fordul elő. A gyakorlatban az adatnak stabilnak kell maradnia az órajel aktív éle után, hogy a flip-flop-on belüli tranziens folyamatok megbízhatóan befejeződjenek. sig_b A szintézis eszközök a rövid kombinációs jel utakat megnyújtják, az időzítési adatok teljesítése érdekében. $hold (sig_a, posedge sys_clk, 5) sig_a nem teljesíti a tartási idő korlátozást. sig_b teljesíti a tartási idő korlátozást. Az opcionális jelzés regiszter használható az időzítésbeli problémák kezelésére a modellben, pl. x érték továbbadására. (Lásd Verilog Language Reference Manual) 29
30 BEÁLLÁSI ÉS TARTÁSI IDŐK (SETUP AND HOLD TIMES) $setuphold (adat_esemény, referencia_esemény, setup_limit, hold_limit, jelzés); PÉLDA sys_clk setup_limit hold_limit posedge jelentése: 01, 0x, x1 átmenetek sig_a sig_b $setuphold (sig_a, posedge sys_clk, 5,3) sig_a teljesíti mindkét korlátozást. negedge jelentése: 10, x0, 1x átmenetek Az élváltásoknál nincs különbség a 'z' érték és az 'x' érték kezelése között. A Verilog támogatja az egyedi él specifikációkat is, pl.: edge [01] sig_b nem teljesíti valamelyik korlátázást. 30
31 MINIMÁLIS PULZUS SZÉLESÉG (PULSE WIDTH) PÉLDA $width (referencia_esemény, határérték jelzés); t MPW A $width taszk ellenőrzi a minimális pulzus szélességet az élvezérelt eszközök modelljeinél. clock_a clock_b clock_a teljesíti a pulzus szélesség korlátot. $width (posedge clock_a, 20); Az élvezérelt eszköz órajel pulzusának egy minimális időtartamot meg kell haladnia, a belső tranziens folyamatok teljes befejeződése érdelében. Az órajel terjesztési fák tervezése fokozott gondosságot igényel. clock_b nem teljesíti a pulzus szél. korlátot. 31
32 PERIÓDUSIDŐ $period (referencia_esemény, határérték, jelzés); PÉLDA clock_a t period A $period taszk ellenőrzi a kiválasztott jel két referencia eseményének alapján a periódusidőt. t limit $period (posedge clock_a, 25); clock_a teljesíti a periódusidő korlátot. 32
33 ELCSÚSZÁS (SKEW) $skew (referencia_esemény, adat_esmény, határérék, jelzés); PÉLDA clk1 clk2 t skew A $skew taszk ellenőrzi az időelcsúszást, (időeltérést) a két jel referencia élei között és jelzi, ha ez kisebb a megadott határértéknél Az órajel elcsúszás minimalizálásának fontos szerepe van a rendszer teljesítő képességének növelésében. $skew(posedge clk1, negedge clk2, 3); 33
34 FELÉLEDÉSI IDŐ (RECOVERY TIME) $recovery (referencia_esemény, adat_esmény, határérék, jelzés); PÉLDA set clock_a t rec A $recovery taszk ellenőrzi, hogy egy szinkron viselkedési leírással adott modell a reset vagy set vezérlőjel deaktiválása után a megadott időn belül működésre kész-e. clock_a teljesíti a feléledési idő által a periódusidejére adott korlátot. A feléledési idő korlát specifikálja, hogy a vezérlőjel megszűnése után mennyi időn belül kell megjönnie az első órajel felfutó élnek. $recovery (negedge set, posedge clock,3); Tipikus alkalmazás a buszjelek bekapcsolási időzítésének ellenőrzése. 34
35 FELTÉTELES ESEMÉNYEK (CONDITIONED EVENTS) A feltételes események összekapcsolják az időzítés ellenőrzést egy feltételes jellel. PÉLDA $setup (data, posedge clock &&& (~reset), 10); MEGJEGYZÉS: A reset jel aktív értéke esetén a &&& speciális operátor segítségével a szükségtelen időzítési jelzéseket letiltjuk. 35
36 PÉLDA IDŐZÍTÉSADATOK HASZNÁLATÁRA FLIP-FLOP MODELLEZÉSÉNÉL `timescale 1ns / 1ps `celldefine module dfnf311 (Q, Q_b, DATA1, CLK2); // Negative edge-triggered flip-flop with Q and QB input DATA1, CLK2; output Q, Q_b; reg notify; parameter vlib_flat_module = 1 ; U_FD_N_NO inst1 (Q_int, DATA1, CLK2, notify); // user-defined primitive buf inst2 (Q, Q_int); not inst3 (Q_b, Q_int); 36
37 specify // Module paths specparam Area_Cost = ; (negedge CLK2 => (Q +: DATA1)) = (0.525:1.129:2.889, 0.749:1.525:3.948); specparam RiseScale$CLK2$Q = : : ; specparam FallScale$CLK2$Q = : : ; (negedge CLK2 => (Q_b -: DATA1)) = (0.590:1.243:3.207, 0.425:0.914:2.616); specparam RiseScale$CLK2$Q_b = : : ; specparam FallScale$CLK2$Q_b = : : ; specparam inputcap$clk2 = 40.18, InputCap$DATA1 = 24.11; specparam InputLoad$CLK2 = 0.009:0.021:0.053, InputLoad$DATA1 = 0.005:0.013:0.032; specparam t_setup$data1 = 0.76:0.92:1.68, t_hold$data1 = 0.44:0.74:0.46, t_pw_h$clk2 = 0.37:0.67:1.99, t_pw_l$clk2 = 0.37:0.67:1.99; 37
38 // Timing checks $setuphold(negedge CLK2, DATA1, t_setup$data1, t_hold$data1, notify); $width (posedge CLK2, t_pw_h$clk2, 0, notify); $width (negedge CLK2, t_pw_l$clk2, 0, notify); `ifdef not_cadence specparam MaxLoad = `MAX_LOAD_1X; `endif endspecify endmodule `endcelldefine 38
39 primitive U_FD_N_NO (Q, D, CP, NOTIFIER_REG); output Q; input NOTIFIER_REG, D, CP; reg Q; // FUNCTION : NEGATIVE EDGE TRIGGERED D FLIP-FLOP ( Q OUTPUT UDP ). table // D CP NOTIFIER_REG : Qt : Qt+1 1 (10)? :? : 1; // clocked data 0 (10)? :? : 0; 1 (1x)? : 1 : 1; // reducing pessimism 0 (1x)? : 0 : 0; 1 (x0)? : 1 : 1; 0 (x0)? : 0 : 0;? (0x)? :? : -; // no change on rising edge? (?1)? :? : -; *?? :? : -; // ignore edges on data?? * :? : x; // all transitions endtable endprimitive 39
40 A SZIMULÁCIÓS IDŐ SKÁLÁZÁSA `timescale <idő_egység> / <idő_felbontás> A `timescale direktíva specifikálja a fizikai időegységet és azt a felbontást amit a Verilog forrásnyelvi modulban használni akarunk. s seconds ms milliseconds us microseconds ns nanoseconds ps picoseconds fs femtoseconds `timescale 10 ns / 1 ns module parameter delay = 1.76; endmodule A delay értéke 18 ns lesz a kerekítés miatt. A numerikus értékek az idő_egység többszöröseként értelmezettek A felbontásnak megfelelő értékre kerekít a rendszer. A szimuláció során az eltérő időegységet használó modulok keverhetők. 40
41 KÓD SZERVEZÉS ASSIGNMENTS Procedural Assignment (=) Procedural -Continuous (assign) Non-Blocking (<=) Assignment Delay Control FLOW CONTROL Case Branching Loops Parallel Activity (fork... join) Assignment Event Control Intra-Assignment Delay TIMING Wait Named Events Pin-Pin Delay CODE MANAGEMENT Function Calls Task Calls Prog. Lang. Interface (PLI) 41
42 TASZKOK ÉS FÜGGVÉNYEK CÉL: A meglévő, korábbi Verilog kód újra felhasználása A kód kisebb egységekre osztása Érthetőség növelése Adat rejtés, információ redukció modulok között Kód karbantarthatóságának növelése 42
43 BEÉPÍTETT TASZKOK ÉS FÜGGVÉNYEK Néhány példa a beépített rendszer taszkokra: $rtoi Valós konvertálása egésszé csonkolással. $itor Egész konvertálása valóssá. $realtobits Valós konvertálása 64 bites reprezentációra. $bitstoreal Bitminta konvertálása valósra. $time Visszaadja az aktuális szimulációs időt (skálázott 64 bites érték). $stime Visszaadja az aktuális szimulációs időt 32 bites formátumban. $realtime Visszaad egy olyan valós értéket, ami a hívó modul időegysége szerint skálázott. 43
44 FÜGGVÉNYEK CÉL: Procedurális utasítások és értékadások kiértékelését valósítja meg. Modulban deklarálható Kifejezésekben hívható Használhat lokális változókat Nem tartalmazhat időzítés vagy eseményvezérlő utasításokat Legalább egy bemeneti változója kell legyen 44
45 PÉLDA MULTIPLEXER MEGVALÓSÍTÁSÁRA FÜGGVÉNYHÍVÁSSAL module mux4_df_fc (a, b, c, d, select, y_out); input a, b, c, d; input [1:0] select; output y_out; assign y_out = mux (a, b, c, d, select); function mux; input a, b, c, d; input [1:0] select; case (select) 2'b00: mux = a; 2'b01: mux = b; 2'b10: mux = c; 2'b11: mux = d; default: mux = 'bx; endcase endfunction endmodule Megjegyzés: A 2 b00 jelölés kétbites értéket jelöl. 45
46 PÉLDA AUTONÓM LFSR - PSZEUDÓ VÉLETLEN GENERÁTOR module Autonomous_LFSR (Clock, Reset, Y); parameter Length = 8; input Clock, Reset; Y[7] output [Length-1: 0] Y; reg [Length-1: 0] Y; c[1] c[0:7] = [1100_1111] y c[7] Y[0] h91 h h8c h46 (posedge Clock) begin if (!Reset) Y = 8 b1001_0001; else Y = LFSR_Value (Y); end 46
47 PÉLDA AUTONÓM LFSR - FÜGGVÉNY DEKLARÁCIÓ ÉS HASZNÁLATA function [Length-1: 0] LFSR_Value; parameter Length = 8; parameter [1:Length-1] Tap_Coefficient = 7 b1001_111; input [Length-1: 0] LFSR_state; integer Cell_ptr; begin for (Cell_ptr = Length -2; Cell_ptr >= 0; Cell_ptr = Cell_ptr -1) if (Tap_Coefficient [Cell_ptr + 1] == 1) // A visszacsatolások helyén LFSR_Value [Cell_ptr] = LFSR_state [Cell_ptr + 1] ^ LFSR_state [0]; // XOR else LFSR_Value [Cell_ptr] = LFSR_state [Cell_ptr +1]; // Egyszerű shift LFSR_Value [Length - 1] = LFSR_state [0]; end endfunction endmodule 47
48 PÉLDA AUTONÓM LFSR c[0:7] = [1100_1111] Y[7] c[1] c[7] Y[0] h91 h h8c h46 48
49 TASZKOK Modulon belül deklarálható. Viselkedési leíráson hívható. Végrehajtása után a vezérlést a következő utasításra adja. Kifejezéseken belül nem használható. A taszkoknak paraméterek átadhatók. A 'return' után az eredmények elérhetők. Lehetnek lokális változói. Tartalmazhat időzítés és eseményvezérlő utasításokat. Rekurzívan hívható (saját magából, vagy egy másik taszkból, melyet önmaga hívott). (Közös memória - Statikus változók - Potenciális lehetőség mellékhatásokra). 49
50 PÉLDA A TASZKOK HASZNÁLATÁRA module Autonomous_LFSR3 (Clock, Reset,Y); parameter Length = 8; parameter [1:Length-1] Tap_Coefficient = 7'b1001_111; input Clock, Reset; output [Length-1: 0] Y; reg [Length-1:0] Y; integer Cell_ptr; (posedge Clock) begin if (!Reset) Y = 8'b1001_0001; // Reset állapot 8'h91 else Update_LFSR; end 50
51 PÉLDA A TASZKOK HASZNÁLATÁRA task Update_LFSR; reg [Length-1:0] LFSR_state; begin LFSR_state = Y; for (Cell_ptr = Length -2; Cell_ptr >= 0; Cell_ptr = Cell_ptr -1) if (Tap_Coefficient [Cell_ptr +1] == 1) // A visszacsatolások helyén Y [Cell_ptr] = LFSR_state [Cell_ptr+1] ^ LFSR_state [0]; else Y [Cell_ptr] = LFSR_state [Cell_ptr +1]; Y [Length-1] = LFSR_state [0]; end endtask endmodule 51
52 END OF Part 4b 52
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é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é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é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é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é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é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é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é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 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é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 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é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é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é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é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é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é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é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é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é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é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) 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é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észletesebbenKiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez
Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez Benesóczky Zoltán 217 1 digitális automaták kombinációs hálózatok sorrendi hálózatok (SH) szinkron SH aszinkron SH Kombinációs automata Logikai
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é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é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é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é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é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é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észletesebbenÚjrakonfigurálható eszközök
Újrakonfigurálható eszközök 6. Véges állapotgépek: közlekedési lámpa vezérlése Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia Felhasznált irodalom és segédanyagok Icarus Verilog
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észletesebbenA Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához
A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához Ellenőrizzük a projektből importált adatokat. Ha rendben vannak, akkor kattintsunk a Next gombra. Válasszuk a Create Design
Ré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 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é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észletesebbenÚjrakonfigurálható eszközök
Újrakonfigurálható eszközök 4. Verilog példaprogramok EPM240-hez Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia Tartalom C-M240 fejlesztői kártya, felhasznált kivezetések 15-fdiv-LED:
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é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észletesebbenMSP430 programozás Energia környezetben. Az I/O portok kezelése
MSP430 programozás Energia környezetben Az I/O portok kezelése 1 Egyszerű I/O vezérlés Digitális I/O pinmode(pin, mode) kivezetés üzemmódjának beállítása digitalwrite(pin, state) - kimenetvezérlés digitalread(pin)
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é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é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észletesebbenLogi-termikus szimuláció
Budapesti Műszaki és Gazdaságtudományi Egyetem Logi-termikus szimuláció Dr. Timár András BME, Elektronikus Eszközök Tanszéke 2014. április 22. Dr. Timár András (BME, EET) Logi-termikus szimuláció 2014.
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észletesebben2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához
XIII. szekvenciális hálózatok tervezése ) Tervezzen digitális órához, aszinkron bináris előre számláló ciklus rövidítésével, 6-os számlálót! megvalósításához negatív élvezérelt T típusú tárolót és NN kaput
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é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 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észletesebbenDIGITÁLIS TECHNIKA 7-ik előadás
IGITÁLI TECHNIKA 7-ik előadás Előadó: r. Oniga István Egyetemi docens 2/2 II félév zekvenciális (sorrendi) hálózatok zekvenciális hálózatok fogalma Tárolók tárolók JK tárolók T és típusú tárolók zámlálók
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észletesebbenSzekvenciális hálózatok Állapotdiagram
Szekvenciális hálózatok Állapotdiagram A kombinatorikus hálózatokra jellemző: A kimeneti paramétereket kizárólag a mindenkori bemeneti paraméterek határozzák meg, a hálózat jellegének, felépítésének megfelelően
RészletesebbenAz UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
RészletesebbenAttribútumok, constraint-ek
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Attribútumok, constraint-ek Fehér Béla Szántó Péter, Lazányi János, Raikovich
Ré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é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é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é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észletesebbenXilinx ChipScope ismertető
Xilinx ChipScope ismertető Szántó Péter BME Méréstechnika és Információs Rendszerek Tanszék 2011-09-01 Tartalom 1. ChipScope Core Insterter... 2 1.1. ChipScope ICON... 4 1.2. ChipScope ILA... 5 2. ChipScope
RészletesebbenEB134 Komplex digitális áramkörök vizsgálata
EB34 Komplex digitális áramkörök vizsgálata BINÁRIS ASZINKRON SZÁMLÁLÓK A méréshez szükséges műszerek, eszközök: - EB34 oktatókártya - db oszcilloszkóp (6 csatornás) - db függvénygenerátor Célkitűzés A
Ré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észletesebbenHobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 1. rész
Hobbi Elektronika A digitális elektronika alapjai: Sorrendi logikai áramkörök 1. rész 1 Felhasznált anyagok M. Morris Mano and Michael D. Ciletti: Digital Design - With an Introduction to the Verilog HDL,
RészletesebbenMikrorendszerek tervezése
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Saját IP készítése, periféria illesztés Fehér
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é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é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é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é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észletesebben16F628A megszakítás kezelése
16F628A megszakítás kezelése A 'megszakítás' azt jelenti, hogy a program normális, szekvenciális futása valamilyen külső hatás miatt átmenetileg felfüggesztődik, és a vezérlést egy külön rutin, a megszakításkezelő
Ré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észletesebben3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK
3.6. AGYOMÁNYOS SZEKVENCIÁIS FUNKCIONÁIS EGYSÉGEK A fenti ismertető alapján elvileg tetszőleges funkciójú és összetettségű szekvenciális hálózat szerkeszthető. Vannak olyan szabványos funkciók, amelyek
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észletesebbenRendszerszintű tervezés: SystemC I.
Rendszerszintű tervezés: SystemC I. Czirkos Zoltán BME EET 2016. február 24. Miről lesz szó? Magas szintű tervezés programozási nyelvek segítségével HDL leírás (Verilog / VHDL) is emlékeztet egy programra
Részletesebben12. NYOMÓGOMBOK ÉS KAPCSOLÓK PERGÉSMENTESÍTÉSE A FEJLESZTŐLAPON
12. NYOMÓGOMBOK ÉS KAPCSOLÓK PERGÉSMENTESÍTÉSE A FEJLESZTŐLAPON 1 Az FPGA eszközök bemeneti jeleit gyakran mechanikai kapcsolókkal hozzuk létre. Használható váltókapcsoló, amely a nulla és az egyes logikai
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észletesebbenHobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész
Hobbi Elektronika A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész 1 Felhasznált anyagok M. Morris Mano and Michael D. Ciletti: Digital Design - With an Introduction to the Verilog HDL,
RészletesebbenÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM
ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM Dr. Soumelidis Alexandros 2018.09.06. BME KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR 32708-2/2017/INTFIN SZÁMÚ EMMI ÁLTAL TÁMOGATOTT TANANYAG SensAct0
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é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é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é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észletesebbenDIGITÁLIS TECHNIKA NORMÁL BCD KÓD PSZEUDOTETRÁDOK AZONOSÍTÁSA A KARNAUGH TÁBLÁN BCD (8421) ÖSSZEADÁS BCD ÖSSZEADÁS: +6 KORREKCIÓ
DIGITÁLIS TECHNIKA Dr. Lovassy Rita Dr. Pődör Bálint Óbudai Egyetem KVK Mikroelektronikai és Technológia Intézet 3. ELŐADÁS NORMÁL BCD KÓD Természetes kód - Minden számjegyhez a 4-bites bináris kódját
RészletesebbenÚjrakonfigurálható eszközök
Újrakonfigurálható eszközök 7. Hétszegmenses LED kijelző multiplex vezérlése Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia Felhasznált irodalom és segédanyagok Icarus Verilog Simulator:
RészletesebbenElektronikus dobókocka tervezési példa
Elektronikus dobókocka tervezési példa (file: kocka-pld-sp3, H.J., 2006-10-16) Ebben a mintapéldában egy elektronikus dobókockát tervezünk. Ezzel a tervezési példával a Mérés laboratórium I. gyakorlatok
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é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észletesebben10. Digitális tároló áramkörök
1 10. Digitális tároló áramkörök Azokat a digitális áramköröket, amelyek a bemeneteiken megjelenő változást azonnal érvényesítik a kimeneteiken, kombinációs áramköröknek nevezik. Ide tartoznak az inverterek
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észletesebben5. Hét Sorrendi hálózatok
5. Hét Sorrendi hálózatok Digitális technika 2015/2016 Bevezető példák Példa 1: Italautomata Legyen az általunk vizsgált rendszer egy italautomata, amelyről az alábbi dolgokat tudjuk: 150 Ft egy üdítő
RészletesebbenHDL tervezés. Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd.
HDL tervezés Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd. gabor.bata@ericsson.com HDL tervezés A HDL gondolkodásmód Órajeltartományok Reset az FPGA-ban Példák a helyes tervezési-kódolási
RészletesebbenA modell-ellenőrzés gyakorlata UPPAAL
A modell-ellenőrzés gyakorlata UPPAAL Uppsalai Egyetem + Aalborgi Egyetem közös fejlesztése; 1995. első verzió megjelenése; részei: - grafikus modellt leíró eszköz (System editor) - szimulátor (Simulator)
RészletesebbenSzámítógépvezérelt irányítás és szabályozás elmélete (Bevezetés a rendszer- és irányításelméletbe, Computer Controlled Systems) 7.
Számítógépvezérelt irányítás és szabályozás elmélete (Bevezetés a rendszer- és irányításelméletbe, Computer Controlled Systems) 7. előadás Szederkényi Gábor Pázmány Péter Katolikus Egyetem Információs
Részletesebben