Tuesday, May 17, 2011

HW: Rottove mriezky

Pri realizacii logickych funkcii pomocou hradiel NAND a NOR potrebujeme mat fciu v "spravnom tvare", MNKF alebo MNDF. Fcie musime do tohto tvaru casto upravit a namiesto pouzivania boolovej algebry, mozme pouzit techniku nazvanu rottove mriezky. Rottove mriezky su vlastne grafickym znazonrenim De Morganovych zakonov. Zjednodusuju ich aplikaciu a hladanie ekvivalentneho vyjadrenia povodnej funkcie. s pozadovanymi obvodovymi prvkami s lubovolnym poctom vstupov. Teda, boolovej algebry sa nezbavime, ale upravovat budeme graficky, cim eliminujem pocet moznych chyb.

Rott bol inzininier z Prahy 10, ktory tuto metodu analyzy a syntezy kombinacnych obvodov navrhol vo svojej dizertacnej praci zaoberajucej sa dekompoziciou booleovskych vyrazov. Rottove mriezky vychadzaju z de Morganovych zakonov.


Pravidla vytvarania Rottovych mriezok by sa daju zhrnut takto [1]: 

  1. celkovu mnozinu vstupnych premennych oznacime vodorovnou ciarou. Jedna sa teda o celkovu negaciu rozkladanej fcie, tak ako urcuje De Morganovo pravidlo 
  2. rozdelime skupiny na podskupiny podla aplikovaneho logickeho prvku 
  3. delime, az kym neeliminujeme vsetky neziaduce logicke operacie 
  4. premenne maju rovnaku alebo negovanu log. hodnotu (podla poctu ciar rozkladu)
  5. vodorovne ciary predstavuju negaciu nad skupinou vybranych vstupov
  6. zvisle ciary su umiestnovane podla typu aplikovaneho log. prvku a oddeluju jednotlive skupiny vybranych vstupov log. prvkov. 


Dolezite je, ze rozdelenie do skupin, si mozme urcit viac-menej sami a tak mozme zarucit realizaciu pomocou hradiel so ziadanym poctom vstupov. Zaroven, pri spravnom ukonceni delenia dosiahneme pouzitia iba urciteho typu hradiel. Preto je tato metoda vhodna pre realizaciu pomocou napriklad NAND/NOR s danym poctom vstupov.

Napriklad f(b,a) = a' + b' chceme znazornit pomcou NAND. Pomocou rottovej mriezky zobrazime:

a'     +     b'                -> original
------------               -> znaznornuje 2 vstupove hradlo NAND a celkovu negaciu 2 zapisu rozkladanej log.
        |                             fcie (De Morgan)
a      |       b                -> vstupne premenne odpovedaju vodicom

nas NAND bude mat 2 vstupy, a,b.

Fciu  f(x0, x1, x2, x3) = x3 + x0x2 + x0'x1x2 rozlozime pomocou rottovych mriezok pre realizaciu s pouzitim iba NAND a iba NOR prvkov.


NAND:                                                                    
     x3  +   x0  .  x2  +   x0'  .  x1  .  x2             
-------------------------------------------------------
            |         +        |         +       +                 
            | -------------- | --------------------------     
            |          |         |          |         |                 
    x3'   .    x0  .   x2  .   x0'  .  x1   .  x2           


 NOR:
x3  +   x0  .  x2  +   x0'  .  x1  .  x2
----------------------------------------------
       .         +        .          +       +        
----------------------------------------------
       |          .         |           .         .
       | -------------- | ----------------------                    
       |                   |           |         |
x3  + x0' +  x2'  +   x0  + x1' +  x2'



Funkciu f(d,c,b,a) = a + b'c + cd' budeme realizovat pomocou NAND. Zadana funkcia je v MNDF, ale my potrebujeme MNKF. A tu prichadzaju na rad rottove mriezky.

a   +  (b'   .   c)  +  (c .  d')
---------------------------            -> 3 vstupove hradlo NAND
    .|         +        |        +
     |  ----------  |  --------             -> 2x 2vstupove hradlo NAND
     |          |        |        |
     |          |        |        |                  -> negacia je invertor
a'  |     b'  |   c    |    c  |  d'             -> vstupne premenne, kt. odpovedaju vodicom

a sa zmenilo na a', co vyhovuje de morganovym zakonom. V rottovych mriezkach dochadza k negacii vzdy cez neparnu uroven.




Porovname tento vysledok s vysledkom v kapitole o realizacii log. fcii pomocou hradiel a zistime, ze vysledok je rovnaky. Vyhodou rottovych mriezok teda je ulahcenie prace pri upravach vyrazov.

Ak chceme realizovat zapojenie pomocou hradiel NOR, tak mame dva sposoby, ako na to.
  • navrhneme zapojenie pomocou NANDov
  • nahradime hradla NAND hradlami NOR
  • znegujeme vstupne premenne 
  • znegujeme vystupne premenne 
Druhy postup spociva v tom, ze zacneme priamo s navrhom pre NOR, ale v takom pripade potrebujeme mat rovnicu v tvare UNKF namiesto UNDF.

Priklad: f(d,c,b,a) = b(a' + c)(c' + d)

b   .   (  a'   +   c  )   .   (  c'   +   d  )
-------------------------------------
     |            .            |             .
     | --------------- | ----------------
     |            |            |             |
     |            |            |             |
b'        a'         c             c'          d



 Literatura: