Mam do zaprojektowania licznik asynchroniczny modulo 9 za pomocą przerzutników JK, ale ma on powstać przez ustalenie tabeli przejść a nie przez proste łączenie dwójek liczących. Jak zrobić licznik synchroniczny za pomocą tabeli przejść wiem i jak asynchroniczny przez proste łączenie dwójek liczących też wiem.
W "Układy Scalone TTL w systemach cyfrowych", J. Pienkos, J. Turczyński jest tylko o licznikach asynchronicznych budowanych przez łączenie dwójek liczących. Na googlach też tylko takie znalazłem.
Stworzyłem tabelę przejść, wyznaczyłem funkcje i zbudowałem licznik dokładnie na tej samej zasadzie co synchroniczny tylko podłączyłem inaczej zegar. Efekt:
Jednakże:
Wydaje się, przerzutnik oznaczony jako inst3 zmienia stan z 0 na 1, po kolejnym takcie z 1 na 0, jednak inst2 "nie zdąży załapać się" na sygnał 1, tylko gdy zadziała trafia już na 0. Brakuje jakiegoś opóźnienia?
Funkcje wyznaczone z tabeli przejść są prawidłowe, gdyż dla synchronicznego podłączenia zegara układ działa.
Czy tak powinno budować się liczniki asynchroniczne za pomocą tabeli przejść?
W "Układy Scalone TTL w systemach cyfrowych", J. Pienkos, J. Turczyński jest tylko o licznikach asynchronicznych budowanych przez łączenie dwójek liczących. Na googlach też tylko takie znalazłem.
Stworzyłem tabelę przejść, wyznaczyłem funkcje i zbudowałem licznik dokładnie na tej samej zasadzie co synchroniczny tylko podłączyłem inaczej zegar. Efekt:
Jednakże:
Wydaje się, przerzutnik oznaczony jako inst3 zmienia stan z 0 na 1, po kolejnym takcie z 1 na 0, jednak inst2 "nie zdąży załapać się" na sygnał 1, tylko gdy zadziała trafia już na 0. Brakuje jakiegoś opóźnienia?
Funkcje wyznaczone z tabeli przejść są prawidłowe, gdyż dla synchronicznego podłączenia zegara układ działa.
Czy tak powinno budować się liczniki asynchroniczne za pomocą tabeli przejść?