SimuveliqAprenderEnglishAbrir los simuladores
Aprender › Ingeniería

Electrónica digital

Un circuito digital trabaja con dos niveles de voltaje, 0 y 1. Con ellos se representan números (en binario, con signo y con coma flotante), se calculan funciones lógicas con compuertas y, añadiendo memoria (flip-flops), se construyen contadores y máquinas de estado. Este tema recorre ese camino con las cuatro herramientas de Electrónica digital.

Sistemas numéricos

En un sistema posicional de base cada dígito vale su valor por una potencia de la base. El binario (base 2) usa 0 y 1; el octal (8) y el hexadecimal (16, dígitos 0–9 y A–F) son abreviaturas del binario, porque 8 = 2³ y 16 = 2⁴:

ConversiónMétodo
Base → decimalSuma de dígito × (como arriba).
Decimal → binario, parte enteraDividir entre 2 una y otra vez; los residuos, leídos de abajo hacia arriba, son los bits.
Decimal → binario, parte fraccionariaMultiplicar por 2 una y otra vez; la parte entera de cada producto, leída de arriba hacia abajo, es el bit.
Binario ↔ octal / hexadecimalAgrupar de 3 o de 4 bits desde la coma hacia los dos lados; cada grupo es un dígito.
Una fracción decimal finita puede ser infinita en binario: . Por eso una computadora no guarda 0.1 exacto (en precisión simple guarda 0.100000001490116…).

Otros códigos: el BCD escribe cada dígito decimal con 4 bits (45 → 0100 0101) y el código Gray ordena los números de modo que dos consecutivos difieren en un solo bit (); se usa en codificadores de posición y en los mapas de Karnaugh.

Enteros con signo y desbordamiento

Con bits hay patrones. Sin signo representan de 0 a . Para los negativos casi todos los procesadores usan el complemento a 2: el bit de mayor peso vale en lugar de , así que el rango es de a (con 8 bits, de −128 a 127).

Para cambiar de signo se invierten todos los bits y se suma 1. La ventaja es que la suma es la misma para números con y sin signo, y la resta es : un solo sumador sirve para todo. Lo que cambia es cómo se lee el resultado y cuándo es incorrecto:

  • Sin signo: el resultado no cabe si sale un acarreo del último bit (bandera C = 1).
  • Con signo: hay desbordamiento (V = 1) cuando dos números del mismo signo dan un resultado de signo contrario; equivale a que el acarreo que entra al bit de signo sea distinto del que sale.
  • Sumar dos números de signo distinto nunca desborda.
00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-1+1 = un pasoen sentido horariodesbordamiento: 7 + 1 → −8
La rueda del complemento a 2 con 4 bits: sumar es girar, y pasar de 0111 a 1000 salta de +7 a −8.

Coma flotante IEEE 754

Los números reales se guardan en notación científica binaria. En precisión simple (32 bits) hay 1 bit de signo , 8 de exponente guardado con un sesgo de 127 y 23 de mantisa ; el 1 antes de la coma no se guarda (bit implícito):

se reserva para el cero y los números desnormalizados (sin bit implícito), y para el infinito (mantisa 0) y NaN. Con 24 bits efectivos, la precisión es de unas 7 cifras decimales; un valor que no cabe se redondea al más cercano.

Álgebra de Boole y compuertas

Una variable lógica vale 0 o 1. Las tres operaciones básicas son AND (producto, : vale 1 solo si las dos valen 1), OR (suma, : vale 1 si alguna vale 1) y NOT (complemento, ). Cada una es una compuerta; NAND y NOR son AND y OR negadas, y XOR vale 1 cuando las entradas son distintas.

ANDABABAB = 00, 01, 10, 11 → 0 0 0 1ORABA + BAB = 00, 01, 10, 11 → 0 1 1 1NOTAAA = 0, 1 → 1 0NANDABABAB = 00, 01, 10, 11 → 1 1 1 0NORABA + BAB = 00, 01, 10, 11 → 1 0 0 0XORABA ⊕ BAB = 00, 01, 10, 11 → 0 1 1 0
Símbolos de las compuertas, su expresión y su salida para cada combinación de entradas.
LeyForma con +Forma con ·
Identidad y nulo
Complemento
Idempotencia
Absorción
Distributiva
De Morgan

