Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Wielkość: px
Rozpocząć pokaz od strony:

Download "Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska"

Transkrypt

1 Sumatory 1

2 Sumator 1-bitowy full adder Równanie boolowskie sumy: s k = a k XOR b k XOR c k = a k b k c k Równanie boolowskie przeniesienia: c k+1 = (a k AN b k ) OR (a k AN c k ) OR (b k AN c k ) = (a k b k ) + (a k c k ) + (b k c k ) 2

3 Układ Flex10K - schemat 3

4 Układ Flex10K komórka logiczna 4

5 Sumator 1-bitowy realizacja w FPGA Realizacja w FPGA: Altera Flex10K70 EPF10K70RC240-4; Quartus2 v4.1 SP2 WebEdition -- 1 bit full adder IBRARY ieee; USE ieee.std_logic_1164.a; ENTITY fa IS PORT ( a, b, cin : IN ST_OGIC; s, cout : OUT ST_OGIC); EN fa; ARCITECTURE fa_arch OF fa IS BEGIN s <= a XOR b XOR cin; cout <= (a AN b) OR (a AN cin) OR (b AN cin); EN fa_arch; 5

6 Sumator 1-bitowy realizacja w FPGA // 1 bit full adder module fa(a, b, cin, s, cout); input a, b, cin; output s, cout; assign s = a ^ b ^ cin; assign cout = a & b a & cin b & cin; endmodule 6

7 Sumator 1-bitowy realizacja w FPGA 7

8 Sumator 1-bitowy realizacja w FPGA Opóźnienia w komórce Opóźnienia w ścieŝkach bardzo duŝe w fpga 8

9 Sumator 1-bitowy realizacja w FPGA 9

10 Sumator 1-bitowy realizacja w FPGA 10

11 Sumator 1-bitowy realizacja funkcją PM -- 1 bit full adder using PM_A_SUB IBRARY ieee; USE ieee.std_logic_1164.a; IBRARY lpm; USE lpm.lpm_components.a; ENTITY fa_lpm IS GENERIC (n : INTEGER := 1); Realizacja w FPGA: Altera Flex10K20 EPF10K70RC240-4 z parametryzowaną funkcją PM_A_SUB 2 C; t pd =20,5ns PORT (a, b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); cin : IN ST_OGIC; s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); cout : OUT ST_OGIC); EN fa_lpm; ARCITECTURE fa_arch OF fa_lpm IS BEGIN fa_lpm: lpm_add_sub GENERIC MAP (PM_WIT => n, PM_REPRESENTATION => "UNSIGNE", PM_IRECTION => "A") PORT MAP (dataa => a, datab => b, cin => cin, result => s, cout => cout); EN fa_arch; 11

12 Sumator 1-bitowy realizacja funkcją PM Nagłówek parametryzowanej funkcji PM_A_SUB (V Component eclaration): COMPONENT lpm_add_sub GENERIC (PM_WIT: POSITIVE; PM_IRECTION: STRING := "UNUSE"; PM_REPRESENTATION: STRING := "SIGNE"; PM_PIPEINE: INTEGER := 0; PM_TYPE: STRING := "PM_A_SUB"; PM_INT: STRING := "UNUSE" ONE_INPUT_IS_CONSTANT: STRING := "NO"; MAXIMIZE_SPEE: INTEGER; USE_WYS: STRING := "OFF"); PORT (dataa, datab: IN ST_OGIC_VECTOR(PM_WIT-1 OWNTO 0); aclr, clock, cin: IN ST_OGIC := '0'; clken, add_sub: IN ST_OGIC := '1'; result: OUT ST_OGIC_VECTOR(PM_WIT-1 OWNTO 0); cout, overflow: OUT ST_OGIC); EN COMPONENT; 12

13 Sumator 7-bitowy ripple-carry adder 13

14 Sumator 7-bitowy realizacja V -- n-bit adder Ripple Carry Adder IBRARY ieee; USE ieee.std_logic_1164.a; ENTITY rca IS GENERIC (n : INTEGER := 7); EN rca; PORT ( a, b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); cout : OUT ST_OGIC); ARCITECTURE rca_arch OF rca IS BEGIN SIGNA c : ST_OGIC_VECTOR(n-1 OWNTO 0); s(0) <= a(0) XOR b(0); c(0) <= (a(0) AN b(0)); add: FOR i IN n-1 OWNTO 1 GENERATE s(i) <= a(i) XOR b(i) XOR c(i-1); Realizacja bez sygnału Carry-In c(i) <= (a(i) AN b(i)) OR (a(i) AN c(i-1)) OR (b(i) AN c(i-1)); EN GENERATE; cout <= c(n-1); EN rca_arch; 7-bitowy RCA C (carry) * 8 f [Mz] / tmax [ns] 34, 01 / 29,4 C (bez carry) ** 13 f [Mz] / tmax [ns] 22,27 / 44,9 * Z komponentem CARRY_SUM ** Bez 14

15 Sumator 7-bitowy realizacja Verilog // n-bit adder Ripple-Carry Adder module rca (a, b, s, cout); parameter n=7; input [n-1:0] a, b; output [n-1:0] s; output cout; wire [n-1:0] c; assign s[0] = a[0] ^ b[0]; assign c[0] = a[0] & b[0]; genvar i; generate for (i = 1; i < n; i=i+1) begin : rca_adder assign s[i] = a[i] ^ b[i] ^ c[i-1]; assign c[i] = a[i] & b[i] a[i] & c[i-1] b[i] & c[i-1]; end endgenerate assign cout = c[n-1]; endmodule; 15

16 Komponent carry_sum 16

