Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Układ mnożący z sumatora '83.

mig29 24 May 2008 16:17 2939 10
  • #1
    mig29
    Level 10  
    Potrzebuję pomocy. Mam zbudować z sumatora `83 i bramek NAND układ mnożący dwie, dwubitowe liczby przez siebie. Wynik mam przedstawić na wyświetlaczu 7 segmentowym włączonym do układu przez odpowiedni koder.
    Jak by ktoś umiał to wykonać i podać opis do tego zadania, co i jak działa. Z góry dziękuję.

    [Tytuł zmieniłem. Regulamin, punkt 11. Proszę wykazać więcej inwencji i przedstawić efekty własnych prób. Mariusz Ch.]
  • #2
    Paweł Es.
    VIP Meritorious for electroda.pl
    Rozpisz sobie to mnożenie jak zwykłe mnożenie na papierze i od razu zobaczycz co trzeba przez bramki NAND sprowadzone do AND przepuścić i co potem dodać do siebie na sumatorze.

    To prościuchne zadanie !!!
  • #3
    mig29
    Level 10  
    Czyli zrobić sobie tablice prawdy dla dwóch dwubitowych liczb??
  • #4
    Paweł Es.
    VIP Meritorious for electroda.pl
    Tu nawet nie trzeba robić tablicy prawdy, przypomnij sobie podstawówkę i słynne słupki:

    Code:
              33
    
             *33
    ------------
              99
            +99
    ------------
            1089


    Teraz weź sobie ten powyższy przykład ogranicz do liczb binarnych i powinieneś już zobaczyć rozwiązanie zadania (bramki rozwiązują górną część słupka a sumator dolną - pamiętaj, że niewykorzystane wejścia oraz wejścia przeniesień z poprzednich stopni należy ustawić na 0)

    Podpowiedź 2: z bramki NAND można zrobić inwerter
  • #5
    mig29
    Level 10  
    Ja sie poddaje nie widze jakos tego wszystkiego.

    Dodano po 4 [minuty]:

    Prosze podaj jak rozwiazac to
  • Helpful post
    #6
    Paweł Es.
    VIP Meritorious for electroda.pl
    Masz 2 liczby: A1A0 i B1B0 (gdzie A i B mogą przyjmować stany 0 lub 1), mnożysz je jak w szkole

    A1A0*B1B0=A1*B0+A0*B0+2*(A1*B1+A0*B1)

    to razy 2 to jest to przesunięcie o jedną pozycję w lewo przy liczeniu słupków.

    Poszczególne mnożenia robisz bramkami AND.

    Wyniki mnożeń cząstkowych dodajesz na sumatorze, mnożenie przez 2 w systemie binarnym, uzyskujesz przez przesunięcie całej liczby o 1 bit w lewo (w stronę starszych bitów). Tu polega to na podaniu sumy cząstkowej nie od bitu 0 danego wejścia tylko od bitu 2 na dane wejście sumatora.

    Wyjdzie ci 8 bramek NAND i jeden sumator.
  • #7
    mig29
    Level 10  
    Hm to, jeśli dobrze rozumiem to na samym początku biorę 4 bramki Nand. Do każdej podłączam na oba wejścia podłączam tylko jedna cyfrę, czyli wyjdzie mi a*a czyli w rezultacie zanegowane a. Potem te zanegowane liczby przepuszczam przez następne cztery bramki Nand, które wykonują już właściwe mnożenie i ściągają negacje z tych liczb??
  • #8
    Paweł Es.
    VIP Meritorious for electroda.pl
    Nie !

    Z dwóch bramek NAND robisz jedną bramkę AND, którą używasz potem do mnożenia a ponieważ masz 2*2 bity to masz 4 bramki AND (czyli 8 NAND).
  • #9
    mig29
    Level 10  
    No oki skoro ja tez używam * bramek Nand i wychodzi mi mnożenie dobre w tym układzie jak napisałem to, co jest źle w tym, co napisałem wcześniej??
  • #10
    Paweł Es.
    VIP Meritorious for electroda.pl
    O ile dobrze zrozumiałem poprzedni wpis to najpierw negujesz sygał a potem mnożysz w NAND-zie a powinno być odwrotnie, chyba, że ja źle czytam.
  • #11
    mig29
    Level 10  
    No ale mniej wiecej dobrze mysle o co chodzi. Teraz juz wiem jak to zrobic. dzieki wielkie za pomoc.