Układy cyfrowe - Uniwersytet Zielonogórski
Transkrypt
Układy cyfrowe - Uniwersytet Zielonogórski
Układy cyfrowe - laboratorium przygotowali: dr inż. Remgiusz Wiśniewski, dr inż. Piotr Miczulski 8. PODSTAWOWE UKŁADY SEKWENCYJNE - PRZERZUTNIKI CEL ĆWICZENIA Celem laboratorium jest zapoznanie się z budową i zasadą działania podstawowych typów przerzutników. PRZYGOTOWANIE DO ZAJĘĆ Podstawowe typy przerzutników: przerzutnik asynchroniczny synchroniczne RS, D, T i JK, ich budowa i zasada działania. RS oraz przerzutniki funkcję przerzutnika ZADANIE 1 Zamodelować i przeprowadzić symulację układu asynchronicznego RS (z wykorzystaniem bramek NOR). R realizującego I1 O I0 Q I1 O S I0 nQ R S 0 0 1 1 0 1 0 1 Q* Q 1 0 s.z. Rysunek 1. Symbol, schemat logiczny oraz tabela przerzutnika RS (bramki NOR) 1. Przerzutnik zaprojektuj jako oddzielny blok logiczny wykorzystując bramki z biblioteki Built-in symbols. Wyjaśnić wyniki symulacji. 2. Na wejścia R oraz S podaj następujące wymuszenia typu Clock: o dla R: częstotliwość 50 ns, rozpoczynając od wartości 1; o dla S: częstotliwość 75 ns, rozpoczynając od wartości 0. ZADANIE 2 Zamodelować i przeprowadzić symulację układu realizującego asynchronicznego SR (z wykorzystaniem bramek NAND). nS I1 O I0 Q I1 O nR I0 nQ ̅ 0 0 1 1 funkcję ̅ 0 1 0 1 przerzutnika Q* s.z. 1 0 Q Rysunek 2. Symbol, schemat logiczny oraz tabela przerzutnika SR (bramki NOR) 1. 2. Przerzutnik zaprojektuj jako oddzielny blok logiczny wykorzystując bramki z biblioteki Built-in symbols. Wyjaśnić wyniki symulacji. Na wejścia ̅ oraz ̅ podaj następujące wymuszenia typu Clock: a. dla ̅: częstotliwość 50 ns, rozpoczynając od wartości 0; b. dla ̅ : częstotliwość 75 ns, rozpoczynając od wartości 1. Układy cyfrowe - laboratorium przygotowali: dr inż. Remgiusz Wiśniewski, dr inż. Piotr Miczulski ZADANIE 3 Wykorzystując przerzutnik RS z zadania 2 zamodeluj układ realizujący funkcję przerzutnika typu D wyzwalanego poziomem (latch). D Q /Q Clk I1 D O I1 I0 O I0 Q Clk I1 I1 O O I O I0 nQ Q* 0 1 1 1 0 x 0 1 Q I0 Rysunek 3. Symbol, schemat logiczny oraz tabela prawdy przerzutnika D typu latch ZADANIE 4 Przeprowadzić symulację układu przerzutnika D wyzwalanego zboczem (Flip-flop). Porównać wyniki z wynikami uzyskanymi w zadaniu 3. D Q Clk /Q Reset Q* 0 1 0 1 x x 0 1 Q Q Q Q* 0 0 1 1 0 1 0 1 0 1 0 1 Rysunek 4. Symbol, tabela prawdy, graf przejść oraz tabela wzbudzeń przerzutnika D typu flip-flop Wskazówki: Wykorzystaj przerzutnik FDC opisany w języku Verilog (skompiluj kod, aby przerzutnik był dostępny w bibliotece schematu dla danego projektu): module FDC (Q, Clk, Reset, D); output reg Q; input Clk, Reset, D; always @(posedge Clk or posedge Reset) if (Reset) Q <= 1'b0; else Q <= D; endmodule Na wejście zerujące Reset należy podać następujące wymuszenia: o wartość 1 po 0 ns o wartość 0 po 10 ns ZADANIE 5 Przeprowadzić symulację układu przerzutnika JK wyzwalanego zboczem (Flip-flop). J Q Clk /Q K Reset J 0 0 1 1 K 0 1 0 1 Q* Q 0 1 ̅ Q Q* 0 0 1 1 0 1 0 1 J 0 1 - Rysunek 5. Symbol, tabela prawdy, graf przejść oraz tabela wzbudzeń przerzutnika JK typu flip-flop 1 0 Układy cyfrowe - laboratorium przygotowali: dr inż. Remgiusz Wiśniewski, dr inż. Piotr Miczulski Wskazówki: Wykorzystaj przerzutnik FJKC opisany w języku Verilog (skompiluj kod, aby przerzutnik był dostępny w bibliotece schematu dla danego projektu): module FJKC (Q, Clk, Reset, J, K); output reg Q; input Clk, Reset, J, K; always @ (posedge Clk or posedge Reset) if (Reset == 1'b1) Q <= 1'b0; else if (J==1'b0 && K==1'b0) Q <= Q; else if (J==1'b0 && K==1'b1) Q <= 1'b0; else if (J==1'b1 && K==1'b0) Q <= 1'b1; else if (J==1'b1 && K==1'b1) Q <=~Q; endmodule ZADANIE 6 Zamodeluj układ dwójki liczącej z wykorzystaniem przerzutnika typu D. ZADANIE 7 Zamodeluj układ dwójki liczącej z wykorzystaniem przerzutnika typu JK. LISTA OMÓWIONYCH ZAGADNIEŃ 1. 2. 3. 4. Przerzutniki asynchroniczne i synchroniczne. Przerzutniki wyzwalane poziomem (Latch) i zboczem (flip-flop). Przerzutniki typu RS, D, T i JK. Dwójka licząca.