Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik asynchroniczny modulo 6/11 - błąd w schemacie czy efekt hazardu?

uczen100 12 Lis 2013 18:22 2631 4
  • #1 12 Lis 2013 18:22
    uczen100
    Poziom 10  

    Witam,

    mam zaprojektować licznik asynchroniczny modulo 6/11 (wybór zakresu ustawia się dodatkowym wejściem). Wykorzystać mam asynchroniczne wejście RESET (0 jako aktywny stan wejścia RESET).

    Sporządziłem tabelę prawdy:
    Licznik asynchroniczny modulo 6/11 - błąd w schemacie czy efekt hazardu?

    gdzie A steruje trybem pracy 6/11.

    Następnie na jej podstawie stworzyłem siatkę Karnaugh dla funkcji RESET.
    Licznik asynchroniczny modulo 6/11 - błąd w schemacie czy efekt hazardu?

    Zbudowałem układ w symulatorze. Dla modulo 6 układ działa prawidłowo, jednak dla modulo 10 już nie i układ zachowuje się jakby był modulo 8 - liczy od nowa w momencie pojawienia się ósemki.

    Poczytałem trochę więcej na temat siatek Karnaugh i wyczytałem, że dodatkowym warunkiem przy zakreślaniu grup jest to, aby były one symetryczne względem względem którejś z głównych (bądź podgłównych) osi siatki.
    Znalazłem siatkę o wymiarach takich jak moja z zaznaczonymi osiami:
    Licznik asynchroniczny modulo 6/11 - błąd w schemacie czy efekt hazardu?

    I doszedłem do wniosku, że część z moich grup nie spełnia tego warunku, a więc na nowo pozaznaczałem grupy i uzyskałem taką siatkę:
    Licznik asynchroniczny modulo 6/11 - błąd w schemacie czy efekt hazardu?

    Ale układ zachowuję się tak samo jak poprzedni i nie mam już pomysłu co może być przyczyną. Czyżby występowało tu zjawisko hazardu i to takie same w dwóch różnych schematach?

    W załączniku załączam schemat pierwszej i drugiej wersji zbudowane w CEDAR Logic Symulator.

    0 4
  • #2 12 Lis 2013 19:35
    jiwaniuk
    Poziom 30  

    Może to nie całkiem na temat, ale układ jeszcze możesz uprościć łącząc grupę pomarańczową z lewą kolumną grupy czerwonej oraz jedynkę brązową z górną jedynką zieloną. Takie połączenie grup może ewentualnie wyeliminować hazard.
    A swoją drogą to wrzuć schemat w jakimś cywilizowanym formacie (np. w pdf lub jpg) bo tego twojego nie da sie otworzyć, a programu to nie będę specjalnie instalować i uczyć się jego obsługi.

    Pozdrawiam wszystkich

    jjanek

    0
  • #3 12 Lis 2013 19:49
    uczen100
    Poziom 10  

    Rozumiem, że mówisz o drugiej siatce.
    Jednak robiąc tak jak napisałeś, czyli łącząc brązową jedynkę z tą do góry zieloną zbliżamy się z powrotem do pierwszej siatki. Co oznacza, że takie zakreślenie nie jest symetryczne względem żadnej z osi zaznaczonych na rysunku. Więc jak to jest z tą symetrycznością? Jest ona wymaga czy może wyłącznie z jakiegoś powodu zalecana?

    Spróbuje zaraz wrzucić schematy, jednak nie były one tworzone z myślą o maksymalnej czytelności, a głównie na potrzeby symulacji.

    0
  • Pomocny post
    #4 12 Lis 2013 20:08
    jiwaniuk
    Poziom 30  

    Osie które zaznaczyłeś na rysunku są dla grup dużych (4 i więcej). Takie same osie symetrii występują również dla grup mniejszych, ale wtedy bardzo zaciemniłyby rysunek i nie byłoby widać o co chodzi.
    Ogólna zasada jest taka, że dwie jedynki tworzace grupę mogą różnić się wartościami tylko na jednej pozycji, cztery na dwóch itd.
    Czasem dodanie nadprogramowej grupy eliminuje zjawiska hazardu.

    Pozdrawiam wszystkich

    jjanek

    0
  • #5 13 Lis 2013 06:45
    kondziu jah
    Poziom 33  

    Twoja minimalizacja jest nadal niepełna. Powinieneś zaznaczyć grupę czteroelementową 00010, 01010, 00000, 01000 i - jak wspomniał kolega wcześniej - poszerzyć grupę pomarańczową o kolumnę 000.

    0