De Morgan explica por qué NAND sola (o NOR sola) basta para cualquier circuito: una suma de productos AND–OR se convierte en NAND–NAND negando dos veces cada producto.

Formas canónicas y mapas de Karnaugh

Toda función se puede escribir desde su tabla de verdad. Cada fila con salida 1 es un minitérmino, un producto con todas las variables (la que vale 0 va negada); la suma de los minitérminos es la forma canónica SOP, . Con las filas de salida 0 se forman maxitérminos (sumas) y la forma POS, . Son correctas pero largas: hay que simplificarlas.

El mapa de Karnaugh dibuja la tabla de verdad de forma que celdas vecinas difieran en un solo bit: filas y columnas van en código Gray (00, 01, 11, 10) y los bordes opuestos también son vecinos. Dos celdas vecinas con 1 se juntan porque : la variable que cambia desaparece.

  • Los grupos son rectángulos de 1, 2, 4, 8… celdas (potencias de 2), y pueden dar la vuelta por los bordes.
  • Cada grupo de celdas elimina variables: quedan las que no cambian dentro del grupo.
  • Se buscan los grupos más grandes posibles y el menor número de grupos que cubra todos los 1; un 1 puede estar en varios grupos.
  • Las celdas «no importa» (X, combinaciones que nunca ocurren) se usan como 1 solo si agrandan un grupo; no hace falta cubrirlas.
  • Agrupando los 0 en lugar de los 1 se obtiene la forma POS mínima.

Con más de 4 o 5 variables el mapa deja de ser práctico y se usa el método de Quine–McCluskey, que hace lo mismo con tablas: combina minitérminos que difieren en un bit hasta obtener los implicantes primos (grupos que ya no crecen); los esenciales (únicos que cubren algún 1) entran seguro, y si quedan 1 sin cubrir el método de Petrick elige la combinación más barata del resto.

Circuitos combinacionales

En un circuito combinacional la salida depende solo de las entradas de ese instante. Los bloques de siempre:

BloqueQué haceEcuaciones
SemisumadorSuma dos bits.
Sumador completoSuma dos bits y el acarreo que llega.
Multiplexor 4:1Pasa a la salida la entrada que eligen .
Decodificador 2:4Activa una sola salida, la del número de entrada.

Encadenando sumadores completos, cada uno pasando su acarreo al siguiente, se suman números de bits (sumador de acarreo en cascada). Es simple pero lento: el último bit espera a que el acarreo recorra toda la cadena.

FAA0 B0 S0 FAA1 B1 S1 FAA2 B2 S2 FAA3 B3 S3 C0 = 0C4 C1 C2 C3
Sumador de 4 bits con acarreo en cascada.

Circuitos secuenciales y flip-flops

Un circuito secuencial tiene memoria: su salida depende también de lo que pasó antes. El elemento de memoria más simple es el latch SR, dos NOR realimentadas que guardan un bit. Un flip-flop solo cambia en el flanco de subida del reloj (CLK), así que todo el circuito avanza al mismo tiempo, un paso por ciclo:

CLKDQno se ve
Flip-flop D: en cada flanco de subida (trazos) Q copia el valor que tiene D en ese instante; lo que hace D entre flancos no importa.
Flip-flopEcuación característicaExcitación: 0→0, 0→1, 1→0, 1→1
DD = 0, 1, 0, 1
TT = 0, 1, 1, 0
JKJK = 0X, 1X, X1, X0
SR (SR = 0)SR = 0X, 10, 01, X0

La tabla de excitación responde a la pregunta del diseño: para que el estado pase de a , ¿qué hay que poner en las entradas? Las X son libertades que el mapa de Karnaugh aprovecha.

Máquinas de estado

Una máquina de estados finitos describe un circuito secuencial como un conjunto de estados y las transiciones entre ellos. En una máquina de Moore la salida depende solo del estado (se escribe dentro del círculo); en una de Mealy, del estado y de la entrada (se escribe en la flecha como entrada/salida), y suele necesitar menos estados. El diseño sigue siempre los mismos pasos:

  • Diagrama de estados a partir del enunciado: qué tiene que recordar el circuito.
  • Tabla de estados: siguiente estado y salida para cada estado y cada entrada.
  • Asignación de códigos: con estados hacen falta flip-flops; los códigos sin usar son «no importa».
  • Tabla de transición y de excitación con el flip-flop elegido.
  • Un mapa de Karnaugh por cada entrada de flip-flop y cada salida, y el circuito.

