Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Technika Cyfrowa - problem z zadaniami

Moderatorzy: Jacek Bogusz, Moderatorzy

daytek
-
-
Posty: 1
Rejestracja: 27 sty 2010, o 22:07
Lokalizacja: Kołobrzeg

Technika Cyfrowa - problem z zadaniami

Postautor: daytek » 27 sty 2010, o 22:13

Witam
Liczę na to, że znajdzie się tu, na forum osoba, która mogłaby pomóc mi w rozwiązaniu 2 zadań. Jeżeli "dziękuję" nie wystarczy, może się jakoś dogadamy.
Oto treść:

Kod: Zaznacz cały

Zaprojektuj i zrealizuj za pomocą funktorów NAND iteracyjny układ kombinacyjny 3 - bitowego komparatora o strukturze pojedyńczego bloku. Gdy d=m=0, r=1.

Kod: Zaznacz cały

Zaprojektuj i zrealizuj na przerzutnikach JK synchroniczny licznik o powtarzającej się sekwencji stanów 0 2 4 6 8 10 9 7 5 3 1 0 ... Częstotliwość pracy układu sygnalizuj migającą diodą.
Pozdrawiam

tg3a
-
-
Posty: 243
Rejestracja: 26 maja 2008, o 19:46
Lokalizacja: Warszawa

Re: Technika Cyfrowa - problem z zadaniami

Postautor: tg3a » 28 sty 2010, o 13:00

Witam.

Kod: Zaznacz cały

Zaprojektuj i zrealizuj za pomocą funktorów NAND iteracyjny układ kombinacyjny 3 - bitowego komparatora o strukturze pojedyńczego bloku. Gdy d=m=0, r=1.
Moja podpowiedź jest następująca: Jeśli mamy dwie liczby nieujemne (powiedzmy 3-cyfrowe), na razie przyjmijmy, że w układzie dziesiątkowym, to jak je porównujemy? Najpierw porównujemy cyfry setek, jeśli któraś jest większa, to już wiemy, która liczba jest większa, a jeśli są równe, to przechodzimy do porównywania cyfr dziesiątek, i postępujemy podobnie. Jeśli i tu nie stwierdzimy, która liczba jest większa, to porównujemy cyfry jedności. Jeśli i tu nie stwierdzimy, że któraś liczba jest większa, to liczby są równe. I to jest właśnie iteracyjny algorytm porównywania liczb - powtarzamy trzykrotnie (bo liczby są 3-cyfrowe) to samo działanie.
Z liczbami dwójkowymi postępujemy dokładnie tak samo, różnica jest tylko taka, że cyfry mogą być równe tylko 0 lub 1.
Zdanie "Gdy d=m=0, r=1" rozumiem jako podpowiedź, że można użyć dwóch sygnałów przenoszących informację z jednego etapu iteracji na następny: sygnału d, który jest równy 1, gdy pierwsza liczba jest większa od drugiej (duża), oraz sygnału m, który jest równy 1, gdy pierwsza liczba jest mniejsza od drugiej. Stan d=m=0 będzie oznaczał, że jak na razie nie stwierdziliśmy, żeby któraś liczba była większa, czyli że są one, póki co do tej pozycji, równe.
Trzeba więc napisać tabele prawdy dla pojedynczego bloku iteracyjnego, który będzie miał dwa wejścia w postaci bitów obu porównywanych liczb na danej pozycji (np. a1 i b1, a ogólnie ai i bi, gdzie i=0, 1 lub 2), a także dwa wejścia d i m sygnałów propagujących się od bitu najstarszego do najmłodszego. Tabele te będą określały stany sygnałów wyjściowych d' i m', przechodzących na następny blok iteracyjny młodszej pozycji. Tabele te powinny uwzględniać, co następuje:
Gdy na wejściu d lub m występuje jedynka, wyjścia d' i m' powinny niezależnie od ai i bi powtarzać stan wejść d i m, bo to oznacza, że już okazało się, która liczba jest większa. Jeśli natomiast i d i m są równe zeru, to jeśli ai>bi, przyjmijmy, że ten stan opisujemy jako d'=1 oraz m'=0. Konsekwentnie musimy przyjąć, że dla ai<bi d'=0 oraz m'=1. Dla ai=bi (przy d=m=0) bloczek iteracyjny powinien odpowiadać, zgodnie z opisaną wyżej ideą, stanem d'=m'=0 (bo nie wiedzieliśmy, która liczba jest większa, i po porównaniu cyfr na pozycji i-tej nadal tego nie wiemy, bo cyfry na tej pozycji są równe).
W całym powyższym opisie i powinno być w indeksie, a zamiast d i m powinienem pisać di i mi (i w indeksie), oraz zamiast d' i m', powinienem pisać d i m z indeksem równym i-1. Nie robiłem tak dlatego, że nie mam do dyspozycji indeksów, a przykładowo zapis di-1 może być mylący, bo w pierwszej chwili jest rozumiany jako odjęcie 1 od di.
Po napisaniu tabel prawdy należy napisać siatki Karnaugha... ale to w miarę potrzeby następnym razem.
Pozdrawiam.

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 90 gości