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

Sumator przekształcenie. Jak go zrealizować na bramkach NAND?

leo26 10 Maj 2006 12:50 3859 7
REKLAMA
  • #1 2611400
    leo26
    Poziom 11  
    Posty: 5
    Ocena: 1
    Zbudowalem sumator rownolegly dwubitowy za pomoca bramek xor,and,or
    Jak go teraz zrealizowac za pomoca nand ? (chodzi mi glownie o przeksztalcenia)
  • REKLAMA
  • Pomocny post
    #2 2611528
    PiotrM
    Poziom 22  
    Posty: 455
    Pomógł: 54
    Ocena: 43
    Muisz skorzystać z praw D'emorgana.
  • REKLAMA
  • #3 2612641
    leo26
    Poziom 11  
    Posty: 5
    Ocena: 1
    PiotrM napisał:
    Muisz skorzystać z praw D'emorgana.


    OK
    Tylko to jest "troche" rozbudowane i nie moge sobie poradzic :|
  • REKLAMA
  • Pomocny post
    #4 2612889
    PiotrM
    Poziom 22  
    Posty: 455
    Pomógł: 54
    Ocena: 43
    Czy mógłbyś podać wzory na twój sumator równoległy.
  • #5 2613032
    leo26
    Poziom 11  
    Posty: 5
    Ocena: 1
    PiotrM napisał:
    Czy mógłbyś podać wzory na twój sumator równoległy.


    s1=a1 mod b1 mod p1
    Pp=a1*b1+b1*p1+a1*p1
    s2=a2 mod b2 mod Pp
    P2=a2*b2+b2*Pp+a2*Pp

    s1 - suma najmlodszych bitow
    s2 - suma drugich
    p1 - przeniesienie wejsciowe sumatora
    Pp - przeniesienie przejsciowe pomiedzy s1 i s2
    p2 - przeniesienie koncowe

    ;)
  • Pomocny post
    #6 2613114
    PiotrM
    Poziom 22  
    Posty: 455
    Pomógł: 54
    Ocena: 43
    obliczanie:

    Pp=a1*b1+b1*p1+a1*p1

    - podwójnie negujemy całe wyrażenie: (’ – negacja)

    Pp=( a1*b1+b1*p1+a1*p1)’’

    - korzystamy z prawa: (a + b)’=a’ *b’

    Pp=((a1*b1)’*(b1*p1)’*(a1*p1)’)’


    - otrzymujemy dwa NANDY dwuwejściowe:

    (a1*b1)’ – pierwszy
    (b1*p1)’ – drugi
    (a1*p1)’- trzeci

    - i jeden trójwejściowy:

    (pierwszy * drugi * trzeci)’

    Dasz sobie dalej teraz rady z tym zadaniem?
  • REKLAMA
  • #7 2613196
    leo26
    Poziom 11  
    Posty: 5
    Ocena: 1
    Na takie wlasnie objasnienie liczylem ;)
    Gdybys jeszcze mogl s1 -bylbym wdzieczny
    Moze w koncu to zajarze :|
    thx
  • Pomocny post
    #8 2613524
    PiotrM
    Poziom 22  
    Posty: 455
    Pomógł: 54
    Ocena: 43
    S1=a1 mod b1 mod p1

    Jeśli dobrze pamiętam, to będzie tak:

    (korzystamy z zależności: a mod b =a*b’+a’*b)

    Czyli chyba tak:

    S1=a1*b1*p1’+a1*b1’*p1+a1’*b1*p1

    - podwójna negacja całego wyrażenia:

    S1=(a1*b1*p1’+a1*b1’*p1+a1’*b1*p1)’’

    - korzystamy teraz z prawa: (a+b)’=a’*b’

    S1=((a1*b1*p1’)’*(a1*b1’*p1)’*(a1’*b1*p1)’)’

    - mamy cztery NAND trójwejściowe:

    (a1*b1*p1’)’ - pierwszy
    (a1*b1’*p1)’ - drugi
    (a1’*b1*p1)’ – trzeci
    (pierwszy * drugi * trzeci)’ - czwarty

Podsumowanie tematu

✨ Dyskusja dotyczy realizacji dwubitowego sumatora równoległego za pomocą wyłącznie bramek NAND, bazując na wcześniej zbudowanym sumatorze z bramek XOR, AND i OR. Kluczowym krokiem jest zastosowanie praw De Morgana do przekształcenia funkcji logicznych sumatora na wyrażenia wykorzystujące tylko NAND. Przykładowo, dla przeniesienia pośredniego Pp = a1*b1 + b1*p1 + a1*p1, stosuje się podwójną negację i rozkład sumy na iloczyn negacji składników, co pozwala wyrazić funkcję za pomocą NAND dwuwejściowych i trójwejściowych. Podobnie dla sumy bitów s1 = a1 mod b1 mod p1, wykorzystując zależność a mod b = a*b' + a'*b, dokonuje się podwójnej negacji i rozkładu na NAND, co skutkuje implementacją sumy za pomocą czterech NAND trójwejściowych. Przedstawione wzory i metody umożliwiają przekształcenie klasycznych funkcji sumatora na implementację opartą wyłącznie na bramkach NAND.
Wygenerowane przez model językowy.
REKLAMA