Errores frecuentes

  • Leer los residuos de la división entre 2 de arriba hacia abajo: el primero es el bit de menor peso.
  • Agrupar de 4 bits desde la izquierda al pasar a hexadecimal: se agrupa desde la coma.
  • Confundir el acarreo final (C) con el desbordamiento con signo (V): 100 + 50 con 8 bits tiene C = 0 y V = 1.
  • Ordenar el mapa de Karnaugh en binario (00, 01, 10, 11) en lugar de Gray: los grupos dejan de ser válidos.
  • Olvidar que los bordes del mapa son vecinos, o hacer grupos de 3 o 6 celdas.
  • Tratar las X como 1 obligatorios y cubrirlas aunque no ayuden.
  • Escribir la salida de una máquina de Mealy dentro del estado, o la de una de Moore en la flecha.

Ejemplos resueltos

Ejemplo 1De decimal a binario, octal y hexadecimal

Escribe 45.625 en binario, en octal y en hexadecimal.

Solución

  1. Parte entera, divisiones entre 2: 45 → 22 resto 1, 22 → 11 resto 0, 11 → 5 resto 1, 5 → 2 resto 1, 2 → 1 resto 0, 1 → 0 resto 1. De abajo hacia arriba: .
  2. Parte fraccionaria, multiplicaciones por 2: 0.625 × 2 = 1.25 → 1; 0.25 × 2 = 0.5 → 0; 0.5 × 2 = 1.0 → 1, y la fracción se acaba (exacta). De arriba hacia abajo: .
  3. Octal, grupos de 3 desde la coma: 101 101 . 101 → 55.5. Hexadecimal, grupos de 4: 0010 1101 . 1010 → 2D.A.
  4. Comprobación: .
.

Resuélvelo en Simuveliq

  1. En Ingeniería → Sistemas numéricos, en Conversión de bases, escribe 45.625 con la base 10.
  2. La tarjeta Resultado en todas las bases da 10 1101.101, 55.5 y 2D.A, y Paso a paso muestra la tabla de divisiones, la de multiplicaciones y los grupos de 3 y de 4 bits.

Ejemplo 2Complemento a 2 y desbordamiento

Con 8 bits: (a) escribe −45 en complemento a 2; (b) suma 100 + 50 y di si el resultado es correcto con signo y sin signo.

Solución

  1. (a) +45 = 0010 1101. Se invierten los bits: 1101 0010, y se suma 1: 1101 0011. Comprobación: sin signo ese patrón vale 211 = 2⁸ − 45.
  2. (b) 0110 0100 (100) + 0011 0010 (50) = 1001 0110. El acarreo que entra al bit de signo es 1 y el que sale es 0: C = 0 y V = 0 ⊕ 1 = 1.
  3. Sin signo, 1001 0110 = 150: correcto (C = 0, cabe en 0…255). Con signo, el bit de signo es 1 y el patrón vale 150 − 256 = −106: dos positivos dieron un negativo, desbordamiento, porque 150 no cabe en −128…127.
−45 = 1101 0011; 100 + 50 = 1001 0110: 150 sin signo (correcto) y −106 con signo (desbordamiento, V = 1).

Resuélvelo en Simuveliq

  1. En Sistemas numéricos, escribe −45 (base 10, n = 8 bits): la tabla de representaciones da complemento a 2 = 1101 0011, junto a signo y magnitud (1010 1101), complemento a 1 (1101 0010) y exceso 128 (0101 0011), y el paso a paso hace la inversión y el +1.
  2. En Aritmética binaria (n bits), A = 100, B = 50 y A + B: la tarjeta muestra la fila de acarreos, las banderas C = 0 · V = 1 · N = 1 · Z = 0 y las dos lecturas, −106 «desbordamiento (V = 1)» y 150 «cabe».

Ejemplo 3Un número en IEEE 754

Escribe −6.75 en coma flotante de precisión simple y da el patrón en hexadecimal.
11000000110110000000000000000000sexponente E (8)mantisa (23 bits)s = 1 → negativoE = 1000 0001₂ = 129 → 2^(129 − 127) = 2²1.mantisa = 1.1011₂ = 1.6875x = −1.6875 · 2² = −6.75en hexadecimal (grupos de 4 bits): C0D8 0000

