Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

2004 Krzysztof Jasiński PRUS PRUS Język VERILOG w praktyce.

Podobne prezentacje


Prezentacja na temat: "2004 Krzysztof Jasiński PRUS PRUS Język VERILOG w praktyce."— Zapis prezentacji:

1 2004 Krzysztof Jasiński PRUS PRUS Język VERILOG w praktyce

2 2004 Krzysztof Jasiński PRUS PRUS Język VERILOG Przykłady syntezy blokowej

3 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 3 Elementy systemu cyfrowego magistrala danych Rys System cyfrowy złożony z k-rejestrów połączonych z magistralą danych R1 in Rk in magistrala zegar R1 out R2 in R2 out Rk out Układ sterujący funkcja R1R2Rk Dane Extern

4 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 4 Elementy systemu cyfrowego magistrala danych cd. Rys Połączenie rejestrów z magistralą z użyciem buforów trójstanowych

5 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 5 Elementy systemu cyfrowego magistrala danych cd. Rys Specyfikacja n-bitowego rejestru (konstrukcja jak na rys. 7.61) module regn (R, Rin, Clock, Q); parameter n = 8; input [n-1:0] R; input Rin, Clock; // Rin - zezwolenie output [n-1:0] Q; reg [n-1:0] Q; Clock) if (Rin) Q <= R; endmodule

6 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 6 Elementy systemu cyfrowego magistrala danych cd. Rys Specyfikacja n-bitowego modułu trójstanowego module trin (Y, E, F); parameter n = 8; input [n-1:0] Y; input E; // zezwolenie output [n-1:0] F; wire [n-1:0] F; assign F = E ? Y : 'bz; // bz – stan trzeci endmodule

7 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 7 Elementy systemu cyfrowego magistrala danych cd. Rys Rejestr przesuwający - przykład układu sterującego wymianą danych w systemie z rys D Q Q Zegar D Q Q D Q Q w R2 out R3 in Reset R1 out R2 in R3 out R1 in

8 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 8 Elementy systemu cyfrowego magistrala danych cd. Rys Specyfikacja rejestru z rys module shiftr (Resetn, w, Clock, Q); parameter m = 4; input Resetn, w, Clock; output [1:m] Q; reg [1:m] Q; integer k; Resetn or posedge Clock) if (!Resetn) Q <= 0; else begin for (k = m; k > 1; k = k-1) Q[k] <= Q[k-1]; Q[1] <= w; end endmodule

9 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 9 Elementy systemu cyfrowego magistrala danych cd. Rys Specyfikacja systemu cyfrowego z rys. 7.60

10 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 10 Elementy systemu cyfrowego magistrala danych cd. Rys Magistrala danych z multiplekserami Dane R1 in Multipleksery R2 in Rk in Magistrala Zegar S j1– S 0 R1R2Rk

11 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 11 Elementy systemu cyfrowego magistrala danych cd. Rys Specyfikacja magistrali danych z multiplekserami

12 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 12 Elementy systemu cyfrowego magistrala danych cd. Rys Uproszczona wersja specyfikacji z rys. 7.70

13 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 13 Przykład systemu cyfrowego: prosty procesor Rys Schemat blokowy prostego procesora

14 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 14 Przykład systemu cyfrowego: prosty procesor Tablica 7.2. Operacje wykonywane przez procesor Operacja Realizowana funkcja Load Rx, Data Move Rx, Ry Add Rx, Ry Sub Rx, Ry RxData Rx Ry Rx Ry Rx Ry _ +

15 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 15 Przykład systemu cyfrowego: prosty procesor cd. Rys Fragment układu sterowania – fazy taktowania Reset Licznik (up) Clear w 0 En y 0 w 1 y 1 y 2 y 3 1 T 1 T 2 T 3 dekoder2-na-4 Q 1 Q 0 Zegar T 0

