MÉTODO DE KARNAUGH Jesús Pizrro Peláez MÉTODO DE KARNAUGH... 1 1. INTRODUCCIÓN... 1 2. MÉTODO DE KARNAUGH... 2 3. EJEMPLO DE APLICACIÓN (I)... 4 4. ESTADOS NO IMPORTA EN LAS FUNCIONES LÓGICAS... 6 5. EJEMPLO DE APLICACIÓN (II)... 7 1. INTRODUCCIÓN En ocsiones, el método lgerico pr simplificr funciones lógics plicndo los teorems del álger de Boole, puede no ser el mejor medio por vris rzones: o Cundo ument el número de vriles o de términos result difícil ver l form de reducir l expresión. o Se trj con grndes cntiddes de expresiones muy similres d + d... por lo que l proilidd de equivocrse en lgún pso es muy elevd (y unque no nos equivoquemos, siempre result frrgoso). o Podemos llegr un expresión que no es l óptim, con el consiguiente incremento en puerts y complejidd del circuito finl. Existe un método gráfico pr simplificción de funciones que resuelve todos estos prolems: El método de Krnugh. Con este método l simplificción dquiere ls siguientes ventjs con respecto l método lgerico: o Pr funciones de tres y cutro vriles se plic de form muy sencill. Pr cinco vriles puede resultr lgo más difícil, y pr más existen otros métodos. o No se escrien ls expresiones de los productos de ls vriles, se trj directmente sore un digrm, por lo que se gn considerlemente en clridd. o Con un poco de soltur (dquirid medinte un poco de práctic), result muy sencillo hllr siempre l expresión más óptim de l función. Es por todos estos motivos que el método de Krnugh se mplimente utilizdo pr sistems de tres y cutro vriles. A todo esto hy que ñdir otr grn ventj: Es un método muy sencillo de prender, como vmos ver continución. 1
2. MÉTODO DE KARNAUGH El método de Krnugh es un método gráfico. Se usn uns tls llmds tls o digrms de Krnugh. Dichs tls tienen un csill por cd cominción de vriles de l función, de form que pr 3 vriles tendremos 2 3 = 8 csills, pr cutro vriles tendremos 2 4 = 16 csills. c 0 1 Digrm de Krnugh pr 4 vriles Digrm de Krnugh pr 3 vriles Nótese que el orden de ls cominciones no es inrio nturl si no que es código Gry (,,, ) esto es deido que el funcionmiento del método se s en cominciones dycentes. Un vez diujdo el digrm, se trsldn éste ls cominciones de l tl de l verdd poniendo un 1 en l csill correspondiente. Ejemplo: se l función cominciones { c,, } = { 1,0,0},{ 0,0,1 }, { 1,0,1 } de ess csills. f c + c + c = que como se ve, vle 1 pr ls. Pues en el digrm de Krnugh pondrímos un 1 en cd un c 0 1 1 1 1 Csills donde f = 1 Ahor es cundo vmos simplificr. A prtir de ls posiciones de los unos en l tl, intentmos formr grupos de unos lo más grndes posiles. Dichos grupos de unos: - Deerán estr constituidos por un numero de unos que se potenci de dos (no vlen 3 ni 6 ni 7 ). - Deerán ser un conjunto convexo (o se, no tener esquins hci dentro). - No podrán ir en digonl. - Intentremos formr el menor número de grupos y éstos deerán ser lo más grndes posile. - Un uno puede formr prte de tntos grupos como hg flt. En los grupos que formemos se eliminn ls vriles que estén presentes en el cero y en el uno. En nuestro digrm nterior, vemos que podemos hcer dos grupos de dos vriles: uno con ls csills 2
{ c,, } = { 1,0,0},{ 1,0,1 } y otro con {,, } = { 0,0,1 }, { 1,0,1 } c Vemos que en el primer grupo l vrile prece con 1 y con 0, por lo que l eliminmos, quedándonos c=1 y =0 por lo que el término nos qued c. En el segundo grupo prece l c negd y sin negr, por lo que l eliminmos, quedándonos =0 y =1 por lo que el término nos qued. Por lo que l función simplificd qued: f + = ( + c) =. A continución se ponen unos cuntos ejemplos de grupos posiles pr un digrm de cutro vriles. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 No cmi ninguno, por lo que f = d Cmin y d, por lo f = c Cmin, y c, por lo f = d Cmin, c y d, por lo f = 1 1 1 1 1 1 1 1 1 1 1 1 Cmi, por lo que qued f = d Cmi d, por lo que qued f = Cmin y, por lo f = d c Cmin d y c, por lo f = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Cmi, por lo que qued f = d Cmin d y, por lo f = Cmin d y, por lo f = Cmin, c y d, por lo f = Oservemos que los cutro últimos ejemplos no precen cumplir con lo que dijimos cerc de los grupos, que deín ser un conjunto convexo. En relidd si que lo son. Deemos ver los digrms de Krnugh como un superficie continu, lgo sí como un cj de crtón desmontd que cundo se mont se cierr y se unen los ldos. Se pueden coger estos grupos siempre que quermos, sin más condición que ser potenci de 2 y no ir en digonl. 3
3. EJEMPLO DE APLICACIÓN (I) Vmos resolver un prolem de lógic comincionl plicndo el método de Krnugh pr otener l función simplificd. Prolem Diseñr un circuito comincionl que relice l división entre 3 (enter) de un número codificdo en BCD. Como y se se, l división enter de un número tiene dos prtes: cociente y resto, mos enteros. Nuestro circuito hrá l división de un número BCD (o se, del 0 l 9) entre 3. El cociente más grnde será el otenido l dividir el número más grnde, que en BCD es el 9. Como 9:3 = 3 necesitmos 2 its pr representr este número por lo que nuestro circuito deerá tener dos slids. Un pr el it de más peso y otr pr el de menos peso. A continución se muestr l slid del circuito y l tl de verdd. Número resultdo 0 0 1 0 2 0 3 1 4 1 5 1 6 2 7 2 8 2 9 3 D C B A 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 División entre 3 de los números del 0 l 9 Tl de verdd del circuito Nos vn quedr dos funciones de 4 vriles cd un, lo cul es mucho pr poder simplificr por el método lgerico, por lo que usremos el método de Krnugh. Usremos dos digrms de Krnugh; uno pr l vrile y otro pr. 4
En primer lugr rellenmos los digrms con unos en los lugres donde correspond. en ls posiciones {( 0,1,1,0 ), ( 0,1,1,1 ), ( 1,0,0,0 ), ( 1,0,0,1 )} y en ls posiciones {( 0,0,1,1 ), ( 0,1,0.0 ), ( 0,1,0,1 ), ( 1,0,0,1 )} 1 1 1 1 Ahor uscmos grupos de unos lo más grndes posile. Vemos que pr tendremos dos grupos de dos unos: uno formdo por {( 0,1,1,1 ), ( 0,1,1,0 )} y otro por {(,0,0,0), ( 1,0,0,1 )} de dos unos formdo por {(,1,0.0 ), ( 0,1,0,1 )} {( 0,0,1,1 )} y {( 1,0,0,1 )}. 1. Mientrs que pr tendremos un grupo 0 y dos grupos de un solo uno correspondientes ls cominciones 1 1 1 1 A prtir de estos digrms otenemos directmente ls ecuciones del circuito. Pr tendremos dos términos: en el primer grupo (el de rri) cmi l, mientrs que dc = 0 por lo que nos qued grupo de jo cmi l tmién, por lo que nos qued d d. En el. Pr opermos de l mism form. Oservemos que vmos tener tres términos, dos de los cules tendrán tods ls vriles. Cunto menores sen los grupos, menos vriles desprecen y por tnto más vriles precerán en l expresión finl. Ls ecuciones de nuestro circuito serán: 1 = d + d 0 = d + d + d A prtir de ests ecuciones y podemos implementr nuestro circuito. Nótese que medinte el método de Krnugh lo que otenemos es l expresión mínim de l función expresd en form de sum de productos. Esto no quiere decir que l función no se pued simplificr más. En ocsiones podremos, pero y no será un expresión en form de sum de productos. En este cso, podrímos encontrr un expresión más simple pr : = d + d + d = ( d + d ) + d = ( d) + d 5
4. ESTADOS NO IMPORTA EN LAS FUNCIONES LÓGICAS En ocsiones, podemos encontrr cominciones de entrd pr ls que no existe definid un slid. No estmos hlndo de que se 1 o 0, nos referimos que simplemente, no se v dr dich cominción l entrd, o si se d, crece de sentido. Pr entender esto mejor pongmos un ejemplo: Se un tnque de gu con tres sensores (oys) que indicn el nivel del gu. Si se ctiv el sensor 1 (cominción 1), signific que el gu lleg ese nivel. Si el gu sue, se ctivrá tmién el segundo sensor (cominción 0), y sí sucesivmente. De form que l cominción 0 corresponde l tnque vcío, 1 l tnque lleno, etc. 3 2 1 Pero qué ps con l cominción 0, por ejemplo? Qué quiere decir est cominción? Pues lo que quiere decir, es que el gu h ctivdo los sensores 2 y 3, pero no el sensor 1. Por lo que semos de físic esto es imposile, y que el gu no flot en el ire, por lo que es imposile que se ctiven los sensores 2 y 3 si ntes no se h ctivdo el sensor 1. Est cominción de entrd nunc se v dr en nuestro sistem. Hy más cominciones que nunc se vn dr como l 1, 1 Qué hcemos con ests cominciones l hor de diseñr nuestro circuito? Como son cominciones que no se vn dr, l función pr estos vlores no estrá definid. Esto quiere decir que l slid pr es cominción de entrd puede ser culquier cos, 1 o 0. Nos d igul que tome un vlor u otro, y que, repetimos: Es cominción de entrd no se v dr. A ests cominciones imposile se ls denomin estdos no import y se representn en l tl de verdd como un x. Al vlor x le podemos signr el vlor lógico 0 o 1 según nos conveng uno u otro. Se representn continución l tl de verdd y los digrms de Krnugh de este sistem. L entrd son los tres sensores y l slid el vlor inrio del nivel del gu entre 0 y 3 (dos its). Osérvese como pr ls cominciones imposiles (0, 1, 1 y 0) se h puesto l slid el estdo lógico no import representdo por un x. Al trsldr nuestr tl de l verdd los digrms de Krnugh trsldmos los unos y ls x ls csills que correspond. Ahor hcemos los grupos teniendo en cuent que podemos usr ls x como quermos, o se, hcer que sen un 1 lógico si con ello conseguimos reducir el número de grupos o hcer los grupos myores. 6
C B A 0 0 0 0 0 0 0 1 0 1 0 1 0 X X 0 1 1 1 0 1 0 0 X X 1 0 1 X X 1 1 0 X X 1 1 1 1 1 c 0 1 X 1 X X 1 X c 0 1 X 1 X X 1 X Tl de Verdd Digrms de Krnugh No es necesrio continur con el prolem pr drnos cuent que hemos conseguido reducir considerlemente el número de funciones lógics necesris. Siempre que podmos, deeremos oservr si en nuestro circuito vn precer estdos no import, y que usrlos supondrá un horro considerle de puerts lógics en l myorí de los csos. 5. EJEMPLO DE APLICACIÓN (II) Pr ver l importnci de plicr los estdos no import l diseño de sistems digitles, vmos resolver de nuevo el prolem del prtdo 3 plicndo los que hemos prendido cerc de los no import. Prolem Diseñr un circuito comincionl que relice l división enter de un número codificdo en BCD entre 3. Est er l tl de verdd que otuvimos nteriormente: Número resultdo 0 0 1 0 2 0 3 1 4 1 5 1 6 2 7 2 8 2 9 3 División entre 3 de los números del 0 l 9 D C B A 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 Tl de verdd del circuito 7
Si nos fijmos, vemos que l tl de verdd no está complet. Pr 4 its hy 16 cominciones de entrd y nosotros solo hemos puesto. Por qué? Porque en BCD no se usn ls cominciones superiores, quells correspondientes los números decimles,, 15. Pero nosotros, sin drnos cuent, si que ls hemos usdo, ls hemos signdo el vlor 0 como se ve en los digrms de Krnugh: 1 1 1 1 Deerímos incluir en nuestros digrms de Krnugh dich cominciones como x, en lugr de como 0: X X X X 1 1 X X 1 X X X X 1 X X Ahor, pr relizr los grupos usremos ls x que cmos de ñdir como 1 o como 0 lógico en función de lo que más nos conveng pr conseguir el menor número de grupos, o ien que éstos sen lo más grndes posile: X X X X 1 1 X X 1 X X X X 1 X X En est ocsión nos qued: 1 = d + 0 = + d + Que como vemos son expresiones stnte menos complejs que ls otenids en el prtdo 3 y demás el circuito se v comportr exctmente de l mism mner. 8