Altifigence Academy

7 / 63 · Concepto

Álgebra de Boole, transformaciones equivalentes y coste de implementación

Transforme circuitos mediante De Morgan y factorización y distinga equivalencia lógica de temporización.

Las expresiones equivalentes coinciden para todas las entradas

Simplificar un circuito combinacional no consiste solo en acortar la expresión. Manteniendo la función, hay que considerar etapas lógicas, fan-in, fan-out y las celdas disponibles. Primero interprete ++ y el producto del álgebra de BooleÁlgebra de Boole Álgebra de 0, 1 y las operaciones AND, OR y NOT. El signo de suma suele representar OR, por lo que sus reglas difieren de la suma de enteros. como OR y AND.

A+AB=A,A+A‾B=A+BA+AB=A,\qquad A+\overline A B=A+B

La segunda identidad se comprueba por casos: con A=1A=1, ambos lados valen 1; con A=0A=0, ambos valen BB. Debe poder explicar una identidad incluso después de aplicarla de memoria.

Lea estructuras NAND y NOR con De Morgan

AB‾=A‾+B‾,A+B‾=A‾ B‾\overline{AB}=\overline A+\overline B,\qquad \overline{A+B}=\overline A\,\overline B

Por ejemplo, Y=AB+AC=A(B+C)Y=AB+AC=A(B+C). La primera forma usa dos AND y una OR; la segunda, una OR y una AND. Sin embargo, distintas cargas o llegadas de entrada pueden hacer que la opción con menos puertas no sea la más rápida.

También es útil el teorema del consenso:

AB+A‾C+BC=AB+A‾CAB+\overline A C+BC=AB+\overline A C

Si BC=1BC=1, con A=0A=0 ya vale 1 el término A‾C\overline A C y con A=1A=1, el término ABAB. Por tanto, BCBC es redundante para la función estable. Eliminarlo puede cambiar los riesgos de pulsos espurios durante las transiciones, como veremos al estudiar retardos.

Cada columna siguiente representa una combinación ABC, no el transcurso del tiempo. Compruebe que ambas salidas coinciden en todas ellas: aunque puertas y caminos difieran, la función para entradas 0/1 estables es la misma.

Equivalencia entre AB + AC y A(B + C)
Ver los datos de la forma de onda
Datos de la forma de onda: cada carácter es un intervalo; un punto conserva el estado anterior; p representa un ciclo de reloj.
SeñalForma de ondaValores del bus
ABC23452345000 → 001 → 010 → 011 → 100 → 101 → 110 → 111
AB+AC0....1..
A(B+C)0....1..

Criterio de verificación de equivalencia

Llame y_ref y y_opt a las versiones anterior y posterior y compare todas las entradas cuando el espacio sea pequeño. Superar uno o dos ejemplos no demuestra equivalencia.

SystemVerilog
assign y_ref = (a & b) | (a & c);
assign y_opt = a & (b | c);
assign mismatch = y_ref ^ y_opt;

mismatch debe permanecer en 0 para las ocho combinaciones 0/1. La simulación de cuatro estados con X/Z y la equivalencia secuencial requieren condiciones adicionales. Expresar el alcance exacto de lo demostrado es una base de la revisión de diseño.

Inténtalo tú

Simplifique F=A‾B+AB+AB‾F=\overline A B+AB+A\overline B e indique cuántas combinaciones debe verificar.

Leer la explicación

Los dos primeros términos dan B(A‾+A)=BB(\overline A+A)=B, por lo que F=B+AB‾=A+BF=B+A\overline B=A+B. Hay dos variables: deben verificarse cuatro combinaciones. La equivalencia de las expresiones no implica iguales retardos de propagación.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.