16 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 16 Przykład systemu cyfrowego: prosty procesor cd. Rys Układu sterowania – pomocnicze sygnały wyboru funkcji Zegar X 0 w 0 En y 0 w 1 y 1 y 2 y 3 1 X 1 X 2 X 3 Dekoder 2-na- 4 Rejestr funkcji Y 0 w 0 En y 0 w 1 y 1 y 2 y 3 1 Y 1 Y 2 Y 3 I 0 y 0 y 1 y 2 y 3 1 I 1 I 2 I 3 Dekoder 2-na-4 FR in f 1 f 0 Rx 1 0 Ry 1 0 w 0 w 1 Funkcja Dekoder 2-na- 4

17 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 17 Przykład systemu cyfrowego: prosty procesor cd. Rys. 7.75a. Specyfikacja sygnałów sterujących procesora Clear = wT 0 + Done; FR in = wT 0 Extern = I 0 T 1 Done = (I 0 + I 1 )T 1 + (I 2 + I 3 )T 3 A in = (I 2 + I 3 ) T 1 G in = (I 2 + I 3 )T 2 G out = (I 2 + I 3 ) T 3 AddSub = I 3 ¯

18 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 18 Przykład systemu cyfrowego: prosty procesor cd. Tablica Sygnały sterujące wymagane w każdej operacji/fazie działania R0 in = (I 0 + I 1 )T 1 X 0 + (I 2 + I 3 )T 3 X 0 R0 out = I 1 T 1 Y 0 + (I 2 + I 3 )(T 1 X 0 + T 2 Y 0 )

19 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 19 Przykład systemu cyfrowego: prosty procesor cd. Rys Pomocniczy licznik (up-count) z synchronicznym resetem module upcount (Clear, Clock, Q); input Clear, Clock; output [1:0] Q; reg [1:0] Q; Clock) if (Clear) Q <= 0; else Q <= Q + 1; endmodule

20 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 20 Przykład systemu cyfrowego: prosty procesor cd. Rys Specyfikacja procesora (część a)

21 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 21 Przykład systemu cyfrowego: prosty procesor cd. Rys Specyfikacja procesora (część b.)

22 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 22 Przykład systemu cyfrowego: prosty procesor cd. Rys Alternatywna specyfikacja procesora (część a)

23 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 23 Przykład systemu cyfrowego: prosty procesor cd. Rys Alternatywna specyfikacja procesora (część b)

24 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 24 Przykład systemu cyfrowego: prosty procesor cd. Rys Alternatywna specyfikacja procesora (część c)

25 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 25 Przykład systemu cyfrowego: miernik czasu reakcji Rys Układ do pomiaru czasu reakcji D Q Q Dwucyfrowy licznik BCD w 0 a w 1 b w 2 w 3 g w 0 a w 1 b w 2 w 3 g BCD 0 1 E Konwertor c 9 V DD R w V R L (b) Przełącznik, dioda LED, wyświetlacz 7-segmentowy Zerowanie Clear (a) Dzielnik zegara licznik 10-bitowy Zegar c 0 c 1 c 9 przełącznik LED Konwertor Wyświetlacze 7-segmentowe

26 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 26 Przykład systemu cyfrowego: miernik czasu reakcji cd. Rys Specyfikacja dwucyfrowego licznika BCD

27 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 27 VERILOG – specyfikacja automatów Rys. 8.3 Graf stanów prostego automatu (typ Moorea) Cz1= Reset Bz0= Az0= w0= w1= w1= w0= w0= w1=

28 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 28 VERILOG – specyfikacja automatów cd. Rys Specyfikacja automatu z rys. 8.3 module simple (Clock, Resetn, w, z); input Clock, Resetn, w; output z; reg [2:1] y, Y; parameter [2:1] A = 2'b00, B = 2'b01, C = 2'b10; // kodowanie stanów automatu // Określenie stanu następnego – część kombinacyjna or y) case (y) A: if (w)Y = B; else Y = A; B: if (w)Y = C; else Y = A; C: if (w)Y = C; else Y = A; default: Y = 2'bxx; endcase // Określenie bloku sekwencyjnego Resetn or posedge Clock) if (Resetn == 0)y <= A; else y <= Y; // Określenie wyjścia assign z = (y == C); endmodule

