Lógica combinacional
En la teoría de los autómatas, la lógica combinacional (también conocida como lógica independiente del tiempo o lógica combinatoria) es un tipo de lógica digital que se implementa mediante circuitos booleanos, donde la salida es una función pura de la entrada presente solamente. Esto contrasta con la lógica secuencial, en la que la salida depende no solo de la entrada actual sino también del historial de la entrada. En otras palabras, la lógica secuencial tiene memoria mientras que la lógica combinacional no.
La lógica combinacional se utiliza en los circuitos informáticos para realizar álgebra booleana en las señales de entrada y en los datos almacenados. Los circuitos informáticos prácticos normalmente contienen una mezcla de lógica combinacional y secuencial. Por ejemplo, la parte de una unidad lógica aritmética, o ALU, que realiza cálculos matemáticos se construye mediante lógica combinacional. Otros circuitos utilizados en las computadoras, como medios sumadores, sumadores completos, medios restadores, restadores completos, multiplexores, demultiplexores, codificadores y decodificadores, también se fabrican mediante lógica combinacional.
El diseño práctico de los sistemas lógicos combinacionales puede requerir la consideración del tiempo finito requerido para que los elementos lógicos prácticos reaccionen a los cambios en sus entradas. Cuando una salida es el resultado de la combinación de varias rutas diferentes con diferentes números de elementos de conmutación, la salida puede cambiar momentáneamente de estado antes de establecerse en el estado final, ya que los cambios se propagan a lo largo de diferentes rutas.
Representación
La lógica combinacional se usa para construir circuitos que producen salidas específicas a partir de ciertas entradas. La construcción de la lógica combinacional generalmente se realiza utilizando uno de dos métodos: una suma de productos o un producto de sumas. Considere la siguiente tabla de verdad:
A | B | C | Resultado | equivalente lógico |
---|---|---|---|---|
F | F | F | F | ¬ ¬ A∧ ∧ ¬ ¬ B∧ ∧ ¬ ¬ C{displaystyle neg Awedge neg Bwedge neg C} |
F | F | T | F | ¬ ¬ A∧ ∧ ¬ ¬ B∧ ∧ C{displaystyle neg Awedge neg Bwedge C} |
F | T | F | F | ¬ ¬ A∧ ∧ B∧ ∧ ¬ ¬ C{displaystyle neg Awedge Bwedge neg C} |
F | T | T | F | ¬ ¬ A∧ ∧ B∧ ∧ C{displaystyle neg Awedge Bwedge C} |
T | F | F | T | A∧ ∧ ¬ ¬ B∧ ∧ ¬ ¬ C{displaystyle Awedge neg Bwedge neg C} |
T | F | T | F | A∧ ∧ ¬ ¬ B∧ ∧ C{displaystyle Awedge neg Bwedge C} |
T | T | F | F | A∧ ∧ B∧ ∧ ¬ ¬ C{displaystyle Awedge Bwedge neg C} |
T | T | T | T | A∧ ∧ B∧ ∧ C{displaystyle Awedge Bwedge C} |
Usando la suma de productos, todas las declaraciones lógicas que arrojan resultados verdaderos se suman, dando el resultado:
- ()A∧ ∧ ¬ ¬ B∧ ∧ ¬ ¬ C)Alternativa Alternativa ()A∧ ∧ B∧ ∧ C){displaystyle (Awedge neg Bwedge neg C)vee (Awedge Bwedge C),}
Usando álgebra booleana, el resultado se simplifica al siguiente equivalente de la tabla de verdad:
- A∧ ∧ ()()¬ ¬ B∧ ∧ ¬ ¬ C)Alternativa Alternativa ()B∧ ∧ C)){displaystyle Awedge (neg Bwedge neg C)vee (Bwedge C),}
Minimización de fórmulas lógicas
La minimización (simplificación) de las fórmulas de lógica combinacional se realiza utilizando las siguientes reglas basadas en las leyes del álgebra booleana:
- ()AAlternativa Alternativa B)∧ ∧ ()AAlternativa Alternativa C)=AAlternativa Alternativa ()B∧ ∧ C)()A∧ ∧ B)Alternativa Alternativa ()A∧ ∧ C)=A∧ ∧ ()BAlternativa Alternativa C){displaystyle {begin{aligned}(Avee B)wedge (Avee C) ventaja=Avee (Bwedge C)\(Awedge B)vee (Awedge C) ventaja=Awedge (Bvee C)end{aligned}}}}}}}
- AAlternativa Alternativa ()A∧ ∧ B)=AA∧ ∧ ()AAlternativa Alternativa B)=A{displaystyle {begin{aligned}Avee (Awedge B) limit=AAwedge (Avee B) limit=Aend{aligned}}
- AAlternativa Alternativa ()¬ ¬ A∧ ∧ B)=AAlternativa Alternativa BA∧ ∧ ()¬ ¬ AAlternativa Alternativa B)=A∧ ∧ B{displaystyle {begin{aligned}Avee (lnot Awedge B) Pulse=Avee BAwedge (lnot Avee B) Pulse=Awedge Bend{aligned}}}
- ()AAlternativa Alternativa B)∧ ∧ ()¬ ¬ AAlternativa Alternativa B)=B()A∧ ∧ B)Alternativa Alternativa ()¬ ¬ A∧ ∧ B)=B{displaystyle {begin{aligned}(Avee B)wedge (lnot Avee B) Pulse=B\(Awedge B)vee (lnot Awedge B) Pulse=Bend{aligned}}
- ()A∧ ∧ B)Alternativa Alternativa ()¬ ¬ A∧ ∧ C)Alternativa Alternativa ()B∧ ∧ C)=()A∧ ∧ B)Alternativa Alternativa ()¬ ¬ A∧ ∧ C)()AAlternativa Alternativa B)∧ ∧ ()¬ ¬ AAlternativa Alternativa C)∧ ∧ ()BAlternativa Alternativa C)=()AAlternativa Alternativa B)∧ ∧ ()¬ ¬ AAlternativa Alternativa C){fnMicrosoft Sans Serif}(Awedge B)vee (lnot Awedge C)vee (Bwedge C) =(Awedge B)vee (lnot Awedge C)(Avee B)wedge (lnot Avee C)wedge (B=vee)
Con el uso de la minimización (a veces llamada optimización lógica), se puede llegar a una función o circuito lógico simplificado, y el circuito combinacional lógico se vuelve más pequeño y más fácil de analizar, usar o construir.
Contenido relacionado
CAÑUTILLO
Grupo simétrico
Diseño por contrato