Una funció lògica és el resultat d'aplicar operadors de l'àlgebra de Boole a una sèrie d'entrades binàries (variables que només poder valer 0 i 1). A electrònica digital s'implementen amb les portes lògiques mitjançant un procés senzill que permet donar solució a problemes tècnics de tot tipus.
Una mateixa funció lògica pot expressar-se amb diferents combinacions equivalents de portes lògiques. Per tant, a l'hora d'implementar físicament una funció, per tal de reduir el cost, s'intentarà tenir l'expressió més simple possible. Per poder trobar-la, existeixen tècniques d'obtenció i simplificació que es veuran a continuació.
1. Formes canóniques d'una funció lògica
Com ja s'ha comentat, la taula de veritat és única per a cada funció lògica independentment de l'expressió algebraica equivalent amb la que es trobi escrita. A més, aquest instrument ens permet trobar fàcilment la forma matemàtica mitjançant dos procediments, minterms i maxterms, que donen lloc a les formes canòniques de la funció.
Encara que aquestes tècniques no donen lloc a funcions simplificades, són molt útils ja que ens permeten partir de l'enunciat d'un problema, escriure la taula de veritat i, a partir seu, obtenir una primera versió de la funció que es simplificarà posteriorment.
Suma de productes (suma de minterms): els minterms s'obtenen de cada fila de la taula de veritat multiplicant totes les variables negades si el seu valor a la fila es 0 o sense negar si és 1. Per construir la forma canònica de la funció a base de minterms, s'han de sumar tots aquells als que la funció val 1.
D'acord amb la taula de veritat de l'exemple, es té que la funció canònica a base de minterms te la forma:
D'aquesta manera s'aconsegueix que la F valgui 1 quan es dóna alguna de les combinacions de la taula de veritat amb sortida igual a 1, ja que la suma sempre valdrà 1.
Productes de sumes (producto de maxterms): els maxterms s'obtenen de cada fila de la taula de veritat sumant totes les variables negades si el seu valor a la fila es 1 o sense negar si és 0. Per construir la forma canònica de la funció a base de maxterms, s'han de sumar tots aquells als que la funció val 0.
D'acord amb la taula de veritat de l'exemple, es té que la funció canònica a base de minterms te la forma:
D'aquesta manera s'aconsegueix que F valgui 0 quan es dóna alguna de les combinacions de la taula de veritat amb sortida igual a 0, ja que el producte sempre valdrà 0.
Les dues formes canòniques obtingudes són matemàticament equivalents, encara que per la seva longitud durà més feina implementar la segona (maxterms) que la primera (minterms).
Aquesta equivalència entre representacions diferents de funcions lògiques ens ha de fer pensar en quina és l'expressió òptima, ja que trobant-la ens estalviam feina d'implementació i reduïm el cost. Per dur a terme aquesta simplificació a partir de les formes canòniques existeixen diferents tècniques que es veuran a continuació.
2. Simplificació de funcions lògiques
Simplificació matemàtica: es tracta d'aplicar els teoremes fonamentals de l'àlgebra de Boole per trobar l'expressió més simple possible. El problema d'aquest mètode és que el resultat final depèn de la perícia matemàtica del dissenyador.
Per exemple, per una funció lògica simple:
Mètode del mapa de Karnaugh (Kmap): Per evitar la dependència amb l'habilitat matemàtica, al 1950 Karnaugh va dissenyar un mètode gràfic sistematitzat que permet deduir si la variació del valor d'una variable afecta al resultat d'un terme.
El procediment consisteix en la construcció de taules equivalents a les taules de veritat amb les variables d'entrada distribuïdes a files i columnes (mapes de Karnaugh). Cada capçalera de fila o columna conté una combinació binària corresponent al valor de les variables que representa i entre capçaleres contigües només pot variar el valor d'una d'elles. D'aquesta manera, els mapes de Karnaugh per diferents nombres de variables d'entrada queden:
2 variables
3 variables
4 variables
5 variables
Com es pot observar, amb aquestes distribucions tots els termes possibles queden representats.
També es pot veure que el de 4 variables és el darrer compacte que es pot construir. El de 5 variables és, per tant, el solapament de dos de 4 com si estiguessin distribuïts a dos pisos (un damunt l'altre).
Es poden construir mapes de Karnaugh amb més variables, però el procediment es torna cada vegada més complicat i augmenta la probabilitat de cometre una errada, pel que no es recomana fer servir mapes demés de 6 variables (que es construiria amb 4 graelles de 4).
Una vegada construïda la taula adequada a la nostra funció, s'han de col·locar els 1 i els 0 a les caselles corresponents i s'han de crear grups entre ells agafant el màxim nombre de caselles possibles amb el mateix valor. Els grups formats s'anomenen llaços o implicants primers.
Aquests llaços poden ser de 1, 2, 4, 8,... termes fins arribar al màxim disponible i no poden ser diagonals. Per traçar-los s'ha de tenir en compte que els mapes tenen condicions de contorn cícliques, és a dir, que la columna de la dreta es pot enllaçar amb la de l'esquerra sense agafar les d'enmig.
Cada llaç dóna lloc a un minterm si està format per 1 i a un maxterm si està format per 0. Així, cada llaç està caracteritzat només per les variables que no canvien al seu interior
Minterms: es multipliquen les variables que no canvien, negades si valen 0 i sense negar si valen 1, i es sumen les contribucions dels diferents llaços.
Maxterm: es sumen les variables que no canvien, negades si valen 1 i sense negar si valen 0, i es sumen les contribucions dels diferents llaços.
Com que és un mètode de simplificació, sempre resulta més pràctic triar la forma que contengui menys llaços, que en aquest cas és la dels minterms.
Els llaços s'anomenen essencials, si són necessaris per incloure un terme que d'altra forma quedaria sense grup, i redundants, si es munten uns damunt d'altres i cobreixen més d'un pic un mateix nombre.
Això és el que passa al mapa de l'exemple amb maxterms. Per tant, per construir la funció només s'hauran d'agafar els llaços necessaris per cobrir tots els 1 o tots els 0.
Com es pot veure al Kmap, es necessiten 3 dels 4 llaços dibuixats.
És fàcil comprovar amb un poc d'àlgebra bàsica que les funcions trobades pel dos procediments són equivalents, encara que, donat que el nombre de llaços és menor al cas del minterms, l'expressió de la funció en aquest cas és lleugerament més simple.
Les imatges a continuació són enllaços a les aplicacions online Karnaugh Map Explorer 2.0 i a Logic circuit simplification, que són calculadores automàtiques de mapes de karnaugh, funcions lògiques i les seves implementacions.
Per poder comprovar el funcionament dels circuit dissenyats, també es pot fer servir la demo online del programa Logic.ly, The Logic Lab o el següent Snapshot de simulator.io:
Exercicis:
1. Representa amb portes lògiques les següents funcions:
S = a·b·c +c·d
S = a·b + b·c
S = a·b·c + a·d
S = (a+b)·c·d
S = a + b + c
S = abc
S = ab + ab
S = a (bc +bc)
S= (a+b)·c + a·b·c
S = ab + ab
S = ab (a + c)
2. Obté les funcions lògiques a partir dels següents esquemes:
3. Un brunzidor s'activa quan es compleix:
a = 0, b = 1, c = 0
a = 1, b = 0, c = 1
a = 1, b = 1, c = 1
Construeix la Taula de Veritat, la funció lògica i Dibuixa el logigrama.
4. Realitzar la funció lògica que permeti decidir si es veu o no la televisió a una casa, sabent que al cas que els dos pares es posin d’acord, aqueixa serà la decisió pressa. Només al cas de no estar d’acord els pares, la decisió la prendrà el fill. A=pare, b=mare, c=fill i F=1 quan la televisió està encesa.
5. Realitza el circuit lògic per què s’obri una porta de supermercat Sensor interior a, sensor exterior b. Porta tancada, F=0:
6. Suposem que una premsa es posa en marxa amb l’actuació simultània de tres polsadors. Si es polsa només dos qualssevol, la premsa funcionarà, però s’activarà una làmpada indicant una manipulació incorrecta. Quan es polsi un sol dispositiu, també s’encendrà la làmpada, però no la premsa. Dissenyar el circuit de control (taula de veritat, funció canònica i simplificada i esquema lògic).
7. Realitza un circuit lògic de control de una bomba d’aigua que controli com s’omple un dipòsit mitjançant dos sensors a i b.
8. Un magatzem de fusta està protegit contra incendis amb uns extintors de CO2. Per obrir els extintors es pot accionar dos interruptors diferents. Els extintors es poden obrir fora del magatzem mitjançant d’un interruptor “a”, o des de l’oficina de l’encarregat amb l’interruptor “b”. Per raons de seguretat, a més, els extintors funcionen si la porta del magatzem està tancada (c està accionat). Realitza la taula de veritat i dóna la funció simplificada del sistema. Fes el diagrama lògic.
9. Un hivernacle està controlat per tres sensors de temperatura (T1, T2, T3). Els valors dels quals són T1<T2<T3. Per refrigerar l’hivernacle hi ha dos ventiladors v1 i v2 que és el doble de potent que v1. El mode de funcionament és:
Per sota de T1, no s’encén cap ventilador.
Entre T1 i T2, s’activa el ventilador petit.
Entre T2 i T3, s’activa el ventilador gran.
Per damunt de T3, s’activen tot dos.
Dissenya el circuit corresponent.