Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język VERILOG w praktyce.

Podobne prezentacje


Prezentacja na temat: "Język VERILOG w praktyce."— Zapis prezentacji:

1 Język VERILOG w praktyce

2 Język VERILOG Przykłady syntezy blokowej

3 Elementy systemu cyfrowego magistrala danych
Dane Extern magistrala zegar R 1 R 2 Rk R 1 R 1 R 2 R 2 Rk Rk in out in out in out Układ sterujący funkcja Rys System cyfrowy złożony z k-rejestrów połączonych z magistralą danych

4 Elementy systemu cyfrowego magistrala danych cd.
Rys Połączenie rejestrów z magistralą z użyciem buforów trójstanowych

5 Elementy systemu cyfrowego magistrala danych cd.
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  Rys Specyfikacja n-bitowego rejestru (konstrukcja jak na rys. 7.61)

6 Elementy systemu cyfrowego magistrala danych cd.
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 Rys Specyfikacja n-bitowego modułu trójstanowego

7 Elementy systemu cyfrowego magistrala danych cd.
2 , R 3 R 1 , R 2 R 3 , R 1 out in out in out in w D Q D Q D Q Zegar Q Q Q Reset Rys Rejestr przesuwający - przykład układu sterującego wymianą danych w systemie z rys. 7.60

8 Elementy systemu cyfrowego magistrala danych cd.
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 Rys Specyfikacja rejestru z rys. 7.62

9 Elementy systemu cyfrowego magistrala danych cd.
Rys Specyfikacja systemu cyfrowego z rys. 7.60

10 Elementy systemu cyfrowego magistrala danych cd.
1 R 2 Rk in R 1 in R 2 in Rk Zegar Dane S Multipleksery S j 1 Rys Magistrala danych z multiplekserami

11 Elementy systemu cyfrowego magistrala danych cd.
Rys Specyfikacja magistrali danych z multiplekserami

12 Elementy systemu cyfrowego magistrala danych cd.
Rys Uproszczona wersja specyfikacji z rys. 7.70

13 Przykład systemu cyfrowego: prosty procesor
Rys Schemat blokowy prostego procesora

14 Przykład systemu cyfrowego: prosty procesor
Operacja Realizowana funkcja Load Rx, Data Rx Data Move Rx, Ry Rx Ry Add Rx, Ry Rx Rx + Ry _ Sub Rx, Ry Rx Rx Ry Tablica 7.2. Operacje wykonywane przez procesor

15 Przykład systemu cyfrowego: prosty procesor cd.
1 2 3 y y y y 1 2 3 dekoder2-na-4 w w En 1 1 Q Q Zegar 1 Licznik (up) Clear Reset Rys Fragment układu sterowania – fazy taktowania

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

17 Przykład systemu cyfrowego: prosty procesor cd.
Clear = wT0 + Done; FRin = wT0 Extern = I0T1 Done = (I0 + I1)T1 + (I2 + I3)T3 Ain = (I2 + I3) T1 Gin = (I2 + I3)T2 Gout = (I2 + I3) T3 AddSub = I3 Rys. 7.75a. Specyfikacja sygnałów sterujących procesora

18 Przykład systemu cyfrowego: prosty procesor cd.
R0in = (I0 + I1)T1X0 + (I2 + I3)T3X0 R0out = I1 T1Y0 + (I2 + I3)(T1X0 + T2Y0) Tablica Sygnały sterujące wymagane w każdej operacji/fazie działania

19 Przykład systemu cyfrowego: prosty procesor cd.
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 Rys Pomocniczy licznik (up-count) z synchronicznym resetem

20 Przykład systemu cyfrowego: prosty procesor cd.
Rys Specyfikacja procesora (część a)

21 Przykład systemu cyfrowego: prosty procesor cd.
Rys Specyfikacja procesora (część b.)

22 Przykład systemu cyfrowego: prosty procesor cd.
Rys Alternatywna specyfikacja procesora (część a)

23 Przykład systemu cyfrowego: prosty procesor cd.
Rys Alternatywna specyfikacja procesora (część b)

24 Przykład systemu cyfrowego: prosty procesor cd.
Rys Alternatywna specyfikacja procesora (część c)

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

26 Przykład systemu cyfrowego: miernik czasu reakcji cd.
Rys Specyfikacja dwucyfrowego licznika BCD

27 VERILOG – specyfikacja automatów
z 1 = Reset B A w Rys. 8.3 Graf stanów prostego automatu (typ Moore’a)

28 VERILOG – specyfikacja automatów cd.
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; C: if (w) Y = C; 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 Rys Specyfikacja automatu z rys. 8.3

29 VERILOG – specyfikacja automatów cd.
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; else Y = A; B: if (w) Y = C; C: if (w) Y = C; 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 Rys Druga wersja specyfikacji automatu z rys. 8.3

30 VERILOG – specyfikacja automatów cd.
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; else y <= A; B: if (w) y <= C; C: if (w) y <= C; default: y <= 2'bxx; endcase   // Określenie wyjścia assign z = (y == C); endmodule Rys Uproszczona wersja specyfikacji automatu z rys. 8.3

31 VERILOG – specyfikacja automatów cd.
= z 1 B Reset Rys Specyfikacja automatu Mealy’ego z rys. 8.23

32 Przykład : sumator sekwencyjny
Rejestr przes. QA Automat Sterujący sumator s Rejestr przesuw. Rejestr przes. QB b Sum = A + B B Zegar Rys Schemat sumatora sekwencyjnego

33 Przykład : sumator sekwencyjny cd.
Rys Graf stanów automatu sterującego sumatora

34 Przykład : sumator sekwencyjny cd.
Stan następny Wyjście Stan bieżący ab =00 01 10 11 00 01 10 11 y Y s (G) 0 1 1 1 (H) 1 1 1 1 1 1 Y = ab + ay + by S = a  b  y Rys Zakodowana tablica p-w automatu sterującego

35 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 Rys Pomocniczy rejestr przesuwający w prawo z wejściem zezwolenia En

36 Przykład : sumator sekwencyjny cd.
1 a a D D D D 7 3 2 1 L E Licznik L w Rejestr Q Q Q Q 3 2 1 1 E Automat sumatora b b 7 Run L w Rejestr 1 E L w Rejestr E Zegar Reset Sum Sum 7 Rys Szczegółowy schemat funkcjonalny sumatora sekwencyjnego

37 Przykład : sumator sekwencyjny cd.
Rys Specyfikacja sumatora sekwencyjnego

38 Przykład : licznik jedynek w słowie
B = ; while A do if a = 1 then B = B + 1 ; end if; Right-shift A ; end while; Rys Algorytm licznika jedynek i schemat funkcjonalny (część operacyjna)

39 Przykład : licznik jedynek w słowie cd.
Rys Sieć działań układu sterującego licznika

40 Przykład : licznik jedynek w słowie cd.
Rys Specyfikacja układu licznika jedynek cz. a.

41 Przykład : licznik jedynek w słowie cd.
Rys Specyfikacja układu licznika jedynek cz. b.


Pobierz ppt "Język VERILOG w praktyce."

Podobne prezentacje


Reklamy Google