29 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 29 VERILOG – specyfikacja automatów cd. Rys Druga wersja specyfikacji automatu z rys. 8.3 module simple (Clock, Resetn, w, z); input Clock, Resetn, w; output z; reg z; reg [2:1] y, Y; parameter [2:1] A = 2'b00, B = 2'b01, C = 2'b10; // Kodowanie stanów automatu // Określenie stanu następnego – część kombinacyjna or y) begin case (y) A: if (w)Y = B; elseY = A; B: if (w)Y = C; elseY = A; C: if (w)Y = C; elseY = A; default: Y = 2'bxx; endcase z = (y == C);//Określenie wyjścia end // Określenie bloku sekwencyjnego Resetn or posedge Clock) if (Resetn == 0) y <= A; else y <= Y; endmodule

30 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 30 VERILOG – specyfikacja automatów cd. Rys Uproszczona wersja specyfikacji automatu z rys. 8.3 module simple (Clock, Resetn, w, z); input Clock, Resetn, w; output z; reg [2:1] y; parameter [2:1] A = 2'b00, B = 2'b01, C = 2'b10; // Kodowanie stanów automatu // Określenie bloku sekwencyjnego Resetn or posedge Clock) if (Resetn == 0)y <= A; else case (y) A: if (w)y <= B; elsey <= A; B: if (w)y <= C; elsey <= A; C: if (w)y <= C; elsey <= A; default:y <= 2'bxx; endcase // Określenie wyjścia assign z = (y == C); endmodule

31 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 31 VERILOG – specyfikacja automatów cd. Rys Specyfikacja automatu Mealyego z rys A w0=z0= w1=z1= B w0=z0= Reset w1=z0=

32 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 32 Rys Schemat sumatora sekwencyjnego Przykład : sumator sekwencyjny SumAB += Rejestr przes. QA Automat Sterujący sumator B A a b s Zegar Rejestr przes. QB Rejestr przesuw.

33 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 33 Rys Graf stanów automatu sterującego sumatora Przykład : sumator sekwencyjny cd.

34 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 34 Rys Zakodowana tablica p-w automatu sterującego Przykład : sumator sekwencyjny cd. Stan bieżący Stan następnyWyjście ab = y Ys (G) Y = ab + ay + by S = a b y (H) 1

35 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 35 Rys Pomocniczy rejestr przesuwający w prawo z wejściem zezwolenia En Przykład : sumator sekwencyjny cd. module shiftrne (R, L, E, w, Clock, Q); parameter n = 8; input [n-1:0] R; // Wejście równoległe input L, E, w, Clock;// L – ładowanie z we R, w – wejście szeregowe output [n-1:0] Q; reg [n-1:0] Q; integer k; Clock) if (L)// Ładowanie Q <= R; else if (E) begin for (k = n-1; k > 0; k = k-1) Q[k-1] <= Q[k]; // Przesuwanie w prawo Q[n-1] <= w; // Wsuwanie do wejścia rejestru (Q[n-1]) end endmodule

36 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 36 Rys Szczegółowy schemat funkcjonalny sumatora sekwencyjnego Przykład : sumator sekwencyjny cd. Automat sumatora Zegar E w L E w L b 7 b 0 a 7 a 0 E w L E L Q 3 Q 2 Q 1 Q 0 D 3 D 2 D 1 D Licznik 00 Reset Sum Run Rejestr

37 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 37 Rys Specyfikacja sumatora sekwencyjnego Przykład : sumator sekwencyjny cd.

38 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 38 Rys Algorytm licznika jedynek i schemat funkcjonalny (część operacyjna) Przykład : licznik jedynek w słowie B=0; while A 0 do if a 0 =1 then B=B+1 ; end if; Right-shift A ; end while;

39 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 39 Przykład : licznik jedynek w słowie cd. Rys Sieć działań układu sterującego licznika

40 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 40 Przykład : licznik jedynek w słowie cd. Rys Specyfikacja układu licznika jedynek cz. a.

41 2004 Krzysztof Jasiński ITPWITPW PRUS – W6 41 Przykład : licznik jedynek w słowie cd. Rys Specyfikacja układu licznika jedynek cz. b.


Pobierz ppt "2004 Krzysztof Jasiński PRUS PRUS Język VERILOG w praktyce."

Podobne prezentacje


Reklamy Google