Solución

  1. Signo: negativo, .
  2. (6 = 110 y 0.75 = 0.11). Normalizado: .
  3. Exponente guardado: .
  4. Mantisa: los bits después del 1 implícito, 1011, completados con ceros hasta 23 bits.
  5. Patrón: 1 | 1000 0001 | 1011 000… → 1100 0000 1101 1000 0000… = 0xC0D80000. Como 6.75 es exacto en binario, el valor guardado es exacto (error 0).
−6.75 → s = 1, E = 129, mantisa 1011 0…0: 0xC0D80000.

Resuélvelo en Simuveliq

  1. En Sistemas numéricos, en el panel IEEE 754 · 32 bits, escribe −6.75. La tarjeta pinta los 32 bits por campos, da «hex 0xC0D80000» y los cinco pasos (signo, binario, normalizar, exponente 2 + 127 = 129, mantisa).
  2. Prueba con 0.1: el valor guardado ya no es exacto y la tarjeta muestra el error.

Ejemplo 4Votador por mayoría

Tres jueces votan (A, B, C = 1 si aprueban). La salida F vale 1 si al menos dos aprueban. Halla F mínima en SOP y en POS.
ABC00011110010010203140516171BCACAB

Solución

  1. Tabla de verdad: F = 1 en las filas con dos o tres unos, 011, 101, 110 y 111, es decir .
  2. En el mapa, m7 es vecino de m3, m5 y m6. Se forman tres parejas que comparten m7: m3–m7 (cambia A: queda ), m5–m7 (cambia B: ) y m6–m7 (cambia C: ). Las tres son esenciales: cada una es la única que cubre su otro 1.
  3. . Agrupando los ceros (m0, m1, m2, m4, que forman tres parejas con m0) sale la POS , del mismo costo.
.

Resuélvelo en Simuveliq

  1. En Ingeniería → Mapas de Karnaugh, en Ejemplos, «Cargar» → Votador por mayoría (3 variables).
  2. El mapa colorea los tres grupos; Expresiones da la SOP y la POS mínimas, las versiones solo NAND y solo NOR y el costo, y Quine–McCluskey paso a paso llega a los mismos tres implicantes primos esenciales. «Construir el circuito» → AND–OR lo arma en el simulador.

Ejemplo 5Simplificar con «no importa»

Simplifica .
ABCD00011110000111100X112X31405X60718090100111120130140151CDAD

Solución

  1. Los 1 m3, m7, m15 y m11 llenan la columna CD = 11: grupo de 4, cambian A y B, queda .
  2. Falta m1. Solo, sería . Tomando la X de m5 como 1, el cuadrado m1, m3, m5, m7 (filas 00 y 01, columnas 01 y 11) es un grupo de 4: cambian B y C, queda .
  3. Las X de m0 y m2 no ayudan a ningún grupo necesario y se quedan como 0. Factorizando, la POS es , aún más barata.
.

Resuélvelo en Simuveliq

  1. «Cargar» → Con «no importa»: Σm(1,3,7,11,15) + d(0,2,5). El mapa muestra las X y los dos grupos; Expresiones da la SOP , la POS y el costo de cada una («conviene POS»).
  2. En Quine–McCluskey, las X entran a las combinaciones marcadas «(X)», pero no son columnas de la tabla de implicantes: no hay que cubrirlas.

Ejemplo 6Función cíclica (método de Petrick)

Simplifica .
ABC00011110010111213040516171ACBCAB

Solución

  1. Los seis 1 forman un anillo de parejas y hay seis implicantes primos de 2 celdas: (1, 5), (2, 6), (0, 2, que da la vuelta por los bordes), (0, 1), (5, 7) y (6, 7).
  2. Cada 1 está en dos de ellos, así que ninguno es esencial: el mapa no dice por dónde empezar.
  3. Petrick: para cada minitérmino, la suma de los implicantes que lo cubren, y se exige que el producto valga 1: . Los productos más baratos tienen 3 términos: y .
Dos soluciones mínimas: o .

Resuélvelo en Simuveliq

  1. «Cargar» → Función cíclica (Petrick). Quine–McCluskey dice «No hay implicantes esenciales (función cíclica)», escribe el producto de Petrick y elige P3, P1, P6: , los grupos del mapa.

Ejemplo 7Sumador completo

