Sprawozdanie
Rodzaj zajęć i nazwa przedmiotu
Laboratorium Teorii układów cyfrowych
Rok akademicki
Miasto
Tryb
Kierunek
Semestr
Prowadzący
Grupa
Sekcja
2024/2025 G S
INF
3
TR
2
1
Planowany termin wykonywania ćwiczenia
Data
Godzina
8.01.2025
Faktyczny termin wykonania ćwiczenia
Data
Godzina
8:00
8.01.2025
Numer
ćwiczenia
Temat ćwiczenia
7
Dynamika układów cyfrowych
Skład sekcji
Imię i nazwisko
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Karol Pethe
Łukasz Wolf
Uwagi
8:00
Zadanie 1.
Treść:
Zrealizuj układ przedstawiony na rysunku. Wyjście układu podłącz do wejścia licznika
zegarowego licznika synchronicznego. Sprawdź czy układ działa poprawnie. Jeżeli nie to pokaż
sytuacje, w których układ działa niepoprawnie. Sprawdź także czy można coś wtedy
poprawić.
Rozwiązanie:
Podczas badania układu zauważyliśmy, że w przypadku gdy b = c = 1, naciśnięcie przycisku a
inkrementowało licznik. Wskazywało to na występowanie hazardu logicznego w naszym
układzie. Analiza za pomocą oscyloskopu pozwoliła udowodnić naszą tezę.
Zdjęcia z oscyloskopu, Występowanie hazardu oznaczyliśmy kolorem zielonym:
Występowanie hazardu oznaczyliśmy kolorem zielonym
Na przebiegu poniżej widoczny jest czas występowania hazardu (73ns):
W celu pozbycia się hazardu, stworzyliśmy siatkę Karnaugha na podstawie działania naszego
układu, stworzyliśmy odpowiednie grupy, dzięki czemu zobaczyliśmy gdzie możemy
zastosować grupę antyhazardową. Grupę tą zaznaczyliśmy kolorem zielonym:
Na podstawie zaznaczonych grup stworzyliśmy funkcje wyjściową:
Schemat (zamiast podanych w treści zadania bramek NOT użyliśmy bramek NAND):
Po ponownym sprawdzeniu układu był wolny od hazardu, co udowadnia brak
inkrementowania się licznika.
Zadanie 2a
Treść:
Zaprojektować na przerzutnikach sr asynchroniczny układ przedstawiony w postaci tablicy
przejść/wyjść. Przypisać następujące kody: 0 – 00, 1 – 01, 2 – 11, 3 – 10. Sprawdź czy układ
działa poprawnie. Jeżeli nie to narysuj jego graf pracy. Sprawdź także czy można przy takim
kodzie coś poprawić.
Kodowanie stanów w siatce:
Zauważyliśmy, że w naszym układzie występują wyścigi, które oznaczyliśmy kolorem
czerwonym:
Aby rozwiązać problem wyścigów, dodaliśmy w siatce odpowiednie przekierowania:
Na podstawie nowej siatki utworzyliśmy siatki Karnaugha i wyznaczyliśmy funkcje logiczne:
Schemat:
Wnioski:
Podczas badań układów cyfrowych wykryto hazardy logiczne, które powodowały
niepożądane działanie. Udało nam się je zlikwidować za pomocą dodania grupy
antyhazardowyej do siatki. Podczas zajęć poznaliśmy również metodę eliminacji wyścigów.