-28-
3.1.2. Przykład układu sekwencyjnego
Załóżmy, że mamy zbudować przerzutnik SR synchronizowany narastającym zboczem sygnału zegarowego (rys. 2.14). Milcząco zakładamy także znajomość jego działania. Najpierw, oczywiście, weryfikujemy odpowiednią liczbę bramek i przewodów, które będziemy używać przy montażu. Następnie rozpoczynamy realizację przerzutnika. Jako pierwszy blok montujemy przerzutnik asynchroniczny sr (rys. 2.10). Następnie rozbudowujemy go o dwie bramki NAND i dodajemy sygnał zegarowy. W efekcie otrzymamy przerzutnik SR synchronizowany szerokością impulsu (rys. 2.11). Trzeba zaznaczyć, że należy zastosować od razu bramki NAND trójwejściowe, aby zapobiec późniejszym zmianom struktury naszego układu. W celu wyeliminowania niepożądanej cechy przerzutnika SR synchronizowanego poziomem, która polega na przenoszeniu dla C = 1 wszystkich zmian z wejść na jego wyjścia informacyjne, zamieniamy bramki U2A i U2B na przerzutniki asynchroniczne sr. Fizycznie oznacza to dodanie kolejnych dwóch bramek NAND i dwóch negacji (rys. 2.12 - U2C, U4A, U3A, U3B). Aby uniemożliwić występowanie stanu zabronionego 1 1, na wejściu pierwszego przerzutnika sr (U1A, U1B - symbol: J oznacza zanegowany sygnał s), należy zmodyfikować dotychczasowy schemat logiczny i wprowadzić dodatkowe dwa połączenia (rys. 2.13). Niestety, także i to nie jest ostateczna wersja budowanego przerzutnika. Wymaga on jeszcze jednej korekcji - dodania kolejnych dwóch bramek NAND (rys. 2.14 -U1C.U1D).
7404
7410
Rys. 2.10. Przerzutnik asynchroniczny sr Rys. 2.11. Przerzutnik synchroniczny SR
7404 7410
Rys. 2.12. Przerzutnik SR po modyfikacji - trzy przerzutniki sr
7404 7410
Rys. 2.13. Przerzutnik SR z wyeliminowanym występowaniem stanu zabronionego I 1
Rys. 2.14. Przerzutnik SR synchronizowany zboczem narastającym
Trzeba pamiętać, że za każdym razem, gdy rozszerzymy budowany układ cyfrowy, musimy sprawdzić poprawność jego funkcjonowania. Bardzo często zdarza się, że działający cały czas zgodnie z oczekiwaniami przerzutnik SR, „zatrzaskuje się” w stanie: Q = 0,Q = 1 po ostatniej modyfikacji (tzn. po dodaniu bramek NAND - u nas U1C i U1D). Jest to wynikiem zamiany sygnałów wejściowych między bramkami U1C i U1D - na U1C jest podawany sygnałS1, zamiast/?