Diseña un circuito que sume tres bits A, B y y dé la suma S y el acarreo .
ABCin SCout A ⊕ B= unión (un cruce sin punto no está conectado)

Solución

  1. Tabla de verdad: la suma de tres bits va de 0 a 3 = 11₂. S es el bit bajo y vale 1 cuando hay un número impar de unos: (el mapa de S es un tablero de ajedrez, sin parejas: XOR).
  2. vale 1 con dos o tres unos: es el votador por mayoría del ejemplo 4, .
  3. Para reutilizar la XOR de A y B se escribe : si A y B son 1 hay acarreo; si solo uno es 1, hay acarreo cuando llega . Son 5 compuertas: dos XOR, dos AND y una OR.
  4. Comprobación: 1 + 1 + 0 = 2 = 10₂, así que S = 0 y = 1; y 1 + 1 + 1 = 3 = 11₂, S = 1 y = 1.
y .

Resuélvelo en Simuveliq

  1. En Ingeniería → Circuitos digitales, «Cargar ejemplo» → Sumador completo. Haz clic en los interruptores A, B y Cin y mira los LED S y Cout.
  2. La tabla de verdad que el simulador obtiene del circuito da S = 0, 1, 1, 0, 1, 0, 0, 1 y Cout = 0, 0, 0, 1, 0, 1, 1, 1 para las filas 000 a 111, con las expresiones (A ⊕ B) ⊕ Cin y (A ⊕ B)Cin + AB.

Ejemplo 8Detector de la secuencia 101

Un bit X llega en cada ciclo de reloj. Diseña una máquina de Mealy con flip-flops D cuya salida Z valga 1 al recibir el último 1 de cada 101, aceptando traslape (10101 da dos detecciones).
1/00/01/10/00/01/0S000S101S210

Solución

  1. Estados según lo que se lleva de la secuencia: S0 = nada, S1 = «1», S2 = «10». Desde S2, un 1 completa 101 (Z = 1) y ese 1 ya es el comienzo de otra: se va a S1 (traslape). Un 0 en S2 da «100», que no sirve: vuelve a S0.
  2. Tres estados → flip-flops: S0 = 00, S1 = 01, S2 = 10; el código 11 no se usa (X).
  3. Con flip-flops D, : solo al ir a S2 (desde S1 con X = 0), y al ir a S1, que ocurre con todo X = 1. Con las X del código 11, los mapas dan , y .
  4. Comprobación con X = 1 0 1 0 1: estados S0 → S1 → S2 → S1 → S2 → S1 y Z = 0 0 1 0 1, dos detecciones.
, , .

Resuélvelo en Simuveliq

  1. En Ingeniería → Máquinas de estado, en Ejemplos, «Cargar» → Detector de 101 (Mealy, con traslape).
  2. Se ven el Diagrama de estados, la Tabla de transición y de excitación · D (con «Con 3 estados hacen falta k = ⌈log₂ 3⌉ = 2 flip-flops») y las Ecuaciones mínimas con su mapa: D1 = Q0X̄, D0 = X, Z = Q1X. «Construir el circuito en el simulador» lo arma con su reloj para probarlo.

Ejemplo 9Contador módulo 5 con flip-flops T

Diseña un contador que recorra 0, 1, 2, 3, 4, 0… con flip-flops T, y cuya salida Z valga 1 en el 4.

Solución

  1. Cinco estados → 3 flip-flops (, del 000 al 100); los códigos 101, 110 y 111 nunca aparecen: X.
  2. Con T, : un flip-flop se activa cuando su bit tiene que cambiar. De 011 a 100 cambian los tres () y de 100 a 000 solo (100).
  3. Tabla de excitación para 000, 001, 010, 011, 100: = 0, 0, 0, 1, 1; = 0, 1, 0, 1, 0; = 1, 1, 1, 1, 0.
  4. Mapas con las X: , , , y la salida de Moore .
, , , .

Resuélvelo en Simuveliq

  1. «Cargar» → Contador módulo 5 (T). La tabla de excitación dice «Los 3 códigos sin usar se tratan como «no importa» (X)» y las Ecuaciones mínimas dan T2 = Q2 + Q1Q0, T1 = Q0, T0 = Q̄2 y Z = Q2.
  2. Cambia los flip-flops a D o JK en Implementación para comparar cuántas compuertas necesita cada uno.

Temas relacionados