logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak stworzyć komparator 4-bitowy z tabelą prawdy i siatką Karnaugha?

primo138 20 Gru 2003 18:13 2808 12
REKLAMA
  • #1 444592
    primo138
    Poziom 11  
    Posty: 22
    Mam do zrobienia komparator dówch 4 bitowych liczb A i B. układ ma sygnalizować 3 stany a) A>B, b) B=A c) A<B.
    nie wiem za bardzo jak rozpisac tabele prawdy by mieć jak zrobić siatke Karnaugha by zas sporządzić odpowiednie funkcje?
    Problem w tym że nie wiem za bardzo jak do tego podejsc.
    Proszę o jakieś sugestie...
  • REKLAMA
  • #2 444623
    ACULA
    Poziom 34  
    Posty: 3005
    Pomógł: 105
    Ocena: 114
    takie układy najlepiej rozwalić przez rozbicie na układy połączone kaskadowo. Pojedyńczy układ posiada 5 wejśc i 3 wyjścia
    Załóżmy że porównywanie zaczyna się od najmłodszych bitów. Są 3 tabele dla każdego wyjścia.
    A>B tabela uwzględnia dwa bieżące bity oraz bit A>B z poprzedniego
    A<B podobnie z bitem A<B
    A=B uwzględnia bieżące, oraz A=B z poprzedniego

    drugi sposób to przekształcenia na zmiennych + intuicja
    np równość do suma EXOR poszczególnych par
  • REKLAMA
  • #3 444642
    tgrzyska
    Poziom 14  
    Posty: 92
    Ocena: 13
    Prosta sprawa - tutaj przedstawię Ci rozwiązanie dla liczb 2-bitowych - analogicznie zrobisz dla liczbe 4-ro bitowych:

    B>A

    |00|01|11|10|a1a0
    ----------------
    00| 0| 0| 0| 0|
    01| 1| 0| 0| 0|
    11| 1| 1| 0| 1|
    10| 1| 1| 0| 0|
    b1b0
  • #4 445423
    primo138
    Poziom 11  
    Posty: 22
    Hmm metoda z siatkami wydaje sie być dobra ale może jest coś prostszego, tzn. jakbym miał robić analogicznie to miałbym siatke 16x16??, jest to dosyć dużo, fakt że roziązuje się to prosto ale może łatwej jest to zrobić jaką inna metodą gdzie nie bezie trzeba tyle rozpisywać??
    Jakby nic nie było to zrobie to sposobem tgrzyska (dzięki faktycznie proste :)
  • REKLAMA
  • #5 450930
    primo138
    Poziom 11  
    Posty: 22
    Co dalej?? Mam zrobionesiatki w programie wypisane zostały mi funkcjie ktore realizowałyby te zadanie. Problem w tym że jest ich strasznie dużo :roll:
    dla A=B mam:
    |A*|B*|C*|D*|E*|F*|G*|H+|A*|B*|C*D*|E*|F*|G*H+|A*|B*C*D*|E*|F*G*H+|A*|B*C*|D*|E*|F*G*|H+|A*B*C*|D*|E*F*G*|H+|A*B*C*D*|E*F*G*H+|A*B*|C*D*|E*F*|G*H+|A*B*|C*|D*|E*F*|G*|H+A*B*|C*|D*E*F*|G*|H+A*B*|C*D*E*F*|G*H+A*B*C*D*E*F*G*H+A*B*C*|D*E*F*G*|H+A*|B*C*|D*E*|F*G*|H+A*|B*C*D*E*|F*G*H+A*|B*|C*D*E*|F*|G*H+A*|B*|C*|D*E*|F*|G*|H
    dla A>B:
    |A*|B*|C*|D*|E*|F*|G*|H+|A*|B*|C*D*|E*|F*|G*H+|A*|B*C*D*|E*|F*G*H+|A*|B*C*|D*|E*|F*G*|H+|A*B*C*|D*|E*F*G*|H+|A*B*C*D*|E*F*G*H+|A*B*|C*D*|E*F*|G*H+|A*B*|C*|D*|E*F*|G*|H+A*B*|C*|D*E*F*|G*|H+A*B*|C*D*E*F*|G*H+A*B*C*D*E*F*G*H+A*B*C*|D*E*F*G*|H+A*|B*C*|D*E*|F*G*|H+A*|B*C*D*E*|F*G*H+A*|B*|C*D*E*|F*|G*H+A*|B*|C*|D*E*|F*|G*|H
    no i dla A<B:
    |A*|B*|C*|D*|E*|F*|G*|H+|A*|B*|C*D*|E*|F*|G*H+|A*|B*C*D*|E*|F*G*H+|A*|B*C*|D*|E*|F*G*|H+|A*B*C*|D*|E*F*G*|H+|A*B*C*D*|E*F*G*H+|A*B*|C*D*|E*F*|G*H+|A*B*|C*|D*|E*F*|G*|H+A*B*|C*|D*E*F*|G*|H+A*B*|C*D*E*F*|G*H+A*B*C*D*E*F*G*H+A*B*C*|D*E*F*G*|H+A*|B*C*|D*E*|F*G*|H+A*|B*C*D*E*|F*G*H+A*|B*|C*D*E*|F*|G*H+A*|B*|C*|D*E*|F*|G*|H
    jakbym to miał połączyć i sprawdzić czy działa poprawnie to by mi czasu zabrakło...
    w związku z czym mam pytanie jakby to zrobić przez ukłądy połączone kaskadowo czy było by mniej, pracy?? Bo to co jest powyzej mnie przeraża a na dodatek z takiego układu ma być zrobiona płytka drukowana :!:
  • #6 451053
    jacur
    Poziom 32  
    Posty: 1748
    Pomógł: 166
    Ocena: 295
    jesli chodzi o uklad scalony to nadaje sie do tego poczciwy stary TTL symbol 7485 realizuje wszystkie wyzej wymienione funkcje przynajmniej tak mi sie zdaje ;)
  • REKLAMA
  • #7 452107
    primo138
    Poziom 11  
    Posty: 22
    Mam kolejne pytanie otórz zrobiłem sobie taki mniejszy komparator by sprzwdzić czy swszystko działa. miał to byćwłaśnie taki prosty układ z 4 wejściami po dwa bity na każdą liczbę.
    wpisałem wartości do siatki zminimalizowałem i otrzymnałem coś takiego:
    dla A>B:
    |AC+|BCD+|A|BD
    zaś dla sytyacji przeciwnej (A<B):
    A|C+B|C|D+AB|D
    jest to tak jakby każdy skłądnik był zanegowaną formać odpowiadającego składnika funkcji pierwszej (dla A>B). pomyśałem więc by oszczędzićpracy poszczególne wyjścia bramek w układzie zaneguje i otrzymam układ realizujący funkcjię drugą. Nie wiem czemu to nie chce działać może ktośbędzie wiedział dlaczego chciałem zrobić by było tak:
    |AC+|BCD+|A|BD=|(A|C)+|(B|C|D)+|(AB|D)
    wtedy mając zrealizowaną funkcję pierwszą tworząc sumęzanegowanych wyjść poszczególnych bramek otrzymałbym funkcjię drugą. problem w tym że nie działa to tak jakbym chciał i nie wiem gdzie jest błąd :roll:
    Jest to o tyle ważne że robiąc komparator dwoch4 bitowych liczb nie musiałbym używać tylu bramek...
  • #8 452471
    jacur
    Poziom 32  
    Posty: 1748
    Pomógł: 166
    Ocena: 295
    A mam pytanie musisz to robic na bramkach wez scalaka tego co
    napisalem wyzej tj 7485 jest to 4 bitowy komparator z wyjsciami A>B
    A=B, A<B na wejscia mozna je laczyc rowniez ze soba bo posiadaja
    wejscia o takich samych symbolach jak wejscia jezeli uzywasz tylko 4
    bitow to na nozki 2,3 i 4 podajesz logiczna jedynke i masz 4 bitowy
    komparator na jednym scalaku :D chyba ze jakis psor sobie wymyslil ze
    musisz to zrobic na pajeczynie bramek to zycze powodzenia;)

    Spójrz dwa posty wyżej :x
    <Acula>
  • #9 452483
    michalakmiroslaw
    Poziom 12  
    Posty: 46
    no tak niektórzy lubią życie utrudniać
    jacur ma 100% racji i tego się trzymaj
    w książce "układy scalone serii UCA64/UCY74" Włodzimierz Sasal WKiŁ 1990r. znajdziesz rozwiązanie.
    niestety niemam skanera
    ale jak będzie potrzeba pójdę do znajomego i Ci wyślę
  • #10 452556
    primo138
    Poziom 11  
    Posty: 22
    no ja bym sobie nie utrudniał ale to tym z którym mam projekt wymaga by zrobić to na bramkach, inaczej nie robiłbym tego w ten sposób...
    co ja mogę za to ze musze to zrobic w ten właśnie skomplikowany sposob?!?
  • #11 452968
    primo138
    Poziom 11  
    Posty: 22
    Jak byłbyś tak dobry, u mnie w biliotece tego nie ma, na uczelnie nie pojade (bo nie mam jak, ale z tego co pamietam takeij ksiazki tez tam nie ma), a musze ta oddac po swietach takze byłbym dozgonnie wdzieczny za podesłanie.
  • #12 453384
    jacur
    Poziom 32  
    Posty: 1748
    Pomógł: 166
    Ocena: 295
    Przepraszam Admina ze sie powtorzylem

    ale sprawa jest prosta w zalaczniku przesylam aplikacje sn7485 na 2
    stronie jest pokazany schemat scalaka jako zywy (czyli flaczki od srodka).
    wystarczy przeniesc ten schemat do jakiegos programu poszukac bramek
    odpowiednich i i mamy komparator na bramkach . Jesli psor chce miec
    elektroniczny przyrzad do gaszenia swiec to bedzie mial
    Załączniki:
    • SN7485.pdf (322.46 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 455762
    primo138
    Poziom 11  
    Posty: 22
    Dzięki za plik, na pewno sie przyda :) tearz czas sie zabrac za symulacjie i opis dzialania :)

Podsumowanie tematu

✨ Dyskusja dotyczy stworzenia 4-bitowego komparatora dwóch liczb binarnych A i B, który sygnalizuje trzy stany: A>B, A=B oraz AB, A=B, A
Wygenerowane przez model językowy.
REKLAMA