# Lògica combinacional

En teoria d'autòmats, lògica combinacional (també anomenada lògica independent del temps)  o lògica combinatòria ) és un tipus de lògica digital que s'implementa mitjançant circuits booleans, on la sortida és només una funció pura de l'entrada actual. Això contrasta amb la lògica seqüencial, en què la sortida no només depèn de l'entrada actual, sinó també de la història de l'entrada. En altres paraules, la lògica seqüencial té memòria mentre que la lògica combinacional no.
És tot sistema digital en què les seves sortides són funció exclusiva del valor de les seves entrades en un moment donat, sense que intervinguin en cap cas estats anteriors de les entrades o de les sortides. Les funcions són booleanes (or, and, nan, xor), en què cada funció es pot representar en una taula de la veritat. Per tant, no tenen memòria ni realimentació

## Representació

La lògica combinacional s'utilitza en circuits informàtics per realitzar àlgebra booleana en senyals d’entrada i en dades emmagatzemades. Els circuits informàtics pràctics normalment contenen una barreja de lògica combinacional i seqüencial. Per exemple, la part d'una unitat lògica aritmètica, o ALU, que fa càlculs matemàtics es construeix mitjançant una lògica combinacional. Altres circuits utilitzats en ordinadors, com ara sumadors, sumadors complets, mig restadors restadors complets, multiplexors, demultiplexors, codificadors i decodificadors també es fabriquen mitjançant lògica combinacional.
El disseny pràctic de sistemes lògics combinacionals pot requerir la consideració del temps finit necessari perquè els elements lògics pràctics reaccionin als canvis en les seves entrades. Quan una sortida és el resultat de la combinació de diversos camins diferents amb un nombre diferent d'elements de commutació, la sortida pot canviar momentàniament d'estat abans d'establir-se a l'estat final, ja que els canvis es propaguen al llarg de diferents camins.
La lògica combinacional s'utilitza per construir circuits que produeixen sortides especificades a partir de determinades entrades. La construcció de la lògica combinacional es fa generalment mitjançant un dels dos mètodes: una suma de productes o un producte de sumes. Considereu la següent taula de veritat :
| A | B | C | Res | Equivalència lògica |
| F | F | F | F | $\neg A\wedge \neg B\wedge \neg C$ |
| F | F | T | F | $\neg A\wedge \neg B\wedge C$ |
| F | T | F | F | $\neg A\wedge B\wedge \neg C$ |
| F | T | T | F | $\neg A\wedge B\wedge C$ |
| T | F | F | T | $A\wedge \neg B\wedge \neg C$ |
| T | F | T | F | $A\wedge \neg B\wedge C$ |
| T | T | F | F | $A\wedge B\wedge \neg C$ |
| T | T | T | T | $A\wedge B\wedge C$ |
Utilitzant la suma de productes, es sumen totes les afirmacions lògiques que donen resultats reals, donant el resultat:
$(A\wedge \neg B\wedge \neg C)\vee (A\wedge B\wedge C)\,$
Utilitzant l’àlgebra booleana, el resultat es simplifica amb l'equivalent per la taula de veritat:
$A\wedge ((\neg B\wedge \neg C)\vee (B\wedge C))\,$

## Circuits

A electrònica digital la lògica combinacional està formada per equacions simples a partir de les operacions bàsiques de l'àlgebra de Boole. Entre els circuits combinacionals clàssics tenim:
* Lògics
** Generador/Detector de paritat
** Multiplexor i demultiplexor
** Codificador i Descodificador
** Convertidor de codi
** Comparador
* aritmètics
** Sumador
* Aritmètics i lògics
** Unitat aritmeticològica
Aquests circuits estan compostos únicament per portes lògiques interconnectades entre si.

## Funcions combinacionals

Tots els circuits combinacionals es poden representar utilitzant àlgebra de Boole a partir de la seva funció lògica, generant de forma matemàtica el funcionament del sistema combinacional. D'aquesta manera, cada senyal d'entrada és una variable de l'equació lògica de sortida. Per exemple, un sistema combinacional compost exclusivament per una porta AND tindria dues entrades A i B. La seva funció combinacional seriosa $F=A\cdot B$, per a una porta OR seria $F=A+B\,$. Aquestes operacions es poden combinar formant funcions més complexes. Així, l'esquema es defineix per la funció indicada sota d'aquest.
Això permet emprar diferents mètodes de simplificació per reduir el nombre d'elements combinacionals que formen el sistema.

## Minimització de fórmules lògiques

La minimització (simplificació) de les fórmules de la lògica combinacional es fa mitjançant les següents regles basades en les lleis de l’àlgebra de Boole :
${\begin{aligned}(A\vee B)\wedge (A\vee C)&=A\vee (B\wedge C)\\(A\wedge B)\vee (A\wedge C)&=A\wedge (B\vee C)\end{aligned}}$
${\begin{aligned}A\vee (A\wedge B)&=A\\A\wedge (A\vee B)&=A\end{aligned}}$
${\begin{aligned}A\vee (\lnot A\wedge B)&=A\vee B\\A\wedge (\lnot A\vee B)&=A\wedge B\end{aligned}}$
${\begin{aligned}(A\vee B)\wedge (\lnot A\vee B)&=B\\(A\wedge B)\vee (\lnot A\wedge B)&=B\end{aligned}}$
${\begin{aligned}(A\wedge B)\vee (\lnot A\wedge C)\vee (B\wedge C)&=(A\wedge B)\vee (\lnot A\wedge C)\\(A\vee B)\wedge (\lnot A\vee C)\wedge (B\vee C)&=(A\vee B)\wedge (\lnot A\vee C)\end{aligned}}$
Amb l’ús de la minimització (de vegades anomenada optimització lògica), es pot arribar a una funció o circuit lògic simplificat i el circuit combinacional lògic es fa més petit i és més fàcil d’analitzar, utilitzar o construir.

## Vegeu també

* Sistema seqüencial
* Sistema digital
* Lògica seqüencial
* Matriu de portes programable al camp
* Lògica de relés
* Controlador lògic programable

## Referències

* ↑ C.J. Savant, Jr.; Martin Roden; Gordon Carpenter. "Electronic Design: Circuits and Systems". 1991. ISBN 0-8053-0285-9 p. 682
* ↑ Clive Maxfield. "FPGAs: World Class Designs". p. 70. 2009. ISBN 1856176215
* ↑ Douglas Lewin, Logical Design of Switching Circuits, Second Edition, Thomas Nelson and Sons, 1974, ISBN 017 771044 6, pp.162-163

## Bibliografia

* Michael Predko and Myke Predko, Digital electronics demystified, McGraw-Hill, 2004. ISBN 0-07-144141-7 ISBN 0-07-144141-7

## Enllaços externs

* Combinational Logic & Systems Tutorial Guide by D. Belton, R. Bigwood.