17 Sumator 7-bitowy z komponentem carry_sum V ARCITECTURE rca_arch OF rca IS SIGNA cin : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA co : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA sin : ST_OGIC_VECTOR(n-1 OWNTO 0); COMPONENT CARRY_SUM IS PORT (sin, cin : IN ST_OGIC; sout, cout : OUT ST_OGIC); EN COMPONENT; BEGIN sin(0) <= a(0) XOR b(0); cin(0) <= a(0) AN b(0); c_0: CARRY_SUM PORT MAP (sin => sin(0), cin => cin(0), sout => s(0), cout => co(0)); add: FOR i IN n-1 OWNTO 1 GENERATE sin(i) <= a(i) XOR b(i) XOR co(i-1); cin(i) <= (a(i) AN b(i)) OR (a(i) AN co(i-1)) OR (b(i) AN co(i-1)); c_i: CARRY_SUM PORT MAP (sin => sin(i), cin => cin(i), sout => s(i), cout => co(i)); EN GENERATE; cout <= co(n-1); dr inŝ. Paweł EN rca_arch; Tomaszewicz 17

18 Sumator 7-bitowy z carry_sum Verilog // n-bit adder Ripple-Carry Adder module rca (a, b, s, cout); parameter n=7; input [n-1:0] a, b; output [n-1:0] s; output cout; wire [n-1:0] cin, co, sin; assign sin[0] = a[0] ^ b[0]; assign cin[0] = a[0] & b[0]; carry_sum c_0 (.sin(sin[0]),.cin(cin[0]),.sout(s[0]),.cout(co[0])); genvar i; generate for (i = 1; i < n; i=i+1) begin : rca_adder assign sin[i] = a[i] ^ b[i] ^ co[i-1]; assign cin[i] = a[i] & b[i] a[i] & co[i-1] b[i] & co[i-1]; carry_sum c_i (.sin(sin[i]),.cin(cin[i]),.sout(s[i]),.cout(co[i])); end endgenerate assign cout = co[n-1]; endmodule 18

19 Sumator 7-bitowy symulacja 19

20 Sumator 7-bitowy realizacja w fpga 20

21 Sumator 7-bitowy realizacja z komponenem fa V IBRARY ieee; USE ieee.std_logic_1164.a; ENTITY rca_fa IS GENERIC (n : INTEGER := 7); PORT ( a, b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); cout : OUT ST_OGIC); EN rca_fa; ARCITECTURE rca_arch OF rca_fa IS COMPONENT fa IS PORT ( a, b, cin : IN ST_OGIC; s, cout : OUT ST_OGIC); EN COMPONENT fa; SIGNA c : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA cin : ST_OGIC; BEGIN cin <= '0'; fa0: fa PORT MAP (a => a(0), b => b(0), cin => cin, s => s(0), cout => c(0)); fa_n: FOR i IN n-1 OWNTO 1 GENERATE fa_i: fa PORT MAP (a => a(i), b => b(i), cin => c(i-1), s => s(i), cout => c(i)); EN GENERATE; cout <= c(n-1); dr inŝ. Paweł EN rca_arch; Tomaszewicz 21

22 Sumator 7-bitowy realizacja z komponenem fa V IBRARY ieee; USE ieee.std_logic_1164.a; PACKAGE fa_package IS COMPONENT fa IS PORT ( a, b, cin : IN ST_OGIC; s, cout : OUT ST_OGIC); EN COMPONENT fa; EN fa_package; IBRARY work; USE work.fa_package.a; IBRARY ieee; USE ieee.std_logic_1164.a; ENTITY rca_fa IS GENERIC (n : INTEGER := 7); PORT ( a, b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); cout : OUT ST_OGIC); EN rca_fa; ARCITECTURE rca_arch OF rca_fa IS SIGNA c : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA cin : ST_OGIC; BEGIN dr inŝ. Paweł... Tomaszewicz 22

23 Sumator 7-bitowy realizacja z komponenem fa Verilog // n-bit adder Ripple-Carry Adder // using FA component //'include "fa.v" module rca_fa (a, b, s, cout); parameter n=7; input [n-1:0] a, b; output [n-1:0] s; output cout; wire [n-1:0] c; fa fa_0 (.a(a[0]),.b(b[0]),.cin(0),.s(s[0]),.cout(c[0])); genvar i; generate for (i = 1; i < n; i=i+1) begin : rca_adder fa fa_i (.a(a[i]),.b(b[i]),.cin(c[i-1]),.s(s[i]),.cout(c[i])); end endgenerate endmodule assign cout = c[n-1]; 23

24 Sumator 7-bitowy z rejestrami na we/wy V ENTITY rca_r IS... ARCITECTURE rca_arch OF rca_r IS BEGIN SIGNA c : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA a_r, b_r, s_r : ST_OGIC_VECTOR(n-1 OWNTO 0); Reg: PROCESS (clk) BEGIN EN rca_arch; IF clk'event AN (clk = '1') TEN EN IF; a_r <= a; b_r <= b; s <= s_r; EN PROCESS Reg; cout <= c(n-1); s_r(0) <= a_r(0) XOR b_r(0); c(0) <= (a_r(0) AN b_r(0)); cra_n: FOR i IN n-1 OWNTO 1 GENERATE s_r(i) <= a_r(i) XOR b_r(i) XOR c(i-1); 7-bitowy RCA c(i) <= (a_r(i) AN b_r(i)) OR (a_r(i) AN c(i-1)) OR (b_r(i) AN c(i-1)); EN GENERATE; C (carry) * 29 f [Mz] / t_clk [ns] 65,36 / 15,3 C (bez carry) ** 27 f [Mz] / t_clk [ns] 42,55 / 23,5 * Z komponentem CARRY_SUM ** Bez Rejestry na wejściu i wyjściu bloku pozwalają na oszacowanie szybkości działania bloku wewnątrz układu FPGA, bez opóźnień związanych z logiką we/wy 24

25 Sumator 7-bitowy parameter n=7; input z [n-1:0] rejestrami a, b; na we/wy Verilog // n-bit adder Ripple-Carry Adder module rca_r_1 (a, b, s, cout, clk); input clk; output [n-1:0] s; output cout; reg [n-1:0] a_r, b_r, s; reg cout; wire [n-1:0] s_r; wire [n-1:0] c; clk) begin a_r <= a; b_r <= b; s <= s_r; cout <= c[n-1]; end assign s_r[0] = a_r[0] ^ b_r[0]; assign c[0] = a_r[0] & b_r[0]; genvar i; generate for (i = 1; i < n; i=i+1) begin : rca_adder assign s_r[i] = a_r[i] ^ b_r[i] ^ c[i-1]; assign c[i] = a_r[i] & b_r[i] a_r[i] & c[i-1] b_r[i] & c[i-1]; end endgenerate endmodule 25

26 Sumator 8n+7- bitowy Opóźnienia liniowo związane z długością sumatora komórek f [Mz] t_clk [ns] 15bit 61 53,19 18,8 23bit 93 45,05 22,2 31bit ,91 25,7 39bit ,25 29,2 47bit ,58 32,7 55bit ,62 36,2 la układu FEX10K70RC240 moŝna zbudować maks. sumator 55-bitowy, poniewaŝ uŝyty układ ma dostępnych 183 nóŝki dla uŝytkownika ( =166); la sumatora 63-bitowego mamy = bit zegara i juŝ się nie zmieścił ze względu na liczbę nóŝek; Teoretycznie moŝna zbudować łańcuch Carry o długości 13x8=104, bo 52 kolumny, w połówce układu jest 26 kolumn, uŝyta co druga kolumna, czyli dostępnych13, stąd moŝliwy do zbudowania sumator 8 x n+7=103 bity) 26

27 Sumator potokowy A + B = S 27

28 Sumator 15-bitowy potokowy V (1) IBRARY work; USE work.rca_package.a; IBRARY ieee; USE ieee.std_logic_1164.a; ENTITY rca_pipe IS GENERIC (n : INTEGER := 15; n7 : INTEGER := 7; n8 : INTEGER := 8); PORT (clk : IN ST_OGIC; a, b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); cout : OUT ST_OGIC); EN rca_pipe; ARCITECTURE rca_arch OF rca_pipe IS SIGNA r0_00, r0_01, r1_0, r2_0, s0 : ST_OGIC_VECTOR(n8-1 OWNTO 0); SIGNA r0_10, r0_11, r1_10, r1_11, r2_1, s1: ST_OGIC_VECTOR(n7-1 OWNTO 0); SIGNA c0, c1, cr0, cr1 : ST_OGIC; 28

29 BEGIN PROCESS BEGIN Sumator 15-bitowy potokowy V (2) WAIT UNTI clk='1'; FOR k IN n8-1 OWNTO 0 OOP r0_00(k) <= a(k); r0_01(k) <= b(k); EN OOP; FOR k IN n7-1 OWNTO 0 OOP -- 1st level add_lsb: rca GENERIC MAP (n => n8) PORT MAP (a => r0_00, b => r0_01, s => s0, cout => c0); r0_10(k) <= a(k+n8); -- 2nd level r0_11(k) <= b(k+n8); EN OOP; add_msb: rca_in GENERIC MAP (n => n7) PORT MAP (a => r1_10, b => r1_11, EN PROCESS; cin => cr0, s => s1, cout => c1); Reg: PROCESS (clk) s(n8-1 OWNTO 0) <= r2_0(n8-1 OWNTO 0); BEGIN s(n7-1+n8 OWNTO n8) <= r2_1(n7-1 OWNTO 0); IF clk'event AN (clk = '1') TEN cout <= cr1; r1_10 <= r0_10; EN rca_arch; r1_11 <= r0_11; r2_0 <= r1_0; r1_0 <= s0; r2_1 <= s1; cr0 <= c0; cr1 <= c1; EN IF; EN PROCESS Reg; 29

30 Sumator 15-bitowy potokowy Verilog // 15-bit pipeline adder //'include "rca.v" //'include "rca_in.v" module rca_pipe (clk, a, b, s, cout); parameter n=15; parameter n7=7; parameter n8=8; input clk; input [n-1:0] a, b; output [n-1:0] s; output cout; reg [n8-1:0] r0_00, r0_01, r1_0, r2_0, s0; reg [n7-1:0] r0_10, r0_11, r1_10, r1_11, r2_1, s1; reg c0, c1, cr0, cr1; clk) begin r0_00 <= a[n8-1:0]; r0_01 <= b[n8-1:0]; r0_10 <= a[n7-1+n8:n8]; r0_11 <= b[n7-1+n8:n8]; end Przykład przekazania parametru przez konkretyzację // 1st level clk) // registers begin end r1_0 <= s0; r1_10 <= r0_10; r1_11 <= r0_11; cr0 <= c0; r2_0 <= r1_0; r2_1 <= s1; cr1 <= c1; //rca add_lsb (.a(r0_00),.b(r0_01),.s(s0),.cout(c0)); // defparam add_lsb.n=n8; rca #(n8) add_lsb (.a(r0_00),.b(r0_01),.s(s0),.cout(c0)); // 2nd level //rca_in add_msb (.a(r1_10),.b(r1_11),.cin(cr0),.s(s1),.cout(c1)); // defparam add_msb.n=n7; rca_in #(n7) add_msb (.a(r1_10),.b(r1_11),.cin(cr0),.s(s1),.cout(c1)); // output endmodule assign s[n8-1:0] = r2_0[n8-1:0]; assign s[n7-1+n8:n8] = r2_1[n7-1:0]; assign cout = cr1; 30

31 Sumator 15-bitowy potokowy - symulacja C 86 FF 69 f [Mz] 49,02 t_clk [ns] 20,4 31

32 Sumator 8n+7 potokowy N = 47 W = 8 Potokowość: zyskujemy na przepustowości, tracimy na uŝytych zasobach 32

33 Sumator 8n+7 RCA potokowy vs kombinacyjny stopni potoku komórek przerzutników f [Mz] t_clk [ns] 15bit ,02 20,4 23bit ,78 20,5 31bit ,08 20,8 39bit ,54 20,6 47bit ,17 21,2 15bit ,19 18,8 23bit ,05 22,2 31bit ,91 25,7 39bit ,25 29,2 47bit ,58 32,7 Wyniki uzyskane dla układów z rejestrami na wejściu i wyjściu Wyniki uzyskane dla układów z rejestrami na wejściu i wyjściu oraz oraz z z wykorzystaniem wykorzystaniem szybkich szybkich łańcuchów łańcuchów Carry Carry 33

34 Sumator 15-bitowy potokowy PM V -- n-bit adder using PM IBRARY ieee; USE ieee.std_logic_1164.a; IBRARY lpm; USE lpm.lpm_components.a; ENTITY rca_lpm IS GENERIC (n : INTEGER := 15); PORT (clk : IN ST_OGIC; a, b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); cout : OUT ST_OGIC); EN rca_lpm; ARCITECTURE rca_arch OF cra_lpm IS SIGNA a_r, b_r : ST_OGIC_VECTOR(n-1 OWNTO 0); BEGIN Reg: PROCESS (clk) BEGIN IF clk'event AN (clk = '1') TEN a_r <= a; b_r <= b; EN IF; EN PROCESS Reg; add: lpm_add_sub GENERIC MAP (PM_WIT => n, PM_REPRESENTATION => "UNSIGNE", PM_IRECTION => "A", PM_PIPEINE => 2) PORT MAP (dataa => a_r, datab => b_r, result => s, cout => cout, clock => clk); EN rca_arch; 34

35 Sumator 15-bitowy potokowy PM Verilog // n-bit adder using PM module rca_lpm (clk, a, b, s, cout); parameter n = 47; input clk; input [n-1:0] a, b; output [n-1:0] s; output cout; reg [n-1:0] a_r, b_r; clk) // registers begin a_r <= a; b_r <= b; end lpm_add_sub fa_lpm (.dataa(a_r),.datab(b_r),.result(s),.cout(cout),.clock(clk)); defparam fa_lpm.lpm_width=n; defparam fa_lpm.lpm_representtion="unsigned"; defparam fa_lpm.lpm_direction="add"; defparam fa_lpm.lpm_pipeline=6; endmodule 35

36 Sumator 15-bitowy potokowy PM - symulacja C 71 FF 65 f [Mz] 99,01 t_clk [s] 10,1 36

37 Sumator potokowy PM - koszt stopni potoku komórek przerzutników f [Mz] t_clk [ns] 15bit ,75 11, ,01 10,01 23bit ,92 13, ,03 11, ,75 11,8 31bit ,36 15, ,49 14, ,03 11, ,64 12,1 39 bit ,61 16, ,52 15, ,37 12, ,07 13, ,74 12,7 47 bit ,19 13,3 37

38 Sumator Carry ook-ahead Adder W sumatorze z przeniesieniami równoległymi wszystkie przeniesienia są wytwarzane jednocześnie na podstawie bitów sumowanych składników. s i = a i b i c i c i+1 = a i b i + a i c i + b i c i = a i b i + c i (a i + b i ) G i = a i b i (generacja przeniesienia) P i = a i + b i (propagacja przeniesienia) Wtedy: c i+1 = G i + c i P i 38

39 Realizacja sumatora Carry ook-ahead Adder V (1) IBRARY ieee; USE ieee.std_logic_1164.a; Argorytm CA nie jest stosowany w układach fpga, poniewaŝ są zaimplementowane specjalne linie szybkiego przeniesienia Carry ENTITY c_l_addr IS GENERIC (n : INTEGER := 7); PORT ( a : IN ST_OGIC_VECTOR(n-1 OWNTO 0); b : IN ST_OGIC_VECTOR(n-1 OWNTO 0); carry_in : IN ST_OGIC; s : OUT ST_OGIC_VECTOR(n-1 OWNTO 0); carry_out : OUT ST_OGIC ); EN c_l_addr; 39

40 Realizacja sumatora Carry ook-ahead Adder V (2) ARCITECTURE behavioral OF c_l_addr IS SIGNA h_sum : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA carry_generate : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA carry_propagate : ST_OGIC_VECTOR(n-1 OWNTO 0); SIGNA carry_in_internal : ST_OGIC_VECTOR(n-1 OWNTO 1); BEGIN h_sum <= a XOR b; carry_generate <= a AN b; carry_propagate <= a OR b; PROCESS (carry_generate,carry_propagate,carry_in_internal,carry_in) BEGIN carry_in_internal(1) <= carry_generate(0) OR (carry_propagate(0) AN carry_in); inst: FOR i IN 1 TO n-2 OOP carry_in_internal(i+1) <= carry_generate(i) OR (carry_propagate(i) AN carry_in_internal(i)); EN OOP; carry_out <= carry_generate(n-1) OR (carry_propagate(n-1) AN carry_in_internal(n-1)); EN PROCESS; s(0) <= h_sum(0) XOR carry_in; s(n-1 OWNTO 1) <= h_sum(n-1 OWNTO 1) XOR carry_in_internal(n-1 OWNTO 1); EN behavioral; 40

41 Realizacja sumatora Carry ook-ahead Adder Verilog // carry look-ahead adder module c_l_addr (a, b, carry_in, s, carry_out); parameter n=7; input [n-1:0] a,b; input carry_in; output [n-1:0] s; output carry_out; wire [n-1:0] h_sum; wire [n-1:0] carry_generate; wire [n-1:0] carry_propagate; wire [n-1:0] carry_in_internal; assign h_sum = a ^ b; assign carry_generate = a & b; assign carry_propagate = a b; assign carry_in_internal[1] = carry_generate[0] (carry_propagate[0] & carry_in); genvar i; generate for (i = 1; i <= n-2; i=i+1) begin : l_a_adder assign carry_in_internal[i+1] = carry_generate[i] (carry_propagate[i] & carry_in_internal[i]); end endgenerate assign carry_out = carry_generate[n-1] (carry_propagate[n-1] & carry_in_internal[n-1]); assign s[0] = h_sum[0] ^ carry_in; assign s[n-1:1] = h_sum[n-1:1] ^ carry_in_internal[n-1:1]; dr inŝ. endmodule Paweł Tomaszewicz 41

Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska Układy mnoŝące 1 MnoŜenie w układzie sekwencyjnym P = A X = N 1 k = 0 k a k 2 X MnoŜenie szeregowo-równoległe równoległe Czynnik X jest przesuwany o k pozycji: jeŝeli a k 0 to X*2 k jest dodawane i zapisywane

Bardziej szczegółowo

Układy kryptograficzne z uŝyciem rejestrów LFSR

Układy kryptograficzne z uŝyciem rejestrów LFSR Układy kryptograficzne z uŝyciem rejestrów FSR Algorytmy kryptograficzne uŝywane w systemach telekomunikacyjnych własność modulo 2 funkcji XOR P K K = P = P 2 Rejestr z liniowym sprzęŝeniem zwrotnym FSR

Bardziej szczegółowo

Język AHDL. Synteza strukturalna. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska H D L

Język AHDL. Synteza strukturalna. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska H D L Język A Synteza strukturalna 1 Synteza strukturalna icznik Rejestr B l o k i F u n k c j o n a l n e 1. Składamy układ z bloków funkcjonalnych 2. Odwzorowanie technologiczne 2 Komponent Wyboru odpowiedniej

Bardziej szczegółowo

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny

Bardziej szczegółowo

Filtry cyfrowe o skończonej odpowiedzi impulsowej FIR

Filtry cyfrowe o skończonej odpowiedzi impulsowej FIR Filtry cyfrowe o skończonej odpowiedzi impulsowej FIR 1 FPGA zalety i wady Ogromny wzrost wydajności niektórych algorytmów Elastyczność architektury MoŜliwości znacznego zrównoleglenia algorytmów ostosowanie

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

Projektowanie Urządzeń Cyfrowych Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów

Bardziej szczegółowo

Sposoby projektowania systemów w cyfrowych

Sposoby projektowania systemów w cyfrowych Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie

Bardziej szczegółowo

Układy reprogramowalne i SoC Implementacja w układach FPGA

Układy reprogramowalne i SoC Implementacja w układach FPGA Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez

Bardziej szczegółowo

Filtry cyfrowe o skończonej odpowiedzi impulsowej FIR - realizacje

Filtry cyfrowe o skończonej odpowiedzi impulsowej FIR - realizacje Filtry cyfrowe o skończonej odpowiedzi impulsowej FIR - realizacje wersja: 01.2015 1 FPGA zalety i wady Ogromny wzrost wydajności niektórych algorytmów Elastyczność architektury Możliwości znacznego zrównoleglenia

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.

Bardziej szczegółowo

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?

Bardziej szczegółowo

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...

Bardziej szczegółowo

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 Systemy wbudowane Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 System Quartus II Opis projektu Tekstowy (język opisu sprzętu np. Verilog) Graficzny Wykresy

Bardziej szczegółowo

Architektura komputerów, Informatyka, sem.iii. Sumatory

Architektura komputerów, Informatyka, sem.iii. Sumatory Sumatory Architektury sumatorów (zarys) Sumatory 1-bitowe Sumatory z propagacją Przeniesień CPA (Carry Propagate Adders) Sumatory wieloargumentowe 3-argumentowe Half Adder HA Macierz sumatorów RCA Full

Bardziej szczegółowo

Krótkie wprowadzenie do ModelSim i Quartus2

Krótkie wprowadzenie do ModelSim i Quartus2 Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera

Bardziej szczegółowo

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane

Bardziej szczegółowo

Technika cyfrowa Układy arytmetyczne

Technika cyfrowa Układy arytmetyczne Sławomir Kulesza Technika cyfrowa Układy arytmetyczne Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Układy arytmetyczne UKŁADY ARYTMETYCZNE UKŁADY SUMUJĄCE i ODEJMUJĄCE UKŁADY MNOŻĄCE

Bardziej szczegółowo

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów

Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów Wstęp doinformatyki Układy sekwencyjne Układy logiczne komputerów Układy sekwencyjne Dr inż. Ignacy Pardyka Akademia Świętokrzyska Kielce, 2001 Wstęp do informatyki I. Pardyka Akademia Świętokrzyska Kielce,

Bardziej szczegółowo

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011 Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy

Bardziej szczegółowo

Cyfrowe przetwarzanie sygnałów Mariusz Rawski

Cyfrowe przetwarzanie sygnałów Mariusz Rawski CAD Cyfrowe przetwarzanie sygnałów Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Cyfrowe przetwarzanie sygnału A/D konwersja sygnału analogowego na cyfrowy (próbkowanie, kwantyzacja,

Bardziej szczegółowo

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami. Testbenches. Symulacja sterowana zdarzeniami. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń -

Bardziej szczegółowo

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W Programowalne układy logiczne kod kursu: ETD008270 Podstawy języka Verilog W2 2.03.2018 mgr inż. Maciej Rudek 2 Tematyka kursu wykład Poziom abstrakcji systemów opisu sprzętu Historia Verilog został stworzony

Bardziej szczegółowo

(przykład uogólniony)

(przykład uogólniony) Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).

Bardziej szczegółowo

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3 Układy cyfrowe w Verilog Elementy języka z przykładami wersja: 10.2009 cz.3 1 Układy sekwencyjne Układy sekwencyjne mają pamięć Układy synchroniczne najczęściej spotykane wszystkie elementy są kontrolowane

Bardziej szczegółowo

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Technika cyfrowa projekt: Sumator 4 bitowy równoległy Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym

Bardziej szczegółowo

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3. Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3. Jak umieszcza się komentarze w pliku symulacyjnym PSPICE? 4.

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy kombinacyjne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 28 września 2015 Co to jest układ kombinacyjny? Stan wyjść zależy tylko

Bardziej szczegółowo

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje

Bardziej szczegółowo

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File 1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project

Bardziej szczegółowo

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Układy reprogramowalne i SoC Specjalizowane moduły FPGA Specjalizowane moduły FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój

Bardziej szczegółowo

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Poznanie zasad budowy działania komparatorów cyfrowych. Konstruowanie komparatorów

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W Programowalne układy logiczne kod kursu: ETD008270 Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W4 23.03.2018 mgr inż. Maciej Rudek UKŁADY KOMBINACYJNE Układy kombinacyjne Układ kombinacyjny

Bardziej szczegółowo

Projektowanie hierarchiczne Mariusz Rawski

Projektowanie hierarchiczne Mariusz Rawski CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości

Bardziej szczegółowo

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka

Bardziej szczegółowo

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie,

Bardziej szczegółowo

Laboratorium Podstaw Techniki Cyfrowej

Laboratorium Podstaw Techniki Cyfrowej Laboratorium Podstaw Techniki Cyfrowej Ćwiczenie 5: Wprowadzenie do języków opisu sprzętu 1. Języki opisu sprzętu Języki opisu sprzętu(hdl Hardware Description Language) to języki słuŝące do opisu układów

Bardziej szczegółowo

Wykład 4. Języki Opisu Sprzętu

Wykład 4. Języki Opisu Sprzętu Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Wprowadzenie do Veriloga Przypisania proceduralne (c. d.) Wykład 4 2017 8 listopad

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite. Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna

Bardziej szczegółowo

Specyfika projektowania Mariusz Rawski

Specyfika projektowania Mariusz Rawski CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Modelowanie złożonych układów cyfrowych (1)

Modelowanie złożonych układów cyfrowych (1) Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe

Bardziej szczegółowo

Układy reprogramowalne i SoC Język VHDL (część 4)

Układy reprogramowalne i SoC Język VHDL (część 4) Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35 LABORATORIUM TECHNIKA CYFROWA Pamięci Rev.1.35 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z projektowania modułów sterowania oraz kontroli pamięci 2. Kolokwium Kolokwium wstępne sprawdzające

Bardziej szczegółowo

Wykład 3. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 3. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Tablice i wektory Reguły łączenia portów Wykład 3 2018 10 październik 2018

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne X Selektor ROM ROM AND Specjalizowane układy cyfrowe

Bardziej szczegółowo

VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL

VHDL. Behawioralny Strukturalny Czasowy. Poziom RTL Style opisu VHDL VHDL Behawioralny Strukturalny Czasowy Równania boolowskie Poziom RTL Przebieg czasowy c = a v b c

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Dwa oblicza systemu cyfrowego Opcje projektowe dla systemu cyfrowego Wykład

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów

Bardziej szczegółowo

VHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014

VHDL. Zebrał i opracował R.Walkowiak PTC wykład 2013/2014 VHDL przykłady rozwiązań Zebrał i opracował R.Walkowiak PTC wykład 2013/2014 for generate Tworzenie wektora obiektów : for in generate -- wyrażenia równoległe end

Bardziej szczegółowo

Układy reprogramowalne i SoC Język VHDL (część 3)

Układy reprogramowalne i SoC Język VHDL (część 3) Układy reprogramowalne i SoC Język VHDL (część 3) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń

Bardziej szczegółowo

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska Procesory w FPGA 1 System w FPGA SOPC - System on a Programmable Chip System mikroprocesorowy w układzie programowalnym: softprocesor zrealizowany w logice układu FPGA NIOS2 Altera Microblaze Xilinx OpenRISC

Bardziej szczegółowo

Synteza logiczna APSC

Synteza logiczna APSC Jest to proces tłumaczenia opisu projektu przygotowanego na wysokim poziomie abstrakcji na zoptymalizowaną reprezentację na poziomie bramek logicznych w oparciu o zadaną technologiczną bibliotekę komórek

Bardziej szczegółowo

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia Projektowanie scalonych systemów wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

Bardziej szczegółowo

Język VERILOG w praktyce

Język VERILOG w praktyce Język VERLOG w praktyce RUS RUS Język VERLOG rzykłady syntezy blokowej RUS RUS Elementy systemu cyfrowego magistrala danych cd. module swap (Data, Resetn, w, Clock, Extern, RinExt, Busires); input [7:0]

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne Evatronix KontrolerEthernet MAC (Media Access Control)

Bardziej szczegółowo

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące. Sstem cfrow Sgnał sterujące ane wejściowe Układ sterując (kontroler) Układ operacjn (atapath) Mikrooperacje wwołwane przez sgnał sterujące Stan części operacjnej ane wjściowe Snteza strukturalna układów

Bardziej szczegółowo

Podstawy techniki cyfrowej cz.2 zima Rafał Walkowiak

Podstawy techniki cyfrowej cz.2 zima Rafał Walkowiak Podstawy techniki cyfrowej cz.2 zima 2015 Rafał Walkowiak 3.12.2015 Układy cyfrowe Ogólna struktura logiczna: Wej ster Dane układ sterowania bloki funkcjonalne dla realizacji określonych funkcji przetwarzania

Bardziej szczegółowo

1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych

1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych Wstęp PROGRAMOWANIE STRUTUR CYFROWYCH Układy kombinacyjne poziomu RT c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2013/2014 2 1 Instytut Fizyki, Zakład Informatyki, e-mail:

Bardziej szczegółowo

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2 Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne

Bardziej szczegółowo

Pod o z d ia i ł a r yn y k n u k u ( 2004 r.). źródło: Gartner 3

Pod o z d ia i ł a r yn y k n u k u ( 2004 r.). źródło: Gartner 3 Systemy typu SoPC Orkiszewski Marcin Projektowanie Programowalnych Układów Scalonych z-2009 Mikrokontrolery vs. FPGA MCU cena łatwość montaŝu łatwość programowania > >> >>> FPGA cena łatwość montaŝu łatwość

Bardziej szczegółowo

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Przypisania nieblokujące Stosowanie opóźnień w przypisaniach Wykład 4 2018

Bardziej szczegółowo

SPIS TREŚCI. 2. Arytmetyka rozproszona Symulacja układu programowalnego Realizacja algorytmu cyfrowego filtrowania

SPIS TREŚCI. 2. Arytmetyka rozproszona Symulacja układu programowalnego Realizacja algorytmu cyfrowego filtrowania SPIS TREŚCI 1. Wstęp... 5 2. Arytmetyka rozproszona... 6 2.1. Symulacja układu programowalnego... 7 3. Realizacja algorytmu cyfrowego filtrowania... 9 4....... 10 5....... 12 6. Podsumowanie... 13 Literatura...

Bardziej szczegółowo

Ćwiczenie 28. Przy odejmowaniu z uzupełnieniem do 2 jest wytwarzane przeniesienie w postaci liczby 1 Połówkowy układ

Ćwiczenie 28. Przy odejmowaniu z uzupełnieniem do 2 jest wytwarzane przeniesienie w postaci liczby 1 Połówkowy układ Temat: Układy odejmujące połówkowe i pełne. Cel ćwiczenia Ćwiczenie 28 Poznanie teorii uzupełniania. Budowanie układów odejmujących połówkowych pełnych. Czytanie schematów elektronicznych, przestrzeganie

Bardziej szczegółowo

Projektowanie automatów z użyciem VHDL

Projektowanie automatów z użyciem VHDL Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego

Bardziej szczegółowo

Verilog HDL. Język Opisu Sprzętu Hardware Description Language Część I. Elementy języka. dr inż. Paweł Tomaszewicz H D L

Verilog HDL. Język Opisu Sprzętu Hardware Description Language Część I. Elementy języka. dr inż. Paweł Tomaszewicz H D L Verilog Język Opisu Sprzętu ardware escription anguage Część I. Elementy języka dr inż. Paweł Tomaszewicz 1 istoria krótko ata '80 potrzeba stworzenia jednego języka do symulacji na różnych poziomach opisu

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Przerzutniki Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 20 maja 2013 Przerzutnik synchroniczny Układ synchroniczny wyzwalany ustalonym

Bardziej szczegółowo

Przykłady do wykładu Języki modelowania i symulacji

Przykłady do wykładu Języki modelowania i symulacji Przykłady do wykładu Języki modelowania i symulacji dr inż. Bogdan Pankiewicz Gdańsk, listopad 2011 - grudzień 2015 Część I - PSPICE Przykład I - przerzutnik D Czynności do wykonania: Wprowadzenie opisu

Bardziej szczegółowo

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego

Bardziej szczegółowo

Krótkie przypomnienie

Krótkie przypomnienie Krótkie przypomnienie Prawa de Morgana: Kod Gray'a A+ B= Ā B AB= Ā + B Układ kombinacyjne: Tablicy prawdy Symbolu graficznego Równania Boole a NOR Negative-AND w.11, p.1 XOR Układy arytmetyczne Cyfrowe

Bardziej szczegółowo

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące Podział sumatorów Równoległe: Z przeniesieniem szeregowym Z przeniesieniem równoległym Szeregowe (układy sekwencyjne) Zwykłe Akumulujące 1 Sumator z przeniesieniami równoległymi G i - Warunek generacji

Bardziej szczegółowo

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Zaawansowany VHDL Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Program wykładu Opis strukturalny map, generate Pojęcia leksykalne

Bardziej szczegółowo

Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika i Telekomunikacja. Wykład 2

Projektowanie systemów cyfrowych w językach opisu sprzętu. Studium Zaoczne IV rok kierunek Elektronika i Telekomunikacja. Wykład 2 Projektowanie systemów cyfrowych w językach opisu sprzętu Studium Zaoczne IV rok kierunek Elektronika i Telekomunikacja Wykład 2 Program wykładu VHDL przykłady VHDL jednostki projektowe VHDL pojęcia leksykalne

Bardziej szczegółowo

Układy FPGA w przykładach, część 2

Układy FPGA w przykładach, część 2 Układy FPGA w przykładach, część 2 W drugiej części artykułu zajmiemy się omówieniem wyposażenia (po mikrokontrolerowemu : peryferiów) układów FPGA z rodziny Spartan 3, co ułatwi ich wykorzystywanie w

Bardziej szczegółowo

Podstawy techniki cyfrowej cz.2 wykład 3 i 5

Podstawy techniki cyfrowej cz.2 wykład 3 i 5 Podstawy techniki cyfrowej cz.2 wykład 3 i 5 Rafał Walkowiak Wersja 0.1 29.10.2013 Układy cyfrowe Ogólna struktura logiczna: Wej ster Dane bloki funkcjonalne dla realizacji określonych funkcji przetwarzania

Bardziej szczegółowo

Implementacja algorytmu DES

Implementacja algorytmu DES mplementacja algorytmu DES Mariusz Rawski rawski@tele.pw.edu.pl www.zpt.tele.pw.edu.pl/~rawski/ Z Mariusz Rawski 1 Algorytm DES DES (Data Encryption Standard) - jest szyfrem blokowym, o algorytmie ogólnie

Bardziej szczegółowo

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench) Wstęp SYSTEMY WBUDOWANE Układy kombinacyjne c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) Systemy wbudowane Rok akad. 2011/2012

Bardziej szczegółowo

Język Verilog w projektowaniu układów FPGA

Język Verilog w projektowaniu układów FPGA POLITECHNIKA ZIELONOGÓRSKA Wydział Elektryczny Język Verilog w projektowaniu układów FPGA Jacek Bieganowski Grzegorz Wawrzyniak Promotor: dr inż. Marek Węgrzyn Zielona Góra, czerwiec 2001 Spis treści 1.

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

Bardziej szczegółowo

Programowanie Układów Logicznych kod kursu: ETD6203. VHDL, ISE WebPACK, Plan Ahead, Impact W

Programowanie Układów Logicznych kod kursu: ETD6203. VHDL, ISE WebPACK, Plan Ahead, Impact W Programowanie Układów Logicznych kod kursu: ETD6203 VHDL, ISE WebPACK, Plan Ahead, Impact W2 28.02.2018 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu 1 2 3 4 5 6 VHDL powtórka ważniejszych

Bardziej szczegółowo

Quartus. Rafał Walkowiak IIn PP Listopad 2017

Quartus. Rafał Walkowiak IIn PP Listopad 2017 Quartus Rafał Walkowiak IIn PP Listopad 2017 Altera Quartus Narzędzie projektowe dla FPGA I CPLD Umożliwia: wprowadzenie projektu, syntezę logiczną i symulację funkcjonalną, przydział do układów logicznych

Bardziej szczegółowo

Układ cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.

Układ cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące. Układ cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące Stan części operacyjnej Dane wyjściowe Z Synteza

Bardziej szczegółowo

Układy kombinacyjne 1

Układy kombinacyjne 1 Układy kombinacyjne 1 Układy kombinacyjne są to układy cyfrowe, których stany wyjść są zawsze jednoznacznie określone przez stany wejść. Oznacza to, że doprowadzając na wejścia tych układów określoną kombinację

Bardziej szczegółowo

Metoda Newtona przyjmuje następujące założenia dla funkcji :

Metoda Newtona przyjmuje następujące założenia dla funkcji : Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 5 wersja 2015) 1. Temat Realizacja iteracyjnego algorytmu

Bardziej szczegółowo

Projektowanie hierarchiczne Mariusz Rawski

Projektowanie hierarchiczne Mariusz Rawski CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości

Bardziej szczegółowo

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydział Elektroniki Mikrosystemów i Fotoniki Politechnika Wrocławska Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Konfiguracja układu DCM Digital

Bardziej szczegółowo

Języki projektowania HDL

Języki projektowania HDL Języki projektowania HDL Wykład dr inż. Marek Wójcikowski Ver: 2015-03-11 1 Zasady zaliczenia Wykład 2 kolokwia: 22.5+22.5 punktów=45 punktów Obecność na wykładzie 5 punktów Laboratorium 50 punktów Warunek

Bardziej szczegółowo

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD ZAGADNIENIA algebra Boola, bramki logiczne, Przygotowanie plików źródłowych w języku CUPL, Zasady kompilacji

Bardziej szczegółowo

Bloki funkcjonalne. stanowią wyposażenie bibliotek komputerowych systemów projektowania. Każdy układ cyfrowy składamy z bloków funkcjonalnych ZPT

Bloki funkcjonalne. stanowią wyposażenie bibliotek komputerowych systemów projektowania. Każdy układ cyfrowy składamy z bloków funkcjonalnych ZPT Bloki funkcjonalne stanowią wposażenie bibliotek komputerowch sstemów projektowania Licznik Mux Rejestr Każd układ cfrow składam z bloków funkcjonalnch Edtor graficzn IN CLK CK IN LB[7..] STOP] OUT CLOK

Bardziej szczegółowo

PROGRAMOWANIE STRUKTUR CYFROWYCH. Konwencje dla asemblera KCPSM3. Simple IO. PicoBlaze - projekty. c Dr inż. Ignacy Pardyka. Rok akad.

PROGRAMOWANIE STRUKTUR CYFROWYCH. Konwencje dla asemblera KCPSM3. Simple IO. PicoBlaze - projekty. c Dr inż. Ignacy Pardyka. Rok akad. PROGRAMOWANIE STRUTUR CYFROWYCH PicoBlaze - projekty c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2014/2015 1 Instytut Fizyki, Zakład Informatyki, e-mail: ignacy.pardyka@ujk.edu.pl

Bardziej szczegółowo

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości Stałe - constant Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości późniejszych zmian Deklarowane w ciele architektury Widoczne dla całej architektury architecture

Bardziej szczegółowo

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL

PROJEKTOWANIE UKŁADÓW CYFROWYCH Z WYKORZYSTANIEM PAKIETU MULTISIM 2001 ORAZ JĘZYKA OPISU SPRZĘTU VHDL Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 20 XIV Seminarium ZASTOSOWANIE KOMPUTERÓW W NAUCE I TECHNICE 2004 Oddział Gdański PTETiS PROJEKTOWANIE UKŁADÓW CYFROWYCH

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 9 (3h) Projekt struktury hierarchicznej układu cyfrowego w FPGA. Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type Układy Cyfrowe i Systemy Wbudowane 2 XC4000: LUT jako ROM Układy FPGA cz. 2 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.edu.pl W-4/K-9, pok. 227 C-3 FPGA(2) - 1 FPGA(2) - 2 ROM32X1 VHDL inference example

Bardziej szczegółowo