Está en la página 1de 707

Machine Translated by Google

Tercera  edicion

Introducción  a
diseño  lógico

ALan  B.  MARCOVITZ
Machine Translated by Google

ENSAYAR

CAPITULO
PRUEBA  
Introducción  al  Diseño  Lógico  está  escrito  pensando  en  el  estudiante.
7.5  PROBLEMAS  RESUELTOS
La  atención  se  centra  en  los  fundamentos  y  la  enseñanza  con  el  ejemplo.  El
1.  Para  la  siguiente  tabla  de  estado  y  asignación  de  estado,  muestre

autor  cree  que  la  mejor  manera  de  aprender  diseño  lógico  es  estudiar ecuaciones  para  el  siguiente  estado  y  la  salida.

z
y  resolver  una  gran  cantidad  de  problemas  de  diseño,  y  eso  es  lo  que  él q qx  0  x  1  x  0  x  1
q  q1  q2

un  0  1
CA 0
da  a  los  estudiantes  la  oportunidad  de  hacer.  De  acuerdo  con  el  estudiante bb  un 1   1
segundo  1  1

C  0  0
CB  C 0  1 0
enfoque,  las  siguientes  características  contribuyen  a  este  objetivo.

Ejemplos  Numerosos  ejemplos  fáciles  de  detectar  que  ayudan Primero  construiremos  una  tabla  de  verdad  y  mapearemos  las  funciones.

hacen  que  los  conceptos  sean  claros  y  comprensibles  están  integrados q  xq1  q2  z  q1 q2

C  00  01  1  1
a  lo  largo  de  cada  capítulo. 00  11  0  0
—0  1 0  XX  X
B  01  10  1  1
C  10  00  0  0
un  10  10  0 1
EJEMPLO  3.12 —1  1 0  XX  X

DEL  
segundo  11  11  0  1

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 1 1 00 1 1 1 00 1
EJERCICIOS
1 1

01 11 01 1 1 01 1 1

11 1 1 1 11 1 1 1 11 1 1 1
Problemas  resueltos  Una  característica  distintiva

10 1 1 1 10 1 1 1 10 1 1 1 de  este  libro,  el  extenso  conjunto  de  problemas  resueltos  
que  se  encuentra  al  final  de  cada  capítulo  da
Los  cuatro  implicantes  primos  esenciales  se  muestran  en  el  segundo  mapa,  dejando
tres  1  a  cubrir: estudiantes  la  ventaja  de  ver  conceptos
F  ACD  ACD  ACD  ACD
aplicado  a  problemas  reales.
Estos  cuadrados  están  sombreados  en  el  mapa  de  la  derecha.  Los  otros  tres  primos
los  implicantes,  todos  los  grupos  de  cuatro,  también  se  muestran  en  el  mapa  de  la  derecha.  Cada
de  estos  cubre  dos  de  los  tres  1  restantes  (no  hay  dos  iguales).  Así,  cualquier
se  pueden  usar  dos  de  BD,  AB  y  BC  para  completar  el  SOP  mínimo
expresión.  Las  tres  respuestas  igualmente  buenas  resultantes  son
Color  El  color  se  utiliza  como  un  potente
F  ACD  ACD  ACD  ACD  BD  AB ayuda  pedagógica  en  todo  momento.
F  ACD  ACD  ACD  ACD  BD  BC
F  ACD  ACD  ACD  ACD  AB  BC

Mapas  de  Karnaugh  El  uso  liberal  de 7.7  Capítulo  7  Prueba 491

Los  mapas  de  Karnaugh  ayudan  a  los  estudiantes  a  comprender  los  conceptos  básicos
7.7  PRUEBA  DEL  CAPÍTULO  7  (75  MINUTOS)
Principios  del  álgebra  de  conmutación. 1.  Para  la  siguiente  tabla  de  estados,  diseñe  un  sistema  usando  un  flip  flop  D  para
A,  un  flip  flop  JK  para  B,  y  compuertas  AND,  OR  y  NOT.  Mostrar  la
flip  flop  ecuaciones  de  entrada  y  la  ecuación  de  salida;  usted  no  necesita
para  dibujar  un  diagrama  de  bloques.

Pruebas  de  fin  de  capítulo  “Pruébese  usted  mismo” AB z
AB  x  0  x  1  x  0  x  1
secciones,  también  identificables  por  una  barra  sombreada,  son 00  11  01  0 1
01  00  10  10  10  01  1 0 0
diseñado  para  ayudar  a  los  estudiantes  a  medir  su  comprensión   11  01  10 1
1
0

del  material  clave.  Las  respuestas  a  las  pruebas  pueden  ser
2.  Para  la  siguiente  tabla  de  estados  y  asignación  de  estados,  diseñe  un  sistema
que  se  encuentra  en  el  Apéndice  C. usando  un  flip  flop  SR  para  q1  y  un  flip  flop  JK  para  q2.  mostrar  el  tirón
cambiar  las  ecuaciones  de  entrada  y  la  ecuación  de  salida;  no  tienes  que
dibujar  un  diagrama  de  bloques.

6.6  EJERCICIOS

1.  Para  cada  una  de  las  siguientes  tablas  de  estado,  muestre  un  diagrama  de  estado  y
completar  el  seguimiento  de  tiempo  en  la  medida  de  lo  posible  (incluso  después  de  la  entrada
ya  no  se  sabe).

a.
  q1   q2 z
q1q2  x  0  x  1  x  0  x  1
0   0  1   0  0   0   1
0  0  1 1  0 1  1 0 0 Ejercicios  Cada  capítulo  presenta  una  amplia
1  0 0  0 0  0 1 1
1  1 0  1 0  1 1 0
selección  de  ejercicios,  identificable  por  un  color
x10110001  _

q1  0 barra,  con  respuestas  seleccionadas  en  el  Apéndice  B.
Machine Translated by Google

Diseño  Diseño  usando  estándar  pequeño  y Ejemplos  completos  Marcovitz  presenta  seis
paquetes  de  circuitos  integrados  de  mediana  escala  y ejemplos  completos,  desde  problemas  verbales  hasta  diseño,  en
dispositivos  lógicos  programables  es  un  aspecto  clave  de Apéndice  E.
el  libro.
EJEMPLO  4
EJEMPLO  E.4
Diseñe  un  sistema  de  Moore  con  una  entrada,  x,  y  una  salida,  z,  tal  que  z
cambia  cada  vez  que  ha  habido  dos  entradas  0  consecutivas.  El  sistema
15.  Diseñe  un  sumador  decimal  de  1  bit,  donde  los  dígitos  decimales  se  almacenan  en la  salida  es  inicialmente  0.  Implementarlo  con  flip  flops  JK  y  NAND.
código  exceso  3.
Muestra
Cuando  sumas  los  dos  códigos  usando  un  sumador  binario,  el  acarreo  es X  1  1  0  0  1  0  0  1  0  0  0  1  0  1  1  0  1  0  0  0  0  0
siempre  correcto  La  suma  debe  corregirse  sumando  3  si z  0  0  0  0  1  1  1  0  0  0  1  1  1  1  1  1  1  1  1  0  1  0  1
no  hay  carry  o  3  si  hay  carry.
0011  0 1010 7 A  partir  de  la  traza  de  tiempo  de  la  muestra,  está  claro  que  cuando  hay  más  de  dos
0  entradas  consecutivas,  la  salida  sigue  cambiando.
0100  1 1001 6 Hay  dos  estados  de  ninguna  parte,  A  donde  la  salida  es  0  y  B  donde  la  salida  
0  0111 1  0011 es  uno.  En  cualquiera  de  estos  estados,  una  entrada  1  deja  el  estado
sin  cambios,  y  una  entrada  0  avanza.  Los  otros  dos  estados  son  C,  donde
3  1101 +3  0011
la  salida  sigue  siendo  0,  pero  ha  habido  una  entrada  0  y  D,  donde  la  salida  es
(1)  0100  1 0110  13 sigue  siendo  1.  Esto  conduce  al  siguiente  diagrama  de  estado.

As Bs Cen
1 1
A B
0 1

4  bits Sumador
1 0 0 1

0
C s4 s3 ss
2 1
C D 1
0 0 1
Cafuera
0

1 0

Laboratorios  Cuatro  tipos  de  experimentos  de  laboratorio  ayudan  a  
4  bits Sumador integrar  los  circuitos  prácticos  con  la  teoría.  Los  estudiantes  pueden
aproveche  los  experimentos  de  hardware  prácticos  tradicionales,  
ignorado suma experimentos  diseñados  para  WinBreadboard/
MacBreadboard  (una  placa  virtual)  y  simulación
ejercicios  de  laboratorio  utilizando  el  programa  de  captura  de  circuito
LogicWorks.

■  24.  Diseñe  un  sumador  serial  para  sumar  dos  números  de  4  bits.  cada  número  es
almacenado  en  un  registro  de  desplazamiento  7495.

Chanclas

4.6  TABLAS  PRIMAS  IMPLICANTES  PARA
MÚLTIPLES  PROBLEMAS  DE  SALIDA
Habiendo  encontrado  todos  los  términos  del  producto,  creamos  una  tabla  de  implicantes  primos
con  una  sección  separada  para  cada  función.  La  tabla  de  implicantes  primos  para Lleno
Cambio Registros
el  primer  conjunto  de  funciones  de  las  dos  últimas  secciones Sumador

f(a,  b,  c)   m(2,  3,  7)

g(a,  b,  c) m(4,  5,  7)

se  muestra  en  la  Tabla  4.9.  Una  X  solo  se  coloca  en  la  columna  de  una  función  para
que  el  término  es  un  implicante.  (Por  ejemplo,  no  hay  X  en  la  columna  7
de  g  o  para  el  término  D.)  Los  implicantes  primos  esenciales  se  encuentran  como  antes  (ab
para  f  y  ab  para  g). Cárguelos  usando  la  capacidad  de  carga  paralela.  debes  borrar
la  chancleta  de  almacenamiento  de  transporte  antes  de  comenzar.  Utilice  un  pulsador  para
Tabla  4.9  Una  tabla  de  implicantes  primos  de  salida  múltiple.
el  reloj  y  un  interruptor  para  controlar  si  está  cargando  o
F gramo

cambiando.  Mostrar  el  contenido  del  registro  de  desplazamiento  inferior

$  237457
111  4A X X
01–     3B XX Problemas  de  salida  múltiple  Las  técnicas  para  
10–   3 C XX resolver  problemas  de  salida  múltiple  se  muestran  
–11  3D XX
1–1  3  E XX
utilizando  el  mapa  de  Karnaugh,  Quine­McCluskey  y
consenso  iterado.
Machine Translated by Google
Machine Translated by Google

Introducción  al  diseño  lógico
Tercera  edicion

Alan  B.  Marcovitz  
Universidad  Atlántica  de  Florida
Machine Translated by Google

Introducción  al  diseño  lógico
Machine Translated by Google

INTRODUCCIÓN  AL  DISEÑO  LÓGICO,  TERCERA  EDICIÓN

Publicado  por  McGraw­Hill,  una  unidad  comercial  de  The  McGraw­Hill  Companies,  Inc.,  1221  Avenue  of  the  Americas,  Nueva  York,  NY
10020.  Copyright  ©  2010  por  The  McGraw­Hill  Companies,  Inc.  Todos  los  derechos  reservados.  Ediciones  anteriores  ©  2005  y  2002.  Ninguna  parte  de
esta  publicación  puede  ser  reproducida  o  distribuida  en  cualquier  forma  o  por  cualquier  medio,  o  almacenada  en  una  base  de  datos  o  sistema  de  recuperación,  sin  la
consentimiento  previo  por  escrito  de  The  McGraw­Hill  Companies,  Inc.,  incluido,  entre  otros,  en  cualquier  red  u  otro  almacenamiento  electrónico  o
transmisión  o  difusión  para  el  aprendizaje  a  distancia.

Es  posible  que  algunos  accesorios,  incluidos  los  componentes  electrónicos  e  impresos,  no  estén  disponibles  para  los  clientes  fuera  de  los  Estados  Unidos.

Este  libro  está  impreso  en  papel  sin  ácido.

1  2  3  4  5  6  7  8  9  0  DOC/DOC  0  9

ISBN  978–0–07–319164–5
MHID  0–07–319164–7

Editorial  mundial:  Raghothaman  Srinivasan
Director  de  Desarrollo: Kristine  Tibbetts
Editor  de  desarrollo: darlene  schueller
METRO.

Gerente  sénior  de  mercadeo: curt  reynolds
Gerente  de  proyecto  sénior: Jane  Mohr
Supervisor  principal  de  producción: Sandy  Ludovissy
Coordinador  Asociado  de  Diseño: Brenda  RA. olwes
Diseñador  de  la  portada: Montaje  de  estudio,  St. Luis,  Misuri
Compositor: Servicios  editoriales  de  Lachina
Tipo  de  letra: 10/12  veces  romana
Impresora: r r donnelley  crawfordsville, EN

Datos  de  catalogación  en  publicación  de  la  Biblioteca  del  Congreso

Marcovitz,  Alan  B.
Introducción  al  diseño  lógico /  Alan  B.  Marcovitz.  —  3ra  ed.
pag.  cm.
Incluye  índice.
ISBN  978–0–07–319164–5  ­­­  ISBN  0–07–319164–7  (copia  impresa:  papel  alcalino)  1.  Circuitos  lógicos.  2.  Diseño  lógico.  I.  Título.

TK7868.L6M355  2010
621.39'5–dc22
2008036005

www.mhhe.com
Machine Translated by Google

CONTENIDOS  BREVES

Prefacio  ix

Capítulo  1 Introducción  1

Capitulo  2 Sistemas  Combinacionales  29

Capítulo  3 El  mapa  de  Karnaugh  111

Capítulo  4 Algoritmos  de  minimización  de  funciones  201

Capítulo  5 Diseño  de  sistemas  combinacionales  249

Capítulo  6 Análisis  de  Sistemas  Secuenciales  365

Capítulo  7 El  diseño  de  sistemas  secuenciales  415

Capítulo  8 Resolver  problemas  secuenciales  más  grandes  493

Capítulo  9 Simplificación  de  Circuitos  Secuenciales
En  línea  en  http://www.mhhe.com/marcovitz

Apéndice  A  que  relaciona  el  álgebra  con  el  mapa  de  Karnaugh  543

Apéndice  B  Respuestas  a  ejercicios  seleccionados  548

Apéndice  C  Capítulo  Respuestas  de  prueba  573

Apéndice  D  Experimentos  de  laboratorio  587

Apéndice  E  Ejemplos  completos  612

Índice  629

v
Machine Translated by Google

CONTENIDO

Prefacio  ix 2.7  Simplificación  de  expresiones  algebraicas  65  2.8  
Manipulación  de  funciones  algebraicas  e  implementaciones  
de  puertas  NAND  70  2.9  Un  álgebra  
Capítulo  1
Introducción  1 booleana  más  general  78  2.10  Problemas  resueltos  80

1.1  Diseño  lógico  1  1.1.1   2.11  Ejercicios  100
El  laboratorio  3  1.2  Una  
2.12  Capítulo  2  Prueba  108
breve  revisión  de  los  sistemas  numéricos  4
1.2.1  Hexadecimal  8
1.2.2  Suma  binaria  9  1.2.3   Capítulo  3
Números  con  signo  11  1.2.4   El  mapa  de  Karnaugh  111
Resta  binaria  14  1.2.5  Decimal  
3.1  Introducción  al  mapa  de  Karnaugh  111  3.2  
codificado  en  binario  (BCD)  16
Expresiones  de  suma  mínima  de  productos  usando  el  mapa  
1.2.6  Otros  Códigos  17
de  Karnaugh  121  3.3  No  me  
1.3  Problemas  resueltos  19
importa  135
1.4  Ejercicios  25
3.4  Producto  de  sumas  140
1.5  Capítulo  1  Prueba  27
3.5  Mapas  de  cinco  y  seis  variables  143  3.6  
Problemas  de  salida  múltiple  150  3.7  
Capítulo  2 Problemas  resueltos  162
Sistemas  Combinacionales  29 3.8  Ejercicios  191

3.9  Capítulo  3  Prueba  196
2.1  El  proceso  de  diseño  de  sistemas  combinacionales  
29
2.1.1  Condiciones  sin  importancia  32
Capítulo  4
2.1.2  El  desarrollo  de  tablas  de  verdad  33 Minimización  de  funciones
2.2  Álgebra  de  conmutación  37 Algoritmos  201
2.2.1  Definición  del  álgebra  de  conmutación  
4.1  Método  de  Quine­McCluskey  para  
38  2.2.2  Propiedades  básicas  del  álgebra  de  
una  salida  201  4.2  
conmutación  40  2.2.3  Manipulación  de  funciones  
Consenso  iterado  para  una  salida  204  4.3  Tablas  de  
algebraicas  43  2.3  Implementación  de  funciones  con  
compuertas  AND,  OR  y  NOT  48 implicantes  primos  para  una  salida  208  4.4  Quine­McCluskey  
para  problemas  de  salidas  múltiples  216
2.4  El  complemento  52  2.5  De  la  
tabla  de  verdad  a  las  expresiones  algebraicas  
4.5  Consenso  iterado  para  resultados  múltiples
54
Problemas  219
2.6  Puertas  NAND,  NOR  y  OR  exclusivas  59

vi
Machine Translated by Google

Contenido viii

4.6  Tablas  de  implicantes  primos  para  resultados  múltiples Capítulo  6
Problemas  222
Análisis  de  Secuencial
4.7  Problemas  resueltos  226
Sistemas  365
4.8  Ejercicios  246
6.1  Tablas  y  diagramas  de  estado  366  6.2  
4.9  Capítulo  4  Prueba  247 Pestillos  370

6.3  Flip  Flops  371  6.4  
Capítulo  5 Análisis  de  sistemas  secuenciales  380  6.5  Problemas  
Diseño  combinacional resueltos  390
Sistemas  249 6.6  Ejercicios  403

5.1  Sistemas  iterativos  250  5.1.1   6.7  Capítulo  6  Prueba  412
Retardo  en  circuitos  lógicos  
combinacionales  250
Capítulo  7
5.1.2  Sumadores  252
5.1.3  Sustractores  y  sumadores/sustractores  256 El  diseño  de  secuencial
5.1.4  Comparadores  256  
Sistemas  415
5.2  Decodificadores  binarios  258   7.1  Técnicas  de  diseño  de  flip  flop  420  7.2  

5.3  Codificadores  y  codificadores  de  prioridad  268   Diseño  de  contadores  síncronos  437  7.3  Diseño  de  

5.4  Multiplexores  y  demultiplexores  269  5.5  Puertas  de   contadores  asíncronos  447  7.4  Derivación  de  tablas  de  
tres  estados  274 estado  y  diagramas  de  estado  450

5.6  Arreglos  de  puertas:  ROM,  PLA  y  PAL  
276 7.5  Problemas  resueltos  465

5.6.1  Diseño  con  solo  lectura 7.6  Ejercicios  483
Recuerdos  280
7.7  Capítulo  7  Prueba  491
5.6.2  Diseño  con  arreglos  lógicos  programables  
281
5.6.3  Diseño  con  lógica  de  matriz  programable   Capítulo  8
284  5.7   Resolviendo  Secuenciales  Mayores
Prueba  y  simulación  de  sistemas  combinacionales  289   Problemas  493
5.7.1  Introducción  
8.1  Registros  de  desplazamiento  
a  Verilog  289  5.8  Ejemplos  más  grandes   493  8.2  Contadores  499
292  5.8.1  Un  sumador  decimal  de  
8.3  Dispositivos  lógicos  programables  (PLD)  506  8.4  Diseño  
un  dígito  292  5.8.2  Un  controlador  para  
usando  diagramas  ASM  511  8.5  Codificación  One­
una  pantalla  de  siete  segmentos  293  
5.8.3  Un   Hot  515  8.6  Verilog  para  sistemas  

sistema  de  codificación  de  errores  301   secuenciales  516  8.7  Diseño  de  una  computadora  
5.9  Problemas  resueltos  305 muy  simple  518  8.8  Otros  ejemplos  complejos  520  8.9  

5.10  Ejercicios  348 Problemas  resueltos  527

5.11  Capítulo  5  Prueba  360
8.10  Ejercicios  537

8.11  Capítulo  8  Prueba  541
Machine Translated by Google

viii Contenido

Capítulo  9 Apéndice  D
Simplificación  de  Circuitos  Secuenciales Experimentos  de  laboratorio  587

Vea  el  Capítulo  9  en  http://www.mhhe.com/marcovitz D.1  Laboratorio  de  lógica  de  hardware  587
9.1  Un  método  tabular  para  la  reducción  de  estados  9­3 D.2  WinBreadboard™  y
9.2  Particiones  9­10 MacBreadboard™  591

9.2.1  Propiedades  de  las  particiones  9­13 D.3  Introducción  a  LogicWorks  593
9.2.2  Búsqueda  de  particiones  SP  9­14 D.4  Conjunto  de  experimentos  de  diseño  lógico  598
9.3  Reducción  de  estado  usando  particiones  9­17 D.4.1  Experimentos  basados  en  el  material  
del  capítulo  2  598
9.4  Elegir  una  asignación  de  estado  9­22
D.4.2  Experimentos  basados  en  el  material  
9.5  Problemas  resueltos  9­28 del  Capítulo  5  600
9.6  Ejercicios  9­44
D.4.3  Experimentos  basados  en  el  material  
9.7  Capítulo  9  Prueba  9­48 del  Capítulo  6  603

D.4.4  Experimentos  basados  en  el  material  
del  Capítulo  7  605
Apéndice  A
D.4.5  Experimentos  basados  en  el  material  
Relación  del  álgebra  con  el  
del  Capítulo  8  606
mapa  de  Karnaugh  543
D.5  Disposición  de  fichas  a  las  que  se  hace  referencia  
en  el  texto  y  experimentos  607
Apéndice  B
Respuestas  a  ejercicios  seleccionados  548
Apéndice  E
Ejemplos  completos  612
Apéndice  C
Respuestas  del  examen  del  capítulo  573 Índice  629
Machine Translated by Google

PREFACIO

estudiantes  de  informática,  ingeniería  informática  e  ingeniería  eléctrica.  No  tiene  
Este  libro  
pretende  psrevios,  
requisitos   er  un  libro  
introductorio  
aunque   de  diseño  lógico  para
la  madurez
Sería  útil  obtener  un  curso  de  introducción  a  la  ingeniería  o  un  primer  curso  de  programación.

El  libro  hace  hincapié  en  los  fundamentos.  Enseña  a  través  de  un  gran  número
de  ejemplos  La  filosofía  del  autor  es  que  la  única  manera  de  aprender
El  diseño  lógico  es  hacer  una  gran  cantidad  de  problemas  de  diseño.  Así,  además  de  los  
numerosos  ejemplos  en  el  cuerpo  del  texto,  cada  capítulo  tiene  una
conjunto  de  Problemas  Resueltos,  es  decir,  problemas  y  sus  soluciones,  un  gran  conjunto
de  Ejercicios  (con  respuestas  a  ejercicios  seleccionados  en  el  Apéndice  B),  y  un
Prueba  del  capítulo  (con  respuestas  en  el  Apéndice  C).  Además,  seis  ejemplos  completos.
(desde  el  problema  verbal  hasta  el  diseño  del  circuito)  se  incluyen  en  el  Apéndice  E.  Tres
de  estos  son  combinacionales  y  se  pueden  usar  después  del  Capítulo  3,  y  los  otros  son  
secuenciales,  para  seguir  el  Capítulo  7.  Además,  hay  un  conjunto  de  experimentos  de  
laboratorio  que  vinculan  la  teoría  con  el  mundo  real.  Apéndice  D
proporciona  los  antecedentes  para  realizar  estos  experimentos  con  un  laboratorio  de  hardware  
estándar  (chips,  interruptores,  luces  y  cables),  un  simulador  de  tablero  (para  PC  o  Macintosh)  
y  una  herramienta  de  captura  esquemática.  El  curso
se  puede  enseñar  sin  el  laboratorio,  pero  el  estudiante  se  beneficiará  significativamente  de  la  
adición  de  8  a  10  experimentos  seleccionados.
Aunque  las  herramientas  asistidas  por  computadora  son  ampliamente  utilizadas  para  el  diseño  de
grandes  sistemas,  el  estudiante  primero  debe  entender  los  conceptos  básicos.  Los  basicos
proporcionar  material  más  que  suficiente  para  un  primer  curso.  El  esquema  captura  ejercicios  
de  laboratorio  y  secciones  sobre  lenguajes  de  diseño  de  hardware  en
Los  capítulos  4  y  8  proporcionan  algo  de  material  para  una  transición  a  un  segundo
curso  basado  en  uno  de  los  conjuntos  de  herramientas  asistidas  por  computadora.

El  capítulo  1,  después  de  una  breve  introducción,  ofrece  una  descripción  general  del  número
como  se  aplica  al  material  de  este  libro.  (Aquellos  estudiantes  que
han  estudiado  esto  en  un  curso  anterior  pueden  saltarse  este  capítulo.)
El  capítulo  2  analiza  los  pasos  del  proceso  de  diseño  de  sistemas  combinacionales  y  el  
desarrollo  de  tablas  de  verdad.  Luego  presenta
álgebra  de  conmutación  y  la  implementación  de  funciones  de  conmutación  usando
puertas  comunes:  AND,  OR,  NOT,  NAND,  NOR,  Exclusive­OR  y
Exclusivo­NOR.  Sólo  nos  interesa  el  comportamiento  lógico  del
puertas,  no  la  implementación  electrónica.
Aunque  el  mapa  de  Karnaugh  no  se  presenta  hasta  el  Capítulo  3,  esos
quienes  deseen  usarlo  junto  con  la  simplificación  algebraica  pueden  cubrir
Sección  3.1  después  de  la  Sección  2.6,  y  encuentre  una  serie  de  ejemplos  relacionados  con  la
álgebra  al  mapa  del  Apéndice  A.
ix
Machine Translated by Google

X Prefacio

El  capítulo  3  trata  de  la  simplificación  utilizando  el  mapa  de  Karnaugh.  Proporciona  
métodos  para  resolver  problemas  (hasta  seis  variables)  tanto  con
y  múltiples  salidas.
El  capítulo  4  presenta  dos  métodos  algorítmicos  para  resolver  problemas  combinados:  
el  método  de  Quine­McCluskey  y  el  consenso  iterado.  Ambos  proporcionan  todos  los  
implicantes  principales  de  una  función  o  conjunto  de
funciones,  y  luego  use  el  mismo  método  tabular  para  encontrar  la  suma  mínima  de
soluciones  de  productos.
El  capítulo  5  se  ocupa  del  diseño  de  sistemas  combinacionales  más  grandes.
sistemas  Introduce  una  serie  de  grandes  disponibles  comercialmente
dispositivos,  incluidos  sumadores,  comparadores,  decodificadores,  codificadores  y  prioridad
codificadores  y  multiplexores.  A  esto  le  sigue  una  discusión  sobre  el  uso
de  arreglos  lógicos:  ROM,  PLA  y  PAL  para  la  implementación  de
sistemas  combinacionales  de  mediana  escala.  Finalmente,  dos  sistemas  más  grandes  son
diseñado.
El  capítulo  6  introduce  los  sistemas  secuenciales.  Comienza  examinando  la
Comportamiento  de  pestillos  y  flip  flops.  A  continuación,  se  analizan  las  técnicas  para  analizar
el  comportamiento  de  los  sistemas  secuenciales.
El  capítulo  7  introduce  el  proceso  de  diseño  de  sistemas  secuenciales.  El
A  continuación  se  estudia  el  caso  especial  de  los  contadores.  Finalmente,  la  solución  de  word
problemas,  desarrollando  la  tabla  de  estados  o  el  diagrama  de  estados  a  partir  de  una
se  presenta  detalladamente  la  descripción  del  problema.
El  Capítulo  8  analiza  los  sistemas  secuenciales  más  grandes.  Comienza  examinando
el  diseño  de  registros  de  turnos  y  contadores.  Luego,  los  PLD  (matrices  lógicas  con
memoria)  se  presentan.  Tres  técnicas  que  son  útiles  en  el  diseño  de  sistemas  más  complejos:  
diagramas  ASM,  codificación  one­hot  y
HDL:  se  analizan  a  continuación.  Finalmente,  dos  ejemplos  de  sistemas  más  grandes  son
presentado.
Capítulo  9  (disponible  en  el  sitio  web  del  libro,  http://www
.mhhe.com/marcovitz)  se  ocupa  de  la  reducción  estatal  y  la  asignación  estatal
asuntos.  Primero,  se  presenta  un  enfoque  tabular  para  la  reducción  del  estado.  Entonces
las  particiones  se  utilizan  tanto  para  la  reducción  del  estado  como  para  lograr  un  estado
asignación  que  utilizará  menos  lógica  combinacional.
Una  característica  de  este  texto  son  los  Problemas  Resueltos.  Cada  capítulo  tiene  un
gran  número  de  problemas,  que  ilustran  las  técnicas  desarrolladas  en  el
cuerpo  del  texto,  seguido  de  una  solución  detallada  de  cada  problema.  Se  insta  a  los  
estudiantes  a  resolver  cada  problema  (sin  mirar  la  solución)
y  luego  compare  su  solución  con  la  que  se  muestra.
Cada  capítulo  contiene  un  gran  conjunto  de  ejercicios.  Respuestas  a  una  selección
de  estos  están  contenidos  en  el  Apéndice  B.  Las  soluciones  están  disponibles  para  los  
instructores  en  el  sitio  web.  Además,  cada  capítulo  concluye  con  un  capítulo
Prueba;  Las  respuestas  se  dan  en  el  Apéndice  C.
Otra  característica  única  del  libro  son  los  ejercicios  de  laboratorio,
se  incluye  en  el  Apéndice  D.  Se  presentan  tres  plataformas:  un  laboratorio  lógico  basado  en  
hardware  (usando  chips,  cables,  etc.);  un  simulador  de  laboratorio  de  hardware  que
permite  al  estudiante  "conectar"  cables  en  la  pantalla  de  la  computadora;  y  un  programa  de  
captura  de  circuitos,  LogicWorks.  Se  proporciona  suficiente  información
Machine Translated by Google

Prefacio xi

acerca  de  cada  uno  para  permitir  que  el  estudiante  realice  una  variedad  de  
experimentos.  Se  presenta  un  conjunto  de  26  ejercicios  de  laboratorio.  Varios  de  estos  
tienen  opciones  para  permitir  que  el  instructor  cambie  los  detalles  de  un  término  a  otro.
Enseñamos  este  material  como  un  curso  de  cuatro  créditos  que  incluye  un  
promedio  de  tres  horas  y  media  por  semana  de  lectura,  más,  por  lo  general,  ocho  
ejercicios  de  laboratorio.  (El  laboratorio  no  está  programado;  está  a  cargo  de  asistentes  
graduados  40  horas  por  semana;  ellos  califican  los  laboratorios).  En  ese  curso  cubrimos

Capítulo  1:  todo  
Capítulo  2:  todo  menos  
2.11  Capítulo  3:  todo  
Capítulo  5:  todo  menos  5.8.  Sin  embargo,  existe  un  problema  de  diseño  
graduado  basado  en  ese  material  (10  por  ciento  de  la  calificación;  los  
estudiantes  generalmente  trabajan  en  grupos  de  2  o  3).
Capítulo  6:  todo  
Capítulo  7:  todo  
Capítulo  8:  8.1,  8.2,  8.3.  A  veces  tenemos  un  segundo  proyecto  basado  en  8.7.

Capítulo  9  y  Capítulo  4:  A  menudo  tenemos  algo  de  tiempo  para  mirar  uno  de  
estos.  Nunca  hemos  sido  capaces  de  cubrir  ambos.

Con  menos  tiempo,  la  cobertura  de  la  Sección  2.10  podría  minimizarse.
La  Sección  3.5  no  es  necesaria  para  la  continuidad;  La  Sección  3.6  se  usa  un  poco  en  
la  discusión  de  los  PLA  en  la  Sección  5.7.2.  El  Capítulo  5  no  es  necesario  para  nada  
más  en  el  texto,  aunque  muchos  de  los  temas  son  útiles  para  los  estudiantes  en  otros  
lugares.  El  instructor  puede  seleccionar  y  elegir  entre  los  temas.  Los  flip  flops  SR  y  T  
podrían  omitirse  en  los  capítulos  6  y  7.  Las  secciones  7.2  y  7.3  podrían  omitirse  sin  
pérdida  de  continuidad.  Como  en  el  caso  del  Capítulo  5,  el  instructor  puede  elegir  
entre  los  temas  del  Capítulo  8.  Con  un  tiempo  limitado,  se  podría  cubrir  la  Sección  9.1.  
Con  más  tiempo,  podría  omitirse  y  enseñarse  la  reducción  de  estado  usando  particiones  
(Secciones  9.2  y  9.3).

SITIO  WEB
Los  recursos  de  enseñanza  y  aprendizaje  están  disponibles  en  el  sitio  web  que  
acompaña  a  este  texto.  Para  los  estudiantes,  estos  recursos  incluyen  archivos  de  
cuestionarios  y  pruebas  de  muestra.  Para  los  instructores,  hay  disponible  un  manual  
de  soluciones,  esquemas  de  conferencias  en  PowerPoint  y  otros  recursos.  La  dirección  
web  de  este  sitio  es  http://www.mhhe.com/marcovitz.

OPCIONES  DE  LIBROS  DE  TEXTO  ELECTRÓNICOS
Este  texto  se  ofrece  a  través  de  CourseSmart  tanto  para  instructores  como  para  
estudiantes.  CourseSmart  es  un  recurso  en  línea  donde  los  estudiantes  pueden  
comprar  el  texto  completo  en  línea  por  casi  la  mitad  del  costo  de  un  tradicional
Machine Translated by Google

xi Prefacio

texto.  La  compra  del  libro  de  texto  electrónico  permite  a  los  estudiantes  aprovechar  las  
herramientas  web  de  CourseSmart  para  el  aprendizaje,  que  incluyen  búsqueda  de  texto  
completo,  notas  y  resaltado,  y  herramientas  de  correo  electrónico  para  compartir  notas  entre  
compañeros  de  clase.  Para  obtener  más  información  sobre  las  opciones  de  CourseSmart,  
comuníquese  con  su  representante  de  ventas  o  visite  http://www.CourseSmart.com.

EXPRESIONES  DE  GRATITUD
Quiero  agradecer  a  mi  esposa,  Allyn,  por  su  aliento  y  por  soportar  interminables  
horas  cuando  estaba  encerrado  en  mi  oficina  trabajando  en  el  manuscrito.  
Varios  de  mis  colegas  de  la  Florida  Atlantic  University  han  leído  partes  del  
manuscrito  y  han  enseñado  a  partir  de  borradores  anteriores.  Deseo  expresar  
mi  agradecimiento  a  mis  directores,  Mohammad  Ilyas,  Roy  Levow  y  Borko  
Fuhrt,  quienes  hicieron  asignaciones  que  me  permitieron  trabajar  en  el  libro.  
Aún  más  importante,  quiero  agradecer  a  mis  alumnos  que  me  dieron  el  ímpetu  
para  escribir  un  texto  más  adecuado,  que  sufrieron  borradores  anteriores  del  
libro  y  que  hicieron  muchas  sugerencias  y  correcciones.  Los  revisores—

Kurt  Behpour,  Universidad  Estatal  Politécnica  de  California  
Noni  M.  Bohonak,  Universidad  de  Carolina  del  Sur  Lancaster  
Frank  Candocia,  Universidad  Internacional  de  Florida  
Paula  Cheslik,  Colegio  Comunitario  de  Glendale  
William  D.  Eads,  Universidad  Estatal  de  
Colorado  Nikrouz  Faroughi,  Universidad  Estatal  de  
Sacramento  José  A.  González­Cueto,  Universidad  
de  Dalhousie  William  M.  Jones,  Jr.,  Academia  
Naval  de  EE.  UU.  Timothy  P.  Kurzweg,  
Universidad  de  Drexel  Rod  Milbrandt,  Colegio  Comunitario  y  
Técnico  de  Rochester  Shuo  Pang,  Universidad  
Aeronáutica  Embry­Riddle  Martin  Reisslein,  
Universidad  Estatal  de  Arizona  
Martha  Sloan,  Michigan  Tech  Wei  Wang,  Universidad  de  Indiana­
Universidad  de  Purdue  Indianápolis  Xiaohe  
Wu,  Universidad  Bethune­Cookman  Tong  Zhang,  Instituto  Politécnico  Rensselaer

proporcionó  muchos  comentarios  y  sugerencias  útiles.  El  libro  es  mucho  mejor  
debido  a  sus  esfuerzos.  Finalmente,  el  personal  de  McGraw­Hill,  en  particular  
Darlene  Schueller,  Raghu  Srinivasan,  Curt  Reynolds,  Brenda  Rolwes  y  Jane  
Mohr,  ha  sido  indispensable  en  la  producción  del  producto  final,  al  igual  que  
Emily  Pfaff  en  Lachina  Publishing  Services.
Alan  Marcovitz
Machine Translated by Google

CAPÍTULO

Introducción 1
el  cual  todas  las  señales  están  representadas  por  valores  discretos.  
Este  libro  
se  refiere  all  
Internamente,   diseño  
os   de  sdistemas  
sistemas   igitales  sduelen  
igitales,  
ebs  
ser   decir,  seistemas  
inarios,   s  decir,  oeperan  
n
con  señales  de  dos  valores,  que  etiquetaremos  como  0  y  1.  (Aunque  se  han  
construido  sistemas  multivaluados,  los  sistemas  de  dos  valores  son  más  confiables  
y,  por  lo  tanto,  casi  todos  los  sistemas  digitales  usan  señales  de  dos  valores).
Las  computadoras  y  las  calculadoras  son  ejemplos  obvios  de  sistemas  digitales,  pero  la  
mayoría  de  los  sistemas  electrónicos  contienen  una  gran  cantidad  de  lógica  digital.  La  música  
que  escuchamos  en  nuestros  reproductores  de  CD  o  iPods,  los  puntos  individuales  en  la  
pantalla  de  una  computadora  (y  en  los  televisores  digitales  más  nuevos)  y  la  mayoría  de  las  
señales  de  los  teléfonos  celulares  están  codificadas  en  cadenas  de  dígitos  binarios ,  denominados  bits .

1.1  DISEÑO  LÓGICO
Un  sistema  digital,  como  se  muestra  en  la  figura  1.1,  puede  tener  un  número   Figura  1.1  Un  sistema  digital.
arbitrario  de  entradas  (A,  B, . . .)  y  un  número  arbitrario  de  salidas  (W,  X, . . .).
Además  de  las  entradas  de  datos  que  se  muestran,  algunos  circuitos  requieren   A W
B Digital X
una  señal  de  tiempo,  llamada  reloj  (que  es  solo  otra  señal  de  entrada  que  
Sistema
alterna  entre  0  y  1  a  un  ritmo  regular).  Discutiremos  los  detalles  de  las  señales  
de  reloj  en  el  Capítulo  6.
entradas norte
salidas metro

Un  ejemplo  simple  de  sistemas  digitales  se  describe  en  el  Ejemplo  1.1.

Un  sistema  con  tres  entradas,  A,  B  y  C,  y  una  salida,  Z,  tal  que  Z1  si  y  solo   EJEMPLO  1.1
si*  dos  de  las  entradas  son  1.

Las  entradas  y  salidas  de  un  sistema  digital  representan  cantidades  reales.
A  veces,  como  en  el  Ejemplo  1.1,  estos  son  naturalmente  binarios,  es  decir,  
toman  uno  de  dos  valores.  Otras  veces,  pueden  ser  multivaluados.  Por  ejemplo,  
una  entrada  puede  ser  un  dígito  decimal  o  la  salida  puede  ser  la  calificación  con  
letras  para  este  curso.  Cada  uno  debe  estar  representado  por  un  conjunto  de  binarios.

*El  término  si  y  solo  si  a  menudo  se  abrevia  como  “si”.  Significa  que  la  salida  es  1  si  se  
cumple  la  condición  y  no  es  1  (lo  que  significa  que  debe  ser  0)  si  no  se  cumple  la  condición.
1
Machine Translated by Google

2 Capítulo  1  Introducción

Tabla  1.1  Una  tabla  de  verdad  para dígitos  Este  proceso  se  conoce  como  codificar  las  entradas  y  salidas  en
Ejemplo  1.1. binario.  (Discutiremos  los  detalles  de  esto  más  adelante).

A  B  C Z La  manifestación  física  de  estas  cantidades  binarias  puede  ser  una  de
dos  voltajes,  por  ejemplo,  0  voltios  (V)  o  tierra  para  0  lógico  y  5  V  para
00  0  00  1  01  0  01  1   0
lógica  1.  También  puede  ser  un  campo  magnético  en  una  u  otra  dirección  (como  en
10  0  10  1  11  0  11  1 0
0 disquetes),  un  interruptor  en  la  posición  hacia  arriba  o  hacia  abajo  (para  una  entrada),  o  una  luz  encendida

1 o  apagado  (como  salida).  Excepto  en  la  traducción  de  descripciones  verbales  al
0 más  formales,  la  representación  física  será  irrelevante  en  este
1 texto;  nos  ocuparemos  de  los  0  y  los  1.
1
Podemos  describir  el  comportamiento  de  un  sistema  digital,  como  el  del  
1
Ejemplo  1.1,  en  forma  tabular.  Dado  que  solo  hay  ocho  combinaciones  de  entrada  
posibles,  podemos  enumerarlas  todas  y  cuál  es  la  salida  para  cada  una.  tal  mesa
(denominada  tabla  de  verdad)  se  muestra  en  la  tabla  1.1.  Dejaremos  el  desarrollo  
de  las  tablas  de  verdad  (incluida  una  similar  a  esta)  para  el  próximo  capítulo.
En  los  Ejemplos  1.2  a  1.5  se  dan  otros  cuatro  ejemplos.

EJEMPLO  1.2
Un  sistema  con  ocho  entradas,  que  representan  dos  números  binarios  de  4  bits  y  uno
Salida  de  5  bits,  que  representa  la  suma.  (Cada  número  de  entrada  puede  variar  de  0  a
15;  la  salida  puede  variar  de  0  a  30.)
EJEMPLO  1.3
Un  sistema  con  una  entrada,  A,  más  un  reloj,  y  una  salida,  Z,  que  es  1  si  y  si
la  entrada  fue  una  en  las  últimas  tres  horas  de  reloj  consecutivas.
EJEMPLO  1.4
Un  reloj  digital  que  muestra  la  hora  en  horas  y  minutos.  Debe  mostrar  cuatro  
dígitos  decimales  más  un  indicador  de  AM  o  PM.  (La  pantalla  del  primer  dígito
solo  necesita  mostrar  un  1  o  estar  en  blanco.)  Esto  requiere  una  señal  de  temporización  para
adelantar  el  reloj  cada  minuto.  También  requiere  un  medio  para  ajustar  la  hora.
La  mayoría  de  los  relojes  digitales  también  tienen  una  función  de  alarma,  que  requiere  más
almacenamiento  y  circuitos.
EJEMPLO  1.5
Un  ejemplo  más  complejo  es  un  controlador  de  tráfico.  En  el  caso  más  simple,  hay
son  solo  dos  calles,  y  la  luz  es  verde  en  cada  calle  por  un  período  fijo
de  tiempo.  Luego  pasa  a  amarillo  por  otro  período  fijo  y  finalmente  a  rojo.
No  hay  entradas  a  este  sistema  aparte  del  reloj.  Hay  seis  salidas,  una  para  cada  
color  en  cada  dirección.  (Cada  salida  puede  controlar  varias  bombillas).  Los  
controladores  de  tránsito  pueden  tener  muchas  más  salidas  si,  por  ejemplo,
hay  señales  de  giro  a  la  izquierda.  Además,  puede  haber  varias  entradas  para  indicar
cuando  hay  vehículos  esperando  en  un  semáforo  rojo  o  pasando  uno  verde.

Los  dos  primeros  ejemplos  son  combinacionales,  es  decir,  la  salida  depende
sólo  en  el  valor  presente  de  la  entrada.  En  el  ejemplo  1.1,  si  conocemos  el
valor  de  A,  B  y  C  en  este  momento,  podemos  determinar  cuál  es  Z  ahora.*  Examen

*En  un  sistema  real,  hay  una  pequeña  cantidad  de  retraso  entre  la  entrada  y  la  salida,  es  decir,  si
la  entrada  cambia  en  algún  momento,  la  salida  cambia  un  poco  después  de  eso.  El  tiempo
el  marco  está  típicamente  en  el  rango  de  nanosegundos  (109  segundos).  Ignoraremos  esos  retrasos  casi
todo  el  tiempo,  pero  volveremos  a  ese  tema  en  el  Capítulo  5.
Machine Translated by Google

1.1  Diseño  lógico 3

Los  ejemplos  1.3,  1.4  y  1.5  son  secuenciales,  es  decir,  requieren  memoria,  ya  que  
necesitamos  saber  algo  sobre  las  entradas  en  un  momento  anterior  (tiempos  de  reloj  
anteriores).
Nos  concentraremos  en  los  sistemas  combinacionales  en  la  primera  mitad  del  
libro  y  dejaremos  la  discusión  sobre  los  sistemas  secuenciales  para  más  adelante.  
Como  veremos,  los  sistemas  secuenciales  se  componen  de  dos  partes:  la  memoria  y  
la  lógica  combinacional.  Por  lo  tanto,  necesitamos  poder  diseñar  sistemas  
combinacionales  antes  de  que  podamos  comenzar  a  diseñar  sistemas  secuenciales.
Se  impone  una  advertencia  sobre  el  lenguaje  natural  en  general  y  el  inglés  en  
particular.  El  inglés  no  es  un  idioma  muy  preciso.  Los  ejemplos  anteriores  dejan  cierto  
margen  de  interpretación.  En  el  ejemplo  1.1,  ¿la  salida  será  1  si  las  tres  entradas  son  
1,  o  solo  si  exactamente  dos  entradas  son  1?  Uno  podría  interpretar  la  declaración  de  
cualquier  manera.  Cuando  escribimos  la  tabla  de  verdad,  tuvimos  que  decidir;  
interpretamos  "dos"  como  "dos  o  más"  y,  por  lo  tanto,  convertimos  la  salida  en  1  
cuando  las  tres  entradas  eran  1.  (En  los  problemas  de  este  texto,  trataremos  de  ser  lo  
más  precisos  posible,  pero  incluso  entonces,  diferentes  personas  pueden  leer  el  
planteamiento  del  problema  de  diferentes  maneras).

La  conclusión  es  que  necesitamos  una  descripción  más  precisa  de  los  sistemas  
lógicos.  Lo  desarrollaremos  para  sistemas  combinacionales  en  el  Capítulo  2  y  para  
sistemas  secuenciales  en  el  Capítulo  6.

1.1.1  El  Laboratorio
Aunque  el  material  de  este  texto  se  puede  estudiar  sin  implementar  ninguno  de  los  
sistemas  diseñados,  la  experimentación  práctica  en  el  laboratorio  es  de  gran  ayuda  
en  el  proceso  de  aprendizaje.  El  enfoque  tradicional  implica  cablear  bloques  lógicos,  
conectar  entradas  de  interruptores  o  fuentes  de  alimentación  y  probar  las  salidas  con  
medidores  o  mostrarlas  con  luces.  Además,  existe  una  gran  cantidad  de  herramientas  
informáticas  disponibles  que  permiten  al  usuario  simular  un  sistema  lógico.

Usando  cualquier  plataforma  que  esté  disponible,  los  estudiantes  deben  construir  
algunos  de  los  circuitos  que  han  diseñado  y  probarlos,  aplicando  varias  entradas  y  
verificando  que  se  produzca  la  salida  correcta.  Para  un  pequeño  número  de  entradas,  
pruebe  todas  las  combinaciones  de  entradas  (la  tabla  de  verdad  completa).
Para  un  mayor  número  de  entradas,  el  sumador  de  4  bits,  por  ejemplo,  una  muestra  
de  las  entradas  es  adecuada  siempre  que  la  muestra  se  elija  de  tal  manera  que  
ejercite  todo  el  circuito.  (Por  ejemplo,  sumar  muchos  pares  de  números  pequeños  no  
es  adecuado,  ya  que  no  prueba  la  parte  de  orden  superior  del  sumador).

Incluimos,  en  el  Apéndice  D,  la  descripción  de  tres  plataformas:  un  enfoque  de  
hardware  tradicional  y  dos  de  los  simuladores  de  software  más  simples.  También  se  
incluye  un  conjunto  de  ejercicios  de  laboratorio  que  se  pueden  realizar  en  cada  uno,  y  
los  pinouts  para  todos  los  circuitos  integrados  discutidos  en  el  texto  y  los  experimentos.
Machine Translated by Google

4 Capítulo  1  Introducción

En  el  Apéndice  D.1,  presentaremos  las  características  del  laboratorio  digital  IDL­800.*  
Proporciona  interruptores,  generadores  de  pulsos  y  señales  de  reloj  para  las  entradas,  y  un
juego  de  luces  y  dos  displays  de  siete  segmentos  para  salidas.  Hay  un  lugar
poner  una  placa  de  prueba  y  conectar  una  serie  de  paquetes  de  circuitos  integrados
(como  los  descritos  a  lo  largo  del  texto).  Además,  las  fuentes  de  alimentación  y
Los  medidores  están  integrados.  No  es  necesario  tener  acceso  a  este  sistema  para  ejecutar  
los  experimentos,  pero  tiene  todo  lo  necesario  en  un  solo  lugar.
(excepto  los  paquetes  de  circuitos  integrados  y  los  cables  para  conectores).
También  presentaremos,  en  el  Apéndice  D.2,  un  simulador  de  tablero
(MacBreadboard  y  WinBreadboard†).  Contiene  interruptores,  pulsadores,  un
señal  de  reloj  y  luces,  muy  parecido  al  laboratorio  de  hardware.  Los  circuitos  integrados  se  
pueden  colocar  en  la  placa  de  pruebas  y  los  cables  se  pueden  “conectar”.
Paquetes  de  software  más  complejos,  como  LogicWorks‡  y  Altera§ ,
permitirnos  construir  una  simulación  del  circuito  en  una  computadora  y  probarla.  El
El  circuito  se  puede  describir  como  un  conjunto  de  puertas  o  circuitos  integrados  y  sus
conexiones  En  algunos  sistemas,  partes  o  la  totalidad  del  circuito  se  pueden  representar  
en  VHDL  u  otros  lenguajes  de  diseño  similares.  Presentaremos  el
conceptos  básicos  de  LogicWorks  en  el  Apéndice  D.3,  suficiente  para  permitirnos  "construir"
y  probar  los  diversos  circuitos  discutidos  en  el  texto.  Una  descripción  de  la
El  conjunto  de  herramientas  de  Altera  se  puede  encontrar  en  Brown  &  Vranesic,  Fundamentals  of
Lógica  con  diseño  VHDL,  3.ª  edición,  McGraw­Hill,  2009.
El  apéndice  D.4  contiene  un  conjunto  de  26  experimentos  (codificados  para  el  appro
capítulos  privados)  que  se  pueden  realizar  en  cada  una  de  las  plataformas.
Finalmente,  el  Apéndice  D.5  contiene  los  pinouts  para  todos  los  integrados
circuitos  discutidos  en  el  texto  y  los  experimentos.

1.2  UNA  BREVE  RESEÑA
DE  SISTEMAS  NUMÉRICOS
Esta  sección  brinda  una  introducción  a  algunos  temas  en  los  sistemas  numéricos,  
principalmente  aquellos  necesarios  para  comprender  el  material  en  el  resto  del
libro.  Si  este  es  material  familiar  de  otro  curso,  salte  al  Capítulo  2.
Los  números  enteros  normalmente  se  escriben  usando  un  sistema  numérico  posicional,  en
donde  cada  dígito  representa  el  coeficiente  en  una  serie  de  potencias
n1 n2 2
n  an1r an2r a2r a1r  a0
donde  n  es  el  número  de  dígitos,  r  es  la  raíz  o  base,  y  los  ai  son  los
coeficientes,  donde  cada  uno  es  un  número  entero  en  el  rango

0  aire  r

Para  decimal,  r  10,  y  las  a  están  en  el  rango  de  0  a  9.  Para  binario,  r  2,
y  las  a  son  todas  0  o  1.  Otra  notación  de  uso  común  en

*Fabricado  por  K  &  H  Mfg.  Co.,  Ltd.  (http://www.kandh.com.tw).
†Una  marca  comercial  de  Yoeric  Software  (http://www.yoeric.com).
‡Capilano  Computing  (http://www.capilano.com).
§  Corporación  Altera  (http://www.altera.com).
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 5

la  documentación  de  la  computadora  es  hexadecimal,  r  16.  En  binario,  los  dígitos  son
generalmente  denominados  bits,  una  contracción  de  dígitos  binarios .
El  número  decimal  7642  (a  veces  escrito  764210  para  enfatizar
que  es  radix  10,  es  decir,  decimal)  por  lo  tanto  representa.

764210  7  103  6  102  4  10  2

y  el  numero  binario

1011112  1  25  0  24  1  32  8  4  2  1   23 1 22 1  2  1
4710

A  partir  de  este  ejemplo,*  está  claro  cómo  convertir  de  binario  a  decimal;
solo  evalúa  la  serie  de  potencias.  Para  hacerlo  fácilmente,  es  útil  conocer  el
potencias  de  2,  en  lugar  de  calcularlas  cada  vez  que  se  necesitan.  (Él
ahorraría  una  gran  cantidad  de  tiempo  y  esfuerzo  si  al  menos  las  primeras  10  potencias  de
2  fueron  memorizados;  los  primeros  20  se  muestran  en  la  Tabla  1.2.) Tabla  1.2  Potencias  de  2.
A  menudo  usaremos  los  primeros  16  enteros  binarios  positivos,  y
a  veces  los  primeros  32,  como  se  muestra  en  la  Tabla  1.3.  (Como  en  decimal,  a  la  izquierda norte 2n norte 2n

Los  0  a  menudo  se  omiten,  pero  hemos  mostrado  el  número  de  4  bits,  incluidos  los  0   11   2,048


iniciales  para  los  primeros  16).  Cuando  el  tamaño  del  lugar  de  almacenamiento  para  un  positivo 1   2   12   4,096
2   13   8,192
se  especifica  un  número  binario,  luego  se  agregan  0's  iniciales  para  obtener  el
3   4   14   16,384
número  correcto  de  bits.
4   8   15   32,768
5   16   16   65,536
6   32   17   131,072
Tabla  1.3  Primeros  32  enteros  binarios. 7   64   18   262,144
8   128   19   524,288
Decimal Binario 4  bits Decimal Binario 9  10 256  512  1,024 20 1,048,576

0   0000   16   10000


0001   17   10001
1   0   0010   18   10010
2   1   0011   19   10011
3   10   0100   20   10100
4   11   0101   21   10101
5   100   0110   22   10110
6   101   0111   23   10111
7   110   1000   24   11000
8   111   1001   25   11001
9   1000   1010   26   11010
10   1001   1011   27   11011
11   1010   1100   28   11100
12   1011   1101   29   11101
13   1100   1110   30   11110
14  15 1101  1110  1111 1111 31 11111

*La  Sección  1.3,  Problemas  Resueltos,  contiene  ejemplos  adicionales  de  cada  uno  de  los  tipos  de
problemas  discutidos  en  este  capítulo.  Hay  una  sección  de  Problemas  Resueltos  en  cada  uno  de  los
capítulos
Machine Translated by Google

6 Capítulo  1  Introducción

Tenga  en  cuenta  que  el  número  uno  menor  que  2n  consta  de  n  1  (por  ejemplo,
24  1  1111  15  y  25  Un   1  11111  31).
número  de  n  bits  puede  representar  los  enteros  positivos  de  0  a  2n  1.
Así,  por  ejemplo,  los  números  de  4  bits  tienen  el  rango  de  0  a  15,  los  números  de  8  
bits  de  0  a  255  y  los  números  de  16  bits  de  0  a  65.535.
Para  convertir  de  decimal  a  binario,  podríamos  evaluar  la  potencia
serie  del  número  decimal,  convirtiendo  cada  dígito  a  binario,  es  decir

746  111  (1010)10  0100  1010  0110

pero  eso  requiere  una  multiplicación  binaria,  que  lleva  bastante  tiempo.
Hay  dos  algoritmos  sencillos  que  utilizan  la  aritmética  decimal.  
Primero,  podemos  restar  del  número  la  mayor  potencia  de
2  menos  que  ese  número  y  poner  un  1  en  la  posición  correspondiente  del
equivalente  binario.  Luego  lo  repetimos  con  el  resto.  Se  pone  un  0
la  posición  de  aquellas  potencias  de  2  que  son  mayores  que  el  resto.

EJEMPLO  1.6
Para  746,  29  512  es  la  mayor  potencia  de  2  menor  o  igual  que  746,  y
por  lo  tanto,  hay  un  1  en  la  posición  29  (512) .

746  1 _  _  _  _  _  _  _  _  _

Luego  calculamos  746  512  =  234.  La  siguiente  potencia  más  pequeña  de  2  
es  28  256,  pero  es  mayor  que  234  y,  por  lo  tanto,  hay  un  0  en  la  posición  28 .
746  1  0 _  _  _  _  _  _  _  _

A  continuación,  calculamos  234  128  106,  colocando  un  1  en  la  posición  27 .
746  1  0  1 _  _  _  _  _  _  _

Continuando,  restamos  64  de  106,  lo  que  da  como  resultado  42  y  un  1  en  la  posición  26 .

746  1  0  1  1 _  _  _  _  _  _

Como  42  es  mayor  que  32,  tenemos  un  1  en  la  posición  25  y  calculamos  42  
32  10.

746  1  0  1  1  1 _  _  _  _  _

En  este  punto,  podemos  seguir  restando  (siguiente  8)  o  reconocer  que  no  hay
24  16,  y  que  el  equivalente  binario  del  resto,  10,  es  1010,  dando

74610  1  29  0  28  1 27  1  26  1  25  0  24  1
23  0  22  1  2  0
1  0  1  1  1  0  10102
El  otro  enfoque  es  dividir  el  número  decimal  entre  2  repetidamente.
El  resto  cada  vez  da  un  dígito  de  la  respuesta  binaria,  comenzando  en  el
bit  menos  significativo  (a0).  El  resto  se  descarta  y  el  proceso
se  repite.
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 7

EJEMPLO  1.7
Convirtiendo  746  de  decimal  a  binario,  calculamos
7462  373  con  un  resto  de  0  3732  186  con   0
un  resto  de  1  1862  93  con  un  resto  de  0   10
932  46  con  un  resto  de  1  462  23  con  un   010
resto  de  0  232  11  con  un  resto  de  1   1010
112  5  con  un  resto  de  1  52  2  con  resto   01010
1  22  1  con  resto  0  12  0  con  resto  1 101010
1101010
11101010
011101010
1011101010

No  olvides  la  última  división  (1/2);  produce  el  más  significativo  1.
Podríamos  continuar  dividiendo  por  2  y  obtener  ceros  iniciales  adicionales.  De  este  modo,
la  respuesta  es  1011101010  como  antes.  En  este  método,  también  podríamos
detenernos  cuando  reconozcamos  el  número  que  queda  y  convertirlo  a  binario.
Así,  cuando  teníamos  23,  podíamos  reconocer  eso  como  10111  (de  la  Tabla  1.3)
y  colóquelo  frente  a  los  bits  que  habíamos  producido,  dando  10111  01010.

EJEMPLO  1.8
Convertir  105  a  binario
1052  52,  rem  1 produce 1
522  26,  remanente   01
0  262  13,  remanente  0 001
pero  13  1101 1101  001

El  método  funciona  porque  todos  los  términos  de  la  serie  de  potencias,  excepto  el  
último,  se  dividen  uniformemente  entre  2.  Por  lo  tanto,  dado  que

746  1  29  0  28  23  0  22 1 27  1   26 1  25  0  24


1 1  2  0
7462  373  y  resto  de  0
1 28  0  27  25  1  24 1 26
1  0  23  22  10  2  1  remanente  0
El  último  bit  se  convirtió  en  el  resto.  Si  repetimos  el  proceso,  obtenemos
3732  186  y  resto  de  1
1  27  0  26  1  2  0   1 25 1 24 1  23  0  22
remanente  1
Ese  resto  es  el  segundo  dígito  de  la  derecha.  En  la  siguiente  división,
el  resto  será  0,  el  tercer  dígito.  Este  proceso  continúa  hasta  que  el
[ES  1,  2;  EJ  1,  2]*
se  encuentra  el  bit  más  significativo.

*Al  final  de  la  mayoría  de  las  secciones,  una  lista  de  problemas  resueltos  y  ejercicios  que  son  apropiados
a  esa  sección  se  le  da.
Machine Translated by Google

8 Capítulo  1  Introducción

1.2.1  hexadecimales
El  hexadecimal,  a  menudo  denominado  hexadecimal  (r  16),  es  otra  base  que  se  utiliza  
comúnmente  en  la  documentación  informática.  Es  solo  una  notación  abreviada  para  
binario.  En  hexadecimal,  los  dígitos  binarios  se  agrupan  de  cuatro  en  cuatro  (comenzando  
por  el  menos  significativo).  Por  ejemplo,  un  número  de  8  bits,

norte  b727  b626  b525  b424  24   b323  b222  b121  b0  
b723  b622  b521  b4  16h1   b323  b222  b121  b0
h0

donde  h1  representa  los  dígitos  hexadecimales  y  debe  estar  en  el  rango  de  
0  a  15.  Cada  término  entre  paréntesis  solo  se  interpreta  en  decimal.  Si  el  
número  binario  no  tiene  un  múltiplo  de  cuatro  bits,  se  agregan  ceros  
iniciales.  Los  dígitos  arriba  del  9  están  representados  por  las  primeras  seis  
letras  del  alfabeto  (mayúsculas).
10  A
11B
12C
13D
14  mi
15F

EJEMPLO  1.9
(de  los  ejemplos  1.6  y  1.7)
10111010102  0010  1110  10102
2EA16

Para  convertir  de  hexadecimal  a  decimal,  evaluamos  la  serie  de  potencias.

EJEMPLO  1.10
2EA16  2  162  14  16  10  512  224  10  
74610

Finalmente,  para  convertir  de  decimal  a  hexadecimal,  divida  repetidamente  por  
16,  produciendo  los  dígitos  hexadecimales  como  resto  (o  convierta  a  binario  y  luego  
agrupe  los  bits  como  en  el  Ejemplo  1.9).

EJEMPLO  1.11
74616  46  rem  10  produce  A
4616  2  minutos  14 EE.  UU.

216  0  rem  2 2EA

[ES  3,  4;  EJ  3,  4]
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 9

1.2.2  Suma  binaria
Una  operación  común  requerida  en  computadoras  y  otros  sistemas  digitales  es
la  suma  de  dos  números.  En  esta  sección  describiremos  el  proceso
para  sumar  números  binarios.
Para  calcular  la  suma  de  dos  números  binarios,  digamos

0  1  1  0  6
0  1  1  1  7
Tabla  1.4  Adición  binaria.
sumamos  un  dígito  a  la  vez  (como  lo  hacemos  en  decimal),  produciendo  una  suma  y 0  0  0
un  acarreo  al  siguiente  bit.  Así  como  tenemos  una  tabla  de  suma  para  decimales, 0  1 1
necesitamos  uno  para  binario  (pero,  por  supuesto,  es  mucho  más  corto)  (Tabla  1.4). 1  0  1
1 1  10  (2,  o  la  suma  de  0  y  un
En  el  Ejemplo  1.12  se  muestra  una  suma  paso  a  paso  para  sumar  6  (0110)
acarreo  de  1  al  siguiente  bit)
y  7  (0111).

EJEMPLO  1.12
Primero,  se  agregan  los  bits  menos  significativos  (los  bits  más  a  la  derecha),  produciendo  un
suma  de  1  y  un  acarreo  de  0,  como  se  muestra  en  marrón.
0
0  1  1  0
0  1  1  1
1

A  continuación,  debemos  sumar  el  segundo  dígito  de  la  derecha,
0  1 1  0  (1  1)  0  10  10
(una  suma  de  0  y  un  acarreo  de  1)

o  (0   1) 1 1 1  10
(no  importa  el  orden  de  adición).

Esa  adición  está  resaltada  en  marrón.
1  0
0  1  1  0
0  1  1  1
0  1

Las  dos  adiciones  finales  se  convierten  en

11 01
0  1  1  0 0  1  1  0
0  1  1  1 0  1  1  1
1  0  1 1  1  0  1

Observe  que  en  el  tercer  bit  de  suma,  teníamos  tres  1  (el  acarreo  más  el
dos  dígitos).  Eso  produjo  una  suma  de  3  (11  en  binario),  es  decir,  un  bit  de  suma  de  1
Machine Translated by Google

10 Capítulo  1  Introducción

y  un  acarreo  de  1.  La  respuesta,  por  supuesto,  llega  a  13  (en  decimal).  En  esto
caso,  la  última  adición  produjo  un  acarreo  de  0,  y  por  lo  tanto  la  respuesta  fue
4  bits  de  largo.  Si  los  operandos  fueran  más  grandes  (por  ejemplo,  13  5),  la  respuesta  sería
requieren  5  bits  como  se  muestra  en  la  siguiente  adición,  donde  el  último  acarreo  es
escrito  como  parte  de  la  suma.  (Esto,  por  supuesto,  no  es  diferente  de  decimal
suma,  donde  la  suma  de  dos  números  de  4  dígitos  puede  producir  un  4  o
resultado  de  5  dígitos).

1  0  1

1  1  0  1 1  3

0  1  0  1 5

1  0  0  1  0 1  8

En  una  computadora  con  palabras  de  n  bits,  cuando  una  operación  aritmética  produce  un  
resultado  que  está  fuera  de  rango  [por  ejemplo,  la  suma  de  palabras  positivas  de  n  bits
enteros  produce  un  resultado  de  (n  1)  bits],  se  denomina  desbordamiento.  Con  el
suma  de  enteros  positivos  de  4  bits,  el  desbordamiento  ocurre  cuando  la  suma  es
mayor  o  igual  a  16  (es  decir,  24 ).  En  el  ejemplo  anterior,  hay
se  desbordó  ya  que  la  respuesta,  18,  es  mayor  que  15,  el  mayor  de  4  bits
entero  positivo.
Después  de  la  adición  de  los  bits  menos  significativos  (que  solo  tiene  dos
operandos),  cada  suma  restante  es  un  problema  de  tres  operandos.  Lo  haremos
denote  el  acarreo  que  se  agrega  como  cin  y  el  acarreo  resultante  del
cuenta  adicional .  El  problema  de  la  suma  entonces  se  convierte  en

cine

a
b

corte  s

La  tabla  1.5  muestra  una  tabla  de  verdad  del  proceso  de  suma.
Tabla  1.5  Sumador  de  un  bit. Un  dispositivo  que  realiza  este  cálculo  de  1  bit  se  denomina  dispositivo  completo.
sumador.  Para  sumar  números  de  4  bits,  podríamos  construir  cuatro  de  estos  y  conectarlos
cintura  abdominal cout s
como  se  muestra  en  la  figura  1.2.  Observe  que  la  entrada  de  acarreo  del  sumador  bit  1
00  0  00  1  01  0   0   0
01  1  10  0  10  1   0   1
11  0  11  1 0   1
1   0 Figura  1.2  Un  sumador  de  4  bits.
0   1 a4 b4 a3 b3 a2 b2 C1 a 1 b1 0
1   0
1   0
1 1

Lleno Lleno Lleno Lleno


Sumador Sumador Sumador Sumador

C1
[ES  5;  EJ  5] C4 s4 s3 s2 s1
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 11

tiene  un  0,  ya  que  no  hay  acarreo  en  ese  bit.  A  veces ,  se  construye  un  circuito  más  simple  
(llamado  medio  sumador)  para  ese  bit.  Volveremos  a  este  problema  en  el  Capítulo  2,  cuando  
estemos  preparados  para  diseñar  el  sumador  completo.

1.2.3  Números  con  signo
Hasta  este  punto,  solo  hemos  considerado  números  enteros  positivos,  a  veces
denominados  números  sin  signo.  Las  computadoras  deben  manejar  números  con  signo,  es  
decir,  tanto  números  positivos  como  negativos.  El  amigable  con  los  humanos
notación  se  conoce  como  magnitud  con  signo  (5  o  3  como  decimal
ejemplos).  Esto  podría  incorporarse  a  una  computadora,  usando  el  primer  bit
de  un  número  como  indicador  de  signo  (normalmente  0  para  positivo  y  1  para  negativo)  y  los  
bits  restantes  para  la  magnitud.  Así,  en  un  sistema  de  4  bits,
representaríamos

5  →  0101 5  →  1101 3  →  1011

Con  3  bits  de  magnitud,  el  rango  de  números  disponibles  sería  de
7  a  7.  (Por  supuesto,  la  mayoría  de  las  computadoras  usan  una  mayor  cantidad  de  bits  para
números  de  tienda  y  por  lo  tanto  tienen  un  rango  mucho  más  amplio.)  Tenga  en  cuenta  que  tal
la  representación  tiene  un  cero  positivo  (0000)  y  negativo  (1000).
Aunque  eso  podría  causar  confusión  (o  al  menos  complicar  el  funcionamiento  interno
lógica  de  la  computadora),  el  principal  problema  con  la  magnitud  con  signo  es  la
complejidad  de  la  aritmética.  Considere  los  siguientes  problemas  de  suma:

5   5   5   5   3   3


3 3 3 3 5 5

8 8 2 2 2 2

En  los  dos  primeros,  donde  los  signos  de  los  dos  operandos  son  iguales,  tenemos
simplemente  agregue  las  magnitudes  y  retenga  el  signo.  Para  estos  dos,  el  cálculo  es  5  3.  En  
cada  uno  de  los  otros  ejemplos,  debemos  determinar  cuál

es  la  magnitud  mayor.  (Podría  ser  el  primer  operando  o  el  segundo).
Luego,  debemos  restar  el  menor  del  mayor,  y  finalmente,  unir
el  signo  de  mayor  magnitud.  Para  estos  cuatro,  el  cálculo  es
5  3.  Aunque  todo  esto  podría  hacerse,  la  complejidad  del  hardware
involucrados  (un  sumador,  un  restador  y  un  comparador)  ha  llevado  a  otro
solución.

Los  números  binarios  con  signo  casi  siempre  se  almacenan  en  formato  de  complemento  
a  dos .  El  bit  inicial  sigue  siendo  el  bit  de  signo  (0  para  positivo).  Positivo
los  números  (y  el  cero)  solo  se  almacenan  en  binario  normal.  el  numero  mas  grande
que  se  puede  almacenar  es  2n  11  (7  para  n  4).  Así,  en  un  sistema  de  4  bits,  5
se  almacenaría  como  0101.

El  número  negativo,  a,  se  almacena  como  el  equivalente  binario  de  2n  a
en  un  sistema  de  n  bits.  Así,  por  ejemplo,  3  se  almacena  como  el  binario  para
16  3  13,  es  decir,  1101.
1
El  número  más  negativo  que  se  puede  almacenar  es  2n  (8  en  un
sistema  de  4  bits).  El  mayor  número  disponible  en  complemento  a  dos  es
aproximadamente  la  mitad  de  los  números  sin  signo  con  el  mismo  número  de  bits,  ya  que
Machine Translated by Google

12 Capítulo  1  Introducción

la  mitad  de  las  representaciones  2n  se  utilizan  para  números  negativos.  Este  método
se  extiende  a  otras  bases  además  de  binarias.  Se  le  conoce  como  complemento  radix.
Los  números  negativos,  a,  en  n  dígitos  se  almacenan  como  r  a.  en  decimal  para
norte

ejemplo,  esto  se  llama  complemento  de  diez.  En  un  sistema  decimal  de  2  dígitos,
16  se  almacenaría  como  100  16  84.  (Los  números  del  0  al  49  se
se  considerarían  positivos  y  los  que  están  entre  50  y  99  serían  representaciones  de  números  
negativos.)
Una  forma  más  fácil  de  encontrar  el  formato  de  almacenamiento  para  números  negativos  en
el  complemento  a  dos  es  el  siguiente  enfoque  de  tres  pasos:

1.  Encuentra  el  equivalente  binario  de  la  magnitud.

2.  Complemente  cada  bit  (es  decir,  cambie  0  por  1  y  1  por  0)
3.  Sume  1.

EJEMPLO  1.13 5 1 0
1. 5:  0  1  0  1 1:  0  0  0  1 0:  0  0  0  0

2. 1  0  1  0 1  1  1  0 1  1  1  1


3. 1 1 1
5: 1  0  1  1 1: 1  1  1  1 0  0  0  0

(a) (b) (C)

Tenga  en  cuenta  que  no  hay  cero  negativo;  el  proceso  de  complementar  0  produce  
una  respuesta  de  0000.  En  la  suma  de  complemento  a  dos,  la  realización  de
el  bit  más  significativo  es  ignorado.

La  tabla  1.6  enumera  el  significado  de  todos  los  números  de  4  bits  tanto  como  positivos
números  (sin  signo)  y  números  con  signo  en  complemento  a  dos.
Para  encontrar  la  magnitud  de  un  número  negativo  almacenado  en  formato  de  complemento  
a  dos  (es  decir,  uno  que  comienza  con  1),  los  pasos  segundo  y  tercero
del  proceso  de  negación  se  siguen.

EJEMPLO  1.14
5: 1  0  1  1 1: 1  1  1  1

2.  Complemento  bit  a  bit  3.   0  1  0  0 0  0  0  0


Sumar  1 1 1

5:  0  1  0  1 1: 0  0  0  1

(Podríamos  restar  1  y  luego  complementar,  en  su  lugar;  eso  dará  el  mismo
respuesta.)

La  razón  por  la  que  el  complemento  a  dos  es  tan  popular  es  la  simplicidad  de
suma.  Para  sumar  dos  números  cualesquiera,  sin  importar  cuál  sea  el  signo  de  cada  uno,
solo  haz  sumas  binarias  en  sus  representaciones.  Tres  cálculos  de  muestra
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 13

Tabla  1.6  Números  de  4  bits  con  y  sin  signo.

firmado
Binario Positivo (complemento  a  dos)
0000   0   0
0001   1
0010   1   2
0011   2   3
0100   3  4 4
0101   5
0110   5  6 6
0111   7   7
1000   8   8
1001   9   7
1010   10   6
1011   11   5
1100   12   4
1101   13   3
1110   14   2
1111 15 1

se  muestran  en  el  ejemplo  1.15.  En  cada  caso,  se  ignora  el  acarreo  del  bit  más  significativo.

EJEMPLO  1.15
5 1  0  1  1 5 1  0  1  1 5 1  0  1  1
7 0  1  1  1 5 0  1  0  1 3 0  0  1  1
2 (1)  0  0  1  0 0  (1)  0  0  0  0 2  (0)  1  1  1  0

En  el  primero,  la  suma  es  2.  En  el  segundo,  la  suma  es  0.  En  el  tercero,  la  suma  es
2,  y,  de  hecho,  se  produce  la  representación  de  2.

El  desbordamiento  ocurre  cuando  la  suma  está  fuera  de  rango.  Para  números  de  4  bits,
ese  rango  es  8  suma 7.

EJEMPLO  1.16
5 0  1  0  1
4 0  1  0  0

(0)  1  0  0  1 (parece  7)

La  respuesta  producida  es  claramente  incorrecta  porque  la  respuesta  correcta  (9)  es
fuera  de  rango.

De  hecho,  cada  vez  que  sumamos  dos  números  positivos  (cada  uno  comenzando
con  un  0)  y  obtener  un  resultado  que  parece  negativo  (comienza  con  un  1),  hay
Desbordamiento.  De  manera  similar,  sumar  dos  números  negativos  y  obtener  una  suma
Machine Translated by Google

14 Capítulo  1  Introducción

más  negativo  que  8  también  produce  desbordamiento.  (Además,  podemos  detectar
desbordamiento  cuando  el  acarreo  en  el  bit  más  significativo  [1  en  este  caso]  difiere  del  
acarreo).

EJEMPLO  1.17
5 1  0  1  1
4 1  1  0  0
(1)  0  1  1  1 (parece  7)

Esta  vez,  dos  números  negativos  produjeron  una  suma  que  parece  positiva.

La  suma  de  dos  números  de  signo  opuesto  nunca  produce
desbordamiento,  ya  que  la  magnitud  de  la  suma  está  en  algún  lugar  entre  la
magnitudes  de  los  dos  operandos.  (Aunque  el  desbordamiento  parece  bastante  común  
cuando  se  trata  de  ejemplos  de  4  bits,  es  una  ocurrencia  inusual  en
[ES  6,  7,  8;  Ej.  6,  7,  8,  9] la  mayoría  de  las  aplicaciones  informáticas,  donde  los  números  son  de  16  o  32  bits  o  más).

1.2.4  Resta  binaria
La  resta  (ya  sea  que  se  trate  de  números  con  o  sin  signo)  generalmente  se  logra  tomando  
primero  el  complemento  a  dos  del  segundo
operando,  y  luego  sumando.  Por  lo  tanto,  ab  se  calcula  como  a  (b).

EJEMPLO  1.18 Considere  el  cálculo  de  7  5.

5:  0  1  0  1
1  0  1  0 7: 0  1  1  1
1 5: 1  0  1  1
5: 1  0  1  1 2 (1)  0  0  1  0
El  5  se  complementa  primero.  Este  mismo  proceso  se  sigue  tanto  si  el
el  cálculo  involucra  números  con  o  sin  signo.  Luego,  la  representación  de  5  se  
suma  a  7,  produciendo  una  respuesta  de  2.

Para  números  con  signo,  se  ignora  el  acarreo  del  bit  de  orden  superior,
y  el  desbordamiento  ocurre  si  el  proceso  de  suma  opera  en  dos  números  de
mismo  signo  y  produce  un  resultado  de  signo  contrario.  para  no  firmado
números,  el  acarreo  del  bit  de  orden  superior  es  el  indicador  de  desbordamiento,
como  además.  Sin  embargo,  en  la  resta,  un  0  indica  desbordamiento.  En  el  ejemplo  1.18,  
no  hubo  desbordamiento  ni  para  los  números  con  signo  ni  para  los  sin  signo,
ya  que  la  respuesta,  2,  está  dentro  del  rango.  El  acarreo  de  1  indica  que  no  hay  
desbordamiento,  para  números  sin  signo.  Para  números  con  signo,  la  adición  de  un  
número  positivo  a  uno  negativo  nunca  produce  desbordamiento.
En  la  mayoría  de  las  aplicaciones  informáticas,  las  dos  sumas  (del  1  en  el
cálculo  del  complemento  y  de  los  dos  operandos)  se  realizan  en  un  solo  paso.
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 15

El  bit  menos  significativo  del  sumador  (bit  1)  tiene  una  entrada  de  acarreo  cero  para  la  suma.  
El  1  que  se  sumó  en  el  proceso  de  complementación  se  puede  ingresar  para  llevar  la  
entrada  para  la  resta.  Por  lo  tanto,  para  calcular  7  5,  tomamos  el  complemento  bit  a  bit  de  5  
(0101  se  convierte  en  1010)  y  lo  sumamos.

7  5 EJEMPLO  1.19

1
0  1  1  1
1  0  1  0
(1)  0  0  1  0

Por  supuesto,  podríamos  diseñar  un  restador  (además  del  sumador),
pero  eso  es  hardware  adicional  innecesario  para  la  mayoría  de  las  computadoras.
Tenga  en  cuenta  que  este  proceso  funciona  para  números  sin  signo  incluso  si  los  
operandos  son  más  grandes  de  lo  que  se  podría  representar  en  un  sistema  de  complemento  
a  dos,  como  se  muestra  en  el  Ejemplo  1.20,  donde  se  calcula  la  diferencia  14  10.

1 EJEMPLO  1.20

1  1  1  0
0  1  0  1
(1)  0  1  0  0  4

Vemos  desbordamiento  para  números  sin  signo  en  el  Ejemplo  1.21a  y  para
números  con  signo  en  el  ejemplo  1.21b.

5  7 EJEMPLO  1.21
7  (5)
1 1
0  1  0  1 0  1  1  1
1  0  0  0   0  1  0  0  
(0)  1  1  1  0   1  1  0  0
(a) (b)
Para  números  sin  signo,  el  desbordamiento  se  indica  mediante  el  acarreo  de  0.  El  
resultado  de  (a)  debe  ser  negativo  (2),  lo  que  no  se  puede  representar  en  un  sistema  
sin  signo.  Para  números  con  signo,  el  resultado  es  correcto.  Para  los  números  con  
signo,  puede  ocurrir  un  desbordamiento  si  restamos  un  número  negativo  de  uno  
positivo  o  un  número  positivo  de  uno  negativo,  como  se  muestra  en  el  Ejemplo  
1.21b.  Eso  es  desbordamiento  porque  el  proceso  de  suma  involucró  dos  números  
positivos  y  el  resultado  parecía  negativo.  (De  hecho,  la  respuesta  debería  ser  12,  
pero  eso  es  mayor  que  el  número  con  signo  de  4  bits  más  grande,  7).

[ES  9,  10;  EJ  10]
Machine Translated by Google

dieciséis Capítulo  1  Introducción

1.2.5  Decimal  codificado  en  binario  (BCD)
Internamente,  la  mayoría  de  las  computadoras  operan  con  números  binarios.  Sin  embargo  cuando
interactúan  con  los  humanos,  el  modo  de  comunicación  es  generalmente
decimal.  Por  lo  tanto,  es  necesario  convertir  de  decimal  a  binario  en  la  entrada
y  de  binario  a  decimal  en  la  salida.  (Es  sencillo  escribir
software  para  hacer  esta  conversión.)  Sin  embargo,  incluso  esta  entrada  decimal  y
la  salida  debe  codificarse  en  binario,  dígito  por  dígito.  Si  usamos  los  primeros  10  
números  binarios  para  representar  los  10  dígitos  decimales  (como  en  el  primer  binario
columna  en  la  Tabla  1.7),  entonces  el  número  739,  por  ejemplo,  sería
almacenado  como

0111  0011  1001

Cada  dígito  decimal  está  representado  por  4  bits  y,  por  lo  tanto,  un  decimal  de  3  dígitos
número  requiere  12  bits  (mientras  que,  si  se  convirtiera  a  binario,  sería
requieren  solo  10  bits  porque  los  números  hasta  1023  se  pueden  representar  con
10  bits).  Además  de  la  ineficiencia  del  almacenamiento,  la  aritmética  en  BCD
números  es  mucho  más  complejo  *  que  eso  en  binario,  y  por  lo  tanto  BCD  es
solo  se  usa  internamente  en  sistemas  pequeños  que  requieren  un  cálculo  limitado.
Ya  hemos  discutido  el  código  más  simple,  usando  los  primeros  10  binarios
números  para  representar  los  10  dígitos.  Los  restantes  números  binarios  de  4  bits

Tabla  1.7  Códigos  decimales  codificados  en  binario.

Decimal 8421 5421 2421 Exceso  3 2  de  5

dígito código código código código código

0   0000   0000   0000   0011   11000


0001   0001   0001   0100   10100
1   0010   0010   0010   0101   10010
2   0011   0011   0011   0110   10001
3   0100   0100   0100   0111   01100
4   0101   1000   1011   1000   01010
5   0110   1001   1100   1001   01001
6   0111   1010   1101   1010   00110
7   1000   1011   1110   1011   00101
8  9 1001 1100 1111 1100 00011

no  usado 1010   0101   0101   0000   cualquiera  de

1011   0110   0110   0001   el  22


1100   0111   0111   0010   patrones
1101   1101   1000   1101   con  0,  1,
1110   1110   1001   1110   3,  4  o  5
1111 1111 1010 1111 1's

*Consulte  la  Sección  5.8.1  para  ver  un  ejemplo  de  esto.
Machine Translated by Google

1.2  Una  breve  revisión  de  los  sistemas  numéricos 17

(1010,  1011,  1100,  1101,  1110,  1111)  no  se  utilizan.  Este  código  y  los  de  las  siguientes  
dos  columnas  de  la  tabla  1.7  se  denominan  códigos  ponderados  porque  el  valor  
representado  se  calcula  tomando  la  suma  de  cada  dígito  por  su  peso.  Este  primer  código  
se  denomina  código  8421,  ya  que  esos  son  los  pesos  de  los  bits.  Cada  dígito  decimal  
está  representado  por

8  a3  4  a2  2  a1  1  a0

También  se  conoce  como  binario  directo.  A  continuación  se  muestran  otros  dos  códigos  
ponderados  (5421  y  2421)  que  se  utilizan  ocasionalmente.
Otros  dos  códigos  que  no  están  ponderados  también  se  muestran  en  la  Tabla  1.7.
El  primero  es  el  exceso  de  3  (XS3)  donde  el  dígito  decimal  está  representado  por  el  
equivalente  binario  de  3  más  que  el  dígito.  Por  ejemplo,  0  se  almacena  como  el  binario  
3  (0011)  y  6  como  el  binario  de  6  3  9  (1001).  La  columna  final  muestra  un  código  2  de  
5,  donde  cada  dígito  está  representado  por  un  número  de  5  bits,  dos  de  los  cuales  son  
1  (y  los  tres  bits  restantes  son  0).  Esto  proporciona  algunas  capacidades  de  detección  
de  errores  porque,  si  se  comete  un  error  en  solo  uno  de  los  bits  (durante  el  
almacenamiento  o  la  transmisión),  el  resultado  contendrá  uno  o  tres  1  y  se  puede  
detectar  como  un  error.
Tenga  en  cuenta  que  tanto  en  el  código  5421  como  en  el  2421,  se  pueden  usar  
otras  combinaciones  para  representar  algunos  de  los  dígitos  (como  0101  para  5).  Sin  
embargo,  las  que  se  muestran  en  la  tabla  son  las  representaciones  estándar;  los  demás  
se  incluyen  en  la  categoría  de  no  utilizados.
Cada  una  de  las  representaciones  tiene  ventajas  en  varias  aplicaciones.
Por  ejemplo,  si  se  almacenaran  números  con  signo  (complemento  de  diez),  el  primer  
dígito  de  ese  número  estaría  en  el  rango  de  5  a  9  para  números  negativos.  En  los  
códigos  5421,  2421  y  3  en  exceso,  eso  correspondería  a  que  el  primer  bit  del  número  
sea  1.  (Solo  necesitaríamos  verificar  1  bit  para  determinar  si  un  número  es  negativo).  
En  el  código  8421,  sin  embargo,  más  se  requiere  una  lógica  compleja,  porque  el  primer  
bit  puede  ser  0  o  1  para  números  negativos.  En  los  códigos  5421  y  3  en  exceso,  el  
complemento  de  diez  se  calcula  complementando  cada  bit  y  sumando  1  (como  en  el  
complemento  de  dos).  El  proceso  es  más  complejo  usando  los  otros  códigos.  Haremos  
uso  de  algunos  de  estos  códigos  en  ejemplos  posteriores.
[ES  11,  12;  EJ  11,  12]

1.2.6  Otros  códigos

Otros  códigos  también  aparecen  en  el  mundo  digital.  La  información  alfanumérica  se  
transmite  mediante  el  Código  estándar  estadounidense  para  el  intercambio  de  
información  (ASCII).  Se  utilizan  siete  dígitos  para  representar  los  diversos  caracteres  en  
el  teclado  estándar,  así  como  una  serie  de  señales  de  control  (como  el  retorno  de  carro).  
La  Tabla  1.8  enumera  los  códigos  imprimibles.  (Los  códigos  que  comienzan  con  00  son  
para  señales  de  control).
Esto  nos  permite  codificar  cualquier  cosa  que  se  pueda  imprimir  desde  el  stan.
teclado  dardo.  Por  ejemplo,  la  palabra  Lógica  se  codificaría
Machine Translated by Google

18 Capítulo  1  Introducción

1001100  1101111  1100111  1101001  1100011

Iniciar  sesión C

Tabla  1.8  Código  ASCII.

a6a5a4

a3a2a1a0 010 011 100 101 110 111


`
0000   espacio ! 0   @ PAG
pag

0001   A q a q

0010   1   B R b r
0011   2   C S C s
0100   3   D T d t
0101   ps 4   mi tu mi tu
0110   5   F V  f v
'
0111   6   GRAMO
peso w
1000   7   H X  h X
1001   ( ) 8  9 I yo y
1010   * : j z
Z  j
1011   k  [k  {
1100   , ;  < L  | \ yo

1101   M ]  m }
1110   . > norte
^ norte
~
1111 / ? O _ o borrar

En  un  código  Gray,  los  números  consecutivos  difieren  en  un  solo  bit.  Tabla  1.9
muestra  una  secuencia  de  código  Gray  de  4  bits.

Tabla  1.9  Código  Gray.

Número  Código  gris Número código  gris


0   0000   8   1100
0001   9   1101
1   0011   10   1111
2   0010   11   1110
3   0110   12   1010
4   0111   13   1011
5   0101   14   1001
6  7 0100 15 1000

Un  código  Gray  es  particularmente  útil  para  codificar  la  posición  de  un
dispositivo.  A  medida  que  el  dispositivo  se  mueve  de  una  sección  a  la  siguiente,  solo  1  bit  de
el  código  cambia.  Si  hay  alguna  incertidumbre  en  cuanto  a  la  posición  exacta,
solo  1  bit  está  en  duda.  Si  se  usara  un  código  binario  normal,  los  4  bits
[ES  13;  EJ  13] cambiar  a  medida  que  se  movía  de  7  a  8.
Machine Translated by Google

1.3  Problemas  resueltos 19

1.3  PROBLEMAS  RESUELTOS

1.  Convierta  los  siguientes  enteros  binarios  positivos  a  decimal.
a.  110100101
b.  00010111

a.  110100101  1  4  32  128  256  421
Comenzando  la  evaluación  de  derecha  (posición  de  1)  a  izquierda
( posición  28).  (Hay  0  en  los  bits  2,  8,  16  y  64).
b.  00010111  1  2  4  16  23
Los  ceros  iniciales  no  cambian  el  resultado.

2.  Convierta  los  siguientes  enteros  decimales  a  binario.  asumir  todo
los  números  no  tienen  signo  (positivo)  y  están  representados  por  12  bits.
a.  47
b.  98
C.  5000
a.  47  47  64 Por  lo  tanto,  no  hay  26  bits  o  más
47  32  15 da  25  bits
15  16 sin  24  bits
15  8  7 23  bits

7  111 por  lo  tanto,  los  últimos  3  bits  son  111

47  000000101111
b.  98 98/2  49 resto  0 0
49/2  24 resto  1 10
24/2  12 resto  0 010
12/2  6 resto  0 0010
6/2  3 resto  0 00010
3/2  1 resto  1 100010
1/2  0 resto  1 1100010

Podríamos  seguir  dividiendo  0  entre  2  y  obtener  residuos  de  0  hasta  que  tuviéramos
12  bits  o  reconocer  que  los  bits  iniciales  deben  ser  0.
98  000001100010
Como  en  la  parte  a,  podríamos  haber  dejado  de  dividirnos  cuando  reconocimos
el  número,  digamos  que  12  1100.  Tomaríamos  lo  que  ya  teníamos
encontró,  los  tres  bits  menos  significativos  de  010,  y  puso  el  binario  para  12
antes  de  eso,  obteniendo  la  misma  respuesta,  por  supuesto,  1100010  (con  suficiente
0  a  la  izquierda  para  formar  el  número  apropiado  de  bits).
C.  5000:  no  se  puede  representar  en  12  bits  porque  5000  212.
Machine Translated by Google

20 Capítulo  1  Introducción

3.  Convierte  lo  siguiente  a  hexadecimal
a.  110101101112
b.  61110

Los  ceros  iniciales  se  agregan  cuando  es  necesario  para  que  el  número  de  bits  sea  un  
múltiplo  de  4.

a.  0110  1011  0111  6B716
b.  61116  38  remanente  3 3
3816  2  rem  6 63
216  0 rem  2 263

Esto  es  igual  a  0010  0110  0011.

4.  Convierta  los  siguientes  enteros  hexadecimales  a  decimal
a.  263
b.  1C3

a.  3  6  16  2  162  3  96  512  611
b.  3  12  16  162  3  192  256  451

5.  Calcule  la  suma  de  los  siguientes  pares  de  6  bits  sin  signo
números  enteros  Si  la  respuesta  se  almacenará  en  una  ubicación  de  6  bits,  indique
cuál  de  las  sumas  produce  desbordamiento.  Además,  muestra  el  decimal
equivalente  de  cada  problema.
a.  0  0  1  0  1  1  0  1  1  0  1  0
b.  1  0  1  1  1  1  0  0  0  0  0  1
C.  1  0  1  0  1  0  0  1  0  1  0  1
d.  1  0  1  0  1  0  1  0  0  0  1  1

a. 0 1  0 0  1
11 0  0  1  0  1  1 0  0  1  0  1  1 0  0  1  0  1  1
26 0  1  1  0  1  0 0  1  1  0  1  0 0  1  1  0  1  0
37 1 0  1 1  0  1
1  0 1  1 1
0  0  1  0  1  1 0  0  1  0  1  1 0  0  1  0  1  1
0  1  1  0  1  0 0  1  1  0  1  0 0  1  1  0  1  0
0  1  0  1 0  0  1  0  1  0  1  0  0  1  0  1 37

Tenga  en  cuenta  que  en  este  caso  el  resultado  del  último  acarreo  es  0  (se  muestra  como  parte  del
sum)  y,  por  lo  tanto,  la  respuesta  cabe  en  6  bits  (no  hay  desbordamiento).
Machine Translated by Google

1.3  Problemas  resueltos 21

b. 0  1  1  1  1 (lleva)
1  0  1  1  1  1 47
0  0  0  0  0  1 1
0  1  1  0  0  0  0 48
C. 0  0  0  0  0
1  0  1  0  1  0 42
0  1  0  1  0  1 21
0  1  1  1  1  1  1 63
d. 0  0  0  1  0
1  0  1  0  1  0 42
1  0  0  0  1  1 35
1  0  0  1  1  0  1 77 desbordamiento  (parece  13)

Tenga  en  cuenta  que  la  respuesta  es  mayor  que  63,  que  es  la  mayor  de  6  bits
número.

6.  Los  siguientes  números  decimales  deben  almacenarse  en  dos  de  6  bits
formato  de  complemento.  Muestre  cómo  se  almacenan.
a. 14
b.  20
C.  37

a.  14  001110  Los  números  positivos  se  acaban  de  convertir  a  binario.
b.  20:  20  010100

Complementa  todo 1  0  1  0  1  1
Añadir  1 1
20  se  almacena  como 1  0  1  1  0  0

C.  37:  No  se  puede  almacenar,  el  rango  de  números  de  6  bits  es
32  n  31.  Convertir  37  a  binario  daría  100101,
pero  eso  representa  un  número  negativo.

7.  Los  siguientes  números  de  complemento  a  dos  de  6  bits  se  encontraron  en  un
computadora.  ¿Qué  número  decimal  representan?
a.  001011
b.  111010

a.  001011:  Porque  comienza  con  0,  es  positivo  1  2  8  11
b.  111010:  Debido  a  que  comienza  con  un  1,  es  negativo;  tomar  dos
complementar: 0  0  0  1  0  1
1
0  0  0  1  1  0  6

Por  lo  tanto,  111010  representa  6.
Machine Translated by Google

22 Capítulo  1  Introducción

8.  Cada  uno  de  los  siguientes  pares  de  signos  (complemento  a  dos)
los  números  se  almacenan  en  palabras  de  computadora  (6  bits).  Calcular  la  suma
como  se  almacena  en  una  palabra  de  computadora  de  6  bits.  mostrar  el  decimal
equivalentes  de  cada  operando  y  la  suma.  Indique  si  hay
Desbordamiento.

a.  1  1  1  1  1  1  0  0  1  0  1  1
b.  0  0  1  0  0  1 1  0  0  1  0  0
C.  0  0  1  0  0  1  0  1  0  0  1  1
d.  0  0  1  0  1  0  0  1  1  0  0  0
mi.  1  1  1  0  1  0  1  1  0  0  0  1
F.  1  0  1  0  0  1 1  1  0  0  0  1

gramo.  1  1  0  1  0  1  0  0  1  0  1  1
a. 1  1  1  1  1  1 1
0  0  1  0  1  1 11  La  ejecución  se  ignora  y  no
(1)  0  0  1  0  1  0  0   10  se  muestra  en  los  ejemplos  restantes.
b. 0  1  0  0  1 9
1  0  0  1  0  0 28
1  0  1  1  0  1 19
C. 0  0  1  0  0  1 9
0  1  0  0  1  1 19
0  1  1  1  0  0 28
d. 0  0  1  0  1  0 10
0  1  1  0  0  0 24

1  0  0  0  1  0  parece  30;  debe  ser  34;  Desbordamiento
la  suma  de  dos  números  positivos  parece  negativa
mi. 1  1  1  0  1  0 6
1  1  0  0  0  1 15
1  0  1  0  1  1 21
F. 1  0  1  0  0  1 23
1  1  0  0  0  1 15

0  1  1  0  1  0  parece  26;  debe  ser  38;  Desbordamiento
la  suma  de  dos  números  negativos  parece  positiva
gramo.
1  1  0  1  0  1 11
0  0  1  0  1  1 11
0  0  0  0  0  0 0

9.  Resta  cada  uno  de  los  siguientes  pares  de  enteros  sin  signo.
a.  0  0  1  1  0  1  0  0  0  1  1  0
b.  1  1  0  1  0  1  0  0  0  0  1  1
C.  0  0  0  1  1  1  0  1  0  0  1  1
Machine Translated by Google

1.3  Problemas  resueltos 23

a.  (Este  ejemplo  es  el  mismo  para  firmas  o  no  firmas)
números.)
1
0  0  1  1  0  1 0  0  1  1  0  1 13
0  0  0  1  1  0 1  1  1  0  0  1 6
(1)  0  0  0  1  1  1  1 7
b.
1  1  0  1  0  1 1  1  0  1  0  1 53
0  0  0  0  1  1 1  1  1  1  0  0 3
(1)  1  1  0  0  1  0  1 50
C.

0  0  0  1  1  1 0  0  0  1  1  1 7
0  1  0  0  1  1 1  0  1  1  0  0 19
(0)  1  1  0  1  0  0 desbordamiento,  respuesta  negativa

10.  Resta  cada  uno  de  los  siguientes  pares  de  enteros  con  signo.
a.  1  1  0  1  0  1  0  0  0  0  1  1
b.  1  1  0  1  0  1  0  1  1  0  0  0
C.  0  1  0  0  0  0  1  0  0  1  0  0

a. 1
1  1  0  1  0  1 1  1  0  1  0  1 11
0  0  0  0  1  1 1  1  1  1  0  0 (3)
(1)  1  1  0  0  1  0   14

Tenga  en  cuenta  que  este  es  el  mismo  número  binario  que  en  el  problema  resuelto  9b.
b. 1
1  1  0  1  0  1 1  1  0  1  0  1 11
0  1  1  0  0  0 1  0  0  1  1  1 (24)
(1)  0  1  1  1  0  1 desbordamiento,  respuesta  mira
positivo
C. 1
0  1  0  0  0  0 0  1  0  0  0  0 dieciséis

1  0  0  1  0  0 0  1  1  0  1  1 (28)


(0)  1  0  1  1  0  0 desbordamiento,  respuesta  mira
negativo

11.  Tenemos  una  computadora  que  puede  almacenar  3  dígitos  decimales.  Como  estan  los
siguientes  dos  números  almacenados  en  cada  uno  de  los  cinco  códigos?
a.  491
b.  27
Machine Translated by Google

24 Capítulo  1  Introducción

a.  8421 0100  1001  0001
5421 0100  1100  0001
2421 0100  1111  0001
XS3 0111  1100  0100
2  de  5   01100  00011  10100
Tenga  en  cuenta  que  los  primeros  cuatro  códigos  requieren  palabras  de  12  bits;  el  2  de  5
El  código  requiere  palabras  de  15  bits.
b.  8421 0000  0010  0111
5421 0000  0010  1010
2421 0000  0010  1101
XS3 0011  0101  1010
2  de  5 11000  10010  00110

12.  Tenemos  los  siguientes  números  almacenados  en  una  computadora.  Qué  es
el  valor  decimal  representado  si  el  número  se  almacena  como
i.  BCD  8421  iv.  BCD  exceso  3
ii.  BCD  5421 v.  Binario  sin  firmar
iii.  BCD  2421 vi.  binario  firmado
a.  1000  0111
b.  0011  0100
C.  1100  1001

a.  1000  0111
i.  BCD  8421 87
ii.  BCD  5421 —  0111  no  utilizado
iii.  BCD  2421 —  1000,  0111  no  utilizado
IV.  BCD  exceso  3 54

v.  Binario  sin  signo  vi.   135

binario  firmado 121

b.  0011  0100
i.  BCD  8421 34
ii.  BCD  5421 34
iii.  BCD  2421 34
IV.  BCD  exceso  3 01

v.  Binario  sin  signo  vi.   52

binario  firmado 52

C.  1100  1001
i.  BCD  8421 —  1100  no  utilizado
ii.  BCD  5421 96
iii.  BCD  2421 —  1001  no  utilizado
IV.  BCD  exceso  3 96

v.  Binario  sin  signo  vi.   201

binario  firmado 55
Machine Translated by Google

1.4  Ejercicios 25

EJE
13.  un.  Codifique  lo  siguiente  en  ASCII.
i.  HOLA
ii.  Hola

b.  Traduce  lo  siguiente  al  inglés.
i.  1011001  1100101  1110011  0100001
ii.  0110010  0101011  0110001  0111101  0110011

a.  i.  1001000  1000101  1001100  1001100  1001111
ii.  1101000  1100101  1101100  1101100  1101111
b.  i.  ¡Sí!
ii.  213

1.4  EJERCICIOS*
1.  Convierta  los  siguientes  enteros  binarios  sin  signo  a  decimal.
a.  11111  e.  10101010
b.  1000000 F.  000011110000
C.  1001101101 gramo.  110011001100
  re.  101111   H.  000000000000
2.  Convierta  los  siguientes  enteros  decimales  a  binario.  asumir  todo
los  números  no  tienen  signo  (positivo)  y  están  representados  por  12  bits.
a.  73 C.  402 e.  1000   g.  4200
b.  127 d.  512 F.  17 H.  1365
3.  Convierte  lo  siguiente  a  hexadecimal
a.  1001011010112
b.  101101000001012
  c.  79110
d.  160010
4.  Convierta  los  siguientes  números  hexadecimales  a  decimal
a.  1000
b.  A  B  C  D
  c.  3FF
5.  Calcule  la  suma  de  los  siguientes  pares  de  enteros  sin  signo  de  6  bits.
Si  la  respuesta  se  almacenará  en  una  ubicación  de  6  bits,  indique  cuál  de
las  sumas  producen  desbordamiento.  Además,  muestre  el  equivalente  decimal  de
ambos  operandos  y  el  resultado.
a.  000011  001100 e.  001011  100111
b.  010100  101101 F.  000101  000111
C.  011100  011010 gramo.  101100  100100
d.  110011  001110

*Las  respuestas  a  los  ejercicios  marcados  con  una  estrella  ( )  se  encuentran  en  el  Apéndice  B.
Machine Translated by Google

26 Capítulo  1  Introducción
SOICICREJE

6.  Los  siguientes  enteros  decimales  deben  almacenarse  en  dos  de  6  bits
formato  de  complemento.  Muestre  cómo  se  almacenan.
a.  25  32   c. e. 15 gh 1
b.  0 d. 15 F. 45 dieciséis

7.  Los  siguientes  enteros  en  complemento  a  dos  de  6  bits  se  encontraron  en  un
computadora.  ¿Qué  número  decimal  representan?
a.  000101     c.  010101  e.  011111 gramo.  101010
b.  111111   d.  100100  f.  111001   h.  100000

8.  Tenemos  una  computadora  que  almacena  enteros  binarios  con  signo  en  dos
forma  de  complemento.  Todos  los  números  tienen  una  longitud  de  8  bits.

a.  ¿Qué  número  decimal  representa  01101011?
b.  ¿Qué  número  decimal  representa  10101110?
  c.  ¿Cómo  se  almacena  el  número  113?
d.  ¿Cómo  se  almacena  el  número  143?
mi.  ¿Cómo  se  almacena  el  número  43?
F.  ¿Cómo  se  almacena  el  número  43?

9.  Cada  uno  de  los  siguientes  pares  de  enteros  con  signo  (complemento  a  dos)
se  almacenan  en  palabras  informáticas  (6  bits).  Calcule  la  suma  tal  como  es
almacenado  en  una  palabra  de  computadora  de  6  bits.  Muestra  los  equivalentes  decimales  de
cada  operando  y  la  suma.  Indicar  si  hay  desbordamiento.
a.  110101  c.  001100 mi.  011010
001111 110100 001100
b.  111010 d.  101010   f.  111101
000111 100110 110000

10.  Para  cada  uno  de  los  siguientes  pares  de  enteros,  resta  el  segundo
desde  el  principio.  Mostrar  los  operandos  y  las  respuestas  en  decimal,
asumiendo
i.  los  números  no  están  firmados.
ii.  los  números  están  firmados  (complemento  a  dos).
Indique  el  desbordamiento  cuando  corresponda.
a.  010101   c.  111010 mi.  110010
001100 000111 110111
b.  010001 d.  100100 F.  111010
011000 011000 101101

11.  Tenemos  una  computadora  que  puede  almacenar  3  dígitos  decimales.  como  estan  cada  uno
de  los  siguientes  números  almacenados  en  cada  uno  de  los  cinco  códigos?
i.  8421 IV.  exceso  3
ii.  5421 v.2  de  5
iii.  2421
a.  103 b.  999 C.  1 d.  0
Machine Translated by Google

DEL  
CAPI
1.5  Capítulo  1  Prueba 27

12.  Tenemos  los  siguientes  números  almacenados  en  una  computadora.  Cuál  es  el

PRU
valor  decimal  representado  si  el  número  se  almacena  como
i.  BCD  8421 IV.  BCD  exceso  3
ii.  BCD  5421 v.  binario  sin  firmar
iii.  BCD  2421 vi.  binario  firmado

a.  1111  1010 d.  1001  0101
b.  0001  1011 mi.  1110  1101
C.  1000  0011 F.  0100  1000

13.  un.  Codifique  lo  siguiente  en  ASCII
i.  Problema  5 iii.  2  1  3
ii.  "DE  ACUERDO" IV.  ABM

b.  Traduce  lo  siguiente  al  inglés

i.  1000001  1101100  1100001  1101110
ii.  0100100  0110111  0101110  0111001  0110101
iii.  0111001  0101111  0110011  0111101  0110011
IV.  1010100  1101000  1100101  0100000  1100101
1101110  1100100

1.5  PRUEBA  DEL  CAPÍTULO  1  (30  MINUTOS)*
1.  Convierte  el  número  decimal  347  a
a.  binario.
b.  hexadecimal.
Muestra  tu  trabajo.
2.  Sume  los  dos  números  binarios  sin  signo;  mostrar  los  operandos  y  el
resultado  tanto  en  decimal  como  en  binario.  (Asegúrese  de  mostrar  el  acarreo  como
usted  agrega.)  Indicar  si  hay  desbordamiento.
0  1  0  1  1 1  0  1  0  1  1
0  1  1  1  0 0  1  1  0  0  1

3.  Muestra  el  equivalente  decimal  de  cada  uno  de  los  números  si  son
interpretado  como  (seis  respuestas).
1  0  0  1  0  1  0  1  0  1  1  1  0  0  1  1
a.  binario  sin  firmar
b.  binario  firmado
C.  BCD  (código  8421)

*Las  pruebas  asumen  que  a  los  estudiantes  se  les  permite  una  hoja  de  81
– 11  papel  con  las  notas  que  deseen
2  en  ambos  lados.  Las  soluciones  a  las  Pruebas  de  Capítulo  se  dan  en  el  Apéndice  C.
Machine Translated by Google

28 Capítulo  1  Introducción

4.  Suma  los  tres  pares  de  números  con  signo  (complemento  a  dos).  Asegúrese  de  
LA
BTE I U
O  LAU PERC
D
P

mostrar  el  acarreo  a  medida  que  agrega.  Muestra  ambos  operandos  y  el  resultado  
de  cada  suma  tanto  en  decimal  como  en  binario.  Indicar  si  hay  desbordamiento.
1  1  0  0 1  0  1  0 0  1  0  1
1  1  0  1 0  1  1  1 0  0  1  1

5.  Resta  los  dos  pares  de  números.  Mostrar  los  operandos  y  los  resultados  en  
decimal  y  binario  a.  suponiendo  
que  no  estén  firmados.  b.  suponiendo  
que  estén  firmados.  1  1  0  1  1  1  0  0
1  0  1  0  0  1  1  0
Indicar  si  hay  desbordamiento.
Machine Translated by Google

CAPÍTULO

combinacional
Sistemas
2
En  esistemas  
ste  capítulo,  
desarrollaremos  
Luego,   las  
desarrollaremos   herramientas  
un   para  epspecificar  
enfoque  algebraico   ara  la combinaciones
descripción  de  estos  sistemas,  su  simplificación  y  su  implementación.  Nos  
concentraremos  en  sistemas  más  bien  pequeños,  lo  que  nos  permitirá  comprender  
mejor  el  proceso.  Veremos  problemas  más  grandes  en  el  Capítulo  5.

2.1  EL  PROCESO  DE  DISEÑO  PARA  SISTEMAS  
COMBINACIONALES
En  esta  sección,  describiremos  el  proceso  que  se  usará  para  diseñar  sistemas  
combinacionales.  (Se  desarrollará  un  proceso  similar  en  el  Capítulo  7  para  sistemas  
secuenciales.)  El  proceso  de  diseño  generalmente  comienza  con  una  declaración  del  
problema,  una  descripción  verbal  del  sistema  previsto.  El  objetivo  es  desarrollar  un  
diagrama  de  bloques  de  ese  sistema,  utilizando  los  componentes  disponibles  y  
cumpliendo  con  los  objetivos  y  restricciones  de  diseño.
Usaremos  los  siguientes  cinco  ejemplos  para  ilustrar  los  pasos  en  el  proceso  de  
diseño  y,  de  hecho,  continuaremos  siguiendo  algunos  de  ellos  en  capítulos  
subsiguientes,  a  medida  que  desarrollamos  las  herramientas  necesarias  para  hacer  ese  diseño.

Ejemplos  continuos  (CE)

CE1.  Un  sistema  con  cuatro  entradas,  A,  B,  C  y  D,  y  una  salida,  Z,  tal  que  Z  1  si  y  solo  si  tres  
de  las  entradas  son  1.

CE2.  Una  sola  luz  (que  puede  estar  encendida  o  apagada)  que  puede  ser  controlada  por  
cualquiera  de  los  tres  interruptores.  Un  interruptor  es  el  interruptor  principal  de  encendido/
apagado.  Si  está  abajo,  la  luz  está  apagada.  Cuando  el  interruptor  principal  está  arriba,  un  
cambio  en  la  posición  de  uno  de  los  otros  interruptores  (de  arriba  a  abajo  o  de  abajo  a  arriba)  
hará  que  la  luz  cambie  de  estado.

CE3.  Un  sistema  para  hacer  1  bit  de  suma  binaria.  Tiene  tres  entradas  (los  2  bits  que  se  
agregarán  más  el  acarreo  del  siguiente  bit  de  orden  inferior)  y  produce  dos  salidas:  un  bit  de  
suma  y  un  acarreo  a  la  siguiente  posición  de  orden  superior.

29
Machine Translated by Google

30 Capítulo  2  Sistemas  combinacionales

CE4.  Un  controlador  de  pantalla;  un  sistema  que  tiene  como  entrada  el  código  de  un  
dígito  decimal  y  produce  como  salida  las  señales  para  controlar  una  pantalla  de  siete  
segmentos,  como  las  de  la  mayoría  de  los  relojes  digitales  y  pantallas  numéricas  (más  
adelante).

CE5.  Un  sistema  con  nueve  entradas,  que  representan  dos  números  binarios  de  4  bits  
y  una  entrada  de  acarreo,  y  una  salida  de  5  bits,  que  representa  la  suma.  (Cada  
número  de  entrada  puede  variar  de  0  a  15;  la  salida  puede  variar  de  0  a  31).

Además  de  estos  ejemplos  continuos,  el  Apéndice  E  contendrá  algunos  ejemplos  
completos  del  diseño  de  sistemas  pequeños,  desde  la  descripción  verbal  hasta  el  diseño  
con  compuertas.  (También  habrá  algunos  ejemplos  de  sistemas  secuenciales.)

El  proceso  de  diseño  involucra  cada  uno  de  los  siguientes  pasos  (aunque
algunos  pueden  no  ser  necesarios  en  algunos  problemas).

Paso  1:  Representa  cada  una  de  las  entradas  y  salidas  en  binario.

A  veces,  como  en  CE1,  3  y  5,  el  enunciado  del  problema  ya  se  da  en  términos  de  
entradas  y  salidas  binarias.  Otras  veces,  depende  del  diseñador.  En  CE2,  necesitamos  
crear  una  equivalencia  numérica  para  cada  una  de  las  entradas  y  salidas.  Podríamos  
codificar  la  luz  encendida  como  una  salida  1  y  apagada  como  0.
(Podríamos  haber  usado  la  definición  opuesta,  siempre  que  estemos  coordinados  con  el  
diseñador  de  luces).  De  manera  similar,  definiremos  un  interruptor  en  la  posición  superior  
como  una  entrada  1  y  hacia  abajo  como  0.  Para  CE4,  la  entrada  es  un  dígito  decimal.  
Debemos  determinar  qué  código  BCD  se  utilizará.  Quienquiera  que  proporcione  la  
entrada  puede  proporcionarnos  eso,  o  podemos  tener  la  capacidad  de  especificarlo  de  
tal  manera  que  nuestro  sistema  sea  más  simple.  También  debemos  codificar  la  salida;  
necesitamos  saber  los  detalles  de  la  pantalla  y  si  un  1  o  un  0  enciende  cada  segmento.  
(Discutiremos  esos  detalles  en  la  Sección  2.1.1.)  En  general,  las  diferentes  
representaciones  de  entrada  y  salida  pueden  resultar  en  una  diferencia  significativa  en  la  
cantidad  de  lógica  requerida.

Paso  1.5:  Si  es  necesario,  divida  el  problema  en  subproblemas  más  pequeños.

Este  paso  se  enumera  aquí  porque  a  veces  es  posible  hacerlo  después  de  haber  
desarrollado  la  tabla  de  verdad  y,  a  veces,  debemos  realmente  dividir  el  problema  antes  
de  que  podamos  comenzar  a  hacer  dicha  tabla.
No  es  posible  aplicar  la  mayoría  de  las  técnicas  de  diseño  que  desarrollaremos  a  
problemas  muy  grandes.  Incluso  CE5,  el  sumador  de  4  bits,  tiene  nueve  entradas  y,  por  
lo  tanto,  requeriría  una  tabla  de  verdad  de  29  512  filas  con  nueve  columnas  de  entrada  y  
cinco  columnas  de  salida.  Aunque  podemos  producir  fácilmente  las  entradas  para  
cualquier  línea  de  esa  tabla,  la  tabla  ocuparía  varias  páginas  y  sería  muy  engorrosa.  
Además,  las  técnicas  de  minimización  de  este  capítulo  y  del  Capítulo  3  serían  forzadas.

El  problema  se  vuelve  completamente  inmanejable  si  vamos  a  una  perspectiva  realista.
Machine Translated by Google

2.1  El  proceso  de  diseño  de  sistemas  combinacionales 31

sumador  para  una  computadora,  digamos  uno  que  suma  números  de  32  bits.  Allí,  la  
tabla  tendría  una  longitud  de  264  líneas,  incluso  sin  una  entrada  de  acarreo  
(aproximadamente  1,84  x  1019).  (Eso  significa  que  si  tuviéramos  que  escribir  1  millón  
de  líneas  en  cada  página  y  poner  1  millón  de  páginas  en  un  libro,  aún  necesitaríamos  
más  de  18  millones  de  volúmenes  para  enumerar  la  tabla  de  verdad  completa.  O,  si  
tuviéramos  una  computadora  que  pudiera  procesar  1  mil  millones  de  líneas  de  la  
tabla  de  verdad  por  segundo  (requiriendo  una  supercomputadora),  aún  se  necesitarían  
más  de  584  años  para  procesar  toda  la  tabla).
Obviamente,  hemos  sido  capaces  de  resolver  tales  problemas.  En  el  caso  del  
sumador,  podemos  imitar  cómo  lo  hacemos  a  mano,  es  decir,  sumamos  1  bit  a  la  vez,  
produciendo  1  bit  de  la  suma  y  el  acarreo  al  siguiente  bit.  Ese  es  el  problema  propuesto  
en  CE3;  solo  requiere  una  tabla  de  verdad  de  ocho  líneas.  Podemos  construir  32  de  
estos  sistemas  y  conectarlos  entre  sí.
Además,  a  menudo  es  más  económico  aprovechar  los  subsistemas  que  ya  se  
han  implementado.  Por  ejemplo,  podemos  comprar  el  sumador  de  4  bits  descrito  en  
CE5  (en  un  solo  chip  de  circuito  integrado).  Podríamos  querer  usar  eso  como  un  
componente  en  nuestro  diseño.  Examinaremos  esta  parte  del  proceso  de  diseño  más  
adelante  en  el  Capítulo  5.

Paso  2:  Formalizar  la  especificación  de  diseño  en  forma  de  
tabla  de  verdad  o  de  expresión  algebraica.
Aquí  nos  concentraremos  en  la  idea  de  una  tabla  de  verdad  y  dejaremos  el  
desarrollo  de  las  expresiones  algebraicas  para  más  adelante  en  el  capítulo.  El  formato  
de  tabla  de  verdad  es  el  resultado  más  común  del  paso  2  del  proceso  de  diseño.
Podemos  hacer  esto  en  un  sistema  digital  porque  cada  una  de  las  entradas  solo  toma  
uno  de  dos  valores  (0  o  1).  Por  lo  tanto,  si  tenemos  n  entradas,  hay  2n  combinaciones  
de  entradas  y,  por  lo  tanto,  la  tabla  de  verdad  tiene  2n  filas.  Estas  filas  normalmente  
se  escriben  en  el  orden  binario  de  las  entradas  (aunque  solo  sea  para  asegurarnos  de  
que  no  omitimos  ninguna).  La  tabla  de  verdad  tiene  dos  conjuntos  de  columnas:  n  
columnas  de  entrada,  una  para  cada  variable  de  entrada,  y  m  columnas  de  salida,  
una  para  cada  una  de  las  m  salidas.
Un  ejemplo  de  una  tabla  de  verdad  con  dos  entradas,  A  y  B,  y  una  salida,  Y,  se  
muestra  en  la  Tabla  2.1,  donde  hay  dos  columnas  de  entrada,  una  columna  de  salida   Tabla  2.1  Una  tabla  de  verdad  de  
y  22  4  filas  (sin  incluir  la  fila  del  título) .  Veremos  las  tablas  de  verdad  para  algunos  de   dos  entradas.

los  ejemplos  siguientes  en  breve,  después  de  presentar  los  otros  pasos  del  proceso  
AB  Y
de  diseño.
00  0
01  1
Paso  3:  simplificar  la  descripción. 10  1
11  1
La  tabla  de  verdad  conducirá  directamente  a  una  implementación  en  algunas  
tecnologías  (ver,  por  ejemplo,  la  ROM  en  el  Capítulo  5).  Más  a  menudo,  debemos  
convertir  eso  a  una  forma  algebraica  para  implementarlo.  Pero  la  forma  algebraica  
que  obtenemos  de  la  tabla  de  verdad  tiende  a  conducir  a  sistemas  bastante  complejos.  
Por  lo  tanto,  desarrollaremos  técnicas  para  reducir  la  complejidad  de  las  expresiones  
algebraicas  en  este  capítulo  y  el  siguiente.
Machine Translated by Google

32 Capítulo  2  Sistemas  combinacionales

Paso  4:  Implementar  el  sistema  con  los  componentes  disponibles,  
sujeto  a  los  objetivos  y  restricciones  del  diseño.

Una  puerta  es  una  red  con  una  salida.  La  mayoría  de  las  implementaciones  de  este  
capítulo  y  el  siguiente  usan  puertas  como  componentes.  La  tabla  de  verdad  utilizada  para  
ilustrar  el  paso  2  (consulte  la  tabla  2.1)  describe  el  comportamiento  de  un  tipo  de  compuerta:  
una  compuerta  OR  de  dos  entradas.  La  forma  final  de  la  solución  puede  ser  un  diagrama  de  
bloques  de  la  implementación  de  la  puerta,  donde  la  puerta  OR  suele  representarse  con  el  
Figura  2.1  Símbolo  de  puerta  OR. símbolo  de  la  figura  2.1.  Podemos  construir  el  sistema  en  el  laboratorio  utilizando  paquetes  de  
circuitos  integrados  que  contienen  algunas  de  estas  puertas,  o  podemos  simularlo  en  una  
A
Y computadora.
B
Como  se  mencionó  anteriormente,  los  componentes  más  complejos,  como  sumadores  y  
decodificadores,  pueden  estar  disponibles  como  bloques  de  construcción,  además  de  (o  en  
lugar  de)  puertas.  (Por  supuesto,  cuando  lleguemos  a  los  sistemas  secuenciales,  presentaremos  
dispositivos  de  almacenamiento  y  otros  bloques  de  construcción  más  grandes).
El  objetivo  del  diseño  suele  ser  construir  el  circuito  menos  costoso.
Eso  suele  corresponder  a  la  expresión  algebraica  más  simple,  aunque  no  siempre.  Dado  que  
las  compuertas  generalmente  se  obtienen  en  paquetes  (por  ejemplo,  4  compuertas  OR  de  dos  
entradas  en  un  paquete),  el  costo  puede  medirse  en  términos  del  número  de  paquetes.  Por  lo  
tanto,  ya  sea  que  necesitemos  una  de  las  cuatro  puertas  en  un  paquete,  o  las  cuatro,  el  costo  
sería  el  mismo.  En  ocasiones,  uno  de  los  objetivos  es  la  velocidad,  es  decir,  construir  un  
circuito  lo  más  rápido  posible.  Como  veremos  más  adelante,  cada  vez  que  una  señal  pasa  por  
una  puerta,  hay  un  pequeño  retraso,  lo  que  ralentiza  el  sistema.  Por  lo  tanto,  si  la  velocidad  es  
un  factor,  podemos  tener  un  límite  en  el  número  de  puertas  por  las  que  debe  pasar  cualquier  
señal.
Tabla  2.2  Una  tabla  de  verdad  con  
un  no  importa.
2.1.1  Condiciones  de  No  importa
ab  f Antes  de  que  podamos  desarrollar  la  tabla  de  verdad  para  el  ejemplo  del  controlador  de  
00  0  01  1  10  1  1 pantalla  (CE4),  debemos  entender  el  concepto  de  no  importa.  En  algunos  sistemas,  el  valor  de  
la  salida  se  especifica  solo  para  algunas  de  las  condiciones  de  entrada.  (Estas  funciones  a  

1 X veces  se  denominan  funciones  especificadas  de  forma  incompleta).  Para  las  combinaciones  
de  entrada  restantes,  no  importa  cuál  sea  la  salida,  es  decir,  no  nos  importa.  En  una  tabla  de  
verdad,  lo  que  no  importa  se  indica  con  una  X.  (Algunas  publicaciones  usan  d,  f  o  w).

La  tabla  2.2  es  una  tabla  de  verdad  de  este  tipo.
Tabla  2.3  Tablas  de  verdad  
aceptables. Esta  tabla  establece  que  f  debe  ser  0  cuando  a  y  b  son  0,  que  debe  ser  1  cuando  a  0  y  b  
1  o  cuando  a  1  y  b  0,  y  que  no  importa  qué  f  sea  cuando  a  y  b  son  ambos  1.  En  otras  palabras,  
ab  f1 f2 f1  o  f2  de  la  tabla  2.3  son  aceptables.
0   0  00  1  11  0  11  1  01
0  
Cuando  diseñamos  un  sistema  con  no  importa,  podemos  hacer  que  la  salida  sea  0  o  1  
para  cada  combinación  de  entrada  no  importa.  En  el  ejemplo  de  la  Tabla  2.3,  eso  significa  que  
1  1
podemos  implementar  f1  o  f2.  Uno  de  estos  podría  ser  mucho  menos  costoso  de  implementar.  
Si  hay  varios  no  importa,  el  número  de  soluciones  aceptables  aumenta  considerablemente,  ya  
que  cada  no  importa  puede
Machine Translated by Google

2.1  El  proceso  de  diseño  de  sistemas  combinacionales 33

ser  0  o  1,  independientemente.  Las  técnicas  que  desarrollamos  en  el  Capítulo  3  manejan  
los  problemas  con  mucha  facilidad;  no  requieren  resolver  problemas  separados.
En  los  sistemas  reales,  los  don't  cares  ocurren  de  varias  maneras.  Primero,  puede  
haber  algunas  combinaciones  de  entrada  que  nunca  ocurren.  Ese  es  el  caso  en  CE4,  
donde  la  entrada  es  el  código  de  un  dígito  decimal;  sólo  hay  10  combinaciones  de  entrada  
posibles.  Si  se  usa  un  código  de  4  bits,  entonces  seis  de  las  combinaciones  de  entrada  
nunca  ocurren.  Cuando  construimos  un  sistema,  podemos  diseñarlo  de  tal  manera  que  
las  salidas  sean  0  o  1  para  cada  una  de  estas  combinaciones,  sin  importarles,  ya  que  
esa  entrada  nunca  ocurre.
Un  segundo  lugar  donde  ocurre  la  indiferencia  es  en  el  diseño  de  un  sistema  para  
impulsar  un  segundo  sistema.  Considere  el  diagrama  de  bloques  de  la  figura  2.2.
Estamos  diseñando  el  Sistema  Uno  para  que  el  Sistema  Dos  se  comporte  de  cierta  
manera.  En  algunas  ocasiones,  para  ciertos  valores  de  A,  B  y  C,  el  Sistema  Dos  se  
comportará  de  la  misma  manera  ya  sea  que  J  sea  0  o  1.  En  ese  caso,  la  salida  J  del  
Sistema  Uno  es  una  combinación  de  entrada  que  no  importa.  Veremos  cómo  surge  este  
comportamiento  en  el  Capítulo  7,  donde  el  Sistema  Dos  es  un  flip  flop  (un  dispositivo  de  
almacenamiento  binario).

Figura  2.2  Ejemplo  de  diseño  con  don't  cares.

A j

B Sistema Sistema
Uno k Dos
C

Veremos  un  tercer  tipo  de  indiferencia  en  CE4;  es  posible  que  realmente  no  nos  
importe  cuál  es  una  salida.

2.1.2  El  desarrollo  de  las  tablas  de  verdad
Dado  un  problema  verbal,  el  primer  paso  es  decidir  cómo  codificar  las  entradas.
Entonces,  el  desarrollo  de  una  tabla  de  verdad  suele  ser  bastante  sencillo.
El  número  de  entradas  determina  el  número  de  filas,  y  el  principal  problema  generalmente  
gira  en  torno  a  la  ambigüedad  del  inglés  (o  cualquier  idioma  natural).

Para  CE1,  se  requiere  una  tabla  de  verdad  de  16  filas.  Hay  cuatro  columnas  de  
entrada  y  una  columna  de  salida.  (En  la  tabla  2.4,  se  muestran  tres  columnas  de  salida  
Z1,  Z2  y  Z3  para  dar  cuenta  de  las  tres  interpretaciones  del  enunciado  del  problema).  
Hay  poco  espacio  para  la  controversia  sobre  el  comportamiento  del  sistema  para  las  
primeras  15  filas  de  la  tabla.  Si  hay  menos  de  tres  1  en  las  líneas  de  entrada,  la  salida  es  
0.  Si  tres  de  las  entradas  son  1  y  la  otra  es  0,  entonces  la  salida  es  1.  La  única  pregunta  
para  completar  la  tabla  es  en  relación  con  la  última  fila. .  ¿“Tres  de  las  entradas  son  1”  
significa  exactamente  tres  o  significa  al  menos  tres?  Si  lo  primero  es  verdadero,  entonces  
la  última  línea  de  la  tabla  de  verdad  es  0,  como  se  muestra  para  Z1.  Si  esto  último  es  
cierto,  entonces  la  última  línea  de  la  tabla  es  1,  como  se  muestra  en  Z2.  Otras  dos  
opciones,  ambas  mostradas  como  Z3,  son  que  sabemos  que  las  cuatro  entradas  no  
serán  1  simultáneamente,  y
Machine Translated by Google

34 Capítulo  2  Sistemas  combinacionales

Tabla  2.4  Tabla  de  verdad  para  CE1.

ABCD  Z1 Z2 Z3
0000  0  0001  0  0010  0  0011  0   0   0
0100  0  0101  0  0110  0  0111  1   0   0
1000  0  1001  0  1010  0  1011  1   0   0
1100  0  1101  1  1110  1  1111  0 0   0
0   0
0   0
0   0
1
1   0
0   0
0   0
1
0   0
1
1
1  0  1  1  1 X

que  no  nos  importa  cuál  es  la  salida  si  las  cuatro  entradas  son  1.  En  esos
casos,  la  última  entrada  es  no  importa,  X.
Para  CE2,  incluso  después  de  codificar  las  entradas  y  salidas,  no  tenemos  un
solución  única  al  problema.  Etiquetaremos  los  interruptores  a,  b  y  c
(donde  a  es  el  interruptor  maestro)  y  use  un  1  para  representar  hacia  arriba  (y  un  0  para
abajo).  La  salida  de  luz  está  etiquetada  como  f  (donde  un  1  en  f  significa  que  la  luz
Está  encendido).  Cuando  a  0,  la  luz  está  apagada  (0),  sin  importar  el  valor  de  b  y  c.
El  enunciado  del  problema  no  especifica  la  salida  cuando  un  1;  sólo
especifica  qué  efecto  tendrá  un  cambio  en  las  otras  entradas.  Todavía  tenemos
dos  posibles  soluciones  a  este  problema.  Si  asumimos  que  los  interruptores  b  y
c  en  la  posición  hacia  abajo  hacen  que  la  luz  se  apague,  luego  la  quinta  fila  del
la  tabla  (100)  tendrá  una  salida  de  0,  como  se  muestra  en  la  Tabla  2.5a.  cuando  uno  de
estos  interruptores  está  arriba  (101,  110),  entonces  la  luz  debe  estar  encendida.  de  cualquiera  de
estos  estados,  cambiar  b  o  c  devolverá  el  sistema  a  la  entrada  100
estado  o  moverlo  al  estado  111;  para  esto,  la  salida  es  0.

Tabla  2.5  Tablas  de  verdad  para  CE2.

a b cf a b  cf
0   0   0   0   0   0  00
0   0   1   0   0   0  10
0   1   0   0   0   1  00
0   1   1   0   0   1  10
1   0   0   0   1   0  01
1   0   1   1   0  10
1   1   0   1   1  00
1 1 1 1  1  0 1 1  11

(a) (b)
Machine Translated by Google

2.1  El  proceso  de  diseño  de  sistemas  combinacionales 35

Podríamos  haber  comenzado  con  algún  otro  valor  fijo,  como  que  los  interruptores  
b  y  c  hacia  arriba  significan  que  la  luz  está  encendida  o  que  los  interruptores  b  y  c  hacia  
abajo  significan  que  la  luz  está  encendida.  Cualquiera  de  estos  produciría  la  tabla  de  
verdad  de  la  tabla  2.5b,  que  es  igualmente  aceptable.
Ya  hemos  desarrollado  la  tabla  de  verdad  para  CE3,  el  sumador  completo  binario  
de  1  bit,  en  la  Sección  1.2.2,  Tabla  1.5  (aunque  no  nos  referimos  a  ella  como  una  tabla  
de  verdad  en  ese  momento).
Aunque  podríamos  construir  fácilmente  una  tabla  de  verdad  para  CE5,  el  sumador  
de  4  bits,  necesitaríamos  512  filas.  Además,  una  vez  que  hubiéramos  hecho  esto,  
todavía  nos  resultaría  casi  imposible  simplificar  la  función  a  mano  (es  decir,  sin  la  ayuda  
de  una  computadora).  Aplazaremos  la  discusión  adicional  de  este  problema  hasta  el  
Capítulo  5.
Ahora  examinaremos  el  controlador  de  pantalla  de  CE4.  En  la  figura  2.3a  se  
muestra  un  diagrama  de  bloques  del  sistema.  Las  entradas  son  un  código  para  el  dígito  
decimal  y  están  etiquetadas  como  W,  X,  Y  y  Z.  El  controlador  de  pantalla  debe  
proporcionar  las  siete  entradas  a  la  pantalla,  a,  b,  c,  d,  e,  f  y  g.  El  diseño  de  la  pantalla  
se  muestra  en  la  Figura  2.3b.  La  forma  en  que  se  muestra  cada  dígito  se  muestra  en  la  
Figura  2.3c,  donde  una  línea  sólida  indica  que  el  segmento  está  encendido  y  una  línea  
discontinua  que  no  lo  está.  Tenga  en  cuenta  que  varios  dispositivos  usan  pantallas  
alternativas  para  los  dígitos  6,  7  y  9.  Por  ejemplo,  el  segmento  a  a  veces  se  enciende  
para  un  6  y  otras  no.
Lo  primero  que  debemos  hacer  es  seleccionar  un  código  para  el  dígito  decimal.  
Eso  (obviamente)  afectará  la  tabla  de  verdad  y  podría  marcar  una  diferencia  significativa  
en  el  costo  de  la  implementación.  Por  el  bien  de  este  ejemplo,  supondremos  que  los  
dígitos  se  almacenan  en  el  código  8421.  (Veremos  variaciones  de  esto  en  el  Capítulo  
4).  Lo  siguiente  que  necesitamos  saber  es  si  la  pantalla  requiere  un  0  o  un  1  en  cada  
entrada  de  segmento  para  iluminar  ese  segmento.  Ambos  tipos  de  pantallas  existen.  La  
especificación  de  diseño  también  debe  indicar  cuál  de  las  pantallas  alternativas  para  6,  
7  y  9  debe  usarse,  o  indicar  que  no  importa.  Finalmente,  debemos  decidir  qué  hacer.

Figura  2.3  Una  pantalla  de  siete  segmentos.

a a
W b
F b
X
Mostrar cd
gramo

Conductor
Y
mi
mi C
Z F

gramo
d

(a) (b)

(C)
Machine Translated by Google

36 Capítulo  2  Sistemas  combinacionales

sobre  las  entradas  que  no  corresponden  a  un  dígito  decimal  (1010,  1011,
…,  1111).  Si  sabemos  con  certeza  que  nunca  sucederán,  entonces  no
importa  lo  que  produzca  el  controlador  de  pantalla  para  esas  combinaciones  de  entrada.  En
Por  otro  lado,  las  especificaciones  pueden  indicar  que  la  pantalla  debe  ser
en  blanco  (ningún  segmento  iluminado)  o  que  es  para  mostrar  un  código  de  error.
La  tabla  de  verdad  de  la  tabla  2.6  asume  el  código  8241,  un  1  para  iluminar  un  
segmento,  la  versión  de  6,  7  y  9  no  importa,  y  que  las  entradas  que
no  representan  un  dígito  decimal  nunca  ocurren.

Tabla  2.6  Una  tabla  de  verdad  para  el  controlador  de  pantalla  de  siete  segmentos.

Dígito  WXYZ  abcd  efg

0   0  000  1111110
1 0  001  0110000
2 0  010  1101101
0  011  1111001
3  4 0  100  0110011
5   0  101  1011011
6   0  110  X  011111
7   0  111  11100  X  0
8   1  000  1111111
9 1  001  111  X  011
– 1  010  XXXXXXX
– 1  011  XXXXXXX
– 1  100  XXXXXX
– 1  101  XXXXXX
– 1  110  XXXXXX
– 1  111  XXXXXX

EJEMPLO  2.1
Queremos  desarrollar  una  tabla  de  verdad  para  un  sistema  con  tres  entradas,  a,  b  y  c,
y  cuatro  salidas,  w,  x,  y,  z.  La  salida  es  un  número  binario  igual  a  la
entero  más  grande  que  cumple  las  condiciones  de  entrada:

un  0:  impar un  1:  incluso
b  0:  primo  c  0:   b  1:  no  primo
menor  que  8 c  1:  mayor  o  igual  a  8

Es  posible  que  algunas  entradas  nunca  ocurran;  la  salida  nunca  es  todo  0.
(Un  número  primo  es  un  número  que  solo  es  divisible  por  sí  mismo  y  por  1).  La  siguiente  
es  una  tabla  de  verdad  para  este  sistema.

a  bcwx  yz
0000  1  11
0011  1  01
010X  X  XX
0111  1  11
1000  0  10
101X  XXX
1100  1  10
1111  1  10
Machine Translated by Google

2.2  Cambio  de  álgebra 37

Para  las  primeras  cuatro  filas,  buscamos  números  impares.  Los  primos  impares  
son  1,  3,  5,  7,  11  y  13.  Por  lo  tanto,  la  primera  fila  es  el  binario  de  7  (el  mayor  primo  
impar  menor  que  8)  y  la  segunda  fila  es  el  binario  de  13.  Las  siguientes  dos  filas  
contienen  no  primos.  Todos  los  números  impares  menores  de  8  son  primos;  por  lo  
tanto,  la  entrada  nunca  es  010  y  las  salidas  son  indiferentes.  Finalmente,  9  y  15  son  
impares  no  primos;  15  es  más  grande.  Para  la  segunda  mitad  de  la  tabla,  el  único  
primo  par  es  2;  por  lo  tanto,  101  nunca  ocurre.  Los  pares  no  primos  más  grandes  son  6  y  14.

[ES  1,  2;  EJ  1,  2]
2.2  ALGEBRA  DE  CAMBIOS
En  la  última  sección,  pasamos  de  una  descripción  verbal  de  un  sistema  combinacional  a  
una  descripción  más  formal  y  exacta:  una  tabla  de  verdad.  Aunque  la  tabla  de  verdad  es  
suficiente  para  implementar  un  sistema  usando  memoria  de  sólo  lectura  (vea  el  Capítulo  
5),  necesitamos  una  descripción  algebraica  para  analizar  y  diseñar  sistemas  con  otros  
componentes.  En  esta  sección,  desarrollaremos  las  propiedades  del  álgebra  de  
conmutación.
Necesitamos  el  álgebra  por  varias  razones.  Quizás  el  más  obvio  es  que  si  se  nos  
presenta  una  red  de  puertas,  necesitamos  obtener  una  especificación  de  la  salida  en  
términos  de  la  entrada.  Dado  que  cada  puerta  está  definida  por  una  expresión  algebraica,  
la  mayoría  de  las  veces  necesitamos  poder  manipular  ese  álgebra.  (Podríamos  probar  
cada  combinación  de  entrada  posible  y  seguir  las  señales  a  través  de  cada  puerta  hasta  
llegar  a  la  salida.
Sin  embargo,  ese  es  un  enfoque  muy  lento  para  crear  una  tabla  de  verdad  completa  para  
un  sistema  de  puertas).
En  segundo  lugar,  en  el  proceso  de  diseño,  a  menudo  obtenemos  una  expresión  
algebraica  que  corresponde  a  una  red  de  puertas  mucho  más  compleja  de  lo  necesario.  
El  álgebra  nos  permite  simplificar  esa  expresión,  tal  vez  incluso  minimizar  la  cantidad  de  
lógica  necesaria  para  implementarla.  Cuando  avancemos  al  Capítulo  3,  veremos  que  hay  
otras  formas  no  algebraicas  de  hacer  esta  minimización,  métodos  que  son  más  
algorítmicos.  Sin  embargo,  todavía  es  importante  entender  la  base  algebraica  detrás  de  
ellos.
En  tercer  lugar,  el  álgebra  suele  ser  indispensable  en  el  proceso  de  implementación  
de  redes  de  puertas.  La  expresión  algebraica  más  simple,  encontrada  por  una  de  las  
técnicas  presentadas  en  este  capítulo  o  en  el  siguiente,  no  siempre  corresponde  a  la  red  
que  satisface  los  requisitos  del  problema.  Por  lo  tanto,  podemos  necesitar  el  álgebra  para  
permitirnos  satisfacer  las  restricciones  del  problema.
En  una  edición  anterior,  presentamos  el  mapa  de  Karnaugh  en  la  mitad  de  este  
capítulo,  para  ayudar  en  la  comprensión  de  la  manipulación  algebraica.
Sin  pérdida  de  continuidad,  uno  podría  estudiar  la  Sección  3.1  antes  de  la  Sección  2.7  y  
luego  referirse  a  algunos  ejemplos  en  el  Apéndice  A,  que  ilustran  el  álgebra  usando  el  
mapa.
Un  enfoque  para  el  desarrollo  del  álgebra  de  conmutación  es  comenzar  con  un  
conjunto  de  postulados  o  axiomas  que  definen  el  álgebra  booleana  más  general.  En  el  
álgebra  booleana,  cada  variable  (entradas,  salidas  y  señales  internas)  puede  tomar  uno  
de  k  valores  (donde  k  2).  Basado  en  estos
Machine Translated by Google

38 Capítulo  2  Sistemas  combinacionales

postulados,  podemos  definir  un  álgebra  y  eventualmente  determinar  el  significado  de  los  
operadores.  Entonces  podemos  limitarlos  al  caso  especial  del  álgebra  de  cambio,  k  2.  
Hemos  diferido  una  breve  discusión  de  ese  enfoque
a  la  Sección  2.9.  Más  bien,  definiremos  el  álgebra  de  conmutación  en  términos  de  su
operadores  y  algunas  propiedades  básicas.

2.2.1  Definición  de  álgebra  de  conmutación
El  álgebra  de  conmutación  es  binaria,  es  decir,  todas  las  variables  y  constantes  toman
uno  de  dos  valores:  0  y  1.  Las  cantidades  que  no  son  naturalmente  binarias  deben
luego  ser  codificado  en  formato  binario.  Físicamente,  pueden  representar  una  luz
apagado  o  encendido,  un  interruptor  hacia  arriba  o  hacia  abajo,  un  voltaje  bajo  o  alto,  o  un  magnético
campo  en  una  u  otra  dirección.  Desde  el  punto  de  vista  del  álgebra,
la  representación  física  no  importa.  Cuando  implementamos  un  sistema,
elegiremos  una  de  las  manifestaciones  físicas  para  representar  cada  valor.
Primero  definiremos  los  tres  operadores  del  álgebra  de  conmutación  y  luego
desarrollar  una  serie  de  propiedades  del  álgebra  de  conmutación:

O  (escrito  como )*
ab  (léase  a  O  b)  es  1  si  y  solo  si  a  1  o  b  1  o  ambos
Y  (escrito  como  o  simplemente  dos  variables  concatenadas)
ab  ab  (léase  a  Y  b)  es  1  si  y  solo  si  a  1  y  b  1.
No  escrito )
a  (léase  NO  a)  es  1  si  y  solo  si  es  0.

El  término  complemento  a  veces  se  usa  en  lugar  de  NO.  La  operacion
también  se  conoce  como  inversión,  y  el  dispositivo  que  lo  implementa  se  llama
un  inversor
Debido  a  que  la  notación  de  OR  es  la  misma  que  la  de  la  suma  en  el  álgebra  ordinaria  
y  la  de  AND  es  la  misma  que  la  de  la  multiplicación,  se  usa  comúnmente  la  terminología  
suma  y  producto .  Por  lo  tanto,  ab  se  refiere  a  menudo  a
como  término  de  producto  y  ab  como  término  de  suma.  Muchas  de  las  propiedades  
discutidas  en  este  capítulo  se  aplican  al  álgebra  ordinaria,  así  como  también  al  cambio
álgebra,  pero,  como  veremos,  hay  algunas  excepciones  notables.
Las  tablas  de  verdad  para  los  tres  operadores  se  muestran  en  la  Tabla  2.7.

Tabla  2.7  Tablas  de  verdad  para  OR,  AND  y  NOT.

aba  b a b  ab a a
00  0  00  0  01  1  01  0  10  1  10  0 0   1
1 0

11  1  11  1

*OR  a  veces  se  escribe ;  Y  entonces  se  escribe  como .  NOT  x  a  veces  se  escribe
~x  o  –x.
Machine Translated by Google

2.2  Cambio  de  álgebra 39

Ahora  comenzaremos  a  desarrollar  un  conjunto  de  propiedades  del  álgebra  de  conmutación.
(Estos  a  veces  se  conocen  como  teoremas.)  Una  lista  completa  de  las  
propiedades  que  usaremos  se  puede  encontrar  dentro  de  la  portada.*  El  primer  
grupo  de  propiedades  se  deriva  directamente  de  las  definiciones  (o  tablas  de  verdad).
P1a.  abba P1b.  ab  ba conmutativo
Tenga  en  cuenta  que  los  valores  de  OR  y  AND  son  los  mismos  para  la  
segunda  y  tercera  línea  de  la  tabla  de  verdad.  Esto  se  conoce  como  la  
propiedad  conmutativa .  Parece  obvio  porque  vale  para  la  suma  y  la  
multiplicación,  que  usan  la  misma  notación.  Sin  embargo,  debe  establecerse  
explícitamente,  porque  no  es  cierto  para  todos  los  operadores  en  todas  las  
álgebras.  (Por  ejemplo,  abba  en  álgebra  ordinaria.  No  hay  operación  de  resta  
en  álgebra  de  cambio).
P2a.  a  (b  c)  (a  b)  c  Esta  propiedad,   P2b.  a(bc)  (ab)c de  asociación

conocida  como  la  ley  asociativa ,  establece  que  el  orden  en  que  uno  hace  la  
operación  OR  o  AND  no  importa,  y  por  lo  tanto  podemos  escribir  simplemente  
abc  y  abc  (sin  los  paréntesis ).  También  nos  permite  hablar  del  OR  o  AND  de  
varias  cosas.  Por  lo  tanto,  podemos  extender  la  definición  de  OR  a

a  B  C  D es  1  si  alguno  de  los  operandos  (a,  b,  c,  d, . . .)  es  
1  y  es  0  sólo  si  todos  son  0
y  la  definición  de  AND  se  extiende  a

abcd . . .  es  1  si  todos  los  operandos  son  1  y  es  0  si  alguno  es  0
El  elemento  de  circuito  más  básico  es  la  puerta.  Una  puerta  es  un  circuito  
con  una  salida  que  implementa  una  de  las  funciones  básicas,  como  OR  y  
AND.  (Más  adelante  definiremos  tipos  de  puertas  adicionales).  Las  puertas  
están  disponibles  con  dos  entradas,  así  como  con  tres,  cuatro  y  ocho  entradas.  
(Se  podrían  construir  con  otros  números  de  entradas,  pero  estos  son  los  
tamaños  estándar  disponibles  en  el  mercado).  Los  símbolos  que  se  usan  con  
más  frecuencia  (y  que  usaremos  a  lo  largo  de  este  texto)  se  muestran  en  la  
Figura  2.4.  (Observe  en  la  Figura  2.4  la  entrada  redondeada  para  OR  y  la  
entrada  plana  para  AND;  y  la  salida  puntiaguda  en  OR  y  la  salida  redondeada  en  AND).

Figura  2.4  Símbolos  para  puertas  OR  y  AND.
a a
abdominales abdominales

b b
O Y
La  propiedad  2b  establece  que  los  tres  circuitos  de  la  figura  2.5  producen  la
misma  salida.

*Esta  lista  es  algo  arbitraria.  Estamos  incluyendo  aquellas  propiedades  que  hemos  encontrado  
útiles  en  la  manipulación  de  expresiones  algebraicas.  Cualquier  par  de  expresiones  que  sean  
iguales  entre  sí  podrían  incluirse  en  la  lista.  De  hecho,  otros  libros  tienen  una  lista  algo  diferente.
Machine Translated by Google

40 Capítulo  2  Sistemas  combinacionales

Figura  2.5  Implementación  de  la  puerta  AND  de  la  Propiedad  2b.

a a

b a
b
antes  

de  Cristo

C C

La  tercera  puerta  que  incluiremos  es  NOT,  que  tiene  el  símbolo  que  se  
Figura  2.6  Una  puerta  NOT. muestra  en  la  Figura  2.6.  El  triángulo  es  solo  el  símbolo  de  un  amplificador  
(de  electrónica).  El  círculo  (a  veces  denominado  burbuja)  en  la  salida  es  el  
a a símbolo  de  inversión  (NOT)  y,  como  veremos  más  adelante,  a  menudo  se  
muestra  adjunto  a  otras  entradas  y  salidas  de  puerta  para  indicar  la  función  NOT.
Los  paréntesis  se  usan  como  en  otras  matemáticas;  las  expresiones  
dentro  de  los  paréntesis  se  evalúan  primero.  Al  evaluar  expresiones  sin  
paréntesis,  el  orden  de  precedencia  es
NO
Y
O

Así,  por  ejemplo,  
ab  cd  [a(b)]  [(c)d]
Incluso  sin  paréntesis,  la  entrada  b  se  complementa  primero  y  luego  se  
hace  AND  con  a.  La  entrada  c  se  complementa  y  se  hace  AND  con  d  y  
luego  los  dos  términos  del  producto  se  hacen  OR.  Si  la  intención  es  
AND  a  y  b  y  luego  complementarlos,  debe  escribirse  (ab)  en  lugar  de  
ab  y  si  la  intención  es  hacer  OR  antes  de  AND,  debe  escribirse  a(b  c)d.
En  cada  una  de  las  propiedades,  usamos  una  sola  letra,  como  a,  b,  c, . . .  
para  representar  cualquier  expresión,  no  solo  una  variable.  Así,  por  ejemplo,  la  
Propiedad  1a  también  establece  que
xyz  ww  xyz
Otra  cosa  a  tener  en  cuenta  es  que  las  propiedades  siempre  aparecen  en  
pares  duales .  Para  obtener  el  dual  de  una  propiedad,  intercambie  OR  y  AND,  
y  las  constantes  0  y  1.  El  primer  intercambio  es  obvio  en  P1  y  P2;  el  otro  se  
utilizará  en  las  próximas  tres  propiedades.  Se  puede  demostrar  que  siempre  
que  dos  expresiones  son  iguales,  los  duales  de  esas  expresiones  también  son  iguales.
Eso  podría  ahorrar  algo  de  trabajo  más  adelante,  ya  que  no  tenemos  que  probar  las  
[ES  3;  EJ  3] dos  mitades  de  un  par  de  propiedades.

2.2.2  Propiedades  básicas  del  álgebra  de  conmutación
A  continuación,  veremos  tres  pares  de  propiedades  asociadas  con  las  
constantes  0  y  1.
Machine Translated by Google

2.2  Cambio  de  álgebra 41

P3a.  un  0  un P3b.  un  1  un identidad


P4a.  un  1 1 P4b.  un  0  0 nulo
P5a.  a  1 P5b.  un  0 complementar

Las  propiedades  3a  y  4b  se  derivan  directamente  de  la  primera  y  tercera  líneas  del
tablas  de  verdad;  Las  propiedades  3b  y  4a  se  derivan  de  la  segunda  y  cuarta
líneas.  La  propiedad  5  se  sigue  de  la  definición  de  NOT,  a  saber,  que
ya  sea  a  o  a  es  siempre  1  y  el  otro  es  siempre  0.  Por  lo  tanto,  P5a  debe  ser
0  1  o  1  0,  ambos  son  1,  y  P5b  debe  ser  0  1
o  1  0,  los  cuales  son  0.  Una  vez  más,  cada  una  de  las  propiedades  viene  en
pares  duales.
Tenga  en  cuenta  que  al  combinar  la  propiedad  conmutativa  (P1a)  con  3,  4,
y  5,  también  tenemos

P3aa.  0  aa P3bb.  1  aa
P4aa.  1  a  1 P4bb.  0  a  0
P5aa.  a un  1 P5bb.  un  0

A  menudo,  cuando  manipulamos  expresiones,  usaremos  una  de  estas  versiones,
en  lugar  de  intercambiar  primero  los  términos  usando  la  ley  conmutativa  (P1).
Otra  propiedad  que  se  sigue  directamente  de  la  primera  y  última  línea  de
las  tablas  de  verdad  para  OR  y  AND  (ver  Tabla  2.7)  es
P6a.  aaa P6b.  aaa idempotencia

Por  la  aplicación  repetida  de  la  Propiedad  6a,  podemos  ver  que

aaaaaa

En  el  proceso  de  manipulación  de  funciones  lógicas,  debe  entenderse
que  cada  una  de  estas  igualdades  es  bidireccional.  Por  ejemplo,  xyz  xyz  puede
ser  reemplazado  en  una  expresión  por  xyz;  pero,  también,  a  veces  es  útil
reemplazar  xyz  por  xyz  xyz.
La  propiedad  final  que  obtendremos  directamente  de  las  tablas  de  verdad  de
los  operadores  es  el  único  que  incluiremos  en  nuestra  lista  que  es  autodual.

P7.  (a)  un involución

Si  un  0,  entonces  un  1.  Sin  embargo,  cuando  eso  se  complementa  nuevamente,  eso
es,  (0)  1  0  a.  Del  mismo  modo,  si  un  1,  un  0  y  (1)  1.
Debido  a  que  no  hay  AND,  OR,  0  o  1,  el  dual  es  la  misma  propiedad.
El  siguiente  par  de  propiedades,  a  las  que  se  hace  referencia  como  la  ley  distributiva ,  son
más  útil  en  la  manipulación  algebraica.

P8a.  a(b  c)  ab  ac P8b.  a  bc  (a  b)  (a  c) distributivo

P8a  parece  muy  familiar;  lo  usamos  comúnmente  con  la  suma  y  la  
multiplicación.  En  orden  de  derecha  a  izquierda,  se  conoce  como  factorización.  En  el  otro
Por  otro  lado,  P8b  no  es  una  propiedad  del  álgebra  regular.  (Sustituya  1,  2,  3  por  a,  b,
Machine Translated by Google

42 Capítulo  2  Sistemas  combinacionales

c,  y  el  cálculo  es  1  6  7  a  la  izquierda  y  4  3  12  a  la
derecha.)  La  forma  más  sencilla  de  probar  estas  propiedades  del  álgebra  de  cambio  es
producir  una  tabla  de  verdad  para  ambos  lados  de  la  igualdad  y  mostrar  que
son  iguales.  Eso  se  muestra  para  la  Propiedad  8b  en  la  Tabla  2.8.  Los  tres  de  la  izquierda
las  columnas  son  las  columnas  de  entrada.  El  lado  izquierdo  (LHS)  de  la  igualdad
se  construye  formando  primero  una  columna  para  bc.  Esa  columna  tiene  un  1  en
cada  una  de  las  filas  donde  tanto  b  como  c  son  1  y  0  en  otros  lugares.  
Entonces  LHS  a  bc  se  calcula  usando  la  columna  para  a  y  la  de  bc.  LHS  es  1  cuando
cualquiera  de  esas  columnas  contiene  un  1  o  ambas  son  1  y  es  0  cuando  son
ambos  0.  De  manera  similar,  el  lado  derecho  (RHS)  se  calcula  construyendo  
primero  una  columna  para  ab,  que  contiene  un  1  cuando  a  1  o  b  1.
La  columna  para  ca  se  construye  de  manera  similar  y  finalmente
RHS  (a  b)( ac)  es  1  siempre  que  las  dos  columnas  anteriores  sean  1.

Tabla  2.8  Tabla  de  verdad  para  probar  la  Propiedad  8b.

a b C bc  LHS abdominales CA  derecha


000  0  001  0  010  0  011  1   0   0   0   0
100  0  101  0  110  0  111  1 0   0   1   0
0   1   0   0
1   1   1   1
1   1   1   1
1   1   1   1
1   1   1   1
1 1 1 1

La  tabla  podría  haberse  construido  evaluando  cada  uno  de  los
expresiones  para  cada  fila  (combinación  de  entrada).  Para  la  primera  fila,

a  bc  0  0  0)  0  0  0
a  b)  a  c)  0  0)  0  0)  0  0  0
y  para  la  sexta  fila  (101)
un  ac  1 0  1)   1  0  1
a  b)  a  c)  1  0)  1  1) 1  1 1

Tendríamos  que  hacer  esto  para  las  ocho  filas.  Si  necesitamos  toda  la  mesa,
el  primer  método  generalmente  requiere  menos  trabajo.
Este  método  también  se  puede  utilizar  para  determinar  si  las  funciones  son
igual.  Para  ser  iguales,  las  funciones  deben  tener  el  mismo  valor  para  todas  las  entradas.
combinaciones  Si  difieren  en  alguna  fila  de  la  tabla  de  verdad,  no  son  iguales.

EJEMPLO  2.2
Construya  una  tabla  de  verdad  y  muestre  cuáles  de  las  tres  funciones  son  iguales.  (Ser
asegúrese  de  indicar  si  son  iguales).
f  yz  xy  xyz
g  xy  xz  xy
h  (x  y)(x  y  z)
Machine Translated by Google

2.2  Cambio  de  álgebra 43

xyz  yz  xy  xyz  f  xy  xz  xygx  yxyzh
0  0  0 1 0 0 1 0 1 0  1 1 1 1
0  0  1 0 0 0 0  0 0 0  0 1 0 0
0  1  0 0 1 1 1 0 1 1 1 1 1 1
0  1  1 0 1 0 1 0 0 1 1 1 1 1
1  0  0 1 0 0 1 1 0 0  1 1 1 1
1  0  1 0 0 0 0  1 0 0  1 1 1 1
1  1  0 0 0 0 0  0 0 0  0 0 1 0
1  1  1 0 0 0 0  0 0 0  0 0 1 0

Se  construyó  la  tabla  de  verdad  para  cada  una  de  las  tres  funciones  (usando  el
misma  técnica  que  usamos  en  el  desarrollo  de  la  Tabla  2.8).  Para  la  combinación  
de  entrada  1  0  1,  f  0,  pero  gh  1.  Por  lo  tanto,  f  no  es  igual  a  ninguna  de  las  otras  
funciones.  Las  columnas  para  g  y  h  son  idénticas;  por  lo  tanto,  g  h.

2.2.3  Manipulación  de  funciones  algebraicas [ES  4,  5;  EJ  4,  5]

Antes  de  agregar  algunas  propiedades  que  son  útiles  en  la  simplificación  algebraica
expresiones,  es  útil  introducir  alguna  terminología  que  hará
la  discusión  más  simple.
Un  literal  es  la  apariencia  de  una  variable  o  su  complemento.  Ejemplos
son  a  y  b.  Al  determinar  la  complejidad  de  una  expresión,  uno  de  los
medidas  es  el  número  de  literales.  Cada  aparición  de  una  variable  es
contado  Así,  por  ejemplo,  la  expresión

ab  bcd  ad  e

contiene  ocho  literales.
Un  término  de  producto  es  uno  o  más  literales  conectados  por  operadores  AND.
En  el  ejemplo  anterior,  hay  cuatro  términos  de  producto,  ab,  bcd,  ad  y
mi.  Observe  que  un  solo  literal  es  un  término  de  producto.
Un  término  de  producto  estándar,  también  llamado  minitérmino,  es  un  término  de  producto
que  incluye  cada  variable  del  problema,  ya  sea  sin  complementar  o
complementado  Así,  para  una  función  de  cuatro  variables,  w,  x,  y,  y  z,  la
Los  términos  wxyz  y  wxyz  son  términos  de  producto  estándar,  pero  wyz  no  lo  es.
Una  expresión  de  suma  de  productos  (a  menudo  abreviada  SOP)  es  uno  o
más  términos  de  productos  conectados  por  operadores  OR.  La  expresión  anterior
cumple  con  esta  definición  al  igual  que  cada  uno  de  los  siguientes:

wxyz  wxyz  wxyz  wxyz  (4  términos  de  productos)
x  wy  wxyz (Términos  de  3  productos)

xyz (Términos  de  3  productos)

wy (1  término  de  producto)
z (1  término  de  producto)

Por  lo  general,  es  posible  escribir  varias  expresiones  SOP  diferentes  para  el
misma  función.
Machine Translated by Google

44 Capítulo  2  Sistemas  combinacionales

Una  suma  canónica,  o  suma  de  términos  de  productos  estándar,  es  solo  una  suma  de
expresión  de  productos  donde  todos  los  términos  son  términos  estándar  de  productos.
El  primer  ejemplo  es  la  única  suma  canónica  (si  hay  cuatro  variables  en
todos  los  problemas).  A  menudo,  el  punto  de  partida  para  las  manipulaciones  algebraicas
es  con  sumas  canónicas.
Una  expresión  de  suma  mínima  de  productos  es  una  de  esas  expresiones  SOP  
para  una  función  que  tiene  la  menor  cantidad  de  términos  de  productos.  Sí  hay
es  más  de  una  expresión  con  el  menor  número  de  términos,  entonces  el  mínimo  se  
define  como  una  o  más  de  esas  expresiones  con  el  menor  número  de  términos.
número  de  literales.  Como  implica  esta  redacción,  puede  haber  más  de
una  solución  mínima  a  un  problema  dado.  Cada  una  de  las  siguientes  expresiones  son  
iguales  (lo  que  significa  que,  independientemente  de  los  valores  que  se  elijan  para  x,  y  y  z,
cada  expresión  produce  el  mismo  valor).  Tenga  en  cuenta  que  el  primero  es  una  suma  de
términos  estándar  del  producto.

(1)  xyz  xyz  xyz  xyz  xyz  5  términos,  15  literales
(2)  xy  xy  xyz  3  términos,  7  literales
(3)  xy  xy  xz  3  términos,  6  literales
(4)  xy  xy  yz  3  términos,  6  literales

Las  expresiones  (3)  y  (4)  son  los  mínimos.  (Debe  quedar  claro  que  esos  son
mínimo  entre  las  expresiones  mostradas;  no  es  tan  obvio  que  haya
no  es  otra  expresión  más  con  menos  términos  o  literales.)  (Una  palabra  de
precaución:  Al  buscar  todas  las  soluciones  mínimas,  no  incluya
cualquier  solución  con  más  términos  o  más  literales  que  la  mejor  ya
encontró.)
En  realidad,  tenemos  suficiente  álgebra  en  este  punto  para  poder  pasar  de
la  primera  expresión  a  las  dos  últimas.  Primero,  reduciremos  la  primera  expresión  a  
la  segunda:

xyz  xyz  xyz  xyz  xyz
(xyz  xyz)  (xyz  xyz)  xyz  xy(z  z)  xy(z  z)  xyz  xy   de  asociación

1  xy  1  xyz distributivo

complementar
xy  xy  xyz identidad

El  primer  paso  aprovecha  P2a,  que  nos  permite  agrupar  términos  en
cualquier  forma  que  deseemos.  Luego  utilizamos  P8a  para  factorizar  xy  de  los  dos  primeros
términos  y  xy  de  los  términos  tercero  y  cuarto.  Luego  usamos  P5aa  para
reemplace  zz  por  1.  En  el  paso  final,  usamos  P3b  para  reducir  la  expresión.
Los  últimos  tres  pasos  se  pueden  combinar  en  un  solo  paso.  Podemos  agregar
una  propiedad

proximidad P9a.  ab  ab  a P9b.  (a  b)  (a  b)  a

donde,  en  el  primer  caso,  a  xy  y  b  z.  Por  lo  tanto,  si  hay  dos  términos  de  producto  en  
una  suma  que  son  idénticos,  excepto  que  una  de  las  variables  es
Machine Translated by Google

2.2  Cambio  de  álgebra 45

sin  complementar  en  uno  y  complementado  en  el  otro,  se  pueden  combinar,  
usando  P9a.  (La  prueba  de  esta  propiedad  sigue  los  mismos  tres  pasos  
que  usamos  antes:  P8a  para  factorizar  a ,  P5a  para  reemplazar  bb  por  1  y  
finalmente  P3b  para  producir  el  resultado).  El  dual  se  puede  probar  usando  
los  pasos  duales,  P8b,  P5b  y  P3a.
La  forma  más  fácil  de  llegar  a  la  expresión  (3),  es  decir,  ir  a  seis  
literales,  es  usar  P6a  y  hacer  dos  copias  de  xyz,  es  decir,
xyz  xyz  xyz
La  expresión  se  convierte
xyz  xyz  xyz  xyz  xyz  xyz
xyz  xyz)  xyz  xyz)  xyz  xyz)  xyz  z)  xyz  z)  xzy  y)  
xy  1  xy  1  xz  1

xy  xy  xz
Agregamos  la  segunda  copia  de  xyz  al  final  y  la  combinamos  con  el  último  
término  (xyz).  La  manipulación  entonces  procedió  de  la  misma  manera  que  antes.
La  otra  expresión  se  puede  obtener  de  manera  similar  usando  P6a  en  xyz  y  
combinando  la  segunda  copia  con  xyz.  Observe  que  reordenamos  libremente  
los  términos  en  la  primera  expresión  de  suma  de  productos  cuando  utilizamos  
P6a  para  insertar  una  segunda  copia  de  uno  de  los  términos.
En  general,  es  posible  que  podamos  combinar  un  término  de  la  lista  con  
más  de  otro  término.  Si  ese  es  el  caso,  podemos  replicar  un  término  tantas  
veces  como  sea  necesario.
Otra  propiedad  que  nos  permitirá  reducir  el  sistema  a  seis  litros  
sin  necesidad  de  hacer  copias  extra  de  un  término  es
P10a.  un  ab  ab P10b.  a(a  b)  ab simplificación

Podemos  demostrar  la  validez  de  P10a  usando  P8b,  P5a  y  P3bb  de  la  siguiente  
manera:

a  ab  a  a)  a  b)  1  a  b)  ab distributivo
complemento  

de  identidad

P10b  se  puede  demostrar  de  la  siguiente  manera:

aa  b)  aa  ab  0  ab  ab

Podemos  aplicar  esta  propiedad  al  ejemplo  factorizando  x  de  los  dos  
últimos  términos:

xy  xy  xyz
xy  xy  yz)  xy  xy  z) distributivo
simplificación  
xy  xy  xz distributiva
Machine Translated by Google

46 Capítulo  2  Sistemas  combinacionales

Usamos  P10a  donde  ay  y  bz  al  pasar  de  la  línea  2  a  la  3.  En  su  lugar,  podríamos  haber  
factorizado  y  del  primer  y  último  término,  produciendo

y(x  xz)  xy  y(x  z)  xy

xy  yz  xy

que  son  los  otros  seis  equivalentes  literales.
Considere  el  siguiente  ejemplo,  una  expresión  en  forma  canónica.

EJEMPLO  2.3 abc  abc  abc  abc

Los  primeros  dos  términos  se  pueden  combinar  usando  P9a,  produciendo

ac  abc  abc
Ahora,  podemos  factorizar  a  de  los  primeros  dos  términos  y  usar  P10a  para  reducir  esto  a

ac  ab  abc

y  repita  el  proceso  con  c  y  el  primer  y  último  término,  dando  como  resultado  
la  expresión
ac  ab  ac

Aunque  esta  expresión  es  más  sencilla  que  cualquiera  de  las  anteriores,  no  es  
mínima.  Con  las  propiedades  que  hemos  desarrollado  hasta  ahora,  hemos  
llegado  a  un  callejón  sin  salida  y  no  tenemos  forma  de  saber  que  esto  no  es  lo  mínimo.
Volviendo  a  la  expresión  original,  podemos  agrupar  el  primer  término  con  el  último  y  
los  dos  términos  del  medio.  Luego,  cuando  aplicamos  P9a,  obtenemos  una  expresión  
con  solo  dos  términos  y  cuatro  literales:
abc  abc  abc  abc  bc  ab

Más  adelante  veremos  una  propiedad  que  nos  permite  pasar  de  la  expresión  de  tres  
términos  a  la  de  sólo  dos  términos.
Cada  terminología  definida  anteriormente  tiene  un  dual  que  también  resultará  útil.
Un  término  de  suma  es  uno  o  más  literales  conectados  por  operadores  OR.
Los  ejemplos  son  abc  y  b  (solo  un  literal).
Un  término  de  suma  estándar,  también  llamado  maxterm,  es  un  término  de  suma  
que  incluye  cada  variable  del  problema,  ya  sea  sin  complementar  o  complementada.  
Por  lo  tanto,  para  una  función  de  cuatro  variables,  w,  x,  y  y  z,  los  términos  wxyz  y  wxyz  
son  términos  de  suma  estándar,  pero  wyz  no  lo  es.

Una  expresión  de  producto  de  sumas  (POS)  es  uno  o  más  términos  de  suma  con
conectados  por  operadores  AND.  Ejemplos  de  expresiones  de  producto  de  sumas:

w  x)w  y)  wx  y) 2  términos

2  términos

w 1  término
Machine Translated by Google

2.2  Cambio  de  álgebra 47

wx 1  término

wxy  z)w  xy  z)  2  términos

Un  producto  canónico,  o  producto  de  términos  de  suma  estándar,  es  solo  
una  expresión  POS  en  la  que  todos  los  términos  son  términos  de  suma  estándar.  
El  último  ejemplo  anterior  es  la  única  suma  canónica  (si  hay  cuatro  variables  en  
todos  los  problemas).  A  menudo,  el  punto  de  partida  para  las  manipulaciones  
algebraicas  son  las  sumas  canónicas.
Mínimo  se  define  de  la  misma  manera  tanto  para  POS  como  para  SOP,  
es  decir,  las  expresiones  con  el  menor  número  de  términos  y,  entre  aquellas  
con  el  mismo  número  de  términos,  las  que  tienen  el  menor  número  de  literales.  
Una  función  dada  (o  expresión)  puede  reducirse  a  la  forma  de  suma  mínima  
de  productos  y  a  la  forma  de  producto  mínimo  de  sumas.  Ambos  pueden  tener  
el  mismo  número  de  términos  y  literales  o  pueden  tener  menos  que  el  otro.  
(Veremos  ejemplos  más  adelante,  cuando  hayamos  desarrollado  aún  más  
nuestras  técnicas  de  minimización).
Una  expresión  puede  estar  en  forma  de  suma  de  productos,  producto  de  sumas
formulario,  ambos  o  ninguno.  Los  ejemplos  son

POE:  xy  xy  xyz
TPV: x  y)x  y)x  z)  ambos:  xyz  o  
xyz  ninguno:  xw  yz)  o  z  wxy  vxz  
w)

Ahora  veremos  un  ejemplo  de  la  simplificación  de  funciones  en  forma  
maxterms.  (Más  adelante,  veremos  métodos  para  pasar  de  suma  de  
productos  a  producto  de  sumas  y  de  producto  de  sumas  a  formas  de  
suma  de  productos).

g  (wxy  z)(w  xy  z)(w  xy  z)

Los  primeros  dos  términos  se  pueden  combinar,  usando  P9b,  donde

awxy  y  bz

productor
g  (wx  y)(w  xy  z)

Eso  se  puede  reducir  más  fácilmente  usando  P6b,  para  crear  una  segunda  
copia  del  primer  término,  que  se  puede  combinar  con  el  último  término,  donde

axyz  y  bw

producir  la  respuesta  final

g  (wx  y)(x  y  z)

También  podríamos  hacer  la  siguiente  manipulación  (en  paralelo  a  lo  que  
hicimos  con  la  expresión  SOP)
Machine Translated by Google

48 Capítulo  2  Sistemas  combinacionales

g  (w  x  y)(w  xy  z)  xy  w(w  z)
[P8b]
xy  wz [P10b]
(xy  w)(x  y  z) [P8b]

que,  después  de  reordenar  los  literales  en  el  primer  paréntesis,  es  la  
[ES  6,  7,  8,  9;  Ej.  6,  7,  8,  9] misma  expresión  que  antes.

2.3  IMPLEMENTACIÓN  DE  FUNCIONES  CON  Y,  O,  Y  
NO  PUERTAS
Primero  veremos  la  implementación  de  funciones  de  conmutación  utilizando  
redes  de  compuertas  AND,  OR  y  NOT.  (Después  de  todo,  el  objetivo  de  nuestro  
diseño  es  producir  el  diagrama  de  bloques  de  un  circuito  para  implementar  la  
función  de  conmutación  dada).  Cuando  definimos  las  expresiones  SOP  mínimas,  
presentamos,  como  ejemplo,  la  función

f  xyz  xyz  xyz  xyz  xyz

En  la  figura  2.7  se  muestra  un  diagrama  de  bloques  de  un  circuito  para  implementar  esto.
Cada  uno  de  los  términos  del  producto  está  formado  por  una  puerta  AND.  En  este  
ejemplo,  todas  las  puertas  AND  tienen  tres  entradas.  Las  salidas  de  las  compuertas  
AND  se  utilizan  como  entradas  a  un  OR  (en  este  caso,  un  OR  de  cinco  entradas).  
Esta  implementación  supone  que  todas  las  entradas  están  disponibles,  tanto  sin  
complementar  como  complementadas  (es  decir,  por  ejemplo,  tanto  x  como  x  están  
disponibles  como  entradas).  Este  suele  ser  el  caso  si  la  entrada  al  circuito  lógico  
combinacional  proviene  de  un  flip  flop,  un  dispositivo  de  almacenamiento  en  
sistemas  secuenciales.  Sin  embargo,  no  suele  ser  cierto  si  la  entrada  es  una  entrada  del  sistema.

Figura  2.7  Diagrama  de  bloques  de  f  en  forma  
de  suma  de  productos  estándar.

X
yz

X
yz

X
yz F

X
yz

X
yz

Este  es  un  ejemplo  de  un  circuito  de  dos  niveles .  El  número  de  niveles  es  
el  número  máximo  de  puertas  a  través  de  las  cuales  debe  pasar  una  señal  desde  el
Machine Translated by Google

2.3  Implementación  de  funciones  con  puertas  AND,  OR  y  NOT 49

entrada  a  la  salida.  En  este  ejemplo,  todas  las  señales  pasan  primero  por  una  puerta  
AND  y  luego  por  una  OR.  Cuando  las  entradas  están  disponibles  tanto  sin  
complementar  como  complementadas,  las  implementaciones  de  las  expresiones  
SOP  y  POS  dan  como  resultado  circuitos  de  dos  niveles.
Vimos  que  esta  misma  función  se  puede  manipular  a  una  expresión  SOP  
mínima,  una  versión  de  la  cual  es
f  xy  xy  xz
Esto,  por  supuesto,  conduce  a  un  circuito  menos  complejo,  a  saber,  el  que  se  muestra  
en  la  figura  2.8. Figura  2.8  Suma  mínima  de  la  
Hemos  reducido  la  complejidad  del  circuito  de  seis  puertas  con  20  entradas  
implementación  del  producto  de  f.
de  puerta  (tres  para  cada  uno  de  los  cinco  AND  y  cinco  para  OR)  a  uno  con  
cuatro  puertas  y  9  entradas  de  puerta.  La  definición  más  simple  de  mínimo  para   X

una  red  de  puertas  es  la  cantidad  mínima  de  puertas  y,  entre  aquellas  con  la  
y
misma  cantidad  de  puertas,  la  cantidad  mínima  de  entradas  de  puerta.  Para  
X
circuitos  de  dos  niveles,  esto  siempre  corresponde  a  funciones  de  suma  mínima   F
de  productos  o  producto  mínimo  de  sumas. y
Si  las  entradas  complementadas  no  están  disponibles,  entonces  se  necesita   X
un  inversor  (una  puerta  NOT)  para  cada  entrada  que  se  requiera  complementar  
z
(x  e  y  en  este  ejemplo).  El  circuito  de  la  figura  2.9  muestra  las  puertas  NOT  que  
deben  agregarse  al  circuito  de  la  figura  2.8  para  implementar  f.  Tenga  en  cuenta  
que  en  esta  versión  mostramos  cada  entrada  una  vez,  con  esa  línea  de  entrada  
conectada  a  las  puertas  que  lo  requerían.  Eso  es  seguramente  lo  que  sucede  
cuando  realmente  construimos  el  circuito.  Sin  embargo,  para  mayor  claridad,  
dibujaremos  circuitos  más  parecidos  al  anterior  (excepto,  por  supuesto,  que  solo  
tendremos  una  puerta  NOT  para  cada  entrada,  con  la  salida  de  esa  puerta  yendo  
a  aquellas  puertas  que  lo  requieran).  (Este  es  un  circuito  de  tres  niveles  porque  
algunos  de  los  caminos  pasan  por  tres  puertas:  un  NOT,  un  AND  y  luego  un  OR).

Figura  2.9  Circuito  con  solo  
entradas  no  complementadas.

Figura  2.10  Un  producto  de  
z implementación  de  sumas.

Una  expresión  POS  (suponiendo  que  todas  las  entradas  están  disponibles   X

tanto  sin  complementar  como  complementadas)  corresponde  a  una  red  OR­AND  
y
de  dos  niveles.  Para  este  mismo  ejemplo,  el  POS  mínimo  (aunque  eso  no  es  
obvio  en  base  al  álgebra  que  hemos  desarrollado  hasta  este  punto) F

f  (x  y)(x  y  z)  se  implementa   X
y
con  el  circuito  de  la  figura  2.10. z
Machine Translated by Google

50 Capítulo  2  Sistemas  combinacionales

Cuando  implementamos  funciones  que  no  están  en  formato  SOP  ni  POS,  
los  circuitos  resultantes  tienen  más  de  dos  niveles.  Como  ejemplo,  considere  
la  siguiente  función:

hz  wxy  v(xz  w)

Comenzamos  dentro  de  los  paréntesis  y  construimos  una  puerta  AND  con  
entradas  x  y  z.  La  salida  de  eso  va  a  una  puerta  OR,  cuya  otra  entrada  es  w.
Eso  es  AND  con  v,  que  es  OR  con  la  entrada  z  y  la  salida  de  la  compuerta  
AND,  produciendo  wxy,  lo  que  da  como  resultado  el  circuito  de  la  figura  2.11.

Figura  2.11  Un  circuito  multinivel.

h
w
X
y
z

Este  es  un  circuito  de  cuatro  niveles  porque  las  señales  x  y  z  pasan  primero  por  
una  compuerta  AND,  luego  por  una  OR,  luego  por  una  AND  y  finalmente  por  una  OR,  
un  total  de  cuatro  compuertas.

EJEMPLO  2.4
Si  tomamos  la  versión  de  f  utilizada  para  la  figura  2.8  y  factorizamos  x  a  partir  de  los  dos  últimos  
términos,  obtenemos

f  xy  x(y z)

Eso  daría  como  resultado  el  circuito  de  tres  niveles.

y
F
X

y
z

Esta  solución  (de  tres  niveles)  utiliza  4  puertas  de  dos  entradas.

Las  puertas  suelen  estar  disponibles  en  paquetes  de  pines  duales  en  línea  
(DIP)  de  14  pines  de  conector.  Estos  paquetes  a  menudo  se  denominan  chips.  (Los  
paquetes  más  grandes  de  16,  18,  22  y  más  pines  se  usan  para  una  lógica  más  compleja).
Estos  paquetes  contienen  circuitos  integrados  (CI).  Los  circuitos  integrados  son
Machine Translated by Google

2.3  Implementación  de  funciones  con  puertas  AND,  OR  y  NOT 51

categorizados  como  integración  a  pequeña  escala  (SSI)  cuando  contienen  solo  unos  pocos
puertas  Esos  son  a  los  que  nos  referiremos  en  este  capítulo.  Los  circuitos  de  escala  media  (MSI)  
contienen  hasta  100  puertas;  veremos  ejemplos
de  estos  más  adelante.  La  terminología  integración  a  gran  escala  (LSI),  integración  a  muy  gran  
escala  (VLSI)  e  integración  a  gran  escala  (GSI)  se  utiliza  para
paquetes  aún  más  complejos,  incluidas  computadoras  completas.
Dos  de  los  pines  del  conector  se  utilizan  para  proporcionar  energía  al  chip.
Eso  deja  12  pines  para  conexiones  lógicas  (en  un  chip  de  14  pines).  Por  lo  tanto,  nosotros
puede  caber  4  puertas  de  dos  entradas  en  un  chip.  (Cada  puerta  tiene  dos  conexiones  de  entrada
y  una  conexión  de  salida.  Hay  suficientes  pines  para  cuatro  puertas  de  este  tipo.)
Del  mismo  modo,  hay  suficientes  pines  para  6  puertas  de  una  entrada  (NOT),  3  de  tres  entradas
compuertas  y  2  compuertas  de  cuatro  entradas  (con  dos  pines  sin  usar).  En  ejemplos  que  se  refieren
a  circuitos  integrados  específicos,  discutiremos  la  lógica  transistor­transistor
(TTL)  y,  en  particular,  la  serie  de  chips  7400.*  Para  estos  chips,  el
Las  conexiones  de  alimentación  son  de  5  V  y  tierra  (0  V).
Una  lista  de  los  circuitos  integrados  AND,  OR  y  NOT  comunes  que
puede  encontrarse  en  el  laboratorio  es

7404  6  (hex)  NO  puertas
7408  4  (cuádruples)  puertas  AND  de  dos  entradas
7411  3  (triples)  puertas  AND  de  tres  entradas
7421  2  puertas  AND  de  cuatro  entradas  (dual)
7432  4  (cuádruples)  puertas  OR  de  dos  entradas

Si  se  necesita  un  OR  (o  AND)  de  tres  entradas,  y  solo  se  necesitan  dos  entradas
disponible,  se  puede  construir  de  la  siguiente  manera:

a a
a antes  de  Cristo a antes  de  Cristo

b b

C C

Esta  idea  se  puede  extender  a  puertas  con  un  mayor  número  de  entradas.†
Además,  si  necesitamos  una  puerta  de  dos  entradas  y  sobra  una  puerta  de  tres  entradas
uno  (porque  vienen  tres  en  un  paquete),  podemos  conectar  el  mismo
señal  a  dos  de  las  entradas  (desde  aa  a,  y  aa  a).

a a
ab a b
b b

*Hay  muchas  familias  de  circuitos  lógicos  en  el  mercado,  con  diferentes  componentes  electrónicos.
características.  En  cada  uno,  hay  paquetes  similares  de  puertas.  Dado  que  nuestro  principal  interés  es
en  el  nivel  lógico  (en  lugar  del  nivel  electrónico),  elegimos  uno  de  estos,  TTL,  para  el
ejemplos  que  involucran  chips  específicos.  Incluso  dentro  de  la  serie  7400,  hay  una  serie  de
variaciones,  indicadas  por  una  letra  o  letras  después  del  74  (como  74H10).  no  seremos
preocupado  por  ese  detalle;  se  deja  para  un  curso  de  electrónica  digital.
†Precaución:  este  enfoque  no  funciona  para  las  puertas  NAND  y  NOR  (que  presentaremos  
en  la  Sección  2.6).
Machine Translated by Google

52 Capítulo  2  Sistemas  combinacionales

Además,  podríamos  conectar  un  1  lógico  (5  V)  a  una  de  las  entradas  de  un  AND
o  un  0  lógico  (tierra)  a  una  de  las  entradas  de  un  OR:

1 0
a 1  • a b ab a 0 a b a b
b b

En  el  laboratorio,  el  0  lógico  y  el  1  lógico  están  representados  por  dos  voltajes:
a  menudo  0  y  5  V.  Más  comúnmente,  el  voltaje  más  alto  se  usa  para  representar  1
y  el  voltaje  más  bajo  para  representar  0.  Esto  se  conoce  como  lógica  positiva.
También  es  posible  la  opción  opuesta,  es  decir,  usar  el  voltaje  más  alto  para  representar  
0.  Esto  se  conoce  como  lógica  negativa.  Cuando  se  trata  de  1  y
0's,  el  concepto  realmente  no  surge.  Sin  embargo,  la  misma  electrónica
El  circuito  tiene  diferentes  significados  lógicos  según  la  elección  que  hagamos.
Considere  la  tabla  de  verdad  de  la  tabla  2.9a,  donde  el  comportamiento  de  la  puerta
se  describe  simplemente  en  términos  de  alto  (H)  y  bajo  (L).  la  lógica  positiva
La  interpretación  de  la  tabla  2.9b  produce  la  tabla  de  verdad  para  una  puerta  OR.  El
La  interpretación  de  lógica  negativa  de  la  tabla  2.9c  es  la  de  una  compuerta  AND.

Tabla  2.9
a.  Alta  baja b.  lógica  positiva C.  lógica  negativa

un  novio  un  novio  un b F
L  LL  0  00  1 1
LHH  0  11  1 1   0
H  LH  1  01  0 0
HHH  1  11  0 0  1  0 0

La  mayoría  de  las  implementaciones  usan  lógica  positiva;  lo  haremos  
consistentemente  a  lo  largo  de  este  libro.  Ocasionalmente,  se  usa  la  lógica  negativa,  o  
[ES  10,  11;  Ej.  10,  11;  LABORATORIO*] incluso  una  mezcla  de  las  dos.

2.4  EL  COMPLEMENTO
Antes  de  continuar,  necesitamos  desarrollar  una  propiedad  más.  Esta  propiedad  es  la  
única  a  la  que  comúnmente  se  adjunta  el  nombre  de  una  persona:
El  teorema  de  DeMorgan.

demorgan P11a.  (a  b)  ab P11b.  (ab)  ab

La  demostración  más  sencilla  de  esta  propiedad  utiliza  la  tabla  de  verdad  de  la  tabla  2.10.
En  la  Tabla  2.10,  hemos  producido  una  columna  para  cada  una  de  las  expresiones  en
la  propiedad.  (Las  entradas  en  la  tabla  deberían  ser  obvias  porque  simplemente
implican  las  operaciones  AND,  OR  y  NOT  en  otras  columnas).  Tenga  en  cuenta  que
las  columnas  (etiquetadas  11a)  para  (a  b)  y  ab  son  las  mismas  y  aquellas
(etiquetado  11b)  para  (ab)  y  un  desnudo  lo  mismo.

*LAB  se  refiere  a  experimentos  en  el  Apéndice  D.
Machine Translated by Google

2.4  El  complemento 53

Tabla  2.10  Prueba  del  teorema  de  DeMorgan.

aba  b  (a  b) a b  ab  ab  (ab) abdominales

00  0  01  1  10  1   0   1
11  1 1   1   1   0   1
0   1   0   0   1
0   1  0  0 0  1  0 0   1 1   0
0  11a 0  11a 1  1  0  11b 11b

La  propiedad  se  puede  extender  fácilmente  a  más  de  dos  operandos.
P11aa.  (abc . . .)  abc  P11bb.   . . .
(abc . . .)  ab C . . .
Para  P11aa,  con  tres  variables,  la  demostración  es
(ab  c) [(a  b)  c] (a  b)  c  abc

ERROR  COMÚN:  El  NOT  no  se  distribuye  a  través  del
paréntesis.  De  este  modo,

(ab)  ab  y  (a  +  b)  y,  por   a  +  b

ejemplo,
ab  +  ab  1

Basta  con  mirar  las  columnas  (ab)  y  ab  de  la  tabla  de  verdad  y  comparar  las
expresiones  para  a  0  y  b  1  (o  para  a  1  y  b  0):
(0  1) 0 1  0  1 1  0  0
Habrá  momentos  en  los  que  se  nos  dé  una  función  y  necesitemos  encontrar  su
complemento,  es  decir,  dada  f(w,  x,  y,  z),  necesitamos  f(w,  x,  y,  z).  El  
enfoque  directo  es  usar  el  teorema  de  DeMorgan  repetidamente.

f  wxy  xy  wxz EJEMPLO  2.5

entonces

f  (wxy  xy  wxz)
(wxy)(xy)(wxz)  (wx   [P11a]
y)(x  y)(w  x  z) [P11b]

Tenga  en  cuenta  que  si  la  función  está  en  forma  SOP,  el  complemento  está  en  forma  POS
(y  el  complemento  de  una  expresión  POS  es  una  SOP).
Para  encontrar  el  complemento  de  expresiones  más  generales,  podemos  repetir
Aplicamos  el  teorema  de  DeMorgan  o  podemos  seguir  este  conjunto  de  reglas:

1.  Complemente  cada  variable  (es  decir,  a  a  a  o  a  a  a).
2.  Reemplace  0  por  1  y  1  por  0.
3.  Reemplace  AND  por  OR  y  OR  por  AND,  asegurándose  de  conservar  el
Orden  de  operaciones.  Eso  a  veces  requiere  paréntesis  adicionales.
Machine Translated by Google

54 Capítulo  2  Sistemas  combinacionales

EJEMPLO  2.6 f  ab(c  de)  abc
F [ab  c(d  e)][a  b  c]
Nótese  que  en  f,  la  última  operación  a  realizar  es  un  OR  del  primer  término  
complejo  con  el  término  producto.  Para  preservar  el  orden,  se  necesitaban  
paréntesis  en  f;  haciendo  que  AND  sea  la  última  operación.
Produciríamos  el  mismo  resultado,  con  mucho  más  trabajo,  usando
P11a  y  P11b  una  y  otra  vez:

f  [ab(c  de)  abc]  [ab(c  de)]
[abc]  [ab  (c  de)][a  b  
c]  [ab  c(de)][a  b  c]  [ab  c(d  e) ][a  
b  c]

[ES  12;  EJ  12]

2.5  DE  LA  TABLA  DE  VERDAD  A  LAS  
EXPRESIONES  ALGEBRAICAS
A  menudo,  un  problema  de  diseño  se  establece  en  términos  de  la  tabla  de  verdad  que  
describe  la  salida  en  términos  de  las  entradas.  Otras  veces,  las  descripciones  verbales  
de  los  sistemas  se  pueden  traducir  más  fácilmente  a  la  tabla  de  verdad.  Por  lo  tanto,  
necesitamos  la  habilidad  de  pasar  de  la  tabla  de  verdad  a  una  expresión  algebraica.  
Tabla  2.11  Una  tabla  de  verdad  de  
dos  variables.
Para  comprender  el  proceso,  considere  la  tabla  de  verdad  de  dos  variables  de  la  tabla  2.11.
Debido  a  que  este  es  un  problema  de  dos  variables,  la  tabla  de  verdad  
ab  f tiene  4  ( 22 )  filas,  es  decir,  hay  4  combinaciones  posibles  de  entradas.  (Esta  es  
00  0  01  1  10  1  11  1 la  tabla  de  verdad  para  el  OR  tal  como  la  definimos  al  comienzo  de  este  capítulo,  
pero  eso  es  irrelevante  para  esta  discusión).  Lo  que  dice  la  tabla  es  que

f  es  1  si  a  0  Y  b  1  O  si  a  1  Y  b  0  O

si  a  1  Y  b  1

Sin  embargo,  esto  es  lo  mismo  que  decir

f  es  1  si  a  1  Y  b  1  O  si  a  1  Y  b  1  O

si  a  1  Y  b  1

Pero  a  1  Y  b  1  es  lo  mismo  que  decir  ab  1  y  por  lo  tanto
f  es  1  si  ab  1  O  si  ab  1  O  si  ab  1
Eso  finalmente  produce  la  expresión
fab  ab  ab  _
Machine Translated by Google

2.5  De  la  tabla  de  verdad  a  las  expresiones  algebraicas 55

Cada  fila  de  la  tabla  de  verdad  corresponde  a  un  término  producto.  un  POE
expresión  se  forma  haciendo  ORing  de  los  términos  del  producto  correspondientes  a
filas  de  la  tabla  de  verdad  para  las  que  la  función  es  1.  Cada  término  producto  tiene
cada  variable  incluida,  con  esa  variable  complementada  cuando  la  entrada
en  la  columna  de  entrada  para  esa  variable  contiene  un  0  y  sin  complementar
cuando  contiene  un  1.  Así,  por  ejemplo,  la  fila  10  produce  el  término  ab.
Estos  términos  de  producto  incluyen  todas  las  variables;  son  minitérminos.
A  menudo  se  hace  referencia  a  los  minitérminos  por  número,  simplemente  convirtiendo  el  binario
número  en  la  fila  de  entrada  de  la  tabla  de  verdad  a  decimal.  Las  dos  notaciones  
siguientes  son  comunes:

fa,  b  m1  m2  m3
fa,  b  m1,  2,  3 Tabla  2.12  Mintérminos.
Nota:  si  usamos  números  mintérmino,  debemos  incluir  los  nombres  de  las  variables Número  mínimo  de  ABC
en  el  nombre  de  la  función,  como  f  (a,  b).  Si  escribimos  una  expresión  algebraica,  como  f  
0  0  0  ABC 0
=  ab  +  ab  +  ab,  podemos  usar  solo  f,  ya  que  las  variables  son
0  0  1  ABC 1
obvio.
0  1  0  ABC 2
Mostramos,  en  la  tabla  2.12,  los  minitérminos  y  los  números  de  minitérminos  que  son 0  1  1 A  B  C 3
se  utiliza  para  todas  las  funciones  de  las  tres  variables  A,  B  y  C. 1  0  0  ABC 4
Para  una  función  específica,  aquellos  términos  para  los  cuales  la  función  es  1  son 1  0  1 A  B  C 5
1  1  0 A  B  C 6
se  usa  para  formar  una  expresión  SOP  para  f,  y  aquellos  términos  para  los  cuales  la  
1  1  1 A  B  C 7
función  es  0  se  usan  para  formar  una  expresión  SOP  para  f.  Entonces  podemos  
complementar  f  para  formar  una  expresión  POS  para  f.

EJEMPLO  2.7
A  B  C F F

0  0  0 0 1
0  0  1 1 0
0  1  0 1 0
0  1  1 1 0
1  0  0 1 0
1  0  1 1 0
1  1  0 0 1
1  1  1 0 1

donde  la  tabla  de  verdad  muestra  tanto  la  función,  f,  como  su  complemento,  f.  Nosotros
puede  escribir

f(A,  B,  C) m(1,  2,  3,  4,  5)
abc  abc  abc  abc  abc

Ya  sea  de  la  tabla  de  verdad,  o  reconociendo  que  cada  minitérmino  está  incluido
en  f  o  f,  podemos  escribir

f(A,  B,  C) m(0,  6,  7)
abc  abc  abc
Machine Translated by Google

56 Capítulo  2  Sistemas  combinacionales

Entonces  podemos  complementar  f  para  obtener  una  suma  de  maxterms.*

f  (f) (AB  C)(A  B  C)(A  B  C)

Las  dos  formas  de  suma  de  mintérminos  son  expresiones  SOP.  En  la  mayoría  de  los  
casos,  incluido  este,  la  expresión  de  suma  de  minitérminos  no  es  una  expresión  de  
suma  mínima  de  productos.  Podríamos  reducir  f  de  5  términos  con  15  literales  a  
cualquiera  de  las  dos  funciones  con  3  términos  y  6  literales  de  la  siguiente  manera:

f  ABC  ABC  ABC  ABC  ABC
ABC  AB  AB [P9a,  P9a]
CA  AB  AB
BC  AB  AB

donde  las  expresiones  finales  se  obtienen  usando  P8a  y  P10a  en  el  primer  
término  y  en  el  segundo  o  en  el  tercero.  De  manera  similar,  podemos  reducir  f  
de  3  términos  con  9  literales  a  2  términos  con  5  literales,  usando  P9a:

f  ABC  AB

Usando  P11,  podemos  obtener  la  expresión  POS  mínima  para  f.

f  =  (A  +  B  +  C)(A  +  B)

Para  encontrar  una  expresión  POS  mínima,  podemos  manipular  la  expresión  
POS  anterior  (usando  P9b  en  los  dos  últimos  términos)  o  simplificar  la  
expresión  SOP  para  f  y  luego  usar  DeMorgan  para  convertirla  en  una  expresión  POS.
Ambos  enfoques  producen  el  mismo  resultado.

En  gran  parte  del  material  del  Capítulo  3,  especificaremos  funciones  
enumerando  sus  minitérminos  (por  número).  Por  supuesto,  debemos  enumerar  las  
variables  del  problema  como  parte  de  ese  enunciado.  De  este  modo,

f(w,  x,  y,  z) m(0,  1,  5,  9,  11,  15)

es  la  forma  más  sencilla  de  especificar  la  función

f  wxyz  wxyz  wxyz  wxyz  wxyz  wxyz

Si  la  función  incluye  no  importa,  esos  términos  se  incluyen  en  una  
suma  separada  ().

*Es  posible  obtener  expresiones  POS  directamente  de  la  tabla  de  verdad  sin  encontrar  
primero  la  expresión  SOP.  Cada  0  de  f  produce  un  maxterm  en  la  expresión  POS.  
Hemos  omitido  ese  enfoque  aquí,  porque  tiende  a  generar  confusión.
Machine Translated by Google

2.5  De  la  tabla  de  verdad  a  las  expresiones  algebraicas 57

EJEMPLO  2.8
f(a,  b,  c) m(1,  2,  5) d(0,  3)
implica  que  los  minitérminos  1,  2  y  5  están  incluidos  en  la  función  y  que  0  y
3  son  indiferentes ,  es  decir,  la  tabla  de  verdad  es  la  siguiente:
a  B  C F

0  0  0   X
0  0  1   1
0  1  0   1
0  1  1   X
1  0  0   0
1  0  1   1
1  1  0   0
1  1  1 0

Volvamos  ahora  a  los  primeros  tres  de  nuestros  ejemplos  continuos  y
desarrollar  expresiones  algebraicas  para  ellos.

EJEMPLO  2.9
Usando  Z2  para  CE1,  obtenemos

Z2  ABCD  ABCD  ABCD  ABCD  ABCD
directamente  de  la  tabla  de  verdad.  El  último  término  (ABCD)  se  puede  combinar  con
cada  uno  de  los  otros  (usando  P10a).  Así,  si  hacemos  cuatro  copias  de  él  (usando
P6a  repetidamente)  y  luego  utilizamos  P10a  cuatro  veces,  obtenemos

Z2  BCD  ACD  ABD  ABC
No  es  posible  una  mayor  simplificación;  esta  es  la  suma  mínima  de  productos
expresión.  Note  que  si  usamos  Z1,  tendríamos
Z1  ABCD  ABCD  ABCD  ABCD
No  es  posible  ninguna  simplificación.  Esta  expresión  también  tiene  cuatro  términos,  pero  tiene
16  literales,  mientras  que  la  expresión  para  Z2  solo  tiene  12.

Para  CE2,  tenemos EJEMPLO  2.10

f  abc  abc  o  f  abc  abc

dependiendo  de  la  tabla  de  verdad  que  elijamos.  Una  vez  más,  no  hay  simplificación
posible.
Para  f,  tenemos  (para  la  primera  versión)
f  abc  abc  abc  abc  abc  abc
ab  ab  abc  abc [P9a,  P9b]
un  abc  abc  un  bc  bc [P9a,  P10a]
Por  lo  tanto,  el  producto  de  maxterms  es

f  (ab  c)  (ab  c)  (ab  c)  (ab  c)
(ab  c)  (ab  c)
y  el  POS  mínimo  es

fa  (bc )  (bc )
Machine Translated by Google

58 Capítulo  2  Sistemas  combinacionales

EJEMPLO  2.11
Para  el  sumador  completo,  CE3  (usando  c  para  el  acarreo,  cin,  para  simplificar  el  algebraico
expresiones),  obtenemos  de  la  tabla  de  verdad

cout  abc  abc  abc  abc
s  abc  abc  abc  abc

La  simplificación  de  llevar  a  cabo  es  muy  parecida  a  la  de  Z2  en  el  ejemplo  2.9,
Resultando  en

cout  bc  ac  ab

pero  s  ya  está  en  formato  SOP  mínimo.  Volveremos  a  la  implementación.
del  sumador  completo  en  la  Sección  2.8.

A  continuación,  veremos  brevemente  un  enfoque  más  general  para  cambiar
funciones  de  control.  ¿ Cuántas  funciones  diferentes  de  n  variables  hay?
Para  dos  variables,  hay  16  tablas  de  verdad  posibles,  lo  que  da  como  
resultado  16  funciones  diferentes.  La  tabla  de  verdad  de  la  tabla  2.13  muestra  todos  estos
funciones  (Cada  columna  de  salida  de  la  tabla  corresponde  a  una  de  las  16
posibles  números  binarios  de  4  bits).

Tabla  2.13  Todas  las  funciones  de  dos  variables.

ab  f0  f1  f2  f3  f4  f5  f6  f7  f8  f9  f10  f11  f12  f13  f14  f15
00  0  0  0  0  0  0  0  0  1  1  1  1 1 1 1
01  0  0  0  0  1  1  0  0  0  0  1  1  1 1 1  1

10  0  0  1  1  0  0  1  1  0  0  11  
  11  0  0  1
11  0  1  0  1  0  1  0  1  0  1  0  1  0  1  0  1

Algunas  de  las  funciones  son  triviales,  como  f0  y  f15,  y  otras  son
realmente  solo  funciones  de  una  de  las  variables,  como  f3.  El  conjunto  de  
funciones,  reducido  a  la  forma  SOP  mínima,  son

f0  0  f1   f6  ab  ab  f7  ab  f8   f12  un


ab  f2  ab   ab  f9  ab  ab   f13  a   b

Tabla  2.14  Número  de f3  a  f4   f10  b f14  a   b


funciones  de  n
ab  f5  b f15  1
variables

Variables Términos
f11  ab
1 4
Para  n  variables,  la  tabla  de  verdad  tiene  2n  filas  y,  por  lo  tanto,  podemos  elegir
2 dieciséis

256 cualquier  número  de  2n  bits  para  una  columna.  Así,  hay  22n  funciones  diferentes  de
3  4 65,536 n  variables.  Ese  número  crece  muy  rápidamente,  como  se  puede  ver  en
5 4,294,967,296 Tabla  2.14.
(Así,  podemos  encontrar  una  variedad  casi  ilimitada  de  problemas  de  cuatro  o
[ES  13,  14;  Ej.  13,  14,  15,  16] más  variables  para  ejercicios  o  pruebas).
Machine Translated by Google

2.6  Puertas  NAND,  NOR  y  OR  exclusivas 59

2.6  PUERTAS  NAND,  
NOR  Y  O  EXCLUSIVAS
En  esta  sección,  presentaremos  otros  tres  tipos  de  compuertas  de  uso  común,  la  
NAND,  la  NOR  y  la  OR  exclusiva,  y  veremos  cómo  implementar  circuitos  usándolas.

Figura  2.12  Puertas  NAND.
w
a X
( )
abdominales

y ( W  x  Y  Z)
b z

La  NAND  tiene  el  símbolo  que  se  muestra  en  la  Figura  2.12.  Al  igual  que  AND  y  
OR,  NAND  está  disponible  comercialmente  en  varios  tamaños,  típicamente  variedades  
de  dos,  tres,  cuatro  y  ocho  entradas.  Cuando  se  introdujo  por  primera  vez,  se  lo  
denominó  AND­NOT,  que  describe  perfectamente  su  función,  pero  el  nombre  más  
corto,  NAND,  se  ha  vuelto  ampliamente  aceptado.  Tenga  en  cuenta  que  el  teorema  de  
DeMorgan  establece  que

(ab) abdominales

y,  por  lo  tanto,  en  la  figura  2.13  se  muestra  un  símbolo  alternativo  para  la  NAND  de  
dos  entradas.  Los  símbolos  se  pueden  usar  indistintamente;  se  refieren  al  mismo   Figura  2.13  Símbolo  alternativo  
para  NAND.
componente.
La  puerta  NOR  (OR­NOT)  utiliza  los  símbolos  que  se  muestran  en  la  Figura  2.14.   a
Por  supuesto,  (a  b)  ab.  Las  puertas  NOR  también  están  disponibles  con  más  entradas.
abdominales ()
abdominales

b
Figura  2.14  Símbolos  para  puerta  NOR.
a a
( abdominales) abdominales

b b

¿Por  qué  usar  compuertas  NAND  y  NOR,  en  lugar  de  compuertas  AND,  OR  y  
NOT?  Después  de  todo,  las  expresiones  lógicas  son  en  términos  de  operadores  AND,  
OR  y  NOT  y,  por  lo  tanto,  la  implementación  con  esas  puertas  es  sencilla.
Muchas  implementaciones  electrónicas  invierten  (complementan)  señales  de  forma  
natural;  por  lo  tanto,  NAND  es  más  conveniente  de  implementar  que  AND.  La  razón  
más  importante  es  que  con  NAND  o  NOR,  solo  se  requiere  un  tipo  de  puerta.  Por  otro  
lado,  se  requieren  puertas  AND  y  OR;  y,  a  menudo,  también  se  necesitan  puertas  
NOT.  Como  puede  verse  en  los  circuitos  de  la  figura  2.15,  las  compuertas  NOT  y  las  
compuertas  AND  y  OR  de  dos  entradas  pueden  reemplazarse  por  NAND  de  solo  dos  
entradas.  Por  lo  tanto,  se  dice  que  estos  operadores  son  funcionalmente  completos.  
(Podríamos  implementar  puertas  con  más  de  dos  entradas  usando  NAND  con  más  
entradas.  También  podríamos  implementar  puertas  AND,  OR  y  NOT  usando  solo  NOR;  
eso  se  deja  como  ejercicio).
Usando  estas  equivalencias  de  compuertas,  la  función,  f  xy  xy  xz,  que  
implementamos  primero  con  compuertas  AND  y  OR  en  la  figura  2.8  (sección  2.3)  ahora  
puede  implementarse  con  compuertas  NAND,  como  se  muestra  en  la  figura  2.16.
Machine Translated by Google

60 Capítulo  2  Sistemas  combinacionales

Figura  2.15  Completitud  funcional  de  NAND.

a ( )
Automóvil  club  británico a
a
NO
abab
a
abdominales b
b
( )
abdominales

O
Y

Figura  2.16  Implementación  de  la  puerta  NAND.

y
X
F
y
X

Figura  2.17  Mejor  implementación  de   Pero  tenga  en  cuenta  que  tenemos  dos  puertas  NO  seguidas  en  cada  uno  de  los  caminos  marrones .
compuertas  NAND. Lógicamente,  no  tienen  ningún  propósito  (P7  establece  (a)  a),  y  por  lo  tanto  pueden  eliminarse  del  

X circuito,  dando  como  resultado  el  de  la  figura  2.17.  Es  decir,  todas  las  puertas  AND  y  OR  del  circuito  
original  se  convirtieron  en  NAND.  No  se  cambió  nada  más.
y

X
Este  proceso  se  puede  simplificar  mucho  cuando  tenemos  un  circuito  que  consta  de  
F
y compuertas  AND  y  OR  tales  que

X
1.  la  salida  del  circuito  proviene  de  un  OR,  2.  las  entradas  a  todas  
z las  compuertas  OR  provienen  de  una  entrada  del  sistema  o  de  la  salida  de  un  AND,  y  3.  las  
entradas  de  todas  las  compuertas  

AND  provienen  de  una  entrada  del  sistema  o  de  la  salida  de  un  OR.

Todas  las  compuertas  se  reemplazan  por  compuertas  NAND  y  se  complementa  cualquier  entrada  
que  ingrese  directamente  a  un  OR.
Podemos  obtener  el  mismo  resultado  comenzando  en  la  puerta  de  salida  y  colocando  una  
burbuja  (un  NOT)  en  ambos  extremos  de  cada  línea  de  entrada  en  esa  puerta  OR.  Si  el  circuito  no  es  
de  dos  niveles,  repetimos  este  proceso  en  la  entrada  de  cada  una  de  las  puertas  OR.  Por  lo  tanto,  la  
implementación  AND/OR  de  f  se  convierte  en  la  de  la  figura  2.18,  donde  todas  las  puertas  se  han  
convertido  en  puertas  NAND  (en  una  de  las  dos  notaciones  que  introdujimos  antes).

Este  enfoque  funciona  con  cualquier  circuito  que  cumpla  con  estas  condiciones,  con  solo  un  
paso  adicional.  Si  una  entrada  llega  directamente  a  una  puerta  OR,
Machine Translated by Google

2.6  Puertas  NAND,  NOR  y  OR  exclusivas 61

no  hay  lugar  para  el  segundo  NO;  por  lo  tanto,  esa  entrada  debe   Figura  2.18  Aproximación  a  puerta  
complementarse.  Por  ejemplo,  el  circuito  para  h doble  NOT.
X
hz  wxy  v(xz  w)
y
se  muestra  en  la  Figura  2.19.  Nuevamente,  todas  las  puertas  AND  y  OR  se  
X
convierten  en  NAND,  pero  las  dos  entradas  que  llegaron  directamente  a  las  puertas   F
OR  se  complementaron. y

X
Figura  2.19  Una  implementación  NAND  multinivel.
z
X

w  w

h
wxy

z  z

EJEMPLO  2.12
f  wx(y  z)  xy

Esto  se  implementaría  con  puertas  AND  y  OR  de  dos  maneras.

y y
z z
w
X
w

X
F F

X X

y y

La  primera  versión  se  puede  convertir  directamente  a  puertas  NAND,  de  la  siguiente  manera.

y
z
w
X

y
Machine Translated by Google

62 Capítulo  2  Sistemas  combinacionales

La  segunda  versión  no  se  puede  convertir  a  compuertas  NAND  sin  agregar  
una  compuerta  NOT  adicional,  porque  viola  la  tercera  regla:  un  AND  obtiene  
una  entrada  de  otro  AND.  Así,  este  circuito  se  convertiría  en

y
z

X
F

donde  se  requiere  el  NOT  para  implementar  el  AND  que  forma  wx.  Expresiones  
como  esta  a  menudo  se  obtienen  a  partir  de  soluciones  SOP.  Veremos  algunos  
ejemplos  de  esto  en  la  Sección  2.8.

El  enfoque  dual  funciona  para  implementar  circuitos  con  puertas  NOR.  Cuando  
tenemos  un  circuito  que  consta  de  compuertas  AND  y  OR  tales  que

1.  la  salida  del  circuito  proviene  de  un  AND,  2.  las  
entradas  a  las  compuertas  OR  provienen  de  una  entrada  del  sistema  o  del
salida  de  un  AND,  y
3.  las  entradas  a  las  compuertas  AND  provienen  de  una  entrada  del  sistema  o  
de  la  salida  de  un  OR.

Entonces,  todas  las  puertas  se  pueden  convertir  en  puertas  NOR  y,  si  una  entrada  
llega  directamente  a  una  puerta  AND,  esa  entrada  debe  complementarse.

EJEMPLO  2.13 g  (x  y)(x  y)(x  z)

está  implementado

X
gramo

donde  todas  las  puertas  son  puertas  NOR.
Machine Translated by Google

2.6  Puertas  NAND,  NOR  y  OR  exclusivas 63

La  puerta  Exclusive­OR  implementa  la  expresión Figura  2.20  (a)  Una  puerta  OR  
exclusiva.  (b)  
ab  ab Una  puerta  
NOR  exclusiva.
que  a  veces  se  escribe  b .  La  terminología  proviene  de  la  definición  
de  que  ab  es  1  si  a  1  (y  b  0)  o  si  b  1  (y  a  0),  pero  no  tanto  a  1  como  b   a
a b
1.  El  operando  al  que  nos  hemos  estado  refiriendo  como  OR  ()  es  a   b
veces  denominado  OR­Inclusivo  para  distinguirlo  del  OR­Exclusivo.  
(a)
El  símbolo  lógico  del  OR  exclusivo  es  similar  al  del  OR  excepto  que  
tiene  una  línea  doble  en  la  entrada,  como  se  muestra  en  la  figura  
a
2.20a.  También  suele  estar  disponible  la  compuerta  NOR  exclusiva,  
(a b)
como  se  muestra  en  la  figura  2.20b.  Es  solo  un  OR  exclusivo  con  un   b
NOT  en  la  salida  y  produce  la  función
(b)
(a  b)  ab  ab.
Esto  a  veces  se  conoce  como  un  comparador,  ya  que  Exclusive­
NOR  es  1  si  a  b,  y  es  0  si  a  b.
Una  implementación  de  puerta  NAND  de  Exclusive­OR  se  muestra  en
Figura  2.21a,  donde  solo  se  suponen  entradas  no  complementadas.
Las  dos  puertas  NOT  (implementadas  como  NAND  de  dos  entradas)  se  pueden
reemplazada  por  una  sola  puerta,  como  se  muestra  en  la  figura  2.21b,  ya  que

a(a  b)  b(a  b)  aa  ab  ba  bb  ab  ab

Figura  2.21  Puertas  OR  exclusivas.

a a

b b

(a) (b)

Algunas  propiedades  útiles  de  Exclusive­OR  son

(a  b)  (ab  ab)  (a  b)(a  b)  ab  ab  ab  (a)b  (a)b  ab  ab  (a  b)  
(a  b)  (a  b)  a  0  a  (a  0  a  1)  un  1  un  (un  1  un  0)

El  OR  exclusivo  tiene  propiedades  tanto  conmutativas  como  asociativas,  
es  decir,
abba
(a  b)  ca  (b  c)
Machine Translated by Google

64 Capítulo  2  Sistemas  combinacionales

Una  lista  de  algunos  de  los  NAND,  NOR  y  Exclusive  más  comunes
O  paquetes  de  circuitos  integrados  que  podemos  encontrar  en  el  laboratorio.
es  como  sigue:

7400  4  (cuádruples)  puertas  NAND  de  dos  entradas
7410  3  (triples)  puertas  NAND  de  tres  entradas
7420  2  (dual)  puertas  NAND  de  cuatro  entradas
7430  1  puerta  NAND  de  ocho  entradas
7402  4  (cuádruples)  puertas  NOR  de  dos  entradas
7427  3  (triples)  puertas  NOR  de  tres  entradas
7486  4  (cuádruples)  puertas  OR  exclusivas  de  dos  entradas

Para  construir  un  circuito,  utilizamos  paquetes.  Incluso  si  solo  necesitamos  1  
puerta  NAND  de  tres  entradas,  debemos  comprar  un  paquete  con  tres  puertas  (un  7410).
Sin  embargo,  reconozca  que  una  puerta  de  tres  entradas  se  puede  usar  como  una  puerta  de  dos  entradas.
puerta  conectando  dos  de  las  entradas  juntas  o  conectando  una  de  las
entradas  a  un  1  lógico.

EJEMPLO  2.14 Considere  el  siguiente  circuito,  construido  con  AND  y  OR;  la  entrada
las  variables  se  han  omitido  porque  son  irrelevantes  para  la  discusión.

El  número  de  puertas  y  paquetes  se  muestran  en  la  parte  izquierda  de  la  siguiente  
tabla

puertas Paquetes

Entradas  Y  O Y  O NAND Paquetes

2  32  1 5 1
3  21  11  3 1
4 1 1 1 1
Total 6 3 3 1 9 3

Con  puertas  AND  y  OR,  se  necesitan  cuatro  paquetes:  tres  AND  y  uno
Paquete  OR  (porque  las  2  puertas  OR  de  dos  entradas  se  pueden  construir  con
las  puertas  sobrantes  de  tres  entradas).
Si  todas  las  puertas  se  convierten  a  NAND  (y  algunas  de  las  entradas  se  
complementan),  el  recuento  de  puertas  y  paquetes  se  muestra  en  la  parte  derecha  de  la  tabla.
Machine Translated by Google

2.7  Simplificación  de  Expresiones  Algebraicas sesenta  y  cinco

Solo  se  necesitan  tres  paquetes.  La  segunda  puerta  de  cuatro  entradas  en  el  
7420  se  usaría  como  la  quinta  puerta  de  dos  entradas  (al  unir  tres  de  las  entradas).

[ES  15,  16,  17;  EX  17,  18,  19;  LABORATORIO]

2.7  SIMPLIFICACIÓN  DE  EXPRESIONES  ALGEBRAICAS*

Ya  hemos  visto  el  proceso  de  simplificación  de  expresiones  algebraicas,  
comenzando  con  una  suma  de  minitérminos  o  un  producto  de  maxtérminos.  Las  
herramientas  primarias  eran
P9a.  ab  ab  a P9b.  (a  b)  (a  b)  a  P10b.  a(a  
P10a.  un  ab  ab b)  ab
aunque  muchas  de  las  otras  propiedades  se  utilizaron,  en  particular,
P6a.  aaa P6b.  aaa
P8a.  a(b  c)  ab  ac P8b.  a  bc  (a  b)  (a  c)
Si  la  función  se  establece  en  una  forma  diferente  a  la  estándar,  dos
otras  propiedades  son  útiles.  Primero,
P12a.  un  ab  un P12b.  a(a  b)  a  La   absorción
prueba  de  P12a  usa  P3b,  P8a,  P4aa  y  P3b  (nuevamente).
a  ab  a  1  ab  a(1  b)  a  1  a
Recuerda  que  solo  necesitamos  probar  la  mitad  de  la  propiedad,  porque  el  dual  
de  una  propiedad  siempre  es  verdadero.  Sin  embargo,  podríamos  haber  probado  
P12b  usando  los  duales  de  cada  uno  de  los  teoremas  que  usamos  para  probar  P12a.
En  cambio,  podríamos  distribuir  a  desde  el  lado  izquierdo  de  P12b,  produciendo
aa  ab  a  ab
Sin  embargo,  ese  es  solo  el  lado  izquierdo  de  P12a,  que  ya  hemos  demostrado  
que  es  igual  a  a.
P10a  y  P12a  se  ven  muy  similares;  sin  embargo,  usamos  dos  muy  diferentes
enfoques  para  demostrar  su  validez.  En  P10a,  hicimos  
a  ab  (a  a)(a  b)  1  (a  b)  ab  [P8b,  P5a,  P3bb]

mientras  que  para  P12a,  usamos  P3b,  P8a,  P4aa  y  P3b.  ¿Cómo  sabíamos  que  no  
debíamos  comenzar  la  prueba  de  P11a  usando  P8b  para  obtener
a  ab  (a  a)  (a  b)  a  (a  b)?
Todos  esos  pasos  son  válidos,  pero  no  nos  llevan  a  ninguna  parte  para  demostrar  
que  estas  expresiones  son  iguales  a  a.  De  manera  similar,  si  comenzamos  la  prueba  
de  P10a  usando  P3b,  es  decir,
un  ab  un  1  ab

*En  este  punto,  algunos  instructores  prefieren  presentar  el  mapa  de  Karnaugh.  La  sección  3.1  podría  estudiarse  a  
continuación,  y  el  material  restante  podría  estudiarse  junto  con  el  Apéndice  A,  que  muestra  la  relación  entre  
la  manipulación  algebraica  y  el  mapa  de  Karnaugh.
Machine Translated by Google

66 Capítulo  2  Sistemas  combinacionales

tampoco  llegamos  a  ninguna  parte  hacia  una  solución.  ¿Cómo  sabe  el  novato  
por  dónde  empezar?  Desafortunadamente,  la  respuesta  a  eso  es  prueba  y  
error  o  experiencia.  Después  de  resolver  una  serie  de  problemas,  a  menudo  
podemos  adivinar  correctamente  dónde  comenzar  con  uno  nuevo.  Si  ese  
enfoque  no  funciona,  entonces  debemos  probar  con  otro.  Esto  no  es  un  gran  
problema  al  tratar  de  demostrar  que  dos  expresiones  son  iguales.  Sabemos  
que  podemos  renunciar  cuando  hemos  trabajado  un  lado  para  ser  igual  al  otro.
Antes  de  continuar  con  una  serie  de  ejemplos,  es  necesario  hacer  algunos  
comentarios  sobre  el  proceso.  No  existe  un  algoritmo  para  la  simplificación  
algebraica,  es  decir,  no  existe  una  lista  ordenada  de  propiedades  a  aplicar.  Por  
otro  lado,  de  las  propiedades  que  tenemos  hasta  este  momento,  12,  9  y  10  son  
las  que  tienen  más  probabilidades  de  reducir  el  número  de  términos  o  literales.  
Otra  dificultad  es  que  muchas  veces  no  sabemos  cuándo  hemos  terminado,  es  
decir,  cuál  es  el  mínimo.  En  la  mayoría  de  los  ejemplos  que  hemos  trabajado  
hasta  ahora,  las  expresiones  finales  que  obtuvimos  parecen  ser  tan  simples  
como  podemos.  Sin  embargo,  veremos  una  serie  de  ejemplos  donde  no  es  
evidente  que  no  haya  una  expresión  más  mínima.  No  podremos  evitar  esto  
hasta  el  Capítulo  3  cuando  desarrollemos  otros  métodos  de  simplificación.  
(Tenga  en  cuenta  que  en  los  Problemas  resueltos  y  los  Ejercicios,  se  
proporciona  el  número  de  términos  y  literales  en  la  solución  mínima.  Una  vez  
que  se  alcanza,  sabemos  que  hemos  terminado;  si  terminamos  con  más,  debemos  intentar  otro 
Ahora  veremos  varios  ejemplos  de  simplificación  algebraica.

EJEMPLO  2.15 xyz  xy  xy
xyz  x [P9a]
x  yz [P10a]

donde  a  x,  a  x  y  b  yz

EJEMPLO  2.16 wx  wxy  wyz  wyz  wxyz
(wx  wxy)  (wyz  wyz)  wxyz
wx  wz  wxyz  wx   [P12a,  P9a]
w(z  xyz)  wx  w(z  
xy) [P10a]
wx  wz  wxy  wz  
x(w  wy)  wz  x(w  y)
[P10a]
wz  wx  xy  P10a  
podría  haberse  usado  primero  con  wx  y  wxyz  (dando  como  resultado  xyz).  
Ese  enfoque,  sin  embargo,  nos  dejaría  con  una  expresión
wz  wx  xyz
para  lo  cual  no  hay  pistas  algebraicas  de  cómo  proceder.  La  única  forma  
en  que  ahora  podemos  reducirlo  es  agregando  términos  a  la  expresión.  
En  breve  introduciremos  otra  propiedad  que  nos  permitirá  pasar  de  esta  
expresión  a  la  mínima.
Machine Translated by Google

2.7  Simplificación  de  Expresiones  Algebraicas 67

EJEMPLO  2.17
(x  y)(x  y  z)  y  (x  y)  yx  (y  y)  x  1 [P12b]
1 [P5a,  P4a]
EJEMPLO  2.18
(ab  c)(a  c)(a  b  c)(a  c  d)
(b c)(a  c)(a  d) [P9b,  P10b]

donde  la  segunda  simplificación  realmente  tomó  varios  pasos

(a  c)(a  c  d)  a  c(c  d)  a  cd  (a  c)(a  d)

Una  herramienta  más  es  útil  en  la  simplificación  algebraica  de  la  conmutación
funciones  El  consenso  del  operador  (indicado  por  el  símbolo  ¢)  se  define
como  sigue:
Para  cualquier  término  de  dos  productos  donde  aparece  exactamente  una  variable
sin  complementar  en  uno  y  complementado  en  el  otro,  el  consenso  es
definido  como  el  producto  de  los  literales  restantes.  Si  no  existe  tal  variable
o  si  existe  más  de  una  de  esas  variables,  entonces  el  consenso  es  indefinido.
Si  escribimos  un  término  como  at1  y  el  segundo  como  at2  (donde  t1  y  t2  representan  
términos  producto),  entonces,  si  se  define  el  consenso,

en1  ¢  en2  t1t2

abc  ¢  anuncio  bcd EJEMPLO  2.19
abc  ¢  acd  bcd
abc  ¢  bcd  abd
bcd  ¢  bcd  bd
abc  ¢  bcd  indefinido:  no  existe  tal  variable
abd  ¢  abcd  indefinido:  dos  variables,  a  y  b

Entonces  tenemos  la  siguiente  propiedad  que  es  útil  en  la  reducción  de  funciones.

P13a.  en1  en2  t1t2  en1  en2
P13b.  (a  t1)  (a t2)(t1 t2)  (a  t1)  (a t2) consenso

P13a  establece  que  el  término  de  consenso  es  redundante  y  se  puede  eliminar
de  una  expresión  SOP.  (Por  supuesto,  esta  propiedad,  como  todas  las  demás,
se  puede  usar  en  la  otra  dirección  para  agregar  un  término.  Veremos  un  ejemplo
de  eso  en  breve.)

ERROR  COMÚN:  El  teorema  del  consenso  te  permite
eliminar  el  término  de  consenso  (t1t2),  no  los  dos  términos  que
formó  el  consenso  (at1  +  at2).  Por  ejemplo
ab  +  bc  +  ac  =  ab  +  bc  ac

Se  puede  obtener  un  tipo  similar  de  simplificación  en  expresiones  POS
usando  el  dual  (P13b).  No  seguiremos  con  eso  más.
Primero,  derivaremos  esta  propiedad  de  las  otras.  Usando  P12a  dos  veces,
el  lado  derecho  se  convierte
Machine Translated by Google

68 Capítulo  2  Sistemas  combinacionales

en1  en2  (en1  en1t2)  (en2  en1t2)  en1  en2   [P12a]
(en1t2  en1t2)
en1  en2  t1t2 [P9a]

También  es  útil  mirar  la  tabla  de  verdad  de  este  teorema.  De  la  tabla
2.15,  vemos  que  el  término  de  consenso,  t1t2,  es  1  solo  cuando  uno  de  los  otros
términos  ya  es  1.  Por  lo  tanto,  si  OR  ese  término  con  RHS,  no  cambia
cualquier  cosa,  es  decir,  LHS  es  lo  mismo  que  RHS.

Cuadro  2.15  Consenso.

un  t1 t2 at1  at2  lado  derecho t1t2 LHS


000  0  001  0  010  0   0   0   0   0
011  0  100  0  101  0   1   0   1
110  1  111  1 1   0   0   0
1   1
0   0   1   0
1   0   0   0
0   1   0   1
0  0  0 1 0  1 1

EJEMPLO  2.20 En  el  Ejemplo  2.3  (Sección  2.2.3),  redujimos  la  función  como
f  abc  abc  abc  abc

f1  ac  ab  bc

combinando  los  dos  primeros  términos  usando  P9a  y  luego  aplicando  P10a  dos  veces.
En  ese  momento,  estábamos  en  un  callejón  sin  salida.  Sin  embargo,  encontramos  al  empezar  de  nuevo
con  una  agrupación  diferente  que  podríamos  reducir  esto  a

f2  bc  ab

En  efecto,  el  término  eliminado,  ac,  es  el  consenso  de  los  otros  términos;  nosotros
podría  usar  P13a  para  pasar  de  f1  a  f2.

EJEMPLO  2.21
g  bc  abd  acd

Debido  a  que  las  Propiedades  1  a  12  no  producen  simplificación,  ahora  intentamos
consenso.  El  único  término  de  consenso  definido  es

bc  ¢  acd  abd

La  propiedad  13  ahora  nos  permite  eliminar  el  término  de  consenso.  De  este  modo,

g  bc  acd
Machine Translated by Google

2.7  Simplificación  de  Expresiones  Algebraicas 69

Reducir EJEMPLO  2.22

f  =  cd  +  ac  +  ad  +  bd  +  ab
a  tres  términos  con  seis  literales.  Podemos  usar  el  consenso  dos  veces.

cd  ¢  ad  =  ac  y  ad  ¢  bd  =  ab
Por  lo  tanto,  podemos  eliminar  ac  y  ab,  dejando
f  =  cd  +  anuncio  +  bd

Con  la  siguiente  función,  no  hay  forma  de  aplicar  las  Propiedades  12,  9  y  10:

f  wy  wxz  wxy  wyz  Sin  embargo,  se  
nos  dice  que  se  puede  reducir  a  tres  términos  y  ocho  literales.  A  continuación,  
intentamos  el  consenso.  Un  enfoque  que  asegura  que  tratamos  de  encontrar  el  
consenso  de  todos  los  pares  de  términos  es  comenzar  con  el  consenso  del  segundo  
término  con  el  primero;  luego  prueba  el  tercero  con  el  segundo  y  el  primero;  
Etcétera.  Siguiendo  este  enfoque  (o  cualquier  otro)  para  este  ejemplo,  el  único  
consenso  que  existe  es  wxz  ¢  
wxy  xyz  Cuando  un  
término  de  consenso  era  parte  de  la  expresión  SOP,  P13a  nos  permitió  eliminar  
ese  término  y  así  simplificar  la  expresión.  Si  el  término  de  consenso  no  es  uno  de  
los  términos  de  la  expresión  SOP,  la  misma  propiedad  nos  permite  agregarlo  a  la  
expresión.  Por  supuesto,  no  agregamos  otro  término  automáticamente  porque  eso  
hace  que  la  expresión  sea  menos  mínima.
Sin  embargo,  debemos  hacer  un  seguimiento  de  dicho  término  y,  como  último  
recurso,  considerar  agregarlo  a  la  función.  Luego,  vea  si  ese  término  se  puede  usar  
para  formar  otros  términos  de  consenso  y  así  reducir  la  función.  En  este  ejemplo,  
al  sumar  xyz,  f  se  convierte  en
f  wy  wxz  wxy  wyz  xyz
Ahora,  sin  embargo,

xyz  ¢  wyz  wxy  y  xyz  ¢  wy  wxz  Por  lo  tanto,  podemos  
eliminar  tanto  wxy  como  wxz,  dejando  f  wy  wyz  xyz  (3  
términos,  8  literales)
Ahora  consideraremos  un  ejemplo  haciendo  uso  del  consenso,  así  como  todas  
las  demás  propiedades.  El  enfoque  habitual  es  tratar  de  utilizar  las  propiedades  
12,  9  y  luego  10.  Cuando  lleguemos  lo  más  lejos  que  podamos  con  estas,  entonces  
recurrimos  al  consenso.

ABCD  ABCD  BEF  CDEG  ADEF  ABEF EJEMPLO  2.23
ABD  BEF  CDEG  ADEF [P12a,  P9a]

Pero  ABD  ¢  BEF  ADEF  y  esto  se  reduce  a
ABD  ANTES  CDEG
Machine Translated by Google

70 Capítulo  2  Sistemas  combinacionales

EJEMPLO  2.24 wxy  wz  xz  wyz  wxy  wxz
wz  wx  xz  wyz [P12a,  P9a]
wz  wx  wyz  ya  que  wz  ¢  wx  xz [P13a]
Pero,

wz  wyz  z(w  wy)  z(w  y) [P10a]
wz  wx  yz

[ES  18;  Ej.  20,  21,  22]
2.8  MANIPULACIÓN  DE  FUNCIONES  ALGEBRAICAS  
E  IMPLEMENTACIONES  DE  PUERTAS  
NAND
Además  de  la  necesidad  de  minimizar  las  expresiones  algebraicas,  a  veces  existe  el  requisito  
de  poner  una  expresión  en  un  formato  determinado,  como  SOP,  suma  de  minterms,  POS  o  
producto  de  maxterms.  En  segundo  lugar,  para  cumplir  con  las  restricciones  de  diseño,  a  veces  
debemos  manipular  el  álgebra.  En  esta  sección  veremos  algunos  ejemplos  e  introduciremos  
una  propiedad  más.
Si  tenemos  una  expresión  SOP  y  necesitamos  expandirla  a  la  suma  de  minitérminos,  
tenemos  dos  opciones.  Primero,  podemos  crear  una  tabla  de  verdad  y,  a  partir  de  ella,  seguir  
el  enfoque  de  la  Sección  2.5  para  producir  una  suma  de  minitérminos.
De  hecho,  este  enfoque  funcionará  para  una  expresión  en  cualquier  formato.  El  otro  enfoque  
es  usar  P9a  para  agregar  variables  a  un  término.

EJEMPLO  2.25
f  bc  ac  ab
bca  bca  ac  ab

Podemos  repetir  el  proceso  en  los  otros  dos  términos,  produciendo

f  bca  bca  acb  acb  abc  abc
abc  abc  abc  abc  abc  abc
abc  abc  abc  abc

donde  se  usó  P6a  para  eliminar  los  términos  duplicados.

Si  faltaran  dos  literales  de  un  término,  ese  término  produciría
cuatro  minitérminos,  usando  P9a  repetidamente.

EJEMPLO  2.26
gx  xyz  xy  xy  xyz
xyz  xyz  xyz  xyz  xyz

g(x,  y,  z) m(3,  2,  1,  0,  7) m(0,  1,  2,  3,  7)


ya  que  los  números  minterm  generalmente  se  escriben  en  orden  numérico.
Machine Translated by Google

2.8  Manipulación  de  funciones  algebraicas  e  implementaciones  de  puertas  NAND 71

Para  convertir  a  producto  de  maxterms,  se  puede  usar  P9b.  Por  ejemplo,

f  (AB  C)(AB ) EJEMPLO  2.27

(AB  C)(A  B  C)(A  B  C)

Otra  propiedad  es  útil  para  manipular  funciones  de  una  forma  a  otra.

P14a.  ab  ac  (a  c)  (a) b)

(El  dual  de  esto  también  es  cierto,  pero  es  la  misma  propiedad  con  las  
variables  b  y  c  intercambiadas).  Esta  propiedad  se  puede  demostrar  
aplicando  primero  P8a  al  lado  derecho  
tres  veces:  (a  c)(a  b)  ( a  c)a   (a  c)  b  aa  ac  ab  bc
Sin  embargo,  aa  0  y  bc  ac  ¢  ab,  y  así,  usando  P3aa  y  P13a,  obtenemos

aa  ac  ab  bc  ac  ab

que  es  igual  al  lado  izquierdo  de  la  propiedad.
Esta  propiedad  es  particularmente  útil  para  convertir  expresiones  POS  a  
SOP  y  viceversa.  También  lo  usaremos  para  manipular  expresiones  al  usar  
puertas  NAND  para  implementar  sistemas.
En  el  Ejemplo  2.7,  encontramos  la  suma  de  los  minitérminos  y  las  
expresiones  SOP  mínimas,  así  como  el  producto  de  los  maxtérminos  y  la  
expresión  POS  mínima  para

f(A,  B,  C) m(1,  2,  3,  4,  5)

En  el  Ejemplo  2.28,  comenzaremos  con  el  POS  mínimo  y  usaremos  la  Propiedad  
14  para  convertirlo  en  un  SOP.

EJEMPLO  2.28
f  (A  B  C)  (A  B)  AB  A  (B  C)  AB  AB  AC

donde  a  de  P14a  es  A,  b  es  B  C  y  c  es  B.  De  hecho,  esta  es  una  de  las  
soluciones  SOP  que  encontramos  en  el  ejemplo  2.7  para  este  problema.
Aunque  la  utilización  de  esta  propiedad  no  siempre  produce  una  expresión  SOP  
mínima  (como  lo  hace  en  este  caso),  sí  produce  una  expresión  más  simple  que  la  
que  obtendríamos  simplemente  usando  P8a.

f  AA  AB  BA  BB  CA  CB
AB  AB  AC  BC

Entonces,  el  término  BC  puede  eliminarse  porque  es  el  consenso  de  AB  y  AC.

Para  pasar  de  una  expresión  POS  (o  una  expresión  más  general  que  no  
sea  ni  SOP  ni  POS)  a  una  expresión  SOP,  usamos  principalmente  las  
siguientes  tres  propiedades:
Machine Translated by Google

72 Capítulo  2  Sistemas  combinacionales

P8b.  a  bc  (a  b)  (a  c)
P14a.  ab  ac  (a  c)(a  P8a.  a(b  c)  ab   b)
ac

Tratamos  de  aplicarlos  en  ese  orden,  usando  los  dos  primeros  de  derecha  a  izquierda.

EJEMPLO  2.29 (A  B  C)(A  B  D)(A  C  D)
[A  (B C)(B  D)](A  C  D) [P8b]
(A  BD  BC)(A  C  D) [P14a]
A(C  D)  A(BD  BC) [P14a]
AC  AD  ABD  ABC [P8a]

El  dual  de  estas  propiedades  se  puede  usar  para  convertir  a  POS  como  se  puede
visto  en  el  ejemplo  2.30.

EJEMPLO  2.30
wxy  xyz  wxz
x(wy  yz)  wxz  x(y  z) [P8a]
(y  w)  wxz  (x  wz)[x  (y  z) [P14a]
(y  w)]  (x  w)(x  z)(x  y  z)(x  y  w) [P14a]
[P8b]

Otra  aplicación  de  P14a  y  este  tipo  de  manipulación  algebraica
viene  cuando  deseamos  implementar  funciones  usando  solo  dos  entradas
Puertas  NAND  o  NOR  (o  puertas  de  dos  y  tres  entradas).  (Solo  consideraremos  
ejemplos  de  implementaciones  de  puertas  NAND).  Considere  lo  siguiente
problema.
La  siguiente  expresión  es  la  única  expresión  SOP  mínima  para
la  función  F.  Suponga  que  todas  las  entradas  están  disponibles  tanto  sin  complementar  como
complementado  Encuentre  un  circuito  de  compuerta  NAND  que  use  solo  compuertas  de  dos  entradas.
No  se  puede  usar  ninguna  puerta  como  puerta  NOT.*

f  abc  acd  bd

(Una  solución  de  dos  niveles  requeriría  cuatro  puertas,  tres  de  las  cuales  serían
compuertas  de  tres  entradas  y  11  entradas  de  compuerta).

*  Siempre  podríamos  producir  un  circuito  usando  puertas  de  dos  entradas  reemplazando  una  puerta  de  tres  entradas
por  2  de  dos  en  dos  y  un  NO.  Por  ejemplo,  una  NAND  de  tres  entradas  podría  implementarse  como
sigue:

X
X
y y
z z

Las  puertas  más  grandes  podrían  reemplazarse  de  manera  similar.  Pero  este  enfoque  casi  siempre  conduce
a  circuitos  con  más  puertas  de  las  necesarias.
Machine Translated by Google

2.8  Manipulación  de  funciones  algebraicas  e  implementaciones  de  puertas  NAND 73

Para  resolver  este  problema,  debemos  eliminar  las  puertas  de  tres  entradas.  
Por  lo  tanto,  el  punto  de  partida  es  intentar  factorizar  algo  a  partir  de  los  tres  
términos  literales.  En  este  ejemplo,  hay  una  c  común  en  los  dos  primeros  términos,  
por  lo  que  podemos  obtener

f  c(anuncio  ab)  bd

Esto,  de  hecho,  resuelve  todo  el  problema  en  un  solo  paso  porque  no  solo  
reducimos  los  2  términos  del  producto  de  tres  entradas  a  dos  entradas  cada  uno,  
sino  que  también  obtuvimos  el  OR  final  a  uno  de  dos  entradas.  Por  lo  tanto,  el  
circuito  resultante  se  muestra  en  la  figura  2.22,  donde  primero  lo  implementamos  
con  compuertas  AND  y  OR  y  luego,  comenzando  en  la  salida,  agregamos  
inversores  dobles  en  cada  ruta  desde  la  entrada  de  un  OR  hasta  la  salida  de  un  
AND.  (En  este  ejemplo,  ninguna  entrada  entró  directamente  en  un  OR).  Esta  
solución  requiere  6  puertas  y  12  entradas.  Cabe  señalar  que  cualquiera  de  las  dos  
soluciones,  ésta  o  la  de  dos  niveles  mencionada  anteriormente,  requiere  dos  
paquetes  de  circuitos  integrados.  Esto  requiere  dos  7400  (4  NAND  de  dos  entradas  
cada  uno)  y  dejaría  dos  de  las  puertas  sin  usar.  La  solución  de  dos  niveles  
requeriría  un  7410  (3  puertas  de  tres  entradas)  y  un  7400  para  la  puerta  restante  
de  dos  entradas  y  dejaría  tres  de  esas  puertas  sin  usar.  (Si  hubiéramos  reemplazado  
cada  compuerta  de  tres  entradas  por  2  de  dos  entradas  más  un  NOT,  la  
implementación  requeriría  7  compuertas  de  dos  entradas  más  tres  compuertas  NOT).

Figura  2.22  Circuito  de  compuerta  NAND  de  dos  entradas.

a
C
b

a F
b
d
d

Los  ejemplos  más  complejos  de  encontrar  una  implementación  de  puerta  de  
dos  entradas  a  menudo  requieren  el  uso  de  P14a  y  P8a.  Considere  la  función  de  
los  ejemplos  2.31  y  2.32  (ya  en  forma  de  suma  mínima  de  productos).

EJEMPLO  2.31
f  =  wyz  +  wz  +  wx  +  wy

No  podemos  factorizar  nada  del  término  de  tres  literales  (ya  que  no  hay  w,  y  o  z  
en  los  otros  términos).  Podemos  factorizar  w  a  partir  de  dos  cualesquiera  de  los  
otros  (no  los  tres  porque  eso  dejaría  un  término  z+  x  +  y).

f  =  (wyz  +  wz)  +  w(x  +  y)

Entonces  podemos  usar  la  Propiedad  14.  Una  de  las  soluciones  es

f  =  (w  +  z)(w  +  yz)  +  w(x  +  y)
Machine Translated by Google

74 Capítulo  2  Sistemas  combinacionales

El  circuito  que  implementa  esto  se  muestra  a  continuación,  donde  las  entradas  
tachadas  fueron  las  que  habrían  estado  en  un  OR.

XX

yy w
y
F
z
w w
wow

z z

EJEMPLO  2.32
G  DE  ABC  CDE  ABCE

El  término  producto  de  cuatro  literales  es  el  primer  lugar  que  debemos  atacar.  Podríamos  
factorizar  E  a  partir  de  los  dos  últimos  términos.  Eso  produciría

G  DE  ABC  E(CD  ABC)

Pero  ahora,  no  hay  forma  de  eliminar  la  puerta  de  tres  entradas  correspondiente  
a  ABC.  En  su  lugar,  podemos  factorizar  C  a  partir  del  segundo  y  cuarto  términos,  
produciendo

G  C(AB  ABE)  DE  CDE

Podemos  aplicar  P14a  a  la  expresión  entre  paréntesis  para  obtener

G  C(A  BE)(A  B)  DE  CDE

o,  usando  B  en  lugar  de  A,

G  C(BA  AE)(BA )  DE  CDE

En  cualquier  caso,  todavía  tenemos  2  términos  AND  de  tres  entradas,  ese  primer  
producto  y  el  último.  (No  podemos  tomar  la  salida  de  la  puerta  OR  que  forma  B  
AE  y  la  salida  de  la  puerta  OR  que  forma  BA  y  conectarlas  a  una  puerta  AND  de  
dos  entradas.  Entonces  necesitaríamos  conectar  la  salida  de  esa  puerta  AND  a  
la  entrada  de  otra  compuerta  AND  con  C  como  su  otra  entrada.  Esto  violaría  la  
tercera  regla  para  la  conversión  a  compuertas  NAND:  las  entradas  a  las  
compuertas  AND  pueden  no  provenir  de  la  salida  de  otra  compuerta  AND.)  
Podemos  reducirlo  a  todas  las  compuertas  de  dos  entradas  aplicando  P14a  
nuevamente,  usando  la  C  del  primer  término  complejo  y  la  C  del  último  término  
producto,  produciendo  (de  la  segunda  versión)  la  siguiente  expresión:

G  (C  DE)  [C  (BA  AE)  (BA )]  DE

Esto  requiere  10  puertas,  como  se  muestra  en  el  siguiente  circuito  de  puerta  NAND.
Machine Translated by Google

2.8  Manipulación  de  funciones  algebraicas  e  implementaciones  de  puertas  NAND 75

A
A

mi
C

B
D

mi GRAMO

C D

mi

Nuevamente,  comenzamos  implementando  el  circuito  con  AND  y  OR,  comenzando  en  
los  paréntesis  más  internos.  Cinco  de  las  entradas  fueron  directamente  a  las  puertas  OR  
y,  por  lo  tanto,  se  complementaron  (como  se  muestra  en  marrón  en  el  circuito).
Todavía  hay  otro  enfoque  para  manipular  este  álgebra.
G  C(A  BE)(A  B)  DE  CDE
C(A  BE)(A  B)  (D  CE)(D  E)
(A  BE)(AC  BC)  (D  CE)(D  E)
En  este  caso,  eliminamos  el  AND  de  tres  entradas  al  distribuir  C  (P8a)  y  
usamos  P14a  en  los  dos  últimos  términos  del  producto.  Dejaremos  la  
implementación  de  esto  como  un  ejercicio,  pero  podemos  contar  11  puertas  
(una  más  que  antes)  de  la  expresión  algebraica,  como  se  ve  en  la  siguiente  cuenta.
G  (A  BE)(AC  BC)  (D  CE )(D  E)
1  2  3  4  5  6  7  8  9  10  11

donde  cada  puerta  está  numerada  debajo  del  operador  correspondiente  a  esa  puerta.

Como  ejemplo  de  compartir  una  puerta,  considere  la  implementación  del
siguiente  función  con  puertas  NAND  de  dos  entradas:

G  CD  ABC  AC  BC EJEMPLO  2.33

C(D  AB)  C( AB)

El  circuito  para  esa  expresión  se  muestra  a  continuación.
C

B
GRAMO

D
C
Machine Translated by Google

76 Capítulo  2  Sistemas  combinacionales

Tenga  en  cuenta  que  solo  se  necesita  una  puerta  NAND  para  el  término  de  producto  
AB  y  para  el  término  de  suma  AB  (porque  las  entradas  que  llegan  directamente  a  un  
OR  se  complementan).

Como  ejemplo  final,  volveremos  a  la  implementación  del  sumador  
completo  (CE3).  Las  expresiones  SOP  desarrolladas  en  el  ejemplo  2.11  se  
repiten  (donde  la  entrada  de  acarreo,  cin,  se  representa  solo  con  c).

EJEMPLO  2.34 s  abc  abc  abc  abc

cout  bc  ac  ab

Una  implementación  de  estos  de  dos  niveles  requeriría  1  compuerta  NAND  de  
cuatro  entradas  (para  s),  5  compuertas  NAND  de  tres  entradas  (cuatro  para  s  y  una  
para  cout)  y  3  NAND  de  dos  entradas  (para  cout),  suponiendo  que  todas  las  entradas  
están  disponibles  tanto  sin  complementar  como  complementadas.  Pero  esta  
suposición  seguramente  no  es  válida  para  c  porque  esa  es  solo  la  salida  de  la  lógica  
combinacional  como  esta  (del  siguiente  bit  menos  significativo  de  la  suma).  Por  lo  
tanto,  necesitamos  al  menos  una  puerta  NOT  (para  c)  y  posiblemente  tres  (una  para  
cada  entrada).  Por  lo  tanto,  la  implementación  de  este  sumador  requeriría  cuatro  
paquetes  de  circuitos  integrados  (uno  7420,  dos  7410  y  un  7400).  (Habría  sobrado  
una  puerta  de  cada  tamaño,  que  podría  usarse  para  crear  cualquier  NOT  que  se  necesite).
Aunque  s  y  cout  están  en  la  forma  SOP  mínima,  podemos  manipular  el  álgebra  para  
reducir  los  requisitos  de  la  puerta  factorizando  primero  c  a  partir  de  dos  términos  de  s  y  
de  dos  términos  de  cout,  y  factorizando  c  a  partir  de  los  otros  dos  términos  de  s,  dando  
como  resultado*

s  c(ab  ab)  c(ab  ab)

cout  c(a  b)  ab

Esto  requiere  11  compuertas  NAND  de  dos  entradas,  sin  incluir  los  tres  NOT  
(porque  ab  solo  necesita  implementarse  una  vez  para  los  dos  términos  y  ab  se  
implementa  usando  la  misma  compuerta  que  ab).
Volviendo  a  la  expresión  de  sum,  tenga  en  cuenta  que

s  c(a  b)  c(a  b)  c  (a  b)

Además,  podríamos  escribir

cout  c(a  b)  ab

(Ese  es  un  pequeño  truco  algebraico  que  no  es  obvio  a  partir  de  ninguna  de  las  propiedades.
Sin  embargo,  la  diferencia  entre  ab  y  ab  es  que  el  primero  es

*Podríamos  fácilmente  factorizar  b  y  b  o  a  y  a  de  estas  expresiones;  los  circuitos  
resultantes  tendrían  el  mismo  diseño  de  puertas.
Machine Translated by Google

2.8  Manipulación  de  funciones  algebraicas  e  implementaciones  de  puertas  NAND 77

1  cuando  tanto  a  como  b  son  1,  pero  este  último  no  lo  es.  Pero  la  expresión  para  cout
es  1  para  ab  1  debido  al  término  ab .)
Usando  estas  dos  últimas  expresiones,  podríamos  implementar  tanto  la  suma
y  lleve  usando  dos  OR  exclusivos  y  3  NAND  de  dos  entradas  de  la  siguiente  manera:

b s
C

Cafuera

Hay  disponibles  paquetes  con  cuatro  puertas  Exclusive­OR  (7486)  y,  por  lo  tanto,
este  circuito  podría  implementarse  con  uno  de  esos  paquetes  y  uno  7400.
Tenga  en  cuenta  que  las  entradas  complementadas  no  son  necesarias  para  esta  implementación.
Finalmente,  porque  podemos  implementar  cada  OR  exclusivo  con  4  dos
compuertas  NAND  de  entrada,  sin  requerir  entradas  complementadas,  obtenemos

b s

Cafuera

Tenga  en  cuenta  que  las  dos  puertas  NAND  marrones  tienen  las  mismas  entradas  y  las  dos
también  tienen  las  mismas  entradas.  Solo  se  necesita  una  copia  de  cada  uno,  lo  que  produce  el  
circuito  final  con  solo  nueve  puertas  NAND.
Machine Translated by Google

78 Capítulo  2  Sistemas  combinacionales

b s

Cafuera

Esta  implementación  requeriría  tres  7400  si  solo  estuviéramos  construyendo  uno
un  poco  de  sumador.  Sin  embargo,  se  podría  construir  un  sumador  de  4  bits  con  nueve  paquetes
(36  puertas  de  dos  entradas).

[ES  19,  20,  21,  22,  23,  24;
EX  22,  23,  24,  25,  26,  27;  LABORATORIO]
2.9  UN  ÁLGEBRA  BOOLEANA  
MÁS  GENERAL
La  base  para  cambiar  el  álgebra  es  el  álgebra  booleana,  publicada  por  primera  vez  por
George  Boole  en  1849.  Permite  más  de  dos  elementos.  se  define  en
términos  de  un  conjunto  de  postulados  y  luego  las  propiedades  restantes  se  desarrollan  a  
partir  de  ellos  como  teoremas.  Los  postulados  han  sido  enunciados  en  una  variedad
de  maneras,  pero  el  siguiente  desarrollo  parece  más  sencillo.
De  hecho,  varios  de  estos  postulados  son  idénticos  en  forma  a  las  propiedades
de  cambio  de  álgebra  enumerados  en  las  Secciones  2.2.1  y  2.2.2.  Pero  ahí,  nosotros
comenzó  con  la  definición  de  los  operadores  (limitada  a  un  álgebra  de  dos  valores)  y  probó  
las  propiedades  ya  sea  directamente  de  la  definición  o  por
manera  de  una  tabla  de  verdad.  Aquí,  los  operadores  no  están  definidos,  pero  pueden  ser
derivado  de  los  postulados.

1.  Un  álgebra  booleana  consta  de  un  conjunto  de  k  2  elementos.  (Para  el
álgebra  de  conmutación  desarrollada  en  la  Sección  2.2.1,  k  2.)

2.  Hay  dos  operadores  binarios  y  el  operador . , y  uno  unario

3.  El  álgebra  es  cerrada,  es  decir,  si  a  y  b  son  miembros  del  conjunto,
entonces

un  b,  un  b,  un

también  son  miembros  del  conjunto.  (Esta  propiedad  no  es  cierta  para  todos
operadores  y  todos  los  conjuntos  en  álgebra  normal.  Por  ejemplo,  si  el  conjunto  es
el  conjunto  de  enteros  positivos,  la  resta  no  es  cerrada  ya  que  puede
Machine Translated by Google

2.9  Un  álgebra  booleana  más  general 79

da  como  resultado  un  entero  negativo,  y  la  división  no  se  cierra  ya  que  el  cociente  
puede  ser  un  número  no  entero).

4.  Ley  conmutativa  (igual  que  P1):
i.  abba
ii.  abba

5.  Ley  asociativa  (igual  que  P2):
i.  una  (b  c)  (a  b)  c
ii.  una  (b  c)  (a  b)  c
6.  Ley  distributiva  (igual  que  P8):
i.  abc  (a  b)  (a  c)
ii.  a  (b  c)  abac
7.  Identidad  (similar  a  P3):
i.  Existe  un  único  elemento  en  el  conjunto,  0,  tal  que
un  0  un
ii.  Existe  un  único  elemento  en  el  conjunto,  1,  tal  que  a  
1  a

8.  Complemento  (igual  que  P5):  Para  cada  elemento  a,  existe  un
elemento  único  a  tal  que
1
i.  Automóvil  club  británico

ii.  un  0

Ahora  hemos  definido  el  álgebra  booleana.  Funciona  para  un  valor  de  dos
sistema  (el  álgebra  de  conmutación  que  hemos  estado  discutiendo  a  lo  largo  de  este
capítulo),  así  como  uno  más  general.
Para  cambiar  el  álgebra,  podemos  usar  estos  postulados  para  definir  el
operadores.  Primero,  podemos  reconocer  que  existen  los  dos  elementos,  0  y
1,  postulado  en  el  número  7.  Usando  ese  postulado  y  la  ley  conmutativa,
podemos  completar  las  primeras  tres  líneas  de  la  tabla  2.16a  para  el  operador   Tabla  2.16a  Definición  de  OR
OR  ()  y  las  últimas  tres  para  el  operador  AND().  Para  el  OR,  el  postulado y  y.

un  0  un ab  abab
00  0
implica  que  0  0  0  (primera  línea)  y  1  0  1  (tercera  línea).  Además, 01  1  10  1  1  1 0
usando  la  ley  conmutativa,  obtenemos 0
1
0  aa

y  así  se  completa  la  segunda  línea  (0  1 1).
Usando  la  otra  parte  del  postulado  7,  obtenemos  0  1 0,  1  1 1,  y
con  la  propiedad  conmutativa,  1  0  0.  Para  las  líneas  restantes,  tenemos
necesita  probar  la  propiedad  de  idempotencia  (P6  de  antes).  Podemos  hacerlo
en  los  siguientes  pasos:
Machine Translated by Google

80 Capítulo  2  Sistemas  combinacionales

aa  (a  a)  1  (a  a)  (a  a) [7ii]
[8i]
aaa [6i]
un  0 [8ii]
a [7i]

Usando  este  teorema,  podemos  completar  la  primera  fila  de  la  tabla  de  verdad  
OR  (0  0  0).  Podemos  demostrar  el  dual  de  este  teorema,

aaa

usando  la  otra  mitad  de  cada  uno  de  los  postulados  y  así  completar  el  último
Cuadro  2.16b  Completado
definicion  de  o línea  de  la  tabla  AND  2.16b  (1  1 1).
y  y. Finalmente,  podemos  definir  el  operador  NOT  ()  del  postulado  8.  Parte  i
dice  que  a  o  a  (o  ambos)  es  1;  la  parte  ii  dice  que  a  o  a  (o
ab  ab abdominales
ambos)  es  0.  Así,  uno  de  ellos  debe  ser  1  y  el  otro  0,  es  decir,  si  un  0,
00  0  01  1  10  1  11  1 0 entonces  a  debe  ser  1,  y  si  a  1,  entonces  a  debe  ser  0.
0 A  partir  de  aquí,  podemos  probar  todas  las  propiedades  del  álgebra  de  cambio  como
0
antes.  La  mayoría  de  ellos  son  también  propiedades  de  un  álgebra  booleana  general,
1
pero  eso  está  más  allá  del  alcance  de  este  libro.

2.10  PROBLEMAS  RESUELTOS
1.  Para  cada  uno  de  los  siguientes  problemas,  hay  cuatro  entradas,  A,  B,
C  y  D.  Muestre  una  tabla  de  verdad  para  las  funciones  especificadas.  (Uno
se  muestra  una  tabla  de  verdad  con  cuatro  salidas  para  los  cuatro  ejemplos).
a.  Las  entradas  representan  un  número  binario  sin  signo  de  4  bits.  El
la  salida,  W,  es  1  si  y  solo  si  el  número  es  un  múltiplo  de  2  o  de  3  
pero  no  de  ambos.

b.  Las  entradas  representan  un  número  binario  positivo  de  4  bits.  El
la  salida,  X,  es  0  si  y  solo  si  la  entrada  es  un  primo  (donde  0  
nunca  ocurre).
C.  Las  primeras  dos  entradas  (A,  B)  representan  un  binario  sin  signo  de  2  bits
número  (en  el  rango  de  0  a  3).  Los  dos  últimos  (C,  D)  representan  un
segundo  número  binario  sin  signo  (en  el  mismo  rango).  El
salida,  Y,  es  1  si  y  solo  si  los  dos  números  difieren  en  dos  o
más.

d.  Las  entradas  representan  un  número  BCD  en  código  Excess­3.  Aquellos
combinaciones  que  no  representan  uno  de  los  dígitos  nunca
ocurrir.  La  salida,  Z,  es  1  si  y  solo  si  ese  número  es  un  cuadrado  
perfecto.

La  tabla  de  verdad  contiene  la  respuesta  a  las  cuatro  partes.
Machine Translated by Google

2.10  Problemas  Resueltos 81

ABCDWXYZ
X  0000  0 X 0
0001  0  00  X
0010  1  01X
0011  1  011
0100  1  101
0101  0  000
0110  0  100
0111  0  011
1000  1  110
1001  1  100  1010  1  100  1011  0  000  1100  0  111

1101  0  01  X
1110  1  10  X
1111  1  10  X

a.  No  importa  si  uno  considera  que  0  es  un  múltiplo  de  2  o  de  3  porque  es  
un  múltiplo  de  ninguno  o  de  ambos.  En  ambos  casos,  W  0.  Para  la  
siguiente  fila,  1  no  es  un  múltiplo  de  2  o  3;  por  lo  tanto,  W  0.  Para  las  
siguientes  tres  filas  W  1  porque  2  y  4  son  múltiplos  de  2,  pero  no  de  
3,  y  3  es  un  múltiplo  de  3,  pero  no  de  2.  Tanto  5  como  7  son  múltiplos  de  
ninguno  y  6  es  un  múltiplo  de  ambos;  por  lo  tanto,  para  las  siguientes  
tres  filas,  W  0.  Entonces,  8,  10  y  14  son  múltiplos  de  solo  2;  9  y  15  son  
múltiplos  de  solo  3;  todos  estos  producen  una  salida  de  1.  Los  otros  
producen  una  salida  de  0  (12  es  un  múltiplo  de  2  y  3).  b.  Un  número  
primo  es  aquel  que  solo  es  divisible  por  1  o  
por  sí  mismo.  Tenga  en  cuenta  que  el  problema  especifica  que  la  salida  
es  0  para  números  primos  y,  por  lo  tanto,  es  1  para  números  que  no  
son  primos.  El  primer  no  primo  es  4  (2  2).  De  hecho,  todos  los  números  
pares  (excepto  2)  no  son  primos.  Debido  a  que  0  nunca  ocurre,  la  salida  
de  la  primera  fila  es  indiferente.

C.  Para  las  primeras  cuatro  filas,  el  primer  número  es  0.  Se  compara  en  filas  
sucesivas  con  0,  1,  2  y  3.  Solo  2  y  3  difieren  de  0  en  2  o  más.  En  el  
siguiente  grupo  de  cuatro  filas,  el  primer  número  es  1;  sólo  difiere  de  3  
por  2  o  más.  En  las  siguientes  cuatro  filas,  2  difiere  de  0  solo  en  2  o  más.  
Finalmente,  en  las  últimas  4  filas,  3  difiere  de  0  y  1  en  2  o  más.  d.  Un  
cuadrado  perfecto  es  un  número  entero  
que  se  obtiene  al  multiplicar  algún  número  entero  por  sí  mismo.  Por  lo  
tanto,  0,  1,  4  y  9  son  cuadrados  perfectos.  Tenga  en  cuenta  que  las  
primeras  tres  filas  y  las  últimas  tres  filas  son  indiferentes  porque  esas  
combinaciones  de  entrada  nunca  ocurren.

2.  El  sistema  es  un  dispositivo  de  advertencia  de  velocidad.  Recibe,  en  dos  
líneas,  una  indicación  del  límite  de  velocidad  en  la  autopista.  Hay  tres
Machine Translated by Google

82 Capítulo  2  Sistemas  combinacionales

valores  posibles:  45,  55  o  65  mph.  Recibe  del  automóvil,
en  otras  dos  líneas,  una  indicación  de  la  velocidad  del  vehículo.  Allá
cuatro  valores  posibles:  menos  de  45,  entre  46  y  55,  entre  56
y  65,  y  más  de  65  mph.  Produce  dos  salidas.  El  primero,  f,
indica  si  el  coche  va  por  encima  del  límite  de  velocidad.  El
la  segunda,  g,  indica  que  el  auto  está  conduciendo  a  una  “velocidad  peligrosa”—
definido  como  más  de  65  mph  o  más  de  10  mph  por  encima  de  la
Límite  de  velocidad.  Muestre  cómo  se  codifica  cada  una  de  las  entradas  y  salidas  (en
términos  de  valores  binarios)  y  complete  la  tabla  de  verdad  para  este  sistema.

El  primer  paso  es  codificar  las  entradas.  Elegimos  (arbitrariamente)  lo  que  es
se  muestra  en  las  siguientes  tablas.

Límite  de  velocidad a b Velocidad C d
45 0 0 45 0 0
55 0 1 46–55 0 1
65   1 0 56–65 1 0
sin  usar 1 1 sesenta  y  cinco 1 1

Las  salidas  serán  1  si  el  automóvil  está  acelerando  o  conduciendo  de  manera  peligrosa.

abcdfg
0   0   0  000
45 0   0   0  0 1 1
0   0   1  011
0 0 1  111
0   1   0  000
55 0   1   0  0 1 0
0   1   1  010
0 1 1  111
1   0   0  000
sesenta  y  cinco 1   0   0  0 1 0
1   0   1  000
1 0 1  111
1100X X
1101X X
1110X X
1111X X

3.  Muestre  un  diagrama  de  bloques  de  un  circuito  usando  puertas  AND  y  OR  para
cada  lado  de  P8b:  a  bc  (a  b)(a  c)

a
a
a  B  C b

( abdominales)  ( C.A )
b
a
C
C
Machine Translated by Google

2.10  Problemas  Resueltos 83

4.  Muestre  una  tabla  de  verdad  para  las  siguientes  funciones:
a.  F  XY  YZ  XYZ
b.  G  XY  (X  Z)(Y  Z)

(a) (b)

XYZ  XY  YZ  XYZ  F  XYZ  XY  XZYZ  ()  ()  G
000   0   0   1   000   0   1   0   0  0
001   0   0   1   0   001   0   0   1   0  0
010   0   0   0   0   010   1   1   1  1

011   0   0   1   011   0   1   0  1


100   1   0   1   100   1   1   0   0  0
101   0   0   1   101   1   1   1   1  1

110   1   0   0   0   110   0   1   1   1  1

111 1  0  0 0  1 0  0 1 111 0  0  0 1 1 1  1

5.  Determinar,  mediante  tablas  de  verdad,  si  cada  uno  de  los  grupos
de  expresiones  son  iguales:

a.  fa  ca  ab  ca
g  bc  ca  ca
b.  f  PQ  PR  QR
g  Q  PQR

(a)

abc  ca  ab  ac  f  bc ca  ca  g
000   0   0   1   0   0   1
001   1   0   0   0   0   0   1   0
010   0   1   0   0   1
011   0   0   1   0   0   1
100   1   1   0   0   1   0   1   0
101   0   1   1   0   0   1
110   0   0   1   0   0   1   0   0
111 0  0  0 0  0  0 0  1 1 0  1 0  1 0  0  0 1

Las  dos  funciones  son  iguales.

(b)

PQR  PQ  PR  QRfQ  PQR  g
000   0   0   1   0   1
001   0   1   0   1
010   1   0   1   1   0   0   0
011   1   0   0   1   0   0   0
100   0   0   0   0   1   0   1 ←
101   0   1   0   1
110   0   1   0   0   0   0   0
111 0  0  0 0  1 1  0  0 0  1  0  1 0 1 1
Machine Translated by Google

84 Capítulo  2  Sistemas  combinacionales

Tenga  en  cuenta  que  para  la  fila  100  (marcada  con  una  flecha  marrón ),  f  0  y
g  1.  Por  lo  tanto,  las  dos  funciones  son  diferentes.

6.  Para  cada  una  de  las  siguientes  expresiones,  indique  cuál  (si  alguna)  de
se  aplica  lo  siguiente  (más  de  uno  puede  aplicar):
i.  Término  del  producto

ii.  Expresión  de  suma  de  productos
iii.  Término  de  suma

IV.  expresión  producto  de  sumas
a.  abdominales

b.  un  malo

C.  (a  b)(c  anuncio)
d.  abdominales

mi.  (a  b)  (b  c)  (a) cd )

a.  i.  producto  de  dos  literales

ii.  suma  del  término  de  un  producto

IV.  producto  de  dos  sumas  de  términos

b.  ii.  suma  de  dos  términos  producto

C.  ninguno;  el  segundo  término  no  es  un  término  de  suma

d.  ii.  suma  de  dos  términos  producto
iii.  suma  de  dos  literales

IV.  producto  de  un  término  de  suma

mi.  IV.  producto  de  tres  sumas  de  términos

7.  En  las  expresiones  del  problema  6,  ¿cuántos  literales  hay  en  cada  una?

a.  2 b.  4 C.  5 d.  2 mi.  7

8.  Usando  las  Propiedades  1  a  10,  reduzca  las  siguientes  expresiones  a  un
formulario  SOP  mínimo.  Muestre  cada  paso  (número  de  términos  y
número  de  literales  en  mínimo  mostrado  entre  paréntesis).

a.  xyz  xyz  b.  xyz   (1  término,  2  literales)
xyz  xyz  xyz  xyz  (2  términos,  3  literales)
C.  f  abc  abc  abc  abc  (3  términos,  6  literales)

a.  xyz  xyz  xy  (z  [P8a,  P5aa,  P3b]z)  xy  1  xy
o,  en  un  solo  paso,  usando  P9a,  donde  a  xy  y  bz
Machine Translated by Google

2.10  Problemas  Resueltos 85

b.  xyz   xyz  x  yz  xy  z  xyz
Hacer  dos  copias  de  xyz
xyz  xyzxyz  x  yz  xy  z  xyz [P6a]
xyzzxzyy  xz  yy [P8a]
xy  1  xz  1  xz  1 [P5aa]
xy  xz  xz [P3b]
xy  xxz  xy  1  z [P8a,  P5aa]
xy  z [P3bb]
o,  sin  usar  P6a,  (xyz  
xyz)  x  yz  (xy  z  xyz )
xyx  yz  xz [P9a]
x  (y  yz )  xz  x   [P8a]
(yz )  xz [P10a]
xy  xz  xz [P8a]
xy  z [P9a]
Tenga  en  cuenta  que  podríamos  seguir  un  camino  que  no  nos  
lleva  a  la  respuesta  correcta,  al  combinar  los  dos  últimos  términos  
en  la  segunda  línea  de  esta  segunda  
secuencia,  
resultando  xy  z(xy  x)  xy  z  ( y  x ) [P10a]
xy  yz  xz [P8a]
Este  es  un  callejón  sin  salida.  Tiene  más  términos  que  el  mínimo  
(que  se  proporcionó)  y  no  tenemos  las  herramientas  (en  las  
Propiedades  1  a  10)  para  reducirlo  aún  más  sin  volver  a  la  
expresión  original  (o,  al  menos,  a  la  primera  reducción).  A  
continuación,  debemos  
volver  atrás  y  empezar  de  nuevo.  C.  Hay  dos  enfoques  para  este  
problema.  En  el  primero,  notamos  que  abc  se  puede  combinar  con  
cada  uno  de  los  otros  términos.  Así,  
hacemos  tres  copias  de  él,  usando  abc  abc  abc  abc [P6a]
f  (abc  abc )  (ab  c  abc )  ab  ac  bc ( a  bc  abc )
[P9a]
En  el  segundo  enfoque,  simplemente  usamos  abc  para  
combinar  con  el  término  
al  lado,  produciendo  f  abc  abc  abc  abc  abc  ab  c  bc   [P9a]
abc  c  ( bba )  abc  c  ( ba )  abc  bc  ac
[P10a]
a  ( ccb )  bc  a  ( cb )  bc  ac  ab  bc
[P10a]
o,  en  lugar  de  las  dos  últimas  líneas,
Machine Translated by Google

86 Capítulo  2  Sistemas  combinacionales

b(c  ca)  ac  b(c  a)  ac  bc  ab  ac
[P10a]
En  este  enfoque,  usamos  P10a  dos  veces  para  eliminar  un  literal  del  
segundo  término  y  luego  del  primero.  Podríamos  haberlo  hecho  en  
cualquier  orden.  De  hecho,  había  dos  formas  de  hacer  el  último  paso  (como  
se  muestra  en  las  dos  últimas  líneas).

9.  Usando  las  Propiedades  1  a  10,  reduzca  las  siguientes  expresiones  a  
un  formulario  POS  mínimo.  Muestre  cada  paso  (número  de  términos  
y  número  de  literales  entre  paréntesis).

a.  (ab c)  (ab  c)  (a b  c)  (ab  c)  (2  


términos,  4  
literales)  b.  (xy  z)  (xy  z)  (xy  z)  (2  términos,  4  literales)
a.  Agrupamos  los  dos  primeros  y  los  dos  últimos  términos  y  usamos  la  Propiedad  9b

[(a  b  c)(a  b  c )][( a  b  c )(a  b  c)]  [a  b][a  c]  b.  Podemos  
hacer  una  
segunda  copia  del  término  medio  y  agruparlo
con  cada  uno  de  los  otros

(xy  z)(x  y  z)(x  y  z)  [(x  y  z)(x  y  z)][(x  y  z)
(x  y  z)]  [x  z][x  y]

Si  no  hacemos  la  segunda  copia,  
obtenemos  [x  z](x  y  z)
Entonces  podemos  usar  
X P8b  para  obtener  z   [P8a,  P5bb,  P3a]
(y  z)  x  yz  (x  y)(x  z) [P8b]
10.  Muestre  un  diagrama  de  bloques  de  un  sistema  que  use  compuertas  AND,  
OR  y  NOT  para  implementar  la  siguiente  función.  Suponga  que  las  
variables  están  disponibles  solo  sin  complementar.  No  manipules  el  álgebra.
F  [A  (B  C)  BDE]  (A  CE)
B
D
mi

A
B

C
F
C

mi

A
Machine Translated by Google

2.10  Problemas  Resueltos 87

11.  Para  cada  uno  de  los  siguientes  circuitos,  
i.  encontrar  una  expresión  algebraica.  
ii.  ponerlo  en  forma  SOP.

a. d

mi

gramo

C
d

mi
b.
C

antes  

de  Cristo F

a.  i.  g  (d  e)c  cde  ii.  g  cd  ce  
cde  b.  i.  f  ac  ab[cd  c(a  
b)]
ii.  f  ac  abcd  abc  abcb
ac  abcd  abc
ac  abcd  ab* [P10a]
12.  Encuentra  el  complemento  de  las  siguientes  expresiones.  Solo  
las  variables  individuales  pueden  
complementarse  en  la  
respuesta.  a.  f  xyz  xyz  xyz  b.  g  (wx  y)(w  x  z)(w  xy  
z)  c.  h  (a  bc)d  (a  c)(c  d)
a.  f  (xy  z)(x  y  z)(x  y  z)
SOP  se  convierte  en  POS.

*  Veremos  más  adelante  que  esto  se  puede  reducir  aún  más.
Machine Translated by Google

88 Capítulo  2  Sistemas  combinacionales

b.  g  wxy  wxz  wxyz  POS  se  
convierte  en  SOP.
C.  h  [a(b  c)  d][ac  cd]  o,  paso  a  paso  
h  [a  bcd][a  cc  
d]  [a  bc  d][a  cc  d]  [abc  d][ac  cd]  [ab  c  
d ][ac  cd]

13.  Para  la  siguiente  tabla  de  
verdad,  abc  f
000  0  001  
1  010  0  
011  1  100  
1  101  0  
110  1  111  
1

a.  Muestra  los  minitérminos  en  forma  numérica.

b.  Mostrar  una  expresión  algebraica  en  forma  de  suma  de  
minitérminos.  C.  Mostrar  una  expresión  SOP  mínima  (dos  soluciones,  tres  
términos,  seis  
literales  cada  uno).  d.  Muestra  los  minitérminos  de  f  (complemento  de  f)  en  
forma  numérica.  mi.  Muestre  una  expresión  algebraica  para  f  en  producto  de  maxterm
forma.

F.  Muestre  una  expresión  POS  mínima  para  f  (dos  términos,  cinco
literales).

a.  f  (a,  b,  c)  m(1,  3,  4,  6,  7)  b.  f  
abc  abc  abc  abc  c.  f  ac  ac  abc

ca  ca  ab (usando  P10a  en  los  dos  últimos  
ac  ac  ac términos)  (usando  P10a  en  el  primer  y  último  término)

d.  fa,  b,  c   m0,  2,  5  
e.  fa,  b,  c m0,  2,  5
abc  abc  abc
f  (ab  c)(a  b  c)(a  b  c)  f.  Reordenando  los  
dos  primeros  términos  de  f,  vemos  que  la  adyacencia  (P9b)  
es  útil.  f  ac  ba  
c  ba  bc  a  ca  bc
Machine Translated by Google

2.10  Problemas  Resueltos 89

O  podemos  minimizar  f  y  luego  usar  el  teorema  de  DeMorgan:  
f  ac  abc  f  (a  c)(a  
b  c)

14.  Para  la  siguiente  función,
f  (x,  y,  z) m(2,  3,  5,  6,  7)
a.  Muestra  la  tabla  de  verdad.

b.  Muestre  una  expresión  algebraica  para  f  en  forma  de  suma  de  
minitérminos.  C.  Muestre  una  expresión  SOP  mínima  para  f  (dos  términos,  tres
literales).
d.  Muestra  los  minitérminos  de  f  (complemento  de  f)  en  forma  numérica.  
mi.  Muestre  una  expresión  algebraica  para  f  en  producto  de  maxterm
forma.

F.  Muestre  una  expresión  POS  mínima  para  f  (dos  términos,  cinco
literales).

a.
xyz  f
000  0  001  
0  010  1  
011  1  100  
0  101  1  
110  1  111  
1

b.  f  xyz  xyz  xyz  xyz  xyz  c.  f  xy  xyz  xy

y  xyz
yxz
d.  fx,  y,  z  m0,  1,  4  e.  f  xyz  
xyz  xyz  f  (xy  z)  (xy  z)(x  y  z)

F.  f  xyz  xyz  xyz  xyz
xy  yz
f  (x  y)  (y  z)

15.  Muestre  un  diagrama  de  bloques  correspondiente  a  cada  una  de  las  
siguientes  expresiones  usando  solo  compuertas  NAND.  Suponga  
que  todas  las  entradas  están  disponibles  tanto  sin  complementar  
como  complementadas.  No  hay  necesidad  de  
manipular  las  funciones  para  simplificar  
el  álgebra.  a.  f  abd  bde  bcd  as  b.  g  b(cd  ce)  (a  ce)  (a  bd)
Machine Translated by Google

90 Capítulo  2  Sistemas  combinacionales

a
C
bd
mi b

bd  e a gramo

F C
b
mi

cd  _
a
a b

ce  _ d

(a) (b)

Tenga  en  cuenta  que  en  la  parte  (a),  este  es  un  circuito  de  dos  niveles.  En  
la  parte  (b),  las  únicas  entradas  que  van  directamente  a  un  OR  son  ay  a ;  
se  complementan.

16.  Muestre  un  diagrama  de  bloques  correspondiente  a  cada  una  de  las  
siguientes  expresiones  usando  solo  compuertas  NOR.  Suponga  que  
todas  las  entradas  están  disponibles  tanto  sin  complementar  como  
complementadas.  No  hay  necesidad  de  manipular  las  funciones  para  
simplificar  el  álgebra.  a.  f  (a  b)(a  c  d)(b  d)  b.  
g  [ab  a(c  d)](b  d)

b
d
a

b C
gramo

a d
F a a
cd
b a a
d b b

(a) (b)

17.  Para  cada  uno  de  los  siguientes  circuitos,  

i.  Encuentra  una  expresión  algebraica.
ii.  Póngalo  en  forma  SOP  mínima.
Machine Translated by Google

2.10  Problemas  Resueltos 91

a a
X
b b

F gramo

a C
y
C d

(a) (b)

antes  

de  Cristo

F
C

(C)

a.  i.  f  (a  b)  (a  c)
ii.  f  ab  ab  ac  ac  ab  ab  ac  ac  ab  
ab  ac  ac
ab  ab  ac  ac  ab  abac  ac
abc  abc  abc  abc
antes  de  Cristo

b.  i.  gxy  ab  ab  ii.  g  ab  ab  cd   cd
c.  i.  f  {[(a  b)  c](cd)}  [(b(cd)]  
ii.  f  {[a  b  c]  cd}  [b  cd]

a  bc  cd  b  cd
ac  bc  cd  b  ac  c  cd  b
c  ca  cd  b  c b

18.  Reduzca  las  siguientes  expresiones  a  un  formato  SOP  mínimo.
Muestre  cada  paso  (número  de  términos  y  número  de  literales  
como  mínimo  mostrado  entre  paréntesis).

a.  FABULOSO  ABCD (3  términos,  4  
literales)  b.  f  xyz  wxz  wxyz  wxz  wxyz  (3  
términos,  7  literales)
C.  g  wxy  xyz  wxyz  xyz  wy
(3  términos,  6  literales)
Machine Translated by Google

92 Capítulo  2  Sistemas  combinacionales

d.  H  AB  BC  ACD  ABD  ACD
(2  términos,  4  literales)
mi.  G  ABC  ACD  ABC  BCD  AD
(2  términos,  4  literales)
F.  f  abc  bcd  acd  abd
(2  soluciones,  3  términos,  9  literales)
a.  FABULOSO  ABCD
A  ABCD  B
A  BCD  B [P10a]
A  BCD  _
A  B  C  D [P10a]
También  podemos  lograr  el  mismo  resultado  usando  un  enfoque  diferente.

AB  ABCD  AB  A  BCD [P11a]
A  B  C  D [P10a]
b.  f  xyz  wxz  wxyz  wxz  wxyz
xyz  wxz  wxyz  wxz [P12a]
xyz  xz  wxyz [P9a]
xyz  xz  wyz
xyz  xz  wy [P10a]
xyz  xz  wxy
zxy  x  wxy
zy  x  wxy [P10a]
yz  xz  wxy
C.  Hay  dos  formas  de  aplicar  P10a.  Si  lo  usamos  con  el  primero
y  tercer  términos,  obtenemos

g  w(y  yxz)  xy
w(y  xz)  xy
wy  wxz  xy
Pero  ahora,  no  hay  nada  más  que  podamos  hacer  (sin  mucho
de  retroceso  o  P13a).
Sin  embargo,  si  primero  usamos  P10a  con  el  segundo  y  tercer  término,

g  wy  y(x  xwz)  wy  y(x  
wz)
wy  xy  wyz
Ahora  podemos  aplicar  P10a  nuevamente  al  primer  y  tercer  término  para
producir  la  solución  con  seis  literales.
g  w(y  yz)  xy  w(y  z)  xy  wy  wz  xy
Machine Translated by Google

2.10  Problemas  Resueltos 93

d.  H  AB  BC  ACD  ABD  ACD
AB  BC  CA [P12a,  P9a]
AB  A.C. [P13a]
mi.  G  ABC  ACD  ABC  BCD  AD
ABC  ABC  ANUNCIO  BCD [P12a]
CA  AD  BCD [P9a]
Pero,

AC  ¢  AD  CD
G  AC  AD  BCD  CD [P13a]
AC  AD  CD [P12a]
anuncio  de  CA [P13a]
Tenga  en  cuenta  que  usamos  el  consenso  para  agregar  primero  un  término  y  
luego  eliminar  ese  mismo  término.

F.  f  abc  bcd  acd  abd  Desde

abc  ¢  bcd  acd

el  término  de  consenso  puede  eliminarse  y,  por  lo  tanto,

f  abc  bcd  abd

No  es  posible  ninguna  reducción  adicional;  el  único  consenso  que  
existe  entre  los  términos  de  esta  expresión  reducida  produce  el  
término  acd,  el  que  acabamos  de  eliminar.  Ninguna  de  las  otras  
propiedades  se  puede  utilizar  para  reducir  aún  más  esta  función.

Sin  embargo,  si  volvemos  a  la  función  original,  notamos  
que  existe  otro  consenso:

acd  ¢  abd  abc

y  así  el  término  abc  puede  eliminarse,  produciendo

f  bcd  acd  abd

Esa  es  otra  solución  mínima  igualmente  buena  (porque  no  
es  posible  una  mayor  minimización).  Aunque  encontramos  
dos  aplicaciones  de  consenso  en  esta  función,  no  
podemos  aprovecharlas  porque  no  importa  cuál  usemos  
primero,  el  término  necesario  para  formar  el  segundo  
consenso  ha  sido  eliminado.

19.  Expande  la  siguiente  función  a  la  forma  de  suma  de  minitérminos

F(A,  B,  C)  A  BC
Machine Translated by Google

94 Capítulo  2  Sistemas  combinacionales

Tenemos  la  opción  de  dos  enfoques.  Podríamos  usar  P3b,
P5aa  (ambos  de  derecha  a  izquierda)  y  P8a  repetidamente  para  producir

A  BC  AB  BA  ABC
AB  AB  ABC  ABC
ABC  C  ABC  C  ABC  ABC
abc  abc  abc  abc  abc  abc
abc  abc  abc  abc  abc

habiendo  eliminado  el  término  duplicado  (ABC).  O  podríamos  usar  un
tabla  de  verdad,  como

ABC  BC  F
000   0   0
001   1 1
010   0   0
011   0   0
100   0   1
101   1 1
110   0   1
111 0 1
y  por  lo  tanto,

F  ABC  ABC  ABC  ABC  ABC

que  es  igual  a  la  expresión  anterior  reordenada,  o
F  (A,  B,  C) m(1,  4,  5,  6,  7)

20.  Convierta  cada  una  de  las  siguientes  expresiones  a  la  forma  SOP:
a.  (wx  z)(w  y  z)(x  y  z)
b.  (abc  d)(b  c  d)(b  c)

a.  wx  zw  y  zx  y  z
[z  w  xx  y]  w  yz [P8b]
z  wx  xyw  yz [P14a]
zw  y  zwx  xy [P14a]
wz  yz  wxz  xyz [P8a]
Tenga  en  cuenta  que  esta  no  es  una  expresión  SOP  mínima,  aunque
el  original  era  una  expresión  POS  mínima.  Usando  P10a,
podría  reducir  esto  a

wz  yz  wxz  xy
b.  a  bc  db  c  db  c
[bc  a  dd]  b  c  b  c  adb  c [P8b]
[P8b,  P5b,  P3a]
Machine Translated by Google

2.10  Problemas  Resueltos 95

anuncio  de  bc  bc [P14a]
bc  bc  abd [P8a]
o  usando  c  en  lugar  de  b  para  P14a
b  c  adb  c
anuncio  bc  cb
bc  bc  acd
Estas  son  dos  soluciones  igualmente  buenas.

21.  Convierta  la  siguiente  expresión  a  la  forma  POS:
acd  acd  ac

acd  acd  ac
cb  anuncio  cad [P8a]
c  adc  b  anuncio [P14a]
c  ac  dc  b  ac  bd [P8b]
Dos  comentarios  están  en  orden.  Esto  no  está  en  forma  mínima  de  POS.
P12b  nos  permite  manipular  el  primer  y  tercer  término  para
reemplace  el  tercer  término  por  (a  b).  Podríamos  haber  comenzado  el
factorizando  a  a  partir  de  los  dos  primeros  términos,  pero  eso
requieren  más  trabajo.

22.  Implementa  cada  una  de  las  siguientes  expresiones  (que  ya  son
en  formato  SOP  mínimo)  usando  solo  compuertas  NAND  de  dos  entradas.
Ninguna  puerta  puede  usarse  como  NOT.  Todas  las  entradas  están  disponibles  tanto
sin  complementar  y  complementado.  (El  número  de  puertas
requerido  se  muestra  entre  paréntesis).
a.  f  wy  xyz  wyz  xyz  b.  f  abc  abd   (8  puertas)
acd  abc  c.  F  BCD  BD  ACD  ABC (8  puertas)
(7  puertas)
d.  g  abcd  abcd  as  abd  ser (12  puertas)

a.  f  y(w  xz)  y(xz  wz)

z y

w F

z y
Machine Translated by Google

96 Capítulo  2  Sistemas  combinacionales

b.  f  =  abc  +  abd  +  acd  +  abc  
Factorizando  ab  de  los  dos  primeros  términos  y  a  del  segundo,  

obtenemos  f  =  ab(c  +  d)  +  a(cd  +  bc)
Pero  eso  requeriría  un  AND  de  tres  entradas  para  el  primer  
término.  Podríamos  distribuir  a  o  b  entre  paréntesis,  obteniendo
f  =  a(bc  +  bd)  +  a(cd  +  bc)
Eso  requiere  nueve  puertas.  En  su  lugar,  podemos  factorizar  c  a  partir  del  primer  
y  último  término,  y  d  a  partir  de  los  términos  intermedios,  dando  

como  resultado  f  =  c(ab  +  ab)  +  d(ab  +  ac)

Como  el  término  ab  aparece  dos  veces,  podemos  compartir  esa  puerta,  
produciendo

a C

b F

C.  F  =  AC(B  +  D)  +  BCD  +  BD
=  (C  +  BD)[C  +  A(B  +  D)]  +  BD

B
B
D
D
A
F

Tenga  en  cuenta  que  la  puerta  de  la  izquierda  se  usa  para  implementar  tanto  el  
término  BD  como  el  término  (B  D).

d.  g  abcd  abcd  as  abd  ser

El  primer  intento  de  solución  produce  una  con  13  puertas.
Machine Translated by Google

2.10  Problemas  Resueltos 97

g  dabc  abc  eb  ac  abd
d  abd  abc  abc  eb  ac
d  ab[d  a  bca  bc]  eb  ac  1  2  3  4  5  6  7  8  9  10  11  
12  13

Otro  enfoque  es

g  abcd  ce  abcd  bd  ser
[a  bcd  ce][a  bcd  bd]  sea  [ac  bdc  e][a  (b  
d)b  cd]  sea  3  8  9  10  11  12
1 2  3  4  5  6  7

donde  la  puerta  tres  se  usa  dos  veces,  como  sigue.

d
b
C mi

C
gramo

mi a

23.  Para  la  siguiente  función,  muestre  el  diagrama  de  bloques  para  un
Implementación  de  puerta  NAND  que  utiliza  solo  cuatro  módulos  de  puerta  
NAND  de  la  serie  7400.  Ninguna  puerta  puede  usarse  como  NOT.  Suponga  
que  todas  las  variables  están  disponibles  tanto  sin  complementar  como  
complementadas.  (Tenga  en  cuenta  que  una  solución  de  dos  niveles  requeriría  
2  puertas  de  seis  entradas  y  una  puerta  de  cinco  entradas  (cada  una  de  las  
cuales  se  implementaría  con  un  módulo  7430  que  contiene  1  puerta  de  ocho  
entradas),  más  un  7420  para  la  puerta  de  cuatro  entradas  y  un  7410  para  las  
2  puertas  de  tres  entradas  y  la  1  puerta  de  dos  entradas).

g  abcdef  def  ab  cde  adef  abcdf

g  abc(def  df)  de(c  f )  a(b  def)
Esto  requiere  1  compuerta  de  cuatro  entradas  (para  el  primer  término),  4  
compuertas  de  tres  entradas  y  5  compuertas  de  dos  entradas  (una  7420,  con  
la  segunda  compuerta  usada  como  una  de  tres  entradas,  una  7410  y  dos  7400  con  tres
Machine Translated by Google

98 Capítulo  2  Sistemas  combinacionales

puertas  sin  usar).  Si  necesitáramos  que  no  se  usaran  puertas  de  cuatro  entradas,  
podríamos  manipular  aún  más  el  álgebra  de  la  siguiente  manera:

g  [un bc(def  df)][a  b  def]  de(c  f)
usando  P14a  en  el  primer  y  último  término,  lo  que  requeriría  5  puertas  
de  tres  entradas  y  6  puertas  de  dos  entradas  (todavía  cuatro  módulos).
También  podríamos  hacer  una  factorización  completamente  diferente,  produciendo

g  deabcf  af  dabcf  ef  ce  ab
[d  eabcf  af][d  abcf  ef  ce]  ab  [d  ea  ff  abc]  [d  ce  f  abcf  
e]  ab

Esto  requiere  3  puertas  de  tres  entradas  y  10  puertas  de  dos  entradas  (también  cuatro  
módulos),  como  se  muestra  a  continuación.

mi a

F b

a
gramo

F d
a
antes  

de  Cristo

F
d

mi

F
C

mi

24.  Lo  siguiente  ya  está  en  forma  de  suma  mínima  de  productos.
F  BDE  ABD  ABCD  ABDE  ABDE  ACDE

Todas  las  variables  están  disponibles  tanto  sin  complementar  como  
complementadas.  Encuentre  dos  soluciones,  cada  una  de  las  cuales  use  no  
más  de  tres  paquetes  de  circuitos  integrados  de  puertas  NAND  (4  puertas  
de  dos  entradas  o  3  de  tres  entradas  o  2  puertas  de  cuatro  entradas  por  
paquete).  Una  solución  debe  usar  solo  puertas  de  dos  y  tres  entradas;  el  otro  
debe  usar  al  menos  1  paquete  de  puerta  de  cuatro  entradas.

El  punto  de  partida  más  fácil  es  factorizar  pares  de  términos  de  la  siguiente  manera:

F  BD( AE)  BD(AC  AE)  ADE(BC )
Machine Translated by Google

2.10  Problemas  Resueltos 99

Esto  de  hecho  corresponde  a  una  solución  que  satisface  el  problema.
requisitos  Hay  3  puertas  de  tres  entradas  (correspondientes  a  la
el  primer  AND  de  BD  ( ),  el  segundo  AND  de  BD  ( ),  y  la  salida
O).  Hay  1  puerta  de  cuatro  entradas,  correspondiente  al  último  AND,
y  5  puertas  de  dos  entradas.  Por  lo  tanto,  necesitamos  un  7420  para  el  de  cuatro  entradas
puerta;  la  segunda  puerta  de  ese  paquete  se  puede  utilizar  como  la  quinta  
puerta  de  dos  entradas.  Las  3  puertas  de  tres  entradas  requieren  un  7410,  y  la
las  4  puertas  de  dos  entradas  restantes  requieren  un  7400.
Al  utilizar  P14a,  obtenemos

F  BD(A  E)  BD(A  E)(A  C)  ADE(B  C)

Tenga  en  cuenta  que  el  término  AE  aparece  dos  veces  en  la  expresión,  y
así  podemos  compartir  la  salida  de  la  puerta  NAND  que  lo  crea.
Esto  requiere  2  puertas  de  cuatro  entradas,  2  puertas  de  tres  entradas  y  3  
puertas  de  dos  entradas,  dejando  una  puerta  adicional  de  dos  y  tres  entradas  sin  usar.
(Esto  podría  ser  útil  si  estuviéramos  construyendo  otros  circuitos  en  el
mismo  tiempo  y  físicamente  cerca  de  este.)  Un  diagrama  de  bloques  de
este  circuito  sigue.

C A
D
mi

B
D F
A

mi
B
A D
C

Si  deseamos  encontrar  una  solución  que  no  utilice  puertas  de  cuatro  entradas,
entonces  podemos  factorizar  D  a  partir  de  los  cuatro  términos  que  lo  contienen,  como
sigue:

F  D[B(A  E)  AE(B  C)]  BD(AC  AE)
2  2  2 2  3 2 2  3 2  2  2

Como  puede  verse  en  el  listado  bajo  la  expresión,  este
implementación  requiere  9  puertas  de  dos  entradas  y  2  de  tres  entradas
unos,  un  total  de  tres  fichas.  Hay  varias  otras  soluciones
que  no  enumeraremos  aquí  (pero  ninguno  de  ellos  usa  solo
puertas  de  dos  entradas).
Machine Translated by Google

100 Capítulo  2  Sistemas  combinacionales
SOICICREJE

2.11  EJERCICIOS
1.  Muestre  una  tabla  de  verdad  para  un  restador  completo  de  1  bit  que  tiene  un  contenedor  
de  entrada  prestada  e  entradas  x  e  y,  y  produce  una  diferencia,  d,  y  una  salida  
prestada,  sobre .

binx

combate  d

2.  Muestre  tablas  de  verdad  para  cada  uno  de  los  
siguientes.   a.  Hay  cuatro  entradas  y  tres  salidas.  Las  entradas,  w , x ,  y ,  z ,
son  códigos  para  la  calificación  que  se  puede  recibir:
0000  A  0100  B  1000  D  1100  Incompleto
0001  A  0101  C  1001  D  1101  Satisfactorio
0010  B  0110  C  1010  D  1110  Insatisfactorio
0011  B  0111  C  1011  F 1111  Pase

Los  resultados  

son  1:  a  1  si  y  solo  si  la  calificación  es  C  o  mejor  (solo  calificaciones  
con  letras;  C  no  es  C  o  mejor)  2:  a  
1  si  y  solo  si  la  universidad  lo  contará  para
los  120  créditos  requeridos  para  un  título  (calificación  aprobatoria  
solamente)  3:  un  1  si  y  solo  si  se  contará  al  calcular  un  promedio  de  
calificaciones  (calificaciones  con  letras  solamente).

b.  Este  sistema  tiene  cuatro  entradas  y  tres  salidas.  Los  primeros  dos
las  entradas,  a  y  b,  representan  un  número  binario  de  2  bits  (rango  de  0  
a  3).  Un  segundo  número  binario  (mismo  rango)  está  representado  por  
las  otras  dos  entradas,  c  y  d.  La  salida  f  debe  ser  1  si  y  solo  si  los  dos  
números  difieren  exactamente  en  2.  La  salida  g  debe  ser  1  si  y  solo  si  
los  números  son  iguales.  La  salida  h  debe  ser  1  si  y  solo  si  el  segundo  
número  es  mayor  que  el  primero.
C.  El  sistema  tiene  cuatro  entradas.  Los  primeros  dos,  a  y  b,  representan  un  
número  en  el  rango  de  1  a  3  (0  no  se  usa).  Los  otros  dos,  c  y  d,  
representan  un  segundo  número  en  el  mismo  rango.  La  salida,  y,  
debe  ser  1  si  y  solo  si  el  primer  número  es  mayor  que  el  segundo  o  el  
segundo  es  2  mayor  que  el  primero.   d.  Un  sistema  tiene  una  
salida,  F,  y  cuatro  entradas,  donde  las  primeras  dos  entradas  (A,  B)  
representan  un  número  binario  de  2  bits  (en  el  rango  de  0  a  3)  y  las  
segundas  dos  entradas  (C,  D)  representan  otro  número  binario.  
número  (mismo  rango).  F  debe  ser  1  si  y  solo  si  los  dos  números  son  
iguales  o  si  difieren  exactamente  en  1.  e.  Un  sistema  tiene  una  
salida,  F,  y  cuatro  entradas,  donde  las  primeras  dos  entradas  (A,  B)  
representan  un  número  binario  de  2  bits  (en  el  rango  de  0  a  3)  y  las  
segundas  dos  entradas  (C,  D)  representan
Machine Translated by Google

2.11  Ejercicios 101

otro  número  binario  (mismo  rango).  F  debe  ser  1  si  y  solo  si  la  suma  de  los  
dos  números  es  impar.

F.  El  sistema  tiene  cuatro  entradas.  Los  dos  primeros,  a  y  b,  representan  un  
número  en  el  rango  de  0  a  2  (no  se  usa  3).  Los  otros  dos,  c  y  d,  
representan  un  segundo  número  en  el  mismo  rango.  La  salida,  y,  
será  1  si  y  sólo  si  los  dos  números  no  difieren  en  más  de  1.   g.  Los  
meses  del  año  se  codifican  
en  cuatro  variables,  abcd,  de  manera  que  enero  es  0000,  febrero  es  
0001, . . .  y  diciembre  es  1011.  Las  4  combinaciones  restantes  
nunca  se  utilizan.  (Recuerde:  30  días  tiene  septiembre,  abril,  junio  y  
noviembre.  Todos  los  demás  tienen  31,  excepto  febrero. . . .)  Muestre  
una  tabla  de  verdad  para  una  función,  g,  que  es  1  si  el  mes  tiene  31  días  y  
0  si  no  es  asi.

H.  Los  meses  del  año  se  codifican  como  en  2g,  excepto  que
Febrero  de  un  año  bisiesto  se  codifica  como  1100.  Muestra  una  tabla  de  
verdad  con  cinco  salidas,  v,  w,  x,  y,  z  que  indica  el  número  de  días  del  mes  
seleccionado.

i.  Repita  2h,  excepto  que  las  salidas  deben  estar  en  BCD  (código  8421).
Ahora  hay  seis  salidas,  u,  v,  w,  x,  y,  z  (donde  el  primer  dígito  decimal  se  
codifica  como  0,  0,  u,  vy  el  segundo  dígito  se  codifica  como  w,  x,  y,  z).  j.  
El  sistema  tiene  cuatro  entradas,  a,  b,  c  y  d,  y  una  salida,  f.
Las  últimas  tres  entradas  (b,  c,  d)  representan  un  número  binario,  n,  en  el  
rango  de  0  a  7;  sin  embargo,  la  entrada  0  nunca  ocurre.  La  primera  
entrada  (a)  especifica  cuál  de  los  dos  cálculos  se  realiza.

a  0:  f  es  1  si  n  es  múltiplo  de  2  a  1:  f  es  1  si  
n  es  múltiplo  de  3

k.  El  sistema  tiene  cuatro  entradas,  a,  b,  c  y  d,  y  una  salida,  f.
Las  dos  primeras  entradas  (a,  b)  representan  un  número  binario  (en  el  
rango  de  0  a  3)  y  las  dos  últimas  (c,  d)  representan  otro  número  en  el  rango  
de  1  a  3  (el  0  nunca  aparece).  La  salida,  f,  será  1  si  y  solo  si  el  segundo  
número  es  al  menos  dos  veces  mayor  que  el  primero.  yo  Muestre  
la  tabla  de  verdad  para  un  sistema  con  cuatro  entradas,  a,  b,  c  y  d,  y  dos  
salidas,  f  y  g.  Las  entradas  representan  un  dígito  BCD  entre  1  y  9  (código  
8421).  Todas  las  demás  entradas  nunca  suceden.
La  salida  f  es  1  si  y  solo  si  la  entrada  representa  un  número  impar  
mayor  que  6  o  un  número  par  menor  que  7.  La  salida  g  es  1  si  la  
entrada  representa  un  cuadrado  perfecto.  (Un  cuadrado  perfecto  es  
un  número  cuya  raíz  cuadrada  es  un  número  entero).
3.  Muestre  un  diagrama  de  bloques  de  un  circuito  usando  puertas  AND  y  OR  para
cada  lado  de  cada  una  de  las  siguientes  igualdades:  
a.  P2a:  a  (b  c)  (a  b)  c  b.  P8a:  a(b  c)  ab  ac
Machine Translated by Google

102 Capítulo  2  Sistemas  combinacionales
SOICICREJE

4.  Muestra  una  tabla  de  verdad  para  las  siguientes  
funciones:   a.  F  XY  YZ  XYZ
b.  G  XY  (X  Z)(Y  Z)  c.  H  WX  XY  WXZ  
XYZ  WXY

5.  Determina,  usando  tablas  de  verdad,  qué  expresiones  en  cada  uno  de  los  
grupos  son  iguales:  
a.  f  ac  ac  bc  ga  ca  bc   b.  f  
ac  bc  ab  g  bc  ac  ac  h  bc  ac  
ab

C.  f  ab  ac  abd  g  bd  abc  abd

6.  Para  cada  una  de  las  siguientes  expresiones,  indique  cuál  (si  alguna)  de  
las  siguientes  aplica  (puede  aplicar  más  de  una):  i.  
Término  del  producto
ii.  Expresión  SOP  iii.  
Término  de  suma
IV.  Expresión  POS  a.  
abcd  bcd  anuncio
b.  a b  cd
C.  b.d.c.

d.  (a  b)  c  b
mi.  a

  f.  a

  g.  a(b  c)  a(b  d)  h.  (ab  d)(a  b  c)  
7.  Para  las  expresiones  del  

problema  4,  ¿cuántos  literales  hay  en  cada  una?

8.  Usando  las  propiedades  1  a  10,  reduzca  las  siguientes  expresiones  a  un  
formato  SOP  mínimo.  Muestre  cada  paso  (número  de  términos  y  
número  de  literales  como  mínimo  mostrado  entre  paréntesis).  
a.  xz  xyz  xyz (1  término,  1  literal)  
b.  xyz  xyz  xyz (2  términos,  5  literales)  
C.  xyz  xyz  xyz  xyz   d.  abc  abc  abc   (3  términos,  7  literales)  
abc (2  términos,  4  literales)  
mi.  xyz  xyz  xyz  xyz (2  términos,  4  literales)
  f.  xyz  xyz  xyz  xyz  xyz
(2  soluciones,  cada  una  con  3  términos,  6  literales)
Machine Translated by Google

2.11  Ejercicios 103

gramo.  xyz  xyz  xyz  xyz  xyz  xyz
(3  términos,  5  literales)
H.  abc  abc  abc  abc  abc  abc

(3  términos,  5  literales)

9.  Usando  las  Propiedades  1  a  10,  reduzca  las  siguientes  expresiones  a  un
formulario  POS  mínimo.  El  número  de  términos  y  el  número  de  literales  
se  muestran  entre  paréntesis.  
a.  (ab  c)(a  b c)(a  b  c)(a  b  c)  (2  términos,  4  
literales)  b.  (xy  z)(x  y  
z)(x  y  z)(x  y  z)  (1  término,  1  literal)   c.  (ab  c)(a  b  c)(a  b  c)(a  
b  c)  (ab  c)  (2  
soluciones,  cada  una  con  3  términos,  6  literales)

10.  Muestre  un  diagrama  de  bloques  de  un  sistema  que  use  compuertas  AND,  
OR  y  NOT  para  implementar  las  siguientes  funciones.  Suponga  que  las  
variables  están  disponibles  solo  sin  complementar.  No  manipules  el  
álgebra.  a.  PQ  PR  QRb .  
ab  c(a  b)   c.  wx(v  
yz)  (wy  v)(x  yz)
11.  Para  cada  uno  de  los  siguientes  circuitos,  
i.  encontrar  una  expresión  algebraica.  
ii.  ponerlo  en  forma  de  suma  de  producto.

a   a  
B   B  
C C

b b
F gramo

d d

a a

C C

a. b.

d h

b a

C
C.
Machine Translated by Google

104 Capítulo  2  Sistemas  combinacionales
SOICICREJE

12.  Encuentra  el  complemento  de  las  siguientes  expresiones.  solo  soltero
las  variables  se  pueden  complementar  en  la  respuesta.
a.  f  abd  bc  acd  abcd
b.  g  (ab  c)(a  b  c)(a  b  c)
C.  h  (a  b)  (b  c)  d  (ab  c)
13.  Para  cada  una  de  las  siguientes  funciones:
f  x,  y,  z  m1,  3,  6
gx,  y,  z  m0,  2,  4,  6
a.  Muestra  la  tabla  de  verdad.

b.  Muestra  una  expresión  algebraica  en  forma  de  suma  de  minitérminos.
C.  Mostrar  una  expresión  SOP  mínima  (a:  2  términos,  5  literales;  b:  1  
término,  1  literal).
d.  Muestra  los  minitérminos  de  f  (complemento  de  f)  en  forma  numérica.
mi.  Mostrar  una  expresión  algebraica  en  forma  de  producto  de  maxtérminos.
F.  Mostrar  una  expresión  POS  mínima  (f:  2  soluciones,  3  términos,
6  literales;  g:  1  término,  1  literal)
14.  Para  cada  una  de  las  siguientes  funciones,

abc  fg
000  0  001  1   1
010  0  011  0   1
100  0  101  1   0
110  1  111  1 0
1
1
1
0
a.  Muestra  los  minitérminos  en  forma  numérica.

b.  Muestra  una  expresión  algebraica  en  forma  de  suma  de  minitérminos.
C.  Mostrar  una  expresión  SOP  mínima  (f:  2  términos,  4  literales;  g:  2  
términos,  3  literales).
d.  Muestra  los  minitérminos  de  f  (complemento  de  f)  en  forma  numérica.
mi.  Mostrar  una  expresión  algebraica  en  forma  de  producto  de  maxtérminos.
F.  Mostrar  una  expresión  POS  mínima  ( f:  2  términos,  4  literales;  g:  2  
términos,  4  literales)
15.  Para  cada  una  de  las  siguientes  funciones:
F  AB  BC  AC

G  (A  B)(A  C)  AB
a.  Muestra  la  tabla  de  verdad.

b.  Muestra  una  expresión  algebraica  en  forma  de  suma  de  minitérminos.
Machine Translated by Google

2.11  Ejercicios 105

C.  Mostrar  una  expresión  mínima  de  suma  de  productos  (F:  2  términos,
4  literales;  G:  2  términos,  3  literales).
d.  Muestra  los  minitérminos  del  complemento  de  cada  función  en  
forma  numérica.
mi.  Mostrar  una  expresión  algebraica  en  forma  de  producto  de  
maxtérminos.  F.  Mostrar  una  expresión  POS  mínima  ( F:  2  términos,  
4  literales;  G:  2  términos,  4  literales)
16.  Considera  la  siguiente  función  sin  importar:  G(X,  Y,  
Z)  m(5,  6)  d(1,  2,  4)

Para  cada  una  de  las  siguientes  expresiones,  indique  si  podría  usarse  
como  una  solución  para  G.  (Nota:  puede  que  no  sea  una  solución  
mínima).  a.  XYZ  XYZ d.  YZ  XZ  XZ
b.  Z  XYZ mi.  XZ  XZ
C.  X(YZ ) F.  YZ  YZ

17.  Muestre  que  el  NOR  es  funcionalmente  completo  implementando  un  NOT,  un  AND  
de  dos  entradas  y  un  OR  de  dos  entradas  usando  solo  NOR  de  dos  entradas.
18.  Para  cada  uno  de  los  siguientes  circuitos,  
i.  encontrar  una  expresión  algebraica.  
ii.  ponerlo  en  forma  SOP.

F
C

a.

a d

F
C

b.
Machine Translated by Google

106 Capítulo  2  Sistemas  combinacionales
SOICICREJE

a a
b b

F
C

C gramo

d
d
d.
C.

a 1 a 0
F gramo

b b

C C

d d
e. F.

19.  Muestre  un  diagrama  de  bloques  correspondiente  a  cada  una  de  
las  siguientes  expresiones  usando  solo  compuertas  NAND.  
Suponga  que  todas  las  entradas  están  disponibles  tanto  sin  
complementar  como  
complementadas.  No  manipule  las  
funciones  para  simplificar  el  
álgebra.  a.  f  wy  wxz  xyz  wxz  b.  g  wx  (w  y)(x  y)  c.  h  z(xy  wx)  w(y  xz)
  re.  F  D[B(A  E)  AE(B  C)]  BD(AC  AE)
20.  Reduzca  las  siguientes  expresiones  a  una  forma  de  suma  mínima  
de  productos,  usando  P1  a  P12.  Muestre  cada  paso  (número  de  
términos  y  número  de  literales  como  mínimo  mostrado  
entre  paréntesis).  a.  h  abc  bd  bcd  abc  abcd  (3  términos,  6  literales)  
b.  h  ab  bcd  abcd  bc  (3  términos,  5  literales)  c.  f  ab  abd  bcd  abc  abd  
ac  (2  términos,  3  literales)  (2  términos,  5  literales)

d.  g  abc  abd  bcd  e.  f  xy  wyz  
wxy  wxyz  wyz  wz
(3  términos,  5  literales)

21.  Reduzca  las  siguientes  expresiones  a  la  forma  de  suma  mínima  de  
productos.  Muestre  cada  paso  y  la  propiedad  utilizada  (cantidad  de  
términos  y  cantidad  de  literales  como  mínimo  se  muestra  entre  paréntesis).

a.  f  xyz  wxz  xy  wxy  wyz
(3  términos,  7  literales)
b.  G  ABC  ABD  BCD  ABD  CD  AD  (4  términos,  9  literales)

C.  F  WYZ  YZ  WXZ  WXYZ  XYZ  WYZ
(3  términos,  7  literales)
Machine Translated by Google

2.11  Ejercicios 107

d.  g  wxz  xyz  wz  xyz  wxyz  wyz
(3  términos,  6  literales)
mi.  F  ABD  BCE  ABD  BDE  ABCDE  BCD
(3  términos,  8  literales)
F.  f  bc  abc  bcd  abd  acd  (3  términos,  7  literales)
gramo.  G  BCD  BC  ABD  ACD  AD
(3  términos,  6  literales)
H.  f  ab  bcd  abc  abd  bc  abc
(2  términos,  4  literales)
i.  h  abc  abd  bcd  abc (3  términos,  8  literales)
  J.  g  abc  bcd  abd  abc  bcd  abd
(2  soluciones,  3  términos,  9  literales)
22.  yo.  Para  las  siguientes  funciones,  use  el  consenso  para  agregar  tantos
términos  nuevos  a  la  suma  de  la  expresión  del  producto  dada.
ii.  Luego  reduzca  cada  uno  a  una  suma  mínima  de  productos,  mostrando
cada  paso  y  la  propiedad  
utilizada.  a.  f  abc  abd  acd  abc  (3  términos,  8  literales)
b.  g  wxy  wyz  xyz  wyz  (3  términos,  8  literales)
23.  Expanda  las  siguientes  funciones  a  la  forma  de  suma  de  minitérminos:
a.  f(a,  b,  c)  ab  bc
  segundo  g(x,  y,  z)  x  yz  yz
C.  h(a,  b,  c,  d)  abc  bd  anuncio
24.  Convierta  cada  una  de  las  siguientes  expresiones  a  la  forma  de  suma  de  productos:
a.  (abc  d)(b  c  d)(a  c)
b.  (ab  c)(b  c  d)(b  d)
C.  (w  x)(y  z)(w  y)(x  y  z)
d.  (AB  C)(B  C  D)(A  B  D)(B  C  D)
25.  Convierta  cada  una  de  las  siguientes  expresiones  a  la  forma  de  producto  de  sumas:
a.  anuncio  de  CA

b.  wxy  wxy  xz
C.  bcd  abd  bcd
26.  Implementa  cada  una  de  las  siguientes  expresiones  (que  ya  son
en  forma  de  suma  mínima  de  productos)  usando  solo  NAND  de  dos  entradas
puertas  Ninguna  puerta  puede  usarse  como  NOT.  Todas  las  entradas  están  disponibles  tanto
sin  complementar  y  complementado.  (El  número  de  puertas
requerido  se  muestra  entre  paréntesis).
a.  f  wy  wxz  yz  wxz  b.  abd  bde  bcd   (7  puertas)
as (10  puertas)
C.  H  ABE  ABCD  BDE  BDE  BCE  ACE
(14  puertas)
  re.  F  ABD  ABC  BCDE  ABC  BCD  (11  puertas)
Machine Translated by Google

108 Capítulo  2  Sistemas  combinacionales
SOICICREJE

mi.  GBDEA  BC  D  ACE  AC  EB  CE
(12  puertas,  una  de  ellas  compartida)  
F.  hbde  as  ce  bde (9  puertas)
27.  Cada  uno  de  los  siguientes  ya  está  en  forma  de  suma  mínima  de  
productos.  Todas  las  variables  están  disponibles  tanto  sin  
complementar  como  complementadas.  Encuentre  dos  soluciones,  cada  
una  de  las  cuales  no  use  más  que  el  número  de  paquetes  de  circuitos  
integrados  de  compuertas  NAND  (4  compuertas  de  dos  entradas  o  3  de  
tres  entradas  o  2  de  cuatro  entradas  por  paquete)  enumeradas.  Una  
solución  debe  usar  solo  dos  y  tres  puertas  de  entrada;  el  
otro  debe  usar  al  menos  1  paquete  de  puerta  de  cuatro  entradas.  a.  F  ABCDE  BE  CD  E  BC  DEAB
A  BC  E (3  paquetes)  
b.  G  ABCDEF  ABDCDE  AB  CE  A  BC  DF  (4  paquetes)
ABE  F.

2.12  PRUEBA  DEL  CAPÍTULO  2  (100  MINUTOS  O  DOS  
PRUEBAS  DE  50  MINUTOS)
1.  Las  entradas  de  este  sistema  A  y  B  representan  un  número  binario  
en  el  rango  0:3.  Las  entradas  C  y  D  representan  un  segundo  número  
binario  (también  en  el  rango  0:3).  Hay  tres  salidas,  X,  Y  y  Z. .
Muestre  una  tabla  de  verdad  tal  que  Y  y  Z  representen  un  
número  igual  a  la  magnitud  de  la  diferencia  de  las  dos  entradas  y  X  
LA
BTE I U
O  LAU P RC
E D
P

sea  1  si  y  solo  si  la  primera  es  mayor.  Se  rellenan  dos  líneas  
de  la  tabla.

AB  C  DX  Y Z
00  0 0
00  0 1
00  1 0
00  1 1
01  0 0
01  0 1
0 1 1  00  0 1
01  1 1
10  0 0
1 0 0  11  0 1
10  1 0
10  1 1
11  0 0
11  0 1
11  1 0
11  1 1
Machine Translated by Google

2.12  Capítulo  2  Prueba 109

2.  Use  una  tabla  de  verdad  para  demostrar  si  las  siguientes
las  funciones  son  iguales:

f  ab  ac  ab  gb  ca  b

a  B  C F gramo

000  
001  
010  
011  
100  
101  
110  
111

3.  Reduzca  la  siguiente  expresión  a  una  expresión  SOP  con  dos  
términos  y  cuatro  literales.  Muestre  cada  paso.
abc  abc  abc  abc

4.  Para  cada  parte,  suponga  que  todas  las  variables  están  disponibles  
tanto  sin  complementar  como  complementadas.

f  abc  anuncio  bd

a.  Muestre  un  diagrama  de  bloques  para  una  implementación  de  dos  niveles  
de  f  usando  puertas  AND  y  OR.  
b.  Muestre  un  diagrama  de  bloques  para  una  implementación  de  f  usando  solo
compuertas  AND  y  OR  de  dos  entradas.

5.  Para  la  siguiente  tabla  de  verdad

xyz  f
000  1  001  0  010  1  
011  1  100  0  101  1  
110  0  111  1

a.  Escriba  una  función  de  suma  de  términos  mínimos  en  forma  numérica,  
por  ejemplo,

m(0, . . .)

b.  Escribe  una  función  de  suma  de  minitérminos  en  forma  algebraica,  
por  ejemplo,

xyz . . .
Machine Translated by Google

110 Capítulo  2  Sistemas  combinacionales

C.  Encuentre  una  expresión  SOP  mínima  (3  términos,  6  literales).  d.  
LA
BTE I U
O  LAU PERC
D
P

Encuentre  una  expresión  POS  en  forma  de  producto  de  maxterms.  
mi.  Encuentre  un  formulario  POS  mínimo  (2  términos,  5  literales).
6.  Suponga  que  todas  las  entradas  están  disponibles  tanto  sin  complementar  
como  complementadas.  Mostrar  una  implementación  de

g  wx  wz  wx  wyz
wx  zw  x  yw  xz

a.  usando  puertas  NAND  de  cualquier  tamaño.  

b.  utilizando  compuertas  NOR  de  cualquier  

tamaño.  C.  usando  compuertas  NAND  de  dos  entradas  (ninguna  de  las  cuales  puede  usarse  como
NO).
7.  Para  cada  una  de  las  siguientes  funciones,  encuentre  una  expresión  
SOP  mínima  (3  términos,  6  literales).  Muestra  cada  paso  algebraico.

a.  f  bd  bcd  bcd  bcd  abd

BONO  DE  5  PUNTOS:  Encuentra  una  segunda  suma  mínima  de  productos.

b.  g  xyz  yz  xyz  wxy  xz

8.  un.  Expanda  lo  siguiente  a  suma  de  minitérminos  (suma  de  términos  de  
productos  estándar).  Elimine  cualquier  duplicado.

ga  ac  bc

b.  Manipule  lo  siguiente  a  una  expresión  SOP.

f  (x  y)(w  y  z)(y  z)(w  y  z)

9.  Implemente  la  siguiente  función  usando  solo  puertas  NAND  de  dos  entradas.  
No  se  puede  utilizar  ninguna  puerta  como  puerta  NOT.  La  función  está  en  
formato  SOP  mínimo.  Todas  las  entradas  están  disponibles  
tanto  sin  complementar  como  complementadas.

f  ac  bcd  abd (7  puertas)

10.  Implemente  la  siguiente  función  usando  solo  puertas  NAND  de  dos  entradas.  
No  se  puede  utilizar  ninguna  puerta  como  puerta  NOT.  La  función  está  en  
formato  SOP  mínimo.  Todas  las  entradas  están  disponibles  
tanto  sin  complementar  como  complementadas.

f  abc  acde  ade  ce  cd
(Crédito  completo  por  11  puertas,  bonificación  de  5  puntos  por  10  puertas)
Machine Translated by Google

CAPÍTULO

El  mapa  de  Karnaugh 3
para  simplificar  cualquier  función.  Sin  embargo,  hay  una  serie  de  problemas  con  
Los  métodos  
ese  eanfoque.  
lgebraicos  
No  deesarrollados   en  efl  
xiste  un  método   Capítulo  
ormal,   2  neos  
como   l  pprimero.
ermiten,  en  teoría,

aplicar  la  Propiedad  10,  luego  P14,  etc.  El  enfoque  es  totalmente  heurístico,
dependiendo  mucho  de  la  experiencia.  Después  de  manipular  una  función,
a  menudo  no  se  puede  estar  seguro  de  si  es  un  mínimo.  Puede  que  no  siempre  encontremos
lo  mínimo,  aunque  parezca  que  no  hay  nada  más  que  hacer.  Además,  se  vuelve  bastante  
difícil  hacer  una  simplificación  algebraica  con  más
de  cuatro  o  cinco  variables.  Finalmente,  es  fácil  cometer  errores  de  copia  como
reescribimos  las  ecuaciones.
En  este  capítulo,  examinaremos  un  enfoque  que  es  más  fácil  de  implementar,  el  mapa  
de  Karnaugh*  (a  veces  denominado  mapa  K).  Esto  es  un
enfoque  gráfico  para  encontrar  términos  de  productos  adecuados  para  su  uso  en  la  suma  de
expresiones  de  productos  (Los  términos  del  producto  que  son  "adecuados"  para  su  uso  en  
expresiones  SOP  mínimas  se  denominan  implicantes  primos.  Definiremos
ese  término  en  breve.)  El  mapa  es  útil  para  problemas  de  hasta  seis  variables  y
es  particularmente  sencillo  para  la  mayoría  de  los  problemas  de  tres  o  cuatro  variables.
Aunque  no  hay  garantía  de  encontrar  una  solución  mínima,  los  métodos  que  desarrollaremos  
casi  siempre  producen  un  mínimo.  vamos  a  adaptar  la
enfoque  (sin  dificultad)  para  encontrar  expresiones  POS  mínimas,  para
problemas  con  no  importa  y  múltiples  problemas  de  salida.
En  el  Capítulo  4,  presentaremos  otras  dos  técnicas  que  se  pueden  computarizar  y  se  
pueden  usar  para  más  de  seis  variables  (aunque  el
cantidad  de  trabajo  requerida  para  usarlos  para  el  cálculo  manual  es  muy  grande).

3.1  INTRODUCCIÓN  A  LA
MAPA  DE  KARNAUGH
En  esta  sección,  veremos  el  diseño  de  mapas  de  dos,  tres  y  cuatro  variables.  El  mapa  de  
Karnaugh  consta  de  un  cuadrado  para  cada  posible
mintérmino  en  una  función.  Así,  un  mapa  de  dos  variables  tiene  4  cuadrados,  un  mapa  de  
tres  variables  tiene  8  cuadrados  y  un  mapa  de  cuatro  variables  tiene  16  cuadrados.
En  el  Mapa  3.1  se  muestran  tres  vistas  del  mapa  de  dos  variables.  En  cada,
el  cuadrado  superior  derecho,  por  ejemplo,  corresponde  a  A  1  y  B  0,
minitérmino  2.

*Esta  herramienta  fue  presentada  en  1953  por  Maurice  Karnaugh.
111
Machine Translated by Google

112 Capítulo  3  El  mapa  de  Karnaugh

Mapa  3.1  Mapas  de  Karnaugh  de  dos  variables.

A A
B 0 1
0 2
AB  AB 0
metro metro
2 0

1 3
AB  AB B  m 1 metro
3 1

Cuando  trazamos  una  función,  ponemos  un  1  en  cada  cuadrado  correspondiente  a
un  minitérmino  que  está  incluido  en  la  función,  y  ponga  un  0  o  déjelo  en  blanco
aquellos  cuadrados  no  incluidos  en  la  función.  Para  funciones  sin  preocupaciones,
una  X  va  en  el  cuadrado  para  el  cual  el  minitérmino  es  un  no  importa.  Mapa  3.2
muestra  ejemplos  de  estos.

Mapa  3.2  Representación  de  funciones.

a A
b 0 1 B 0 1

0 1 0 1 X

1 1 1 1

F( a , b) metro
(0,  3) ( , B)
Agricultura
metro
(0,  3) d (2)

Los  mapas  de  tres  variables  tienen  ocho  cuadrados,  dispuestos  en  un  rectángulo  como
se  muestra  en  el  Mapa  3.3.*

Mapa  3.3  Mapas  de  tres  variables.

AB ABABABAB AB
C 00 01 11 10 C 00 01 11 10
0264
C 0 ABC  ABCABCA  BC 0

1375
C 1 A  BC  ABC  ABCA  BC 1

*Algunas  personas  etiquetan  la(s)  fila(s)  del  mapa  con  la(s)  primera(s)  variable(s)  y  las  columnas  con
los  demás.  El  mapa  de  tres  variables  entonces  se  ve  como
antes  de  Cristo

A 00 01 11 10
0132
0

4576
1

Esta  versión  del  mapa  produce  los  mismos  resultados  que  la  otra.
Machine Translated by Google

3.1  Introducción  al  Mapa  de  Karnaugh 113

Observe  que  las  dos  últimas  columnas  no  están  en  orden  numérico.  Esa  es  la  idea  
clave  que  hace  que  el  mapa  funcione.  Al  organizar  el  mapa  de  esa  manera,  los  
minitérminos  en  cuadrados  adyacentes  siempre  se  pueden  combinar  usando  la  
propiedad  de  adyacencia,

P9a.  ab  ab  a

EJEMPLO  3.1
m0  m1:  ABC  ABC  AB  m4  
m6:  ABC  ABC  AC  m7  m5:  
ABC  ABC  AC
Además,  las  columnas  exteriores  (y  las  filas  exteriores  cuando  hay  cuatro  filas)  son  
adyacentes.  De  este  modo,

m0  m4:  ABC  ABC  BC  m1  
m5:  ABC  ABC  BC

Si  hubiéramos  ordenado  las  columnas  en  orden  numérico,  como  se  muestra  en  
el  Mapa  3.4  (donde  la  versión  algebraica  de  los  minitérminos  se  muestra  solo  
para  m2  y  m4),  no  podríamos  combinar  cuadrados  adyacentes:

Mapa  3.4  Disposición  incorrecta  del  
mapa.
AB
C 00 01 10 11
0 2 4
0
A  B  C A  B  C
6  1357
1

m2  m4  ABC  ABC  C(AB  AB)

Sin  embargo,  no  podemos  manipular  eso  en  un  solo  término.
Los  términos  del  producto  que  corresponden  a  la  suma  de  dos  minitérminos  
aparecen  como  dos  1  adyacentes  en  el  mapa.  Los  términos  del  Ejemplo  3.1  se  muestran  
en  el  Mapa  3.5.
A  veces  es  más  conveniente  dibujar  el  mapa  en  orientación  vertical  (es  
decir,  dos  columnas  y  cuatro  filas)  como  se  muestra  en  el  Mapa  3.6.  Ambas  
versiones  del  mapa  producen  los  mismos  resultados.
Al  leer  el  mapa,  es  útil  etiquetar  los  pares  de  columnas  (en  aquellos  arreglos  
donde  hay  cuatro  columnas)  como  se  muestra  en  el  Mapa  3.7.  Por  lo  tanto,  los  1  
en  los  cuadrados  4  y  6  están  en  las  columnas  A  y  la  fila  C  (es  decir,  no  en  la  fila  
C ),  produciendo  el  término  AC  como  se  mostró  anteriormente.
Machine Translated by Google

114 Capítulo  3  El  mapa  de  Karnaugh

Mapa  3.5  Términos  producto  correspondientes  a  grupos  de  dos.

AB AB AB
C 00 01 11 10 C 00 01 11 10 C 00 01 11 10

0 1 0 1 1 0

1 1 1 1 1 1

AB C.A. C.A.

AB AB
C 00 01 11 10 C 00 01 11 10

0 1 1 0

1 1 1 1

antes  de  Cristo antes  de  Cristo

Mapa  3.6  Orientación  vertical  del  mapa  de  tres  variables.

A A A A
antes  de  Cristo
0 1 antes  de  Cristo
0 1 antes  de  Cristo
0 1 antes  de  Cristo
0 1

00 0 4 00 1 00 1 00

01 1 5 01 1 01 01 1

11 3 7 11 11 11 1

10 2 6 10 10 1 10

AB C.A. C.A.

Mapa  3.7  Mapa  con  columnas
etiquetado.

B El  mapa  de  cuatro  variables  consta  de  16  cuadrados  en  el  arreglo  de  4  por  4  que  se  
AB
00 01 11 10 muestra  en  el  Mapa  3.8.
C
Al  igual  que  con  el  mapa  de  tres  variables,  los  1  están  en  dos  cuadrados  adyacentes  (donde
0  0264 las  filas  superior  e  inferior,  así  como  las  columnas  izquierda  y  derecha  se  consideran  adyacentes)  
corresponden  a  un  solo  término  de  producto  (combinado  usando
1375
1 C P9a).  El  ejemplo  3.2  muestra  tres  de  estos  términos.

A
Machine Translated by Google

3.1  Introducción  al  Mapa  de  Karnaugh 115

Mapa  3.8  El  mapa  de  cuatro  variables.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 0 4 12 8 00

01 1 5 13 9 01

11 3 7 15 11 11 AB  CDABCDA  BC  D

10 2 6 14 10 10 ABCDABCD

EJEMPLO  3.2
m13  m9:  ABCD  ABCD  ACD
m3  m11:  ABCD  ABCD  BCD
m0  m2:  ABCD  ABCD  ABD
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 00 00 1

01 1 1 01 01

11 11 1 1 11

10 10 10 1

DCA BC  D un  BD

Hasta  este  punto,  todos  los  términos  del  producto  que  hemos  mostrado  corresponden  
a  dos  minitérminos  combinados  usando  P9a.  Estos  corresponden  a  un
término  producto  al  que  le  falta  un  literal,  es  decir,  con  sólo  dos  literales  en  un
función  de  tres  variables  y  tres  literales  en  una  función  de  cuatro  variables.  Dejar
Veamos  a  continuación  los  mapas  del  Mapa  3.9  con  un  grupo  de  cuatro  unos.
Machine Translated by Google

116 Capítulo  3  El  mapa  de  Karnaugh

En  el  mapa  de  la  izquierda,  hemos  encerrado  en  un  círculo  dos  grupos  de  dos,  
uno  formando  el  término  AC  y  el  otro  formando  el  término  AC.  Obviamente,  P9a  puede
aplicarse  de  nuevo  a  estos  dos  términos,  produciendo

CA  CA  C

Mapa  3.9  Un  grupo  de  cuatro  unos.

AB AB
C 00 01 11 10 C 00 01 11 10

0 0

1 1111 1 1111

C.A. C.A. C

Eso  se  muestra  en  el  mapa  a  la  derecha  como  un  rectángulo  de  cuatro  unos.  En  
general,  los  rectángulos  de  cuatro  unos  corresponderán  a  un  término  producto  con  dos  de
las  variables  que  faltan  (es  decir,  un  solo  literal  para  problemas  de  tres  variables)
y  un  término  de  dos  literales  para  problemas  de  cuatro  variables).
Podríamos  haber  factorizado  C  de  todos  los  términos  que  producen

ABC  ABC  ABC  ABC  C(AB  AB  AB  AB)

Sin  embargo,  la  suma  entre  paréntesis  es  solo  la  suma  de  todos  los
minitérminos  de  A  y  B;  que  debe  ser  1.  Por  lo  tanto,  podemos  obtener  el  resultado  en  solo
ese  paso  De  hecho,  podríamos  haber  agregado  una  propiedad  secundaria  a  P9,
a  saber,

P9aa.  ab  ab  ab  ab  1
P9bb.  (un  b)  (un b)  (a  b)  (a  b)  0

Estos  pueden  probarse  mediante  la  aplicación  repetida  de  P9,  primero  a  los  dos  primeros
términos,  luego  a  los  dos  últimos  términos,  y  finalmente  a  los  términos  resultantes  como
mostrado

(ab  ab)  (ab  ab)  (a)  (a)  1
[(a  b)  (a  b)][(a  b)  (a  b)]  [a][a]  0

Algunos  ejemplos  de  tales  grupos  para  problemas  de  cuatro  variables  se  muestran  en
Mapa  3.10.
La  manera  más  fácil  de  identificar  el  término  del  mapa  es  determinando
en  qué  fila(s)  y  columna(s)  se  encuentran  todos  los  1.  Así,  en  la  primera
mapa,  los  1  en  el  grupo  de  la  izquierda  están  todos  en  la  columna  00  (AB)  y
por  tanto,  el  término  es  AB.  El  otro  grupo  tiene  sus  1  en  el  11  y  el  10
columnas;  el  rasgo  común  es  el  1  en  la  posición  A  (que  corresponde  a  A).  
Además,  los  1  están  en  las  filas  01  y  11;  hay  un
común  1  en  la  posición  D.  Por  lo  tanto,  el  término  es  AD.  En  el  mapa  central,  el
Machine Translated by Google

3.1  Introducción  al  Mapa  de  Karnaugh 117

Mapa  3.10  Ejemplos  de  grupos  de  cuatro.

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 00 1 1

01 1 1 1 01 1 1 01 11

11 1 1 1 11 1 1 11 11

10 1 10 10 1 1

AB ANUNCIO BD BD  BD

Los  1  están  en  las  columnas  00  y  10,  produciendo  B  y  las  filas  01  y  11,
resultando  en  D;  el  término  es  así  BD.  (Nótese,  por  cierto,  que  ese  término
también  aparece  en  el  primer  mapa,  aunque  no  estaba  encerrado  en  un  círculo.)  En  el  último
mapa,  las  cuatro  esquinas  producen  el  término  BD  (ya  que  todos  los  1  están  en  el
00  o  10  columnas  y  00  o  10  filas).  El  grupo  medio  es  BD.  Cualquier
de  estos  términos  también  podría  obtenerse  algebraicamente  escribiendo  primero  el
minitérminos,  luego  aplicando  P10a  a  pares  de  términos,  y  luego  aplicándolo
de  nuevo  a  los  dos  términos  que  resultaron  (como  hicimos  para  el  modelo  de  tres  variables)
ejemplo).  Sin  embargo,  la  idea  del  mapa  es  eliminar  la  necesidad  de
hacer  álgebra.
Dos  grupos  adyacentes  de  cuatro  se  pueden  combinar  de  manera  similar  a
formar  un  grupo  de  ocho  cuadrados  (faltando  tres  de  los  literales).  Dos
dichos  grupos  se  muestran  en  el  Mapa  3.11.  Los  términos  son  A  para  el  mapa  de  la
izquierda  y  D  para  el  mapa  de  la  derecha.

Mapa  3.11  Grupos  de  ocho.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 1 00 1 111

01 1 1 01

11 1 1 11

10 1 1 10 1 111
Machine Translated by Google

118 Capítulo  3  El  mapa  de  Karnaugh

Podemos  trazar  cualquier  función  en  el  mapa.  O  conocemos  los  términos  
mínimos  y  usamos  esa  forma  del  mapa,  o  ponemos  la  función  en  forma  SOP  y  
trazamos  cada  uno  de  los  términos  del  producto.

EJEMPLO  3.3 Mapa

F  AB  AC  ABC

A  continuación  se  muestra  el  mapa  de  F ,  con  cada  uno  de  los  términos  del  
producto  en  un  círculo.  Cada  uno  de  los  términos  de  dos  literales  corresponde  a  
dos  cuadrados  en  el  mapa  (ya  que  falta  una  de  las  variables).  El  término  AB  está  
en  la  columna  10.  El  término  AC  está  en  la  fila  C  1  y  en  las  columnas  11  y  10  (con  
un  1  común  en  la  posición  A ).  Finalmente,  el  minitérmino  ABC  corresponde  a  un  
cuadrado,  en  la  columna  01  (AB)  y  en  la  fila  C  0.

AB
C 00 01 11 10

0 1 1 AB

1 1 1

ABCAC

Podríamos  haber  obtenido  el  mismo  mapa  primero  expandiendo  F  a  la  forma  
mintérmino  algebraicamente,  es  decir,

F  AB(C  C)  AC(B  B)  ABC
abc  abc  abc  abc  abc
m4  m5  m5  m7  m2
m2  m4  m5  m7  
(eliminación  de  duplicados  y  reordenación)

Entonces  podemos  usar  el  mapa  numérico  y  producir  el  mismo  resultado.

AB
C 00 01 11 10
0264  1
0 1

1375
1 1 1

Ahora  estamos  listos  para  definir  alguna  terminología  relacionada  con  el  mapa  
de  Karnaugh.  Un  implicante  de  una  función  es  un  término  producto  que  se  puede  
usar  en  una  expresión  SOP  para  esa  función,  es  decir,  la  función  es  1  siempre  que
Machine Translated by Google

3.1  Introducción  al  Mapa  de  Karnaugh 119

el  implicante  es  1  (y  tal  vez  otras  veces  también).  Desde  el  punto  de
vista  del  mapa,  un  implicante  es  un  rectángulo  de  1,  2,  4,  8, . . .  (cualquier  poder
de  2)  1's.*  Ese  rectángulo  no  puede  incluir  ningún  0's.  Todos  los  minitérminos  son
implicantes.
Considere  la  función,  F,  del  Mapa  3.12.  El  segundo  mapa  muestra  la
primeros  cuatro  grupos  de  2;  el  tercer  mapa  muestra  los  otros  grupos  de  2  y  el
grupo  de  4

Mapa  3.12  Una  función  para  ilustrar  definiciones.

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 1 00 1 1 00 1 1

01 1 01 1 01 1

11 1 1 11 11 1 1 11 11 1 1 11

10 10 10

Los  implicantes  de  F  son

minitérminos Grupos  de  2 Grupos  de  4


A  B  C  D DCA CD
A  B  C  D BCD
A  B  C  D DCA
A  B  C  D BCD
A  B  C  D A  B  C
A  B  C  D ABD
A  B  C  D

Cualquier  expresión  SOP  para  F  debe  ser  una  suma  de  implicantes.  De  hecho,  nosotros
debe  elegir  suficientes  implicantes  tales  que  cada  uno  de  los  1  de  F  sea
incluido  en  al  menos  uno  de  estos  implicantes.  Tal  expresión  SOP
se  refiere  a  veces  como  una  tapa  de  F,  y  a  veces  decimos  que
un  implicante  cubre  ciertos  minitérminos  (por  ejemplo,  ACD  cubre  m11
y  m15).
Los  implicantes  deben  tener  forma  rectangular  y  el  número  de  1  en  el
rectángulo  debe  ser  una  potencia  de  2.  Así,  ninguna  de  las  funciones  cuya
Los  mapas  que  se  muestran  en  el  ejemplo  3.4  están  cubiertos  por  un  solo  implicante,  pero
más  bien  por  la  suma  de  dos  implicantes  cada  uno  (en  su  forma  más  simple).

*Ampliaremos  la  definición  de  implicante  para  incluir  mapas  con  no  importa  en  la  Sección  3.3.
Machine Translated by Google

120 Capítulo  3  El  mapa  de  Karnaugh

EJEMPLO  3.4

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 00

01 1 01 11

11 1 11 1

10 1 10 1

GRAMO H

G  consta  de  tres  minitérminos,  ABCD,  ABCD  y  ABCD,  en  forma  de
rectángulo.  No  se  puede  reducir  más  allá  de  lo  que  se  muestra  en  el  mapa,  es  decir,
a  ABC  ABD,  ya  que  es  un  grupo  de  tres  1,  no  dos  o  cuatro.  Del  mismo  modo,  H
tiene  los  mismos  tres  minitérminos  más  ABCD;  es  un  grupo  de  cuatro,  pero  no  en
la  forma  de  un  rectángulo.  La  expresión  mínima  es,  como  se  muestra  en  la
mapa,  BCD  ABC.  (Tenga  en  cuenta  que  ABD  también  es  un  implicante  de  G,  pero  incluye
1  que  ya  están  incluidos  en  los  otros  términos).

Mapa  3.13  Implicantes  primos. Un  implicante  primo  es  un  implicante  que  (desde  el  punto  de  vista  del
map)  no  está  completamente  contenido  en  ningún  otro  implicante.  por  ejemplo,  es
AB
00 01 11 10 un  rectángulo  de  dos  1  que  no  forma  parte  de  un  solo  rectángulo  de  cuatro  1.  En
CD
Mapa  3.13,  todos  los  implicantes  primos  de  F  están  encerrados  en  un  círculo.  Ellos  son
00 1 1 ABCD,  ABC,  ABD  y  CD.  Tenga  en  cuenta  que  el  único  término  mínimo  que  no  es
parte  de  un  grupo  más  grande  es  m0  y  que  los  otros  cuatro  implicantes  que  son
01 1 grupos  de  dos  1  son  todos  parte  del  grupo  de  cuatro.
Desde  un  punto  de  vista  algebraico,  un  implicante  primo  es  un  implicante
11 1 1 1 1 tal  que  si  se  elimina  cualquier  literal  de  ese  término,  ya  no  es  un  implicante.  Desde  ese  punto  
de  vista,  ABCD  es  un  implicante  principal  porque  BCD,

10 ACD,  ABD  y  ABC  no  son  implicantes  (es  decir,  si  eliminamos  cualquier
literal  de  ese  término,  obtenemos  un  término  que  es  1  para  algunas  combinaciones  de  entrada
para  el  cual  la  función  debe  ser  0).  Sin  embargo,  ACD  no  es  un  implicante  principal
ya  que  cuando  quitamos  A,  dejando  CD,  todavía  tenemos  un  implicante.  (Seguramente,
el  enfoque  gráfico  para  determinar  qué  implicantes  son  implicantes  primos  es  más  fácil  que  
el  método  algebraico  de  intentar  eliminar  literales).
El  propósito  del  mapa  es  ayudarnos  a  encontrar  expresiones  SOP  mínimas,  donde  
definimos  mínimo  como  el  número  mínimo  de  producto
términos  (implicantes),  y  entre  los  que  tienen  el  mismo  número  de  implicantes,  los  que  tienen  
el  menor  número  de  literales.  Sin  embargo,  el  único
Los  términos  producto  que  necesitamos  considerar  son  implicantes  primos.  ¿Por  qué?  decir  nosotros
encontró  un  implicante  que  no  era  un  implicante  primo.  Entonces,  debe  estar  contenido  en  
algún  implicante  mayor,  un  implicante  primo.  Pero  ese  implicante  más  grande  (digamos  
cuatro  1  en  lugar  de  dos)  tiene  menos  literales.  Eso  solo  hace  un
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 121

solución  usando  el  término  que  no  es  un  implicante  primo  ni  un  mínimo.  (Para
ejemplo,  CD  tiene  dos  literales,  mientras  que  ACD  tiene  tres).  Además,
ese  implicante  más  grande  cubre  más  1,  lo  que  a  menudo  significará  que
necesitan  menos  términos.

Un  implicante  primo  esencial  es  un  implicante  primo  que  incluye  al  menos
menos  un  1  que  no  esté  incluido  en  ningún  otro  implicante  primo.  (Si  fueramos
para  encerrar  en  un  círculo  todos  los  implicantes  primos  de  una  función,  el  primo  esencial
implicantes  son  aquellos  que  encierran  en  un  círculo  al  menos  un  1  que  ningún  otro  implicante  primo
círculos.)  En  el  ejemplo  del  Mapa  3.13,  ABCD,  ABC  y  CD  son
implicantes  primos  esenciales;  ABD  no  lo  es.  El  término  esencial  se  deriva  de
la  idea  de  que  debemos  usar  ese  implicante  primo  en  cualquier  POE  mínimo
expresión.  Una  palabra  de  precaución  está  en  orden.  A  menudo  habrá  un  implicante  primo  
que  se  usa  en  una  solución  mínima  (incluso  en  todas  las  soluciones  mínimas  cuando  
existe  más  de  una  solución  igualmente  buena)  que  no  es  "esencial".  Eso  sucede  cuando  
cada  uno  de  los  1  está  cubierto  por  este  implicante  primo.
podría  cubrirse  de  otras  maneras.  Veremos  ejemplos  de  eso  en  la  Sección  3.2. [ES  1;  EJ  1]

3.2  SUMA  MÍNIMA  DE  PRODUCTO
EXPRESIONES  CON  EL  MAPA  DE  
KARNAUGH
En  esta  sección,  describiremos  dos  métodos  para  encontrar  el  SOP  mínimo
expresiones  utilizando  el  mapa  de  Karnaugh.  Aunque  estos  métodos  implican
algunas  heurísticas,  casi  podemos  garantizar  que  conducirán  a  una  expresión  SOP  
mínima  (o  más  de  una  cuando  existen  múltiples  soluciones)
para  problemas  de  tres  y  cuatro  variables.  (También  funciona  para  mapas  de  cinco  y  
seis  variables,  pero  nuestra  visualización  en  tres  dimensiones  es  más  limitada.
Discutiremos  esto  en  detalle  en  la  Sección  3.6.)
En  el  proceso  de  encontrar  implicantes  primos,  consideraremos
cada  uno  de  los  1  en  el  mapa  comenzando  con  los  1  más  aislados .  Por  aislado,  
queremos  decir  que  hay  pocos  (o  ninguno)  cuadrados  adyacentes  con  un  1  en  ellos.
En  un  mapa  de  n  variables,  cada  cuadrado  tiene  n  cuadrados  adyacentes.  Ejemplos  de
Los  mapas  de  tres  y  cuatro  variables  se  muestran  en  el  Mapa  3.14.

Mapa  3.14  Adyacencias  en  mapas  de  tres  y  cuatro  variables.

1
Machine Translated by Google

122 Capítulo  3  El  mapa  de  Karnaugh

Método  de  mapa  1

1.  Encuentra  todos  los  implicantes  primos  esenciales.  Encierra  en  un  círculo  en  el  mapa  y
marque  los  términos  mínimos  que  los  hacen  esenciales  con  una  estrella  ( ).  Hacer
esto  examinando  cada  1  en  el  mapa  que  aún  no  ha  sido
en  un  círculo  Por  lo  general,  es  más  rápido  comenzar  con  los  1  más  aislados,  que
es  decir,  aquellos  que  tienen  la  menor  cantidad  de  cuadrados  adyacentes  con  1  en  ellos.

2.  Encuentra  suficientes  otros  implicantes  primos  para  cubrir  la  función.  Hacer  esto
utilizando  dos  criterios:
a.  Elija  un  implicante  primo  que  cubra  tantos  nuevos  1  (es  decir,
aquellos  que  no  están  ya  cubiertos  por  un  implicante  primo  elegido).
b.  Evite  dejar  1  aislados  descubiertos.

A  menudo  es  obvio  lo  que  es  "suficiente".  Por  ejemplo,  si  hay  cinco
los  1  descubiertos  y  ningún  implicante  primo  cubre  más  de  dos  de  ellos,
entonces  necesitamos  al  menos  tres  términos  más.  A  veces,  tres  pueden  no  ser
suficiente,  pero  por  lo  general  lo  es.
Ahora  veremos  una  serie  de  ejemplos  para  demostrar  este  método.  En  primer  lugar,  
veremos  el  ejemplo  utilizado  para  ilustrar  el
definiciones

EJEMPLO  3.5
Como  se  señaló,  m0  no  tiene  1  adyacentes;  por  lo  tanto,  it  (ABCD)  es  un  implicante  
primo.  De  hecho,  es  un  implicante  primo  esencial,  ya  que  ningún  otro  implicante  primo
cubre  este  1.  (Ese  es  siempre  el  caso  cuando  los  minitérminos  son  implicantes  primos).
El  siguiente  lugar  que  buscamos  es  m12,  ya  que  solo  tiene  un  1  adyacente.  Esos
Los  1  están  cubiertos  por  el  primer  implicante  ABC.  De  hecho,  ningún  otro  implicante  primo
cubre  m12,  y  por  lo  tanto  ABC  es  esencial.  (Siempre  que  tengamos  un  1  con  solo
uno  adyacente  a  1,  ese  grupo  de  dos  es  un  implicante  primo  esencial.)  En  este
punto,  el  mapa  se  ha  convertido

AB
CD 00 01 11 10

00 1 1

01 1

11 1 1 11

10

F  ABCD  ABC
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 123

Cada  uno  de  los  1  que  aún  no  han  sido  cubiertos  son  parte  del  grupo  de  cuatro,
CD.  Cada  uno  tiene  dos  cuadrados  adyacentes  con  1  que  son  parte  de  ese  grupo.  Eso
siempre  será  el  caso  de  un  grupo  de  cuatro.  (Algunos  cuadrados,  como  m15  pueden
tienen  más  de  dos  1  adyacentes.)  CD  es  esencial  porque  ningún  otro  número  primo
implicante  cubre  m3,  m7  o  m11.  Sin  embargo,  una  vez  que  ese  grupo  está  encerrado  en  un  círculo,
han  cubierto  la  función:

AB
CD 00 01 11 10

00 1 1

01 1

11 1 1 1 1

10

Resultando  en

F  ABCD  ABC  CD

En  este  ejemplo,  una  vez  que  hemos  encontrado  los  implicantes  primos  esenciales,  estamos
hecho;  todos  los  1  han  sido  cubiertos  por  uno  (o  más)  de  los  elementos  esenciales
implicantes  principales.  No  necesitamos  el  paso  2.  Puede  haber  otros  implicantes  principales  
que  no  se  usaron  (como  ABD  en  este  ejemplo).

EJEMPLO  3.6
Empezamos  mirando  la  más  aislada  1,  m11.  Está  cubierto  solo  por  el  grupo.
de  dos  mostrados,  wyz.  El  otro  implicante  primo  esencial  es  yz  debido  a
m0,  m8  o  m12.  Ninguno  de  estos  está  cubierto  por  ningún  otro  implicante  principal;
cada  uno  hace  que  el  implicante  primo  sea  esencial.  El  segundo  mapa  muestra  estos
dos  términos  encerrados  en  un  círculo.

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1 1 11 00 1 1 1 1

01 1 01 1

11 111 11 1 11

10 10
Machine Translated by Google

124 Capítulo  3  El  mapa  de  Karnaugh

Eso  deja  dos  1  descubiertos.  Cada  uno  de  estos  puede  ser  cubierto  por  dos  
implicantes  primos  diferentes,  pero  la  única  forma  de  cubrirlos  a  ambos  con  un  término  es
se  muestra  en  el  primero  de  los  mapas  a  continuación.

Por  lo  tanto,  la  suma  mínima  de  la  solución  del  producto  es

f  yz  wyz  wxz

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1 1 1 1 00 1 1 1 1

01 1 01 1

11 1 11 11 1 11

10 10

Los  otros  dos  implicantes  primos  son  wxy  y  xyz,  encerrados  en  un  círculo  marrón  en  la
último  mapa.  Sin  embargo,  son  redundantes,  ya  que  no  cubren  nuevos  1.  Incluso
aunque  wxz  debe  usarse  en  una  solución  mínima,  no  cumple  con  la  definición  de  
implicante  primo  esencial;  cada  uno  de  los  1  cubiertos  por  ella  puede  ser
cubierto  por  otros  implicantes  primos.

A  continuación,  veremos  el  ejemplo  del  "callejón  sin  salida"  del  Capítulo  2
(Ejemplo  2.2).

EJEMPLO  3.7
f  abc  abc  abc  abc

En  el  primer  intento  de  manipulación  algebraica,  agrupamos  los  dos  primeros
minitérminos  Pero,  como  se  puede  ver  en  el  siguiente  mapa  de  la  izquierda,  los  dos  1  que
quedan  no  se  pudieron  combinar  y  dieron  como  resultado  una  solución  de  tres  términos.  Más
además,  ac  no  es  un  implicante  primo  esencial.  Si,  por  el  contrario,  usáramos
el  mapa,  pudimos  ver  que  eligiendo  los  dos  implicantes  primos  esenciales  en
el  mapa  de  la  derecha  incluye  todos  los  minitérminos  y  produce  la  solución

f  ab  bc

abdominales abdominales

C 00 01 11 10 C 00 01 11 10

0 1 1 1 0 1 1 1

1 1 1 1
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 125

A  veces,  después  de  seleccionar  todos  los  implicantes  primos  esenciales,
hay  dos  opciones  para  cubrir  los  1  restantes,  pero  solo  una  de
esto  produce  una  solución  mínima,  como  en  el  ejemplo  3.8.

EJEMPLO  3.8
f(a,  b,  c,  d) m(0,  2,  4,  6,  7,  8,  9,  11,  12,  14)

El  primer  mapa  muestra  la  función  y  el  segundo  muestra  todos  los  primos  esenciales.
implicantes  encerrados  en  un  círculo.  En  cada  caso,  uno  de  los  1  (como  se  indica  con  una  estrella,   )
puede  ser  cubierto  solo  por  ese  implicante  primo.  (Eso  es  obvio  desde  el  último
mapa,  donde  los  dos  implicantes  primos  restantes  están  encerrados  en  un  círculo).

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1111 00 1111 00 1111

01 1 01 1 01 1

11 1 1 11 1 1 11 1 1

10 111 10 1 1 1 10 111

Solo  un  1  (m8)  no  está  cubierto  por  un  implicante  primo  esencial.  Puede  ser
cubierto  de  dos  maneras,  por  un  grupo  de  cuatro  (en  marrón)  y  un  grupo  de  dos
(broncearse).  Claramente,  el  grupo  de  cuatro  proporciona  una  solución  con  un  literal  menos,
a  saber,

f  anuncio  bd  abc  abd  cd

Al  preguntar  si  un  1  hace  que  un  grupo  de  cuatro  sea  un  primo  esencial
implicante  en  un  mapa  de  cuatro  variables,  necesitamos  encontrar  sólo  dos  0  adyacentes.  Si
hay  menos  de  dos  0  adyacentes,  este  1  debe  estar  en  un  grupo  de
ocho  o  parte  de  dos  o  más  grupos  más  pequeños.  Note  que  en  el  Ejemplo  3.8,  m2
y  m14  tienen  dos  0  adyacentes,  y  por  lo  tanto  cada  uno  hace  un  implicante  primo
básico.  Por  el  contrario,  m0,  m4,  m8  y  m12  tienen  cada  uno  solo  un  0  adyacente
y  cada  uno  está  cubierto  por  dos  o  tres  implicantes  primos.
Ahora  consideraremos  algunos  ejemplos  con  múltiples  soluciones  mínimas,  
comenzando  con  la  función  de  tres  variables  utilizada  para  ilustrar  la  definición  de  
terminología  en  la  Sección  2.2.3.
Machine Translated by Google

126 Capítulo  3  El  mapa  de  Karnaugh

EJEMPLO  3.9
xyz  xyz  xyz  xyz  xyz

A  la  izquierda  se  muestra  un  mapa  de  esa  función.  Los  dos  implicantes  primos  
esenciales  se  muestran  en  el  mapa  de  la  derecha.

xy xy
z 00 01 11 10 z 00 01 11 10

0 1 1 0 1 1

1 1 1 1 1 1 1 1

Después  de  encontrar  los  dos  implicantes  primos  esenciales,  m7  todavía  está  descubierto.  El
Los  siguientes  mapas  muestran  las  dos  soluciones.

xy xy
z 00 01 11 10 z 00 01 11 10

0 1 1 0 1 1

1 1 1 1 1 1 1 1

X y xy xz X y xy yz

EJEMPLO  3.10 Este  ejemplo  es  uno  que  llamamos  "no  seas  codicioso".

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 00 1

01 111 01 1   11

11 1 1 1 11 1 1 1

10 1 10 1

A  primera  vista,  uno  podría  querer  tomar  el  único  grupo  de  cuatro  (encerrados  en  un  círculo  de  color  canela).
Sin  embargo,  ese  término  no  es  un  implicante  primo  esencial,  como  es  obvio  una  vez
encerramos  en  un  círculo  todos  los  implicantes  primos  esenciales  y  encontramos  que  los  cuatro  1  en  el
centro  están  cubiertos.  Por  lo  tanto,  la  solución  mínima  es

G  ABC  ACD  ABC  ACD
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 127

EJEMPLO  3.11
g(w,  x,  y,  z) m(2,  5,  6,  7,  9,  10,  11,  13,  15)

La  función  se  mapea  primero,  y  los  dos  implicantes  primos  esenciales  son
que  se  muestra  en  el  segundo  mapa,  dando

g  xz  wz

wx wx
00 01 11 10 00 01 11 10
yz yz

00 00

01 111 01 11 1

11 111 11 1 1 1

10 11 1 10 11 1

Aunque  m2  parece  bastante  aislado,  de  hecho  puede  ser  cubierto  por  wyz  (con
m6)  o  por  xyz  (con  m10).  Después  de  elegir  los  implicantes  primos  esenciales,  el
los  tres  1  restantes  pueden  cubrirse  cada  uno  con  dos  implicantes  primos  diferentes.
Dado  que  aún  deben  cubrirse  tres  1  (después  de  elegir  el  primo  esencial
implicantes),  y  dado  que  todos  los  implicantes  primos  restantes  son  grupos  de  dos
y  por  lo  tanto  tenemos  tres  literales,  necesitamos  al  menos  dos  más  de  estos  primos
implicantes.  De  hecho,  hay  tres  formas  de  cubrir  los  1  restantes  con  dos
implicantes  más  primos.  Usando  el  primer  criterio,  elegimos  uno  de  los  primeros
implicantes  que  cubre  dos  nuevos  1,  wyz,  como  se  muestra  en  el  mapa  de  la  izquierda.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 00 00

01 111 01 111 01 111

11 111 11 111 11 111

10 11 1 10 11 1 10 11 1

Entonces,  solo  queda  m10 ,  y  puede  ser  cubierto  por  wxy  o  por  xyz,  como
se  muestra  en  el  mapa  central.  De  manera  similar,  podríamos  haber  comenzado  con  xyz,  en
cuyo  caso  podríamos  usar  wxy  para  completar  la  portada,  como  en  el  lado  derecho
mapa.  (También  podríamos  haber  elegido  wyz,  pero  eso  repite  una  de  las  respuestas  
anteriores).  Por  lo  tanto,  las  tres  soluciones  son
Machine Translated by Google

128 Capítulo  3  El  mapa  de  Karnaugh

g  xz  wz  wyz  wxy
g  xz  wz  wyz  xyz
g  xz  wz  xyz  wxy

Las  tres  soluciones  mínimas  requieren  cuatro  términos  y  10  literales.

En  este  punto,  vale  la  pena  señalar  lo  obvio.

ERROR  COMÚN:  Si  hay  varias  soluciones,  todas  mínimas
Las  soluciones  deben  tener  el  mismo  número  de  términos  y  literales.  Si  por
ejemplo,  encuentras  una  solución  mínima  con  tres  términos  y  siete
literales,  ninguna  solución  con  cuatro  términos  es  mínima,  y  ninguna  solución
con  tres  términos  y  ocho  literales  es  mínimo.

EJEMPLO  3.12

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 1 1 00 1 1 1 00 1 1 1

01 11 01 1 1 01 1 1

11 1 1 1 11 1 1 1 11 1 1 1

10 1 1 1 10 1 1 1 10 1 1 1

Los  cuatro  implicantes  primos  esenciales  se  muestran  en  el  segundo  mapa,  dejando
tres  1  a  cubrir:

F  ACD  ACD  ACD  ACD

Estos  cuadrados  están  sombreados  en  el  mapa  de  la  derecha.  Los  otros  tres  primos
los  implicantes,  todos  los  grupos  de  cuatro,  también  se  muestran  en  el  mapa  de  la  derecha.  Cada
de  estos  cubre  dos  de  los  tres  1  restantes  (no  hay  dos  iguales).  Así,  cualquier
se  pueden  usar  dos  de  BD,  AB  y  BC  para  completar  el  SOP  mínimo
expresión.  Las  tres  respuestas  igualmente  buenas  resultantes  son

F  ACD  ACD  ACD  ACD  BD  AB
F  ACD  ACD  ACD  ACD  BD  BC
F  ACD  ACD  ACD  ACD  AB  BC
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 129

EJEMPLO  3.13
abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 11 1 00 11 1

01 111 01 111

11 1 1 11 1 1

10 11 1 10 11 1

Una  vez  más,  hay  dos  implicantes  primos  esenciales,  como  se  muestra  en  el  mapa  de  
la  derecha.  Los  1  más  aislados  son  m10  y  m15.  Cada  uno  tiene  sólo  dos  1  adyacentes.  
Pero  todos  los  1  en  grupos  de  cuatro  tienen  al  menos  dos  1  adyacentes;  si
sólo  hay  dos,  entonces  ese  minitérmino  hará  que  el  primer  implicante  sea  esencial.  
(Cada  uno  de  los  otros  1  en  esos  grupos  de  cuatro  tiene  al  menos  tres  adyacentes
1's.)  Los  implicantes  primos  esenciales  nos  dan

f  bd  bd

Hay  tres  1  que  no  están  cubiertos  por  los  implicantes  primos  esenciales.  Hay
ningún  término  único  que  los  cubra  a  todos.  Sin  embargo,  los  dos  de  la  columna  01  
pueden  cubrirse  con  cualquiera  de  los  dos  grupos  de  cuatro,  como  se  muestra  en  el  mapa.
a  la  izquierda  (anuncio  en  un  círculo  en  marrón,  ab  en  bronceado).  Y  hay  dos  grupos  de
dos  que  cubren  m9  (acd  en  un  círculo  marrón,  abc  en  marrón),  que  se  muestran  en  el  mapa
A  la  derecha.

abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 11 1 00 11 1

01 111 01 111

11 1 1 11 1 1

10 11 1 10 11 1

Podemos  elegir  un  término  del  primer  par  e  (independientemente)  uno  de
el  segundo  par.  Por  lo  tanto,  hay  cuatro  soluciones.  Podemos  escribir  la  solución  como
mostrado,  donde  tomamos  un  término  dentro  de  cada  paréntesis

anuncio ac
f  bd  bd
abdominales a  B  C
Machine Translated by Google

130 Capítulo  3  El  mapa  de  Karnaugh

o  podemos  escribir  las  cuatro  expresiones

f  bd  bd  anuncio  acd
bd  bd  anuncio  abc
bd  bd  ab  acd
bd  bd  ab  abc
EJEMPLO  3.14

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 1 1 00 1 1 1 00 1 1 1

01 11 01 1 1 01 1 1

11 1 1 1 11 1 1 1 11 1 1 1

10 1 1 1 10 1 1 1 10 1 1 1

Los  cuatro  implicantes  primos  esenciales  se  muestran  en  el  segundo  mapa,  dejando
tres  1  a  cubrir:

F  ACD  ACD  ACD  ACD

Estos  cuadrados  están  sombreados  en  el  tercer  mapa.  Los  otros  tres  implicados  
principales,  todos  grupos  de  cuatro,  también  se  muestran  en  el  tercer  mapa.  Cada  uno  de  estos
cubre  dos  de  los  tres  1  restantes  (no  hay  dos  iguales).  Así  dos  cualesquiera  de
BD,  AB  y  BC  se  pueden  usar  para  completar  la  suma  mínima  de  productos
expresión.  Las  tres  respuestas  igualmente  buenas  resultantes  son

F  ACD  ACD  ACD  ACD  BD  AB
F  ACD  ACD  ACD  ACD  BD  BC
F  ACD  ACD  ACD  ACD  AB  BC

Antes  de  hacer  ejemplos  adicionales  (más  complejos),  presentaremos  un  método  algo  
diferente  para  encontrar  la  suma  mínima  de  productos
expresiones

Método  de  mapa  2

1.  Encierra  en  un  círculo  todos  los  implicantes  primos.

2.  Seleccione  todos  los  implicantes  primos  esenciales;  son  fácilmente  identificados  por
encontrar  1's  que  solo  han  sido  circulados  una  vez.

3.  Luego  elija  suficientes  de  los  otros  implicantes  primos  (como  en
Método  1).  Por  supuesto,  estos  implicantes  principales  ya  han  sido
identificado  en  el  paso  1.
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 131

EJEMPLO  3.15

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 1 00 1 1 00 1 1

01 11 11 01 1 11 1 01 11 1 1

11 1 1 11 1 1 11 1 1

10 1 1 1 10 1 1 1 10 1 1 1

Todos  los  principales  implicados  han  sido  encerrados  en  un  círculo  en  el  mapa  central.  Tenga  en  cuenta  que

m0  ha  sido  circulado  tres  veces  y  que  varios  minitérminos  han  sido
en  círculos  dos  veces.  Sin  embargo,  m3  y  m5  solo  se  han  circulado  una  vez.  Por  lo  tanto,  la
implicantes  primos  que  los  cubren,  AB  y  CD  son  esenciales.  En  el  tercero
mapa,  hemos  sombreado  la  parte  del  mapa  cubierta  por  primos  esenciales
implicantes  para  resaltar  lo  que  queda  por  cubrir.  Hay  cuatro  1,  cada  uno
de  los  cuales  se  pueden  cubrir  de  dos  maneras  diferentes,  y  cinco  implicantes  primos  no
usado  todavía.  Ningún  implicante  primo  cubre  más  de  dos  nuevos  1;  por  lo  tanto,  necesitamos
al  menos  dos  términos  más.  De  los  grupos  de  cuatro,  sólo  BD  cubre  dos  nuevos
1's;  BC  cubre  solo  uno.  Habiendo  elegido  el  primer  grupo,  debemos  usar  ABC
para  cubrir  el  resto  de  la  función,  produciendo
F  AB  CD  BD  ABC

Tenga  en  cuenta  que  este  es  el  único  conjunto  de  cuatro  implicantes  primos  (sin  importar  el  tamaño)
que  cubre  la  función.

EJEMPLO  3.16
G(A,  B,  C,  D) m(0,  1,  3,  7,  8,  11,  12,  13,  15)

Este  es  un  caso  con  más  1's  descubiertos  después  de  encontrar  el  primo  esencial
implicante  El  primer  mapa  muestra  todos  los  implicantes  principales  en  un  círculo.  El  único  
implicante  primo  esencial  es  YZ;  quedan  cinco  1  por  cubrir.
Como  todos  los  demás  implicantes  primos  son  grupos  de  dos,  necesitamos  tres
implicantes  más  primos.  Estos  1  están  organizados  en  una  cadena,  con  cada  número  primo
implicante  ligado  a  uno  a  cada  lado.  Si  estamos  buscando  una  sola  solución,
debemos  seguir  las  pautas  del  Método  1,  eligiendo  dos  términos  que
WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 1 00 1 1 1 00 1 1 1

01 1 1 01 1 1 01 1 1

11 1 1 1 1 11 1111 11 1111

10 10 10
Machine Translated by Google

132 Capítulo  3  El  mapa  de  Karnaugh

cada  uno  cubre  nuevos  1  y  luego  selecciona  un  término  para  cubrir  el  1  restante.  Uno
dicho  ejemplo  se  muestra  en  el  tercer  mapa,  comenzando  con  WXY  y  XYZ.  Si
deseamos  encontrar  todas  las  soluciones  mínimas,  un  enfoque  es  comenzar  en  una
final  de  la  cadena  (como  se  muestra  en  el  segundo  mapa).  (Podríamos  haber  comenzado  en
el  otro  extremo,  con  m13,  y  logramos  los  mismos  resultados.)  Para  cubrir  m1 ,
debe  usar  WXZ,  como  se  muestra  en  marrón  arriba,  o  WXY  (como  se  muestra  en
los  mapas  a  continuación).  Una  vez  que  hemos  elegido  WXZ,  no  tenemos  más  libertad,
ya  que  los  términos  que  se  muestran  en  el  tercer  mapa  de  arriba  son  la  única  manera  de  cubrir  el
los  1  restantes  en  dos  términos  adicionales.  Así,  una  solución  es
F  YZ  WXZ  XYZ  WXY

Los  siguientes  tres  mapas  muestran  las  soluciones  usando  WXY  para  cubrir  m0.

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 1 00 1 1 1 00 1 1 1

01 1 1 01 1 1 01 1 1

11 1111 11 1111 11 1111

10 10 10

Después  de  elegir  WXY,  ahora  hay  que  cubrir  tres  1.  Nosotros  podemos  usar
los  mismos  dos  últimos  términos  que  antes  (izquierda)  o  use  WYZ  para  cubrir  m8  (dos
mapas).  Las  otras  tres  soluciones  son  por  lo  tanto

F  YZ  WXY  XYZ  WXY
F  YZ  WXY  WYZ  WXY
F  YZ  WXY  WYZ  WXZ

Ahora  veremos  algunos  ejemplos  sin  implícitos  primos  esenciales.
cantos  Un  ejemplo  clásico  de  tal  función  se  muestra  en  el  Ejemplo  3.17.

EJEMPLO  3.17

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1 00 1 1

01 11 01 11 01 11

11 1 1 11 1 1 11 1 1

10 1 1 10 1 1 10 1 1
Machine Translated by Google

3.2  Expresiones  de  suma  mínima  de  productos  utilizando  el  mapa  de  Karnaugh 133

Hay  ocho  1;  todos  los  implicantes  primos  son  grupos  de  dos.  Por  lo  tanto,  necesitamos  en
menos  cuatro  términos  en  una  solución  mínima.  No  hay  un  lugar  obvio  para  comenzar;
así,  en  el  segundo  mapa,  elegimos  arbitrariamente  uno  de  los  términos,  acd.
Siguiendo  las  pautas  del  paso  2,  debemos  elegir  un  segundo  término
que  cubre  dos  nuevos  1,  de  tal  manera  que  no  deje  un  1  aislado  sin  cubrir.  Uno  de  esos  
términos  es  bcd,  como  se  muestra  en  el  tercer  mapa.  Otra  posibilidad  sería  bcd  (el  grupo  
de  la  última  fila).  Como  veremos,  ese  grupo
también  se  utilizará.  Repitiendo  ese  procedimiento,  obtenemos  la  portada  en  el  mapa  de  la  
izquierda  a  continuación,

f  acd  bcd  acd  bcd

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1 00 1 1

01 11 01 11 01 11

11 1 1 11 1 1 11 1 1

10 1 1 10 1 1 10 1 1

Observe  que  si,  después  de  comenzar  con  acd,  elegimos  uno  de  los  principales
implicantes  no  incluidos  en  esta  solución  anterior,  como  abd,  que  se  muestra  en  la
mapa  central,  dejamos  un  1  descubierto  aislado  (lo  que  requeriría  un  tercer
término)  más  tres  1  más  (lo  que  requeriría  dos  términos  más).  Una  solución
usar  esos  dos  términos  requeriría  cinco  términos  (obviamente  no  es  un  mínimo
ya  que  encontramos  uno  con  cuatro).  Otra  opción  sería  un  término  como
abd,  que  cubre  solo  un  nuevo  1,  dejando  cinco  1  descubiertos.  Eso  también,
requeriría  al  menos  cinco  términos.
La  otra  solución  a  este  problema  comienza  con  abd,  el  único  otro
implicante  primo  para  cubrir  m0.  Usando  el  mismo  proceso,  obtenemos  el  mapa  en
el  derecho  y  la  expresión

f  abd  abc  abd  abc

EJEMPLO  3.18
G(A,  B,  C,  D) m(0,  1,  3,  4,  6,  7,  8,  9,  11,  12,  13,  14,  15)

Todos  los  implicantes  primos  son  grupos  de  cuatro.  Como  hay  13  1,
necesita  al  menos  cuatro  términos.  El  primer  mapa  muestra  todos  los  implicantes  primos.
en  un  círculo;  hay  nueve  No  hay  1  encerrados  en  un  círculo  solo  una  vez  y,  por  lo  tanto,  hay
no  hay  implicantes  primos  esenciales.
Machine Translated by Google

134 Capítulo  3  El  mapa  de  Karnaugh

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1111 00 1111 00 1111

01 1 1 1 01 1 1 1 01 1 1 1

11 1 11 1 11 1 11 1 11 1 11 1

10 1 1 10 1 1 10 1 1

Como  punto  de  partida,  elegimos  uno  de  los  minitérminos  cubiertos  por  solo
dos  implicantes  primos,  digamos  m0.  En  el  segundo  mapa,  usamos  CD  para  cubrir
él.  A  continuación,  encontramos  dos  implicantes  primos  adicionales  que  cubren  cuatro  nuevos  1
cada  uno,  como  se  muestra  en  el  tercer  mapa.  Eso  deja  solo  m13  para  cubrir.  como  puede
ser  visto  en  el  cuarto  mapa  (que  se  muestra  a  continuación),  hay  tres  primos  diferentes
implicantes  que  se  pueden  utilizar.  Ahora,  tenemos  tres  de  las  soluciones  mínimas.

F  CD  BD  BC  AB  o  AC  o  AD

Si,  en  lugar  de  usar  CD  para  cubrir  m0,  usamos  BC  (el  único  otro  primo
implicante  que  cubre  m0),  como  se  muestra  en  el  siguiente  mapa,  podemos  encontrar  otros  dos
grupos  de  cuatro  que  cada  uno  cubre  cuatro  nuevos  1  y  deja  solo  m13  para  ser
cubierto.  Una  vez  más,  tenemos  tres  formas  diferentes  de  completar  la  portada.
(los  mismos  tres  términos  que  antes).

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1111 00 1111 00 1111

01 1 1 1 01 1 1 1 01 1 1 1

11 1 11 1 11 1 11 1 11 1 11 1

10 1 1 10 1 1 10 1 1

Por  lo  tanto,  hay  seis  soluciones  igualmente  buenas.
AB
CD  BD  BC
F C.A.
BC  BD  CD
ANUNCIO

donde  se  elige  un  grupo  de  términos  del  primer  corchete  y  otro  adicional
término  del  segundo.  Estamos  seguros  de  que  no  hay  mejores  soluciones,  ya  que
cada  uno  usa  el  número  mínimo  de  implicantes  primos,  cuatro.  Aunque  puede
no  ser  obvio  sin  probar  otras  combinaciones,  no  hay  adicionales
soluciones  mínimas.
Machine Translated by Google

3.3  No  me  importa 135

En  los  Problemas  resueltos  1  y  1  se  incluyen  otros  ejemplos.
2.  El  ejemplo  3.19  es  uno  de  los  problemas  de  cuatro  variables  más  complejos,
requiriendo  más  términos  de  los  que  podríamos  estimar  en  un  principio.

EJEMPLO  3.19

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1 00 1 1

01 1 1 1 01 1 1 1 01 1 1 1

11 1 1 1 11 1 1 1 11 1 1 1

10 111 10 111 10 111

Esta  función  tiene  un  implicante  primo  esencial  (un  minitérmino)  y  otros  diez
1's  Todos  los  demás  implicantes  primos  son  grupos  de  dos.  el  segundo  mapa
muestra  los  13  implicantes  primos.  Los  principales  implicantes  de  esta  función  son
a  B  C  D ac b.d.c. ac b.d.c. b.d.c. ac
ac abd a  B  C abd a  B  C abd

Tenga  en  cuenta  que  cada  1  (que  no  sea  m0)  puede  estar  cubierto  por  dos  o  tres  diferentes
términos.

Como  hay  diez  1  que  deben  cubrirse  por  grupos  de  dos,  sabemos  que
necesitamos  al  menos  cinco  términos,  además  de  abcd.  El  tercer  mapa  muestra  la
comienzos  de  un  intento  de  cubrir  la  función.  Cada  término  cubre  dos  nuevos
1  sin  dejar  ningún  1  aislado  descubierto.  (El  1  en  la  parte  superior  podría  ser
combinado  con  m14.)  Los  cuatro  1  que  quedan  requieren  tres  términos  adicionales.
Después  de  probar  varias  otras  agrupaciones,  podemos  ver  que  no  es  posible
cubrir  esta  función  con  menos  de  siete  términos.  Hay  32  mini  diferentes
mamá  soluciones  a  este  problema.  Algunas  de  las  soluciones  se  enumeran  a  continuación.  El
el  resto  se  deja  como  ejercicio  (Ejercicio  1p).
f  abcd  acd  bcd  abd  abc  abc  acd
abcd  acd  bcd  abd  abd  bcd  abc
abcd  bcd  abd  acd  abd  acd  bcd
abcd  bcd  abc  bcd  abd  abc  abd

[ES  2,  3,  4;  EJ  2,  3,  4]

3.3  NO  ME  IMPORTA
Encontrar  soluciones  mínimas  para  funciones  con  no  importa  no
cambiar  significativamente  los  métodos  que  desarrollamos  en  la  última  sección.  Nosotros
Es  necesario  modificar  ligeramente  las  definiciones  de  implicante  y  de  implicante  primo,  
y  aclarar  la  definición  de  implicante  primo  esencial.
Machine Translated by Google

136 Capítulo  3  El  mapa  de  Karnaugh

Un  implicante  es  un  rectángulo  de  1,  2,  4,  8, . . .  1's  o  X's  (que  contienen
sin  0).
Un  implicante  primo  es  un  implicante  que  no  está  incluido  en  ningún  rectángulo  
más  grande.  Así,  desde  el  punto  de  vista  de  encontrar  implicantes  primos,  X's
(no  me  importa)  se  tratan  como  1's.
Un  implicante  primo  esencial  es  un  implicante  primo  que  cubre  al  menos
uno  1  no  cubierto  por  ningún  otro  implicante  primo  (como  siempre).  No
las  preocupaciones  (X)  no  hacen  que  un  implicante  primo  sea  esencial.

Ahora,  solo  aplicamos  cualquiera  de  los  métodos  de  la  última  sección.  Cuando  estamos
hecho,  algunas  de  las  X  pueden  estar  incluidas  y  otras  no.  pero  no  lo  hacemos
importa  si  están  o  no  incluidos  en  la  función.

EJEMPLO  3.20
F(A,  B,  C,  D) m(1,  7,  10,  11,  13) re(5,  8,  15)

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 X 00 X 00 X

01 1 1X 01 1 X 1 01 1 1X

11 1 X 1 11 1 X 1 11 1 X 1

10 1 10 1 10 1

Primero  mapeamos  la  función,  ingresando  un  1  para  aquellos  minitérminos  incluidos  en
la  función  y  una  X  para  el  no  importa.  Encontramos  dos  primos  esenciales
implicantes,  como  se  muestra  en  el  mapa  central.  En  cada  caso,  los  1  con  una  estrella.
no  puede  ser  cubierto  por  ningún  otro  implicante  primo.  Eso  dejó  los  dos  1  en  un  círculo.
en  marrón  para  cubrir  el  resto  de  la  función.  Ese  no  es  un  implicante  primo  esencial,  
ya  que  cada  uno  de  los  1  podría  estar  cubierto  por  otro  implicante  primo.
(como  se  muestra  en  bronceado  en  el  tercer  mapa).  Sin  embargo,  si  no  usáramos  ABC ,
necesitaría  dos  términos  adicionales,  en  lugar  de  uno.  Así,  el  único  mínimo
la  solución  es

FBD  ACD  ABC

y  los  términos  ABD  y  ACD  son  implicantes  primos  que  no  se  usan  en  el  mínimo
solución.  Tenga  en  cuenta  que  si  todos  los  no  importa  se  hicieran  1,  necesitaríamos  un
cuarto  término  para  cubrir  m8,  haciendo
F  BD  ACD  ABC  ABD  o
FBD  ACD  ACD  ABD

y  que  si  todos  los  no  importa  fueran  0,  la  función  se  convertiría  en
F  ABCD  ABCD  ABCD  ABC

En  cualquier  caso,  la  solución  es  mucho  más  compleja  que  cuando  tratamos
esos  términos  como  don't  cares  (y  convertí  dos  de  ellos  en  1  y  el  otro  en  0).
Machine Translated by Google

3.3  No  me  importa 137

EJEMPLO  3.21

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz
00 X 11 00 X 11 00 X 11

01 X 1 1 01 X 1 1 01 X 1 1

11 X 1 1 11 X 1 1 11 X 1 1

10 X 10 X 10 X

Hay  dos  implicantes  primos  esenciales,  como  se  muestra  en  el  mapa  central,  xz
y  wyz.  El  grupo  de  cuatro  don't  cares,  wx,  es  un  implicante  principal  (ya  que
es  un  rectángulo  de  cuatro  1  o  X)  pero  no  es  esencial  (ya  que  no  cubre
cualquier  1  no  está  cubierto  por  algún  otro  implicante  primo).  Seguramente,  nunca  
se  usaría  un  implicante  primo  compuesto  por  todos  los  no  importa,  ya  que  eso  agregaría
un  término  a  la  suma  sin  cubrir  ningún  1  adicional.  los  tres  restantes
Los  1  requieren  dos  grupos  de  dos  y,  por  lo  tanto,  hay  tres  soluciones  igualmente  
buenas,  cada  una  con  cuatro  términos  y  11  literales:

g1  xz  wyz  wyz  wxy
g2  xz  wyz  xyz  wxy
g3  xz  wyz  xyz  wyz

Una  cosa  importante  a  tener  en  cuenta  sobre  el  Ejemplo  3.21  es  que  los  tres
Las  expresiones  algebraicas  no  son  todas  iguales.  El  primero  trata  al  que  no  le  importa
m0  como  un  1,  mientras  que  los  otros  dos  (que  son  iguales  entre  sí)  lo  tratan
como  un  0.  Esto  sucederá  a  menudo  con  no  me  importa.  Deben  tratar  la  parte  
especificada  de  la  función  (los  1  y  los  0)  de  la  misma  manera,  pero  no
los  cuidados  pueden  tomar  diferentes  valores  en  las  diversas  soluciones.  los  mapas  de
El  mapa  3.15  muestra  las  tres  funciones.

Mapa  3.15  Las  diferentes  soluciones  para  el  Ejemplo  3.21.
wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1 11 00 11 00 11

01 1 1 1 01 1 1 1 01 1 1 1

11 1 1 1 11 1 1 1 11 1 1 1

10 10 10

1
gramo 2
gramo 3
gramo
Machine Translated by Google

138 Capítulo  3  El  mapa  de  Karnaugh

EJEMPLO  3.22

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 1 00 1111 00 1111

01 1 X 01 1 X 01 1 X

11 1 X 1 11 1 X 1 11 1 X 1

10 1 11 10 1 11 10 1 11

En  el  primer  mapa,  hemos  mostrado  el  único  implicante  primo  esencial,  cd,
y  el  otro  grupo  de  cuatro  que  se  usa  en  las  tres  soluciones,  ab.  (Esto  debe
ser  usado  ya  que  el  único  otro  implicante  primo  que  cubriría  m15  es  bcd,
que  requiere  un  literal  más  y  no  cubre  ningún  1  que  no  sea
cubierto  por  ab.)  Los  tres  1  restantes  requieren  dos  términos,  uno  de  los  cuales
debe  ser  un  grupo  de  dos  (para  cubrir  m3)  y  el  otro  debe  ser  uno  de  los
grupos  de  cuatro  que  cubren  m10.  En  el  segundo  mapa,  hemos  mostrado  dos  de
las  soluciones,  las  que  utilizan  bd  como  grupo  de  cuatro.  En  el  tercer  mapa,
hemos  mostrado  la  tercera  solución,  utilizando  ad.  Así,  tenemos

g1  cd  ab  bd  acd
g2  cd  ab  bd  abc
g3  cd  ab  ad  abc

Ahora  podemos  preguntar  si  estas  soluciones  son  iguales  entre  sí.  Podemos  
mapear  las  tres  soluciones  como  hicimos  en  el  Ejemplo  3.21,  o  podemos  hacer
una  tabla  del  comportamiento  de  los  no  importa:  una  columna  para  cada  no  importa
y  una  fila  para  cada  solución.

m7  m9
1 0
g1  g2   0
0  g3  0 0

De  la  tabla,  es  claro  que  g2  g3,  pero  ninguno  es  igual  a  g1.  un  mas
ejemplo  complejo  se  encuentra  en  los  problemas  resueltos.

No  me  importa  darnos  otra  opción  para  resolver  problemas  de  mapas  para
funciones  con  o  sin  no  importa.  En  cualquier  momento  del  proceso  de
Usando  el  método  de  mapa  1  o  2,  podemos  reemplazar  todos  los  1  cubiertos  por  el
términos  ya  elegidos  por  don't  cares.  Eso  resalta  los  1  restantes  para
Estar  cubierto.  Luego  debemos  elegir  suficientes  términos  para  cubrir  el  resto
Machine Translated by Google

3.3  No  me  importa 139

1's  Esto  funciona  porque  los  1  ya  cubiertos  se  pueden  usar  nuevamente  (como
parte  de  un  término  que  cubre  algunos  1  nuevos),  pero  no  necesariamente.

EJEMPLO  3.23
F(A,  B,  C,  D) m(0,  3,  4,  5,  6,  7,  8,  10,  11,  14,  15)

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 11 1 00 X1 1 00 X1 1

01 1 01 X 01 X

11 11 1 1 11 X X XX 11 X X XX

10 111 10 11X 10 11X

Primero  encontramos  los  dos  implicantes  primos  esenciales,  AB  y  CD.  En  el  
segundo  mapa,  convertimos  todos  los  1  cubiertos  en  no  importa.  Finalmente,  podemos
cubra  los  1  restantes  con  AC  y  BCD,  produciendo

F  AB  CD  AC  BCD

Reemplazar  los  términos  mínimos  cubiertos  por  no  me  importa  logra  lo  mismo
como  el  sombreado  que  hicimos  en  los  Ejemplos  3.14  y  3.15;  destaca  los  1
que  quedan  por  cubrir.

EJEMPLO  3.24
Los  implicantes  primos  esenciales,  xy  y  xy,  están  encerrados  en  un  círculo  en  el  primer  mapa.  El
Los  1  cubiertos  por  ellos  se  cambian  a  no  importa  en  el  segundo  mapa.  Es
ahora  está  claro  que  los  dos  1  en  la  columna  10  pueden  estar  cubiertos  por  wy  o
wx  y  que  el  otro  1  puede  ser  cubierto  por  wxz  o  wyz.

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1 1 1 00 X X 1

01 1 1 01 X X

11 1 1 1 11 1X X

10 1 1 1 10 X 1 X

Por  lo  tanto,  las  cuatro  soluciones  mínimas  son

wy wxz
xy  xy
xy wyz

[ES  5,  6;  EJ  5,  6]
Machine Translated by Google

140 Capítulo  3  El  mapa  de  Karnaugh

3.4  PRODUCTO  DE  SUMAS
Encontrar  una  expresión  de  producto  mínimo  de  sumas  no  requiere  una  nueva  teoría.
El  siguiente  enfoque  es  el  más  simple:

1.  Mapea  el  complemento  de  la  función.  (Si  ya  existe  un  mapa  para  la  función,  
reemplace  todos  los  0  por  1,  todos  los  1  por  0  y  deje  las  X  sin  cambios).

2.  Encuentre  la  expresión  de  suma  mínima  de  productos  para  el  complemento  de  la  
función  (usando  las  técnicas  de  las  dos  últimas  secciones).
3.  Usa  el  teorema  de  DeMorgan  (P11)  para  complementar  esa  expresión,  
produciendo  una  expresión  de  producto  de  sumas.

Otro  enfoque,  que  no  seguiremos  aquí,  es  definir  el  dual  de  los  implicados  
primos  (denominados  implicados  primos)  y  desarrollar  un  nuevo  método.

EJEMPLO  3.25
f(a,  b,  c,  d) m(0,  1,  4,  5,  10,  11,  14)

Dado  que  todos  los  minitérminos  deben  ser  minitérminos  de  f  o  de  f,  entonces  f  debe  ser  la  
suma  de  todos  los  demás  minitérminos,  es  decir

f(a,  b,  c,  d) m(2,  3,  6,  7,  8,  9,  12,  13,  15)

Los  mapas  de  f  y  f  se  muestran  a  continuación:

abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 11 00 11

01 1 1 01 1 1

11 1 11 111

10 11 10 11

F F

No  necesitábamos  mapear  f,  a  menos  que  quisiéramos  tanto  la  expresión  de  suma  de  
productos  como  la  expresión  de  producto  de  sumas.  Una  vez  que  mapeamos  f,  no  
necesitábamos  escribir  todos  los  minitérminos  de  f;  podríamos  haber  reemplazado  los  1  por  
0  y  los  0  por  1.  Además,  en  lugar  de  mapear  f,  podríamos  buscar  rectángulos  de  0  en  el  
mapa  de  f.  Esta  función  es  bastante  sencilla.  Los  mapas  para  la  suma  mínima  de  
expresiones  de  productos  para  f  y  f  se  muestran  a  continuación:
Machine Translated by Google

3.4  Producto  de  sumas 141

abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 11 00 11

01 1 1 01 1 1

11 1 11 111

10 11 10 11

F F

Hay  una  solución  mínima  para  f  y  hay  dos  soluciones  igualmente  buenas  para  
la  suma  de  productos  para  f:

f  ac  abc  acd f  ac  ac  abd
f  ac  ac  bcd

Entonces  podemos  complementar  las  soluciones  para  f  para  obtener  las  dos  soluciones  de  
producto  mínimo  de  sumas  para  f:

f  (af   c)(a  c)(a  b  d)
(un c)(a  c)(b  c  d)

La  solución  de  suma  mínima  de  productos  tiene  tres  términos  y  ocho  literales;
las  soluciones  del  producto  mínimo  de  sumas  tienen  tres  términos  y  siete  literales.
(No  hay  un  patrón  establecido;  a  veces  la  solución  de  la  suma  de  productos  tiene  menos
términos  o  literales,  a  veces  lo  hace  el  producto  de  sumas,  y  a  veces
tienen  el  mismo  número  de  términos  y  literales).

Encuentre  todas  las  sumas  mínimas  de  productos  y  todos  los  productos  mínimos  de  sumas EJEMPLO  3.26
soluciones  para

g(w,  x,  y,  z) m(1,  3,  4,  6,  11) d(0,  8,  10,  12,  13)

Primero  encontramos  la  expresión  de  la  suma  mínima  de  productos  al  mapear  g.
Sin  embargo,  antes  de  complicar  el  mapa  encerrando  en  un  círculo  los  implicados  primos,  también
mapa  g  (parte  superior  de  la  página  siguiente).  Tenga  en  cuenta  que  las  X  son  las  mismas  en  ambos  mapas.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz
00 X 1XX 00 X 1XX 00 X XXX

01 1 X 01 1 X 01 1 X
gramo

11 1 1 11 1 1 11 1 1

10 1 X 10 1 X 10 X X
Machine Translated by Google

142 Capítulo  3  El  mapa  de  Karnaugh

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 X X X 00 X X X 00 X X X

01 1 X 1 01 1 X 1 01 X X X
gramo

11 11 11 11 11 X X

10 1 1 X 10 1 1 X 10 X X1

Para  g,  el  único  implicante  primo  esencial,  wxz  se  muestra  en  el  mapa  central.
Los  1  cubiertos  por  él  están  hechos  sin  importar  en  el  mapa  de  la  derecha,  y  los
los  implicantes  primos  útiles  restantes  están  encerrados  en  un  círculo.  Hemos  
visto  ejemplos  similares  antes,  donde  tenemos  tres  1  para  cubrir  en  grupos  de  dos.  Allá
hay  tres  soluciones  igualmente  buenas:

wxy  xyz
gwxz wxz  xyz
wxz  wxy

Para  g,  hay  tres  implicantes  primos  esenciales,  como  se  muestra  en  el  centro
mapa.  Una  vez  que  se  han  hecho  todos  los  1  cubiertos  por  ellos,  no  importa,
solo  queda  un  1;  se  puede  cubrir  de  dos  maneras  como  se  muestra  a  la  derecha
mapa:
wx
g  xz  xz  wy
wz

(ancho  x)
g  (x  z)(x  z)(w  y)
( wz)
Tenga  en  cuenta  que  en  este  ejemplo,  la  suma  de  las  soluciones  de  productos  requiere  cada  una  solo
tres  términos  (con  nueve  literales),  mientras  que  el  producto  de  sumas  soluciones  cada  uno
requieren  cuatro  términos  (con  ocho  literales).
Finalmente,  queremos  determinar  cuál  de  las  cinco  soluciones,  si  es  que  hay  alguna,  es
igual.  La  complicación  (en  comparación  con  esta  misma  pregunta  en  la  última  sección)  
es  que  cuando  tratamos  a  no  me  importa  como  un  1  para  g,  eso  significa  que  estamos
tratándolo  como  un  0  de  g.  Etiquetar  las  tres  soluciones  de  suma  de  productos  como  g1,  g2,
y  g3,  y  las  dos  soluciones  de  producto  de  sumas  como  g4  y  g5,  producimos  el
siguiente  tabla:
0 8 10 12 13

g1  10  0  g2  00  0  g3  00   0   0
1  11  1  g  4  g4  00  0  11   0   0
1  g  5  g5  00  0 0   0
1
1   0
1
0  1  0 0
Machine Translated by Google

3.5  Mapas  de  cinco  y  seis  variables 143

El  producto  de  las  soluciones  de  suma  trata  todos  los  no  importa  como  1  de  g  ya  que
cada  uno  está  rodeado  por  los  implicantes  primos  esenciales  de  g.  (Por  lo  tanto,  son  0
de  g.)  Entonces  notamos  que  las  tres  soluciones  que  son  iguales  son

g2  wxz  wxz  xyz

g4  (x  z)(x  z)(w  y)(w  x)

g5  (x  z)(x  z)(w  y)(w  z)

[ES  7,  8;  EJ  7,  8]

3.5  MAPAS  DE  CINCO  Y  SEIS  VARIABLES
Un  mapa  de  cinco  variables  consta  de  25  32  cuadrados.  Aunque  se  han  utilizado  varios  
arreglos,  preferimos  verlo  como  dos  capas
de  16  cuadrados  cada  uno.  La  capa  superior  (abajo  a  la  izquierda)  contiene  los  cuadrados
para  los  primeros  16  minitérminos  (para  los  cuales  la  primera  variable,  A,  es  0)  y  el
la  capa  inferior  contiene  los  16  cuadrados  restantes,  como  se  muestra  en  el  Mapa  3.16:

Mapa  3.16  Un  mapa  de  cinco  variables.

antes  de  Cristo
A 0
Delaware
00 01 11 10

00 0 4 1  2 8

A 1
01 1 5 1  3 9
2016 28 24
11 3 7 15 11
29 25
10 2 6 1  4 10  2117
2319 31 27

2218 30 26

Cada  cuadrado  en  la  capa  inferior  corresponde  al  minitérmino  numerado
16  más  que  el  cuadrado  de  arriba.  Los  términos  del  producto  aparecen  como  rectangulares.
sólidos  de  1,  2,  4,  8,  16, . . .  1  o  X.  Cuadrados  directamente  arriba  y  abajo
entre  sí  son  adyacentes.

EJEMPLO  3.27
m2  m5  ABCDE  ABCDEBCDE
m11  m27  ABCDE  ABCDEBCDE
m5  m7  m21  m23  a.
Estos  términos  están  encerrados  en  un  círculo  en  el  siguiente  mapa.
Machine Translated by Google

144 Capítulo  3  El  mapa  de  Karnaugh

antes  de  Cristo
A 0
Delaware
00 01 11 10
A 1
00

01 1

11 1 1
1
10 1
1 1

De  manera  similar,  los  mapas  de  seis  variables  se  dibujan  como  cuatro  capas  de  
mapas  de  16  cuadrados,  donde  las  dos  primeras  variables  determinan  la  capa  y  las  otras  
variables  especifican  el  cuadrado  dentro  de  la  capa.  el  diseño,
con  números  mintérmino  mostrados,  se  da  en  el  Mapa  3.17.  Tenga  en  cuenta  que  las  capas
se  ordenan  de  la  misma  forma  que  las  filas  y  las  columnas,  es  decir  00,  01,
11,  10.
En  esta  sección,  nos  concentraremos  en  mapas  de  cinco  variables,
aunque  también  haremos  un  ejemplo  de  mapas  de  seis  variables  al  final.  El
las  técnicas  son  las  mismas  que  para  los  mapas  de  cuatro  variables;  lo  unico  nuevo  es
la  necesidad  de  visualizar  los  sólidos  rectangulares.  En  lugar  de  dibujar  el
mapas  para  que  parezcan  tridimensionales,  los  dibujaremos  uno  al  lado  del  otro.  El
función,  F,  se  mapea  en  el  Mapa  3.18.

F(A,  B,  C,  D,  E) m(4,  5,  6,  7,  9,  11,  13,  15,  16,  18,  27,  28,  31)

Mapa  3.17  Un  mapa  de  seis  variables.
AB 00
CD
FE 00 01 11 10
AB 01
00 0 4 12 8
AB 11
2016 28 24
01 1 5 13 9 AB 10
5248 60 56
2117 29 25
11 3 7 15 11
3632 44 40
5349 61 57
2319 31 27
10 2 6 14 10
3733 45 41
5551 63 59
2218 30 26
3935 47 43
5450 62 58

3834 46 42
Machine Translated by Google

3.5  Mapas  de  cinco  y  seis  variables 145

Mapa  3.18  Un  problema  de  cinco  variables.
A
antes  de  Cristo
0 antes  de  Cristo
1
Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 00 1 1

01 1 1 1 01

11 111 11 1 1

10 1 10 1

Como  siempre,  primero  buscamos  los  implicantes  primos  esenciales.  Un  bien
el  punto  de  partida  es  encontrar  1  en  una  capa  para  la  cual  hay  un  0  en  el  cuadrado  
correspondiente  en  una  capa  contigua.  Implicantes  primos  que  cubren  eso
1  están  contenidos  completamente  en  esa  capa  (y  por  lo  tanto,  en  realidad  solo  tenemos  un
problema  de  mapa  de  cuatro  variables).  En  este  ejemplo,  m4  cumple  este  criterio  (ya  que
hay  un  0  en  el  cuadrado  20  debajo).  Por  lo  tanto,  los  únicos  implicantes  primos  que  cubren  
m4  deben  estar  en  la  primera  capa.  De  hecho,  ABC  es  un  primo  esencial
implicante  (Nótese  que  la  A  proviene  del  hecho  de  que  este  grupo  está  contenido  
completamente  en  la  capa  A  0  del  mapa  y  la  BC  de  la
hecho  de  que  este  grupo  está  en  la  segunda  columna.)  En  realidad,  los  cuatro  1  en  este
término  no  tiene  equivalente  en  la  otra  capa  y  m6  también  haría  esto
primer  implicante  esencial.  (Los  otros  dos  1  en  ese  término  son  parte  de
también  otro  implicante  primo.)  También  observamos  que  m9,  m16,  m18  y  m28
tener  0  en  el  cuadrado  correspondiente  en  la  otra  capa  y  hacer  un  primo
implicante  esencial.  Aunque  m14  tiene  un  0  debajo  (m30),  no
hacer  un  implicante  principal  en  la  capa  A  esencial.  Así,  el  Mapa  3.19  muestra
cada  uno  de  estos  en  un  círculo,  destacando  los  principales  implicantes  esenciales  que  son
contenido  en  una  capa.

Mapa  3.19  Implicantes  primos  esenciales  en  una  capa.
A
antes  de  Cristo
0 antes  de  Cristo
1
Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 00 1 1

01 1 1 1 01

11 111 11 1 1

10 1 10 1
Machine Translated by Google

146 Capítulo  3  El  mapa  de  Karnaugh

Hasta  ahora,  tenemos

F  ABC  ABE  ABCE  ABCDE

Los  dos  1  restantes  descubiertos  tienen  contrapartes  en  la  otra  capa.
Sin  embargo,  el  único  implicante  primo  que  los  cubre  es  BDE,  como  se  muestra  en
Mapa  3.20  en  marrón.  También  es  un  implicante  primo  esencial.  (Tenga  en  cuenta  que
los  implicantes  primos  que  incluyen  unos  de  ambas  capas  no  tienen  la  variable  A  
en  ellos.  Tales  implicantes  primos  deben,  por  supuesto,  tener  el  mismo
número  de  1  en  cada  capa;  de  lo  contrario,  no  serían  rectangulares).

Mapa  3.20  Un  implicante  primo  que  cubre  1  en  ambas  capas.
A
antes  de  Cristo
0 antes  de  Cristo
1
Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 00 1 1

01 1 1 1 01

11 111 11 1 1

10 1 10 1

La  solución  completa  es  así
F  ABC  ABE  ABCE  ABCDE  BDE

Los  grupos  de  ocho  1  no  son  raros  en  problemas  de  cinco  variables,  como
ilustrado  en  el  ejemplo  3.28.

EJEMPLO  3.28
G(A,  B,  C,  D,  E) m(1,  3,  8,  9,  11,  12,  14,  17,  19,  20,  22,  24,  25,  27)

El  primer  mapa  muestra  un  gráfico  de  esa  función.  En  el  segundo  mapa,  al
derecha,  hemos  encerrado  en  un  círculo  los  dos  implicantes  primos  esenciales  que  encontramos  por
considerando  1  en  una  capa  con  0  en  el  cuadrado  correspondiente  en  la
otra  capa,  ABCE  y  ABCE.  El  grupo  de  los  ocho  1,  CE  (también  un
implicante  primo  esencial),  se  muestra  en  marrón  en  el  tercer  mapa  (donde  el
los  implicantes  primos  esenciales  que  se  encuentran  en  el  segundo  mapa  se  muestran  como  no
se  preocupa).  A  los  grupos  de  ocho  les  faltan  tres  literales  (quedan  solo  dos).  En  este
punto,  sólo  quedan  dos  1  descubiertos;  que  requiere  el  primo  esencial
implicante,  BCD,  que  se  muestra  en  el  cuarto  mapa  en  bronceado.
Machine Translated by Google

3.5  Mapas  de  cinco  y  seis  variables 147

0 A 1 0 A 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 1 00 1 1 00 1 1 00 1 1

01 1 1 01 1 1 01 1 1 01 1 1

11 1 1 11 1 1 11 1 1 11 1 1

10 1 10 1 10 1* 10 1

0 A 1 0 A 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 X 1 00 X 1 00 1 1 00 1 1

01 1 1 01 1 1 01 1 1 01 1 1

11 1 1 11 1 1 11 1 1 11 1 1

10 X 10 X 10 1 10 1

La  solución  es  así

G  ABCE  ABCE  CE  BCD

Tenga  en  cuenta  que  solo  hay  otro  implicante  principal  en  esta  función,  ABDE;  él
cubre  el  número  1  que  aún  no  está  cubierto.

El  siguiente  problema  se  muestra  en  los  mapas  a  continuación.  Una  vez  más,  comenzamos  por
EJEMPLO  3.29

buscando  1  que  estén  en  una  capa,  con  un  0  correspondiente  en  la  otra
capa.  Aunque  hay  varios  1  de  este  tipo  en  la  capa  A  0,  solo  m10
hace  que  un  implicante  primo  sea  esencial.  De  manera  similar,  en  la  capa  A  1,  m30  
está  cubierto  por  un  implicante  primo  esencial.  Estos  términos,  ACE  y  ABCD,  son
se  muestra  en  el  segundo  mapa.  Los  1  cubiertos  se  muestran  como  no  importa  en
el  siguiente  mapa.

0 A 1 0 A 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 11 1 00 00 111 1 00

01 1 1 01 1 1 01 1 1 01 1 1

11 1 11 1 11 1 11 1

10 1 1 10 1 1 10 1 1 10 1 1

Otros  tres  implicantes  primos  esenciales  incluyen  1  de  ambas  capas  del  mapa;
son  CDE,  BCE  y  BCDE,  como  se  muestra  en  el  mapa  de  la  izquierda  a  continuación.
Estos  se  encontraron  buscando  1  aislados,  como  m21,  m15  y  m18.
Machine Translated by Google

148 Capítulo  3  El  mapa  de  Karnaugh

0 A 1 0 A 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 X 11 X 00 00 111 1 00

01 1 1 01 1 1 01 1 1 01 1 1

11 1 11 X 11 1 11 1

10 X X 10 1 X 10 1 1 10 1 1

Finalmente,  los  dos  1  restantes  (m4  y  m12)  se  pueden  cubrir  de  dos  maneras,  como
que  se  muestra  en  el  mapa  de  la  derecha  arriba,  ACD  y  ADE.  Por  lo  tanto,  las  dos  
soluciones  son
CARA  ABCD  CDE  BCE  BCDE  ACD
CARA  ABCD  CDE  BCE  BCDE  ADE

EJEMPLO  3.30
H(A,  B,  C,  D,  E) m(1,  8,  9,  12,  13,  14,  16,  18,  19,  22,  23,  24,  30)
d(2,  3,  5,  6,  7,  17,  25,  26)

A  continuación,  a  la  izquierda,  se  muestra  un  mapa  de  H  con  el  único  implícito  primo  
esencial,  BD  (un  grupo  de  ocho,  incluidos  cuatro  unos  y  cuatro  indiferentes),  en  un  círculo.

0 A 1 0 A 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 11 00 1 1 00 11 00 1 1

01 1 X 1 1 01 X X 01 X1 1 1 01 X X

11 X X 11 1 1 11 XX 11 11

10 X X 1 10 111X 10 X X 1 10 1 11 X

A  continuación,  elegimos  CDE,  ya  que  de  lo  contrario  se  necesitarían  términos  separados  para
tapa  m14  y  m30.  También  elegimos  ABD  ya  que  cubre  cuatro  nuevos  1.  Además,  si  
eso  no  se  usara,  se  necesitaría  un  grupo  de  dos  (ABCE)
para  cubrir  m12.  Eso  nos  deja  con  tres  1  (m1,  m16  y  m24)  por  cubrir.
En  los  mapas  a  continuación,  hemos  reemplazado  todos  los  1  cubiertos  por  no  me  importa  (X)  para
Resalta  los  1  restantes.  Ningún  término  que  cubre  m1  también  cubre  cualquiera  de  los
otros  terminos.  Sin  embargo,  m16  y  m24  se  pueden  cubrir  con  un  término  en  cualquiera
de  dos  formas  (ACE  o  ACD)  como  se  muestra  en  el  primer  mapa  a  continuación,  y  m1  puede

0 A 1 0 A 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 XX 00 1 1 00 X X1 00 1

01 1 X X X 01 XX 01 X1 X X 01 X X

11 X X 11 X X 11 XX 11 XX

10 X X X 10 XXXX 10 X X X 10 X X X X
Machine Translated by Google

3.5  Mapas  de  cinco  y  seis  variables 149

estar  cubierto  por  cuatro  grupos  diferentes  de  cuatro,  como  se  muestra  en  el  segundo  mapa
(ADE,  ABE,  BCE  o  CDE),  dando  las  ocho  soluciones  que  se  muestran.
ADE
AS ABE
H  BD  CDE  ABD
DCA antes  de  Cristo

CDE

Finalmente,  veremos  un  ejemplo  de  una  función  de  seis  variables.

G(A,  B,  C,  D,  E,  F) m(1,  3,  6,  8,  9,  13,  14,  17,  19,  24,  25,  29,  32, EJEMPLO  3.31

33,  34,  35,  38,  40,  46,  49,  51,  53,  55,  56,  61,  63)

El  mapa  se  dibuja  horizontalmente,  con  las  dos  primeras  variables  determinando  el
Capa  de  16  cuadrados  (numerados,  por  supuesto,  00,  01,  11,  10).

00 01 AB 11 10
CD CD CD CD
FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10

00 1 00 1 00 1 00 1 1

01 1 1 1 01 1 11 01 11 1 01 1

11 1 11 1 11 1 1 1 11 1

10 1 1 10 10 10 111

El  primer  mapa  muestra  tres  de  los  implicantes  primos  esenciales.  El  único  que
se  limita  a  una  capa  se  encuentra  en  la  tercera  capa,  ABDF.  Los  1  en  la  esquina  
superior  derecha  de  cada  capa  forman  otro  grupo  de  cuatro  (sin  las  dos  primeras  
variables),  CDEF.  Los  cuadrados  marrones  forman  un  grupo  de  ocho,  CDF.  El  siguiente
el  mapa  muestra  los  1  cubiertos  por  los  tres  primeros  implicantes  primos  como  no  importa.

00 01 AB 11 10
CD CD CD CD
FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10

00 X 00 X 00 X1 00 X

01 X 1 1 01 X 11 01 XX X 01 X

11 X 11 X 11 X X X 11 X

10 1 1 10 10 10 11 1

Los  otros  dos  implicantes  principales  esenciales  son  ACEF  y  BDEF.  (Recuerde  que  
las  capas  superior  e  inferior  son  adyacentes).  Finalmente,  m32  y  m34  (en  la
cuarta  capa)  permanecen  descubiertas;  están  cubiertos  por  el  término  ABCD.
(Cada  uno  de  ellos  podría  haber  sido  cubierto  por  un  grupo  de  dos,  pero  eso  sería
tomar  dos  términos.)  Por  lo  tanto,  la  expresión  mínima  es
G  ABDF  CDEF  CDF  ACEF  BDEF  ABCD

[ES  9,  10;  EJ  9,  10]
Machine Translated by Google

150 Capítulo  3  El  mapa  de  Karnaugh

3.6  MÚLTIPLES  PROBLEMAS  DE  SALIDA
Muchos  problemas  reales  involucran  el  diseño  de  un  sistema  con  más  de  una  salida.  Si,  por  
ejemplo,  tuviéramos  un  problema  con  tres  entradas,  A,  B  y  C  y
dos  salidas,  F  y  G,  podríamos  tratar  esto  como  dos  problemas  separados  (como
se  muestra  a  la  izquierda  en  la  Figura  3.1).  Luego  haríamos  un  mapa  de  cada  una  de  las  
funciones  y  encontraríamos  soluciones  mínimas.  Sin  embargo,  si  tratamos  esto  como  un  solo
sistema  con  tres  entradas  y  dos  salidas  (como  se  muestra  a  la  derecha),
puede  ser  capaz  de  economizar  compartiendo  puertas.

Figura  3.1  Implementación  de  dos  funciones.
A
B F
C A F
B
A C GRAMO

B GRAMO

C
Dos Separado Sistemas Uno Sistema

En  esta  sección,  ilustraremos  el  proceso  de  obtención  de  soluciones  mínimas  de  dos  niveles  
usando  puertas  AND  y  OR  (soluciones  de  suma  de  productos),
suponiendo  que  todas  las  variables  están  disponibles  tanto  sin  complementar  como  
complementadas.*  Podríamos  convertir  cada  una  de  estas  soluciones  en  circuitos  de  
compuerta  NAND  (utilizando  el  mismo  número  de  compuertas  y  entradas  de  compuerta).  también  podríamos
encontrar  soluciones  producto  de  sumas  (minimizando  el  complemento  de  cada
de  las  funciones  y  luego  usando  el  teorema  de  DeMorgan).
Ilustraremos  esto  considerando  primero  tres  muy  simples
ejemplos

EJEMPLO  3.32
F(A,  B,  C) m(0,  2,  6,  7) G(A,  B,  C) m(1,  3,  6,  7)

Si  mapeamos  cada  uno  de  estos  y  los  resolvemos  por  separado,

AB AB
C 00 01 11 10 C 00 01 11 10

0 1 1 1 0 1

1 1 1 1 1 1

F GRAMO

obtenemos

F  AC  AB  G  AC  AB

Mirando  los  mapas,  vemos  que  el  mismo  término  (AB)  está  encerrado  en  un  círculo  en  ambos.  De  este  modo,

podemos  construir  el  circuito  de  la  izquierda,  en  lugar  de  los  dos  circuitos  de  la  derecha.

*Usaremos  como  definición  de  mínimo  un  circuito  que  contenga  el  número  mínimo  de
puertas,  y  entre  aquellos  con  el  mismo  número  de  puertas,  el  número  mínimo  de  entradas  de  puerta.
Machine Translated by Google

3.6  Problemas  de  salida  múltiple 151

A C
F
C
A
F
B
A
A
B
C
GRAMO GRAMO

A A

C B

Obviamente,  la  versión  de  la  izquierda  requiere  sólo  cinco  puertas,  mientras  que  la  de
a  la  derecha  usa  seis.

Este  ejemplo  es  el  más  simple.  Cada  uno  de  la  suma  mínima  de  productos
expresiones  contienen  el  mismo  término.  No  se  necesitarían  técnicas  especiales.
para  reconocer  esto  y  lograr  los  ahorros.
Incluso  cuando  las  dos  soluciones  no  tienen  un  primo  común  implica
no  podemos  compartir  como  se  ilustra  en  el  siguiente  ejemplo:

F(A,  B,  C) m(0,  1,  6) G(A,  B,  C) m(2,  3,  6) EJEMPLO  3.33

AB AB
C 00 01 11 10 C 00 01 11 10

0 1 1 0 11

1 1 1 1

F GRAMO

AB AB
C 00 01 11 10 C 00 01 11 10

0 1 1 0 11

1 1 1 1

F GRAMO

En  los  mapas  superiores,  consideramos  cada  función  por  separado  y  obtuvimos

F  AB  ABC  G  AB  BC
Machine Translated by Google

152 Capítulo  3  El  mapa  de  Karnaugh

Esta  solución  requiere  seis  puertas  (cuatro  AND  y  dos  OR)  con  13  entradas.
Sin  embargo,  como  se  puede  ver  en  el  segundo  par  de  mapas,  podemos  compartir  el
término  ABC  y  obtener

F  AB  ABC  G  AB  ABC

(Para  enfatizar  el  compartir,  hemos  mostrado  el  término  compartido  en  marrón,  y
hará  eso  en  otros  ejemplos  que  siguen.)  Como  se  puede  ver  en  el  circuito
a  continuación,  esto  solo  requiere  cinco  puertas  con  11  entradas.

B
F
A
B
C
GRAMO

Este  ejemplo  ilustra  que  un  término  compartido  en  una  solución  mínima
no  tiene  por  qué  ser  un  implicante  primo.  (En  el  ejemplo  3.33,  ABC  es  un  implicante  primo  de  F  
pero  no  de  G;  en  el  ejemplo  3.34,  usaremos  un  término  que  no  es  un
primer  implicante  de  cualquiera  de  las  funciones).

EJEMPLO  3.34
F(A,  B,  C) m(2,  3,  7) G(A,  B,  C) m(4,  5,  7)

AB AB
C 00 01 11 10 C 00 01 11 10

0 1 0 1

1 1 1 1 1 1

F GRAMO

AB AB
C 00 01 11 10 C 00 01 11 10

0 1 0 1

1 1 1 1 11

F GRAMO

En  el  primer  par  de  mapas,  resolvimos  esto  como  dos  problemas.  usando  esencial
implicantes  primos  de  cada  función,  se  obtuvo

F  AB  BC  G  AB  CA
Machine Translated by Google

3.6  Problemas  de  salida  múltiple 153

Sin  embargo,  como  se  puede  ver  en  el  segundo  conjunto  de  mapas,  podemos  compartir  el  término
ABC,  aunque  no  es  un  implicante  primo  de  ninguna  función,  y  una  vez
obtenga  nuevamente  una  solución  que  requiera  solo  cinco  puertas:

F  AB  ABC  G  AB  ABC

El  método  para  resolver  este  tipo  de  problema  es  empezar  por  mirar
en  los  1  de  cada  función  que  son  0  de  la  otra  función.  Ellos  deben  ser
cubiertos  por  implicantes  primos  de  esa  función.  Solo  los  términos  compartidos  necesitan
no  ser  implicantes  primos.  En  este  último  ejemplo,  elegimos  AB  para  F  ya  que
m2  lo  convierte  en  un  implicante  primo  esencial  de  F  y  elegimos  AB  para  G
ya  que  m4  lo  convierte  en  un  implicante  primo  esencial  de  G.  Eso  dejó  solo  un  1  
descubierto  en  cada  función,  el  mismo  1,  que  cubrimos  con
A  B  C.  Ahora  veremos  algunos  ejemplos  más  complejos.

EJEMPLO  3.35
F(A,  B,  C,  D) m(4,  5,  6,  8,  12,  13)
G(A,  B,  C,  D) m(0,  2,  5,  6,  7,  13,  14,  15)

Los  mapas  de  estas  funciones  se  muestran  a  continuación.  En  ellos,  hemos  mostrado  en
dora  los  1  que  están  incluidos  en  una  función  y  no  en  la  otra.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 1 1 00 1

01 1 1 01 1 1

11 11 11

10 1 10 1 1 1

F GRAMO

Luego  encerramos  en  un  círculo  cada  uno  de  esos  implicantes  principales  que  se  hizo  esencial  por
un  1  marrón .  El  único  1  marrón  que  no  estaba  dentro  de  un  círculo  en  F  es  m4  porque  eso
puede  ser  cubierto  por  dos  implicantes  primos.  Aunque  uno  de  los  términos
tendría  menos  literales,  debemos  esperar.  A  continuación,  usaremos  ABD  para  F.  Dado  que
m6  estaba  cubierto  por  un  implicante  primo  esencial  de  G,  ya  no  estamos  buscando  un  
término  para  compartir.  Así,  m6  estará  cubierto  en  F  por  el  implicante  primo,
ABD.  Como  se  muestra  en  los  mapas  a  continuación,  eso  deja  m4  y  m12  por  cubrir
en  ambas  funciones,  lo  que  nos  permite  compartir  el  término  BCD,  como  se  muestra  en  la
siguientes  mapas  en  un  círculo  marrón.
Machine Translated by Google

154 Capítulo  3  El  mapa  de  Karnaugh

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 1 1 00 1

01 1 1 01 1 1

11 11 11

10 1 10 11 1

F GRAMO

partida

F  ACD  ABD  BCD
G  ABD  BC  BCD

para  un  total  de  siete  puertas  con  20  entradas  de  puerta.  Observe  que  si  hubiéramos  
minimizado  las  funciones  individualmente,  habríamos  usado  dos  términos  separados  para
el  tercer  término  en  cada  expresión,  resultando  en

F  ACD  ABD  BC
G  ABD  BC  BD

para  un  total  de  ocho  puertas  con  21  entradas  de  puerta.  Claramente,  el  circuito  compartido  cuesta
menos.

La  versión  compartida  del  circuito  se  muestra  a  continuación.*

A
C
D
A
B
D F

B
C
D

B
GRAMO

C
A
B
D

*Todas  estas  puertas  se  pueden  cambiar  a  puertas  NAND,  aunque  la  salida  de  BCD  va  a
dos  lugares.  Todavía  hay  dos  burbujas  (NOT)  en  cada  camino.
Machine Translated by Google

3.6  Problemas  de  salida  múltiple 155

EJEMPLO  3.36
F(A,  B,  C,  D) m(0,  2,  3,  4,  6,  7,  10,  11)

G(A,  B,  C,  D) m(0,  4,  8,  9,  10,  11,  12,  13)

Una  vez  más,  los  mapas  se  muestran  con  los  1  no  compartidos  en  marrón  y  los
implicantes  primos  hechos  esenciales  por  uno  de  esos  1  encerrados  en  un  círculo.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 11 00 1 1 1 1

01 01 1 1

11 1 1 1 11 1

10 11 1 10 1

Cada  una  de  las  funciones  se  puede  resolver  individualmente  con  dos  grupos  más  de
cuatro,  produciendo

F  AC  AD  BC  G  AC  CD  AB

Eso  requeriría  ocho  puertas  con  18  entradas  de  puerta.  Sin  embargo,  compartir  la
grupos  de  dos  como  se  muestra  en  el  siguiente  conjunto  de  mapas  reduce  el  número  de
puertas  a  seis  y  el  número  de  entradas  de  puerta  a  16.  Si  estas  funciones  fueran
implementado  con  puertas  NAND,  las  soluciones  individuales  requerirían  un  total
de  tres  paquetes,  mientras  que  la  solución  compartida  requeriría  sólo  dos.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 11 00 1111

01 01 1 1

11 11 1 11 1

10 1 1 1 10 1

F GRAMO
Machine Translated by Google

156 Capítulo  3  El  mapa  de  Karnaugh

dejando  las  ecuaciones  y  el  circuito  AND/OR  resultante.

F  AC  ACD  ABC  G  AC  ACD  ABC

F
A
B
C

A
C GRAMO

EJEMPLO  3.37 F(An,  X,  Y,  Z) m(2,  3,  7,  9,  10,  11,  13)

G(An,  X,  Y,  Z)  m(1,  5,  7,  9,  13,  14,  15)

En  los  mapas  a  continuación,  los  1  que  no  se  comparten  se  muestran  en  marrón  y  los
los  implicantes  primos  esenciales  que  cubren  estos  1  están  encerrados  en  un  círculo.

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 00

01 11 01 11 1 1

11 1 1 1 11 1 1

10 1 1 10 1

F GRAMO

F  XY
G  YZ  WXY

Ahora,  quedan  tres  1  en  F.  Dado  que  m9  y  m13  se  han  cubierto  en  G
por  un  implicante  primo  esencial,  no  es  posible  compartir  estos  términos  en  F.
Así,  WYZ,  un  implicante  primo  de  F,  se  usa  en  la  cobertura  mínima.  Finalmente,
hay  un  1  descubierto  en  cada  función,  m7;  puede  ser  cubierto  por  un  compartido
término,  produciendo  la  solución
Machine Translated by Google

3.6  Problemas  de  salida  múltiple 157

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 00

01 11 01 111 1

11 11 1 11 11

10 1 1 10 1

F GRAMO

F  XY  WYZ  WXYZ
G  YZ  WXY  WXYZ

Esto  requiere  siete  puertas  y  20  entradas,  en  comparación  con  la  solución  que
obtener  considerando  estos  como  problemas  separados

F  XY  WYZ  WYZ
G  YZ  WXY  XZ

que  requiere  ocho  puertas  con  21  entradas.

Las  mismas  técnicas  se  pueden  aplicar  a  problemas  con  tres  o  más
salidas.

EJEMPLO  3.38
Primero,  mostramos  la  solución  obtenida  si  los  consideramos  como  tres  
problemas  separados.
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 00 1

01 11 1 01 1 01 1 1

11 11 1 1 11 1 1 1 1 11 1 1

10 1 1 10 1 1 1 1 10 1 1

F GRAMO H

F  AB  BD  BC
GC  ABD
H  BC  ABC  (ABD  o  ACD)

Esta  solución  requiere  10  puertas  y  25  entradas  de  puerta.  (Nótese  que  el  término  C  en
la  función  G  no  requiere  una  puerta  AND.)
Machine Translated by Google

158 Capítulo  3  El  mapa  de  Karnaugh

La  técnica  de  encontrar  primero  los  1  que  son  solo  minitérminos  de  uno  de  los
funciones  no  nos  ayuda  a  comenzar  con  este  ejemplo,  ya  que  cada  uno  de  los  1  es  un
mintérmino  de  al  menos  dos  de  las  funciones.  El  punto  de  partida,  en  cambio,  es
elija  C  para  la  función  G.  El  término  producto  con  un  solo  literal  no
requiere  una  puerta  AND  y  usa  solo  una  entrada  para  la  puerta  OR.  Cualquier  otro
solución,  digamos  compartir  BC  con  F  y  BC  con  H,  requiere  al  menos  dos  entradas
a  la  puerta  OR.  Sin  embargo,  una  vez  que  hayamos  hecho  esa  elección,  debemos
elija  BC  para  F  y  BC  para  H  debido  a  los  1  que  se  muestran  en  marrón  en  la
siguientes  mapas.  Ya  no  hay  posibilidad  de  compartir  para  esos  1  y
hacen  que  esos  implicantes  primos  sean  esenciales  en  F  y  H.

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 00 1

01 11 1 01 1 01 1 1

11 11 1 1 11 11 1 1 11 1 1

10 1 1 10 1111 10 1 1

F GRAMO H

A  continuación  se  eligió  el  término  ABC  (encerrado  en  un  círculo)  para  H ,  ya  que  es  un  
implicante  primo  esencial  de  H  y  se  puede  compartir  (es  decir,  todos  los  1  en  ese
término  también  son  1  de  F,  el  único  lugar  donde  es  posible  compartir).  ABC  es
también  se  usa  para  F,  ya  que  cubre  dos  1  y,  de  lo  contrario,  requeriríamos  un
término  adicional,  AB,  para  cubrir  m8.  De  manera  similar,  el  término  ABD  se  usa
para  G  (es  la  única  forma  de  cubrir  m5)  y  luego  se  puede  compartir  con  F.  Finalmente,
podemos  terminar  de  tapar  F  y  H  con  ABD  (implicante  primo  de  H,  uno  de  los
opciones  para  cubrir  H  cuando  lo  tratamos  como  un  problema  separado).  Él
se  usaría  también  para  F,  en  lugar  de  usar  otra  puerta  AND  para  crear  el
implicante  primo  BD.  La  solución  entonces  se  convierte  en

FBC  ABC  ABD  ABD
GC  ABD
H  BC  ABC  ABD

que  requiere  solo  ocho  puertas  y  22  entradas  de  puerta  (un  ahorro  de  dos  puertas
y  entradas  de  tres  puertas).
EJEMPLO  3.39
F(A,  B,  C,  D) m(0,  2,  6,  10,  11,  14,  15)
G(A,  B,  C,  D) m(0,  3,  6,  7,  8,  9,  12,  13,  14,  15)
H(A,  B,  C,  D) m(0,  3,  4,  5,  7,  10,  11,  12,  13,  14,  15)

El  mapa  de  la  página  siguiente  muestra  estas  funciones;  el  unico  que  no  es
compartido  y  hace  esencial  un  implicante  primo  es  m9  en  G.  Ese  primo
implicante,  AC,  se  muestra  en  un  círculo.
Machine Translated by Google

3.6  Problemas  de  salida  múltiple 159

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 1 11 00 111

01 01 1 1 01 11

11 11 11 111 11 11 1 1

10 1 11 1 10 1 1 10 11

F GRAMO H

A  continuación,  observamos  que  AC  es  un  implicante  primo  esencial  de  F  (debido  a  m11
y  m15)  y  de  H  (debido  a  m10).  Además,  ni  m10  ni  m11  son  1  de  G.  Por  lo  tanto,  ese  
término  se  usa  tanto  para  F  como  para  H.  A  continuación,  elegimos  BC  para
H  y  BC  para  G;  cada  uno  cubre  cuatro  nuevos  1,  algunos  de  los  cuales  ya  no  pueden  ser
compartida  (ya  que  los  1  que  corresponden  a  otras  funciones  ya  han  sido
cubierto).

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 1 11 00 111

01 01 1 1 01 11

11 11 11 111 11 11 1 1

10 1 11 1 10 1 1 10 11

F GRAMO H

En  este  punto,  podemos  ver  que  ABCD  se  puede  usar  para  cubrir  m0  en  los  tres
funciones;  de  lo  contrario,  necesitaríamos  tres  términos  diferentes  de  tres  literales.
ACD  se  puede  usar  para  G  y  H,  y,  finalmente,  CD  se  usa  para  F,  produciendo  el
siguiente  mapa  y  funciones  algebraicas.

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 1 11 00 111

01 01 1 1 01 11

11 11 11 111 11 11 1 1

10 1 11 1 10 1 1 10 11

F GRAMO H
Machine Translated by Google

160 Capítulo  3  El  mapa  de  Karnaugh

F  AC  ABCD  CD
G  AC  BC  ABCD  ACD
H  AC  BC  ABCD  ACD

Esta  solución  requiere  10  puertas  con  28  entradas,  en  comparación  con  13  puertas  y
35  insumos  si  estos  se  implementaran  por  separado.

EJEMPLO  3.40
Finalmente,  consideraremos  un  ejemplo  de  un  sistema  con  no  importa:

F(A,  B,  C,  D) m(2,  3,  4,  6,  9,  11,  12)   d(0,  1,  14,  15)


G(A,  B,  C,  D) m(2,  6,  10,  11,  12) d(0,  1,  14,  15)

Un  mapa  de  las  funciones,  con  el  único  implicante  primo  hecho  esencial  por  un  1
que  no  se  comparte  dentro  de  un  círculo,  BD,  se  muestra  a  continuación.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 X11 00 X 1

01 X 1 01 X

11 1 X 1 11 X 1

10 1 1 X 10 1 1 X 1

F GRAMO

Dado  que  m11  ahora  se  ha  cubierto  en  F,  debemos  usar  el  primo  esencial
implicante  de  G,  AC,  para  cubrir  m11  allí.  Además,  como  se  muestra  en  los  siguientes  mapas,
ABD  se  usa  para  G,  ya  que  es  un  implicante  primo  esencial  de  G,  y  el
Se  puede  compartir  todo  el  plazo.  (Lo  compartiremos  en  la  mejor  solución).

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 X11 00 X 1

01 X 1 01 X

11 1 X 1 11 X 1

10 1 1 X 10 1 1 X 1

F GRAMO
Machine Translated by Google

3.6  Problemas  de  salida  múltiple 161

Dado  que  necesitamos  el  término  ABD  para  G,  un  enfoque  es  usarlo  también  para  F.
(Eso  solo  cuesta  una  entrada  de  puerta  a  la  puerta  OR).  Si  hacemos  eso,  podríamos  cubrir
el  resto  de  F  con  AD  y  el  resto  de  G  con  CD,  dando  el  mapa  y
ecuaciones  que  siguen.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 X11 00 X 1

01 X 1 01 X

11 1 X 1 11 X 1

10 1 1 X 10 1 1 X 1

F GRAMO

F  BD  ABD  AD
G  AC  ABD  CD

Esa  solución  utiliza  siete  puertas  y  17  entradas.  Otra  solución  usando  el
mismo  número  de  puertas  pero  una  entrada  más  comparte  ACD.  eso  completa
G,  y  luego  la  tapa  de  F  se  completa  con  BD.  Los  mapas  y  ecuaciones
son  así:

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 X11 00 X 1

01 X 1 01 X

11 1 X 1 11 X 1

10 1 1 X 10 1 1 X 1

F GRAMO

F  BD  ACD  BD
G  AC  ABD  ACD

Eso  también  requiere  siete  puertas,  pero  usar  una  puerta  AND  de  tres  entradas  en  lugar  de
una  de  dos  entradas,  lo  que  lleva  el  número  total  de  entradas  a  18.  Por  lo  tanto,  esta  
solución  no  es  mínima.

[ES  11;  EJ  11,  12]
Machine Translated by Google

162 Capítulo  3  El  mapa  de  Karnaugh

3.7  PROBLEMAS  RESUELTOS
1.  Trace  las  siguientes  funciones  en  un  mapa  de  Karnaugh:
a.  f(a,  b,  c)  m(0,  1,  3,  6)
b.  g(w,  x,  y,  z)  m(3,  4,  7,  10,  11,  14)  c.  FBD  ABC   d(2,  13,  15)
AD  ABC

wx AB
yz 00 01 11 10 CD 00 01 11 10

00 1 00 1 1

a b 01 X 01 1 1
C 00 01 11 10

0 1 1 11 11 X 1 11 1 1 1

1 1 1 10 X 1 1 10 1 1 1

a. b. C.

2.  Para  cada  uno  de  los  siguientes,  encuentre  todas  las  sumas  mínimas  de  productos
expresiones  (Si  hay  más  de  una  solución,  el  número  de
soluciones  se  da  entre  paréntesis.)
a.  G(X,  Y,  Z)  b.   m(1,  2,  3,  4,  6,  7)
f(w,  x,  y,  z)  c.   m(2,  5,  7,  8,  10,  12,  13,  15)
g(a,  b,  c,  d) m(0,  6,  8,  9,  10,  11,  13,  14,  15)
(2  soluciones)
d.  f(a,  b,  c,  d) m(0,  4,  5,  6,  7,  8,  9,  10,  11,  13,  14,  15)
(2  soluciones)
mi.  f(a,  b,  c,  d)  f.   m(0,  1,  2,  4,  6,  7,  8,  9,  10,  11,  12,  15)
g(a,  b,  c,  d) m(0,  2,  3,  5,  7,  8,  10,  11,  12,  13,  14,  15)
(4  soluciones)

a.  Todos  los  implicantes  primos  son  esenciales,  como  se  muestra  en  el  mapa
A  la  derecha.

XY XY
Z 00 01 11 10 Z 00 01 11 10

0 1 1 1 0 1 1 1

1 1 11 1 1 1 1

GYXZXZ
Machine Translated by Google

3.7  Problemas  Resueltos 163

b.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 11 00 11 00 11

01 1 1 01 1 1 01 1 1

11 1 1 11 1 1 11 1 1

10 1 1 10 1 1 10 1 1

Los  implicantes  primos  esenciales  se  muestran  en  el  segundo  mapa,
dejando  dos  1  para  cubrir.  El  tercer  mapa  muestra  que  cada
puede  ser  cubierto  por  dos  implicantes  primos  diferentes,  pero  el
el  grupo  marrón  que  se  muestra  es  el  único  que  cubre  ambos  con  uno
término.  Necesitaríamos  ambos  términos  tan .  el  minimo  es

f  xz  xyz  wyz

C.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1 00 1 1

01 11 01 11 01 11

11 1 1 11 1 1 11 1 1

10 1 1 1 10 1 1 1 10 1 1 1

Los  tres  implicantes  primos  esenciales  se  muestran  en  el  centro.
mapa.  El  único  1  que  queda  por  cubrir  puede  ser  cubierto  por  cualquiera  de
dos  grupos  de  cuatro,  como  se  muestra  en  un  círculo  marrón  en  el  tercero
mapa,  produciendo

g  bcd  bcd  anuncio  ab
g  bcd  bcd  ad  ac
Machine Translated by Google

164 Capítulo  3  El  mapa  de  Karnaugh

d.
ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 1 1 00 1 1 1

01 111 01 111 01 111

11 11 1 11 11 1 11 11 1

10 1 1 1 10 1 1 1 10 1 1 1

No  hay  implicantes  primos  esenciales.  Necesitamos  un  grupo  de
dos  para  cubrir  m0;  todos  los  demás  1  pueden  cubrirse  con  grupos  de  cuatro.
Una  vez  que  hemos  elegido  acd  para  cubrir  m0  (mapa  central),
elegiríamos  ab  para  cubrir  m8.  (De  lo  contrario,  debemos  usar
bcd,  un  grupo  de  dos,  para  cubrir  ese  1.  No  solo  es  más
literales,  pero  no  cubre  nada  más  nuevo;  ab  cubrió  tres  1  adicionales  
descubiertos.)  Una  vez  hecho  esto,  los  otros  dos
implicantes  primos  se  vuelven  obvios,  dando

f  acd  ab  bc  bd

De  manera  similar  (en  el  siguiente  mapa),  una  vez  que  elegimos  bcd
(el  otro  implicante  primo  que  cubre  m0),  ab  es  la  elección  adecuada  
para  cubrir  m4:

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 1 1

01 111 01 111

11 11 1 11 11 1

10 1 1 1 10 1 1 1

La  única  forma  de  cubrir  los  1  restantes  en  dos  términos  es  con
ac  y  ad,  como  se  muestra  en  el  segundo  mapa,  dejando

f  bcd  ab  ac  anuncio
mi.  Hay  dos  implicantes  primos  esenciales,  como  se  indica  en  el
primer  mapa,  dejando  seis  1  para  cubrir.  El  primo  esencial
los  implicantes  están  sombreados  en  el  segundo  mapa.
Machine Translated by Google

3.7  Problemas  Resueltos 165

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 11 1 00 1 1 1 1 00 111 1

01 1 1 01 1 1 01 1 1

11 11 1 11 11 1 11 11 1

10 11 1 10 11 1 10 11 1

Ningún  implicante  primo  cubre  más  de  dos  de  los  restantes
1's;  por  lo  tanto,  se  necesitan  tres  términos  más.  Los  tres  grupos  de
cuatro  (dos  términos  literales)  están  encerrados  en  un  círculo  marrón  en  el  segundo
mapa.  Podemos  cubrir  cuatro  nuevos  1  solo  usando  ad  y  ab.  Nota
que  m7  y  m15  están  descubiertos;  requieren  un  grupo  de  dos,
bcd.  La  única  solución  mínima,  que  requiere  cinco  términos  y  11
literales,

f  cd  bc  anuncio  ab  bcd

se  muestra  en  el  tercer  mapa.  Hay  otra  solución  que  utiliza
cinco  términos,  pero  requiere  12  literales,  a  saber,

f  cd  bc  bd  abc  acd

Obviamente,  no  es  mínimo  (ya  que  tiene  un  literal  extra);  él
sólo  utilizó  uno  de  los  grupos  de  cuatro  en  lugar  de  dos.
F.  En  el  segundo  mapa,  los  dos  implicantes  primos  esenciales  tienen
sido  resaltado  (bd  bd),  dejando  cuatro  1  descubiertos.  En
el  tercer  mapa,  hemos  mostrado  los  1  cubiertos  por  estos  primos
implicantes  sombreados.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 1 1 00 1 1 1

01 11 01 11 01 11

11 111 1 11 111 1 11 111 1

10 1 11 10 1 11 10 1 11
Machine Translated by Google

166 Capítulo  3  El  mapa  de  Karnaugh

Podemos  cubrir  m3  y  m11  con  cd  o  bc  (se  muestra  con
líneas  marrones ),  y  podemos  cubrir  m12  y  m14  por  ab  o  ad
(mostrado  en  líneas  grises ).  Por  lo  tanto,  hay  cuatro  soluciones:

f  bd  bd  cd  ab
f  bd  bd  cd  anuncio
f  bd  bd  bc  ab
f  bd  bd  bc  anuncio

El  término  ac  también  es  un  implicante  primo.  Sin  embargo,  no  es  útil
en  una  solución  mínima  ya  que  deja  dos  1  aislados  para  ser
cubierto,  resultando  en  una  solución  de  cinco  términos.

3.  Para  cada  una  de  las  siguientes  funciones,  encuentre  el  SOP  mínimo
expresión(es).  Hay  dos  soluciones  para  z.

abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1 1

01 1 1 01 1 1

11 1 1 11 11

10 1 1 10 1 1

w X

abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 11

01 11 1 01 1 1 1

11 1 1 11 1 11

10 1 1 10 1 1 1

y z

Todos  los  1  de  w  son  también  1  de  las  otras  funciones.  Para  x,  nosotros
agregó  uno  1;  para  y,  agregamos  un  segundo  1;  y  para  z,  agregamos
dos  más.  Solo  se  usan  implicantes  primos  esenciales  para  w  (y
el  grupo  de  cuatro  no  es  necesario).
w  =  acd  +  bcd  +  acd  +  bcd
Machine Translated by Google

3.7  Problemas  Resueltos 167

Para  x,  los  tres  últimos  términos  de  w  siguen  siendo  primos  esenciales
implicantes,  como  es  bcd.  Como  se  puede  ver  en  el  siguiente  mapa,
eso  deja  solo  m12  descubierto.

abdominales

cd 00 01 11 10

00 1 11

01 1 1

11 1 1

10 1 1

Eso  deja  una  elección  entre  ab  y  acd.  Obviamente,  el
primero  tiene  un  literal  menos,  quedando  la  solución  mínima:
x  =  bcd  +  acd  +  bcd  +  bcd  +  ab

Para  y,  solo  hay  dos  implicantes  primos  esenciales,  dejando
seis  1  para  cubrir.

abdominales

cd 00 01 11 10

00 1 11

01 1 1 1

11 1 1

10 11

Ningún  término  cubre  más  de  dos  de  ellos.  Entonces  debemos  usar  el

grupo  de  cuatro,  dando

y  =  acd  +  bcd  +  ab  +  bcd  +  acd

Finalmente,  para  z,  necesitamos  4  términos  de  tres  literales  para  cubrir  los  1  en
columnas  01  y  10.
Machine Translated by Google

168 Capítulo  3  El  mapa  de  Karnaugh

abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10

00 1 11 00 1 11

01 1 1 1 01 1 1 1

11 1 1 1 11 1 1 1

10 1 1 1 10 1 1 1

z z

Podemos  usar  la  solución  para  w  y  agregar  ab  (como  se  muestra  en
la  izquierda)  o  usar  los  otros  4  términos  de  tres  literales  junto  con  ab  (como
se  muestra  a  la  derecha).
f  =  acd  +  bcd  +  acd  +  bcd  +  ab
=  ab  +  bcd  +  acd  +  bcd  +  acd

4.  Para  las  siguientes  funciones,
i.  Enumere  todos  los  implicantes  primos,  indicando  cuáles  son  esenciales.
ii.  Muestre  la(s)  expresión(es)  de  suma  mínima  de  productos.
a.  G(A,  B,  C,  D)  m(0,  1,  4,  5,  7,  8,  10,  13,  14,  15)
(3  soluciones)
b.  f(w,  x,  y,  z)  c.   m(2,  3,  4,  5,  6,  7,  9,  10,  11,  13)
h(a,  b,  c,  d) m(1,  2,  3,  4,  8,  9,  10,  12,  13,  14,  15)
(2  soluciones)

a.  El  primer  mapa  muestra  todos  los  principales  implicados  en  un  círculo;  los  1
que  se  han  cubierto  una  sola  vez  se  indican  con  una  estrella.
Implicantes  primos  esenciales:  AC,  BD
Otros  implicantes  primos:  BCD,  ABD,  ACD,  ABC

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 1 1 00 1 1 1

01 1 1 1 01 1 1 1

11 11 11 11

10 11 10 11
Machine Translated by Google

3.7  Problemas  Resueltos 169

En  el  segundo  mapa,  los  implicantes  primos  esenciales  han  sido
sombreado,  resaltando  los  tres  1  que  quedan  por  cubrir.  Nosotros
necesitan  dos  términos  para  cubrirlos,  al  menos  uno  de  los  cuales  debe
cubra  dos  de  estos  1  restantes.  Las  tres  soluciones  son  por  lo  tanto

F  AC  BD  ACD  BCD
F  AC  BD  ABD  ACD
F  AC  BD  ABD  ABC

b.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1 00 1 00 1

01 111 01 111 01 111

11 11 1 11 11 1 11 11 1

10 11 1 10 11 1 10 11 1

El  segundo  mapa  muestra  todos  los  implicantes  principales  en  un  círculo  y
los  1  que  se  han  cubierto  una  sola  vez  se  indican  con  un
estrella:

Implicantes  primos  esenciales:  wx,  xy
Otros  implicantes  primos:  wy,  xyz,  wyz,  wxz

Con  los  implicantes  primos  esenciales  sombreados  en  el  tercer  mapa,  se
Está  claro  que  la  única  solución  mínima  es

f  wx  xy  wyz

C.  Todos  los  implicantes  principales  están  encerrados  en  un  círculo  en  el  primer  mapa,  con
los  implicantes  primos  esenciales  se  muestran  en  marrón.
ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 111

01 1 11 01 1 11

11 1 1 11 1 1

10 1 11 10 1 11
Machine Translated by Google

170 Capítulo  3  El  mapa  de  Karnaugh

Implicantes  primos  esenciales:  ab,  bcd
Otros  implicantes  primos:  ac,  ad,  bcd,  bcd,  abc,  abd

Una  vez  que  elegimos  los  implicantes  primos  esenciales,  quedan  
seis  1  por  cubrir.  Solo  podemos  cubrir  dos  a  la  vez.  Allá
son  dos  grupos  de  cuatro  1,  cualquiera  de  los  cuales  puede  usarse.  (Nosotros
no  puede  usar  ambos,  ya  que  eso  solo  cubriría  tres  1).
dos  soluciones  se  muestran  en  los  mapas  a  continuación.

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 1 1

01 1 1 1 01 1 1 1

11 1 1 11 1 1

10 1 1 1 10 1 1 1

h  ab  bcd  ac  abd  bcd
h  ab  bcd  anuncio  bcd  abc

5.  Para  cada  uno  de  los  siguientes,  encuentre  todas  las  sumas  mínimas  de  productos
expresiones  (Si  hay  más  de  una  solución,  el  número  de
soluciones  se  da  entre  paréntesis.)
a.  f(a,  b,  c,  d)  m(0,  2,  3,  7,  8,  9,  13,  15)  b.  F(An,   d(1,  12)
X,  Y,  Z)  m(1,  3,  5,  6,  7,  13,  14) d(8,  10,  12)
(2  soluciones)
C.  f(a,  b,  c,  d) m(3,  8,  10,  13,  15)
d(0,  2,  5,  7,  11,  12,  14) (8  soluciones)

a.
ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 X 1 00 1 X 1

01 X 1 1 01 X 1 1

11 111 11 111

10 1 10 1
Machine Translated by Google

3.7  Problemas  Resueltos 171

El  primer  mapa  muestra  el  implicante  primo  esencial,  ab.
Los  1  restantes  pueden  estar  cubiertos  por  dos  términos  adicionales,  como
se  muestra  en  el  segundo  mapa.  En  este  ejemplo,  todos  los  no  importa  son
tratados  como  1's.  La  solución  resultante  es

f  ab  ac  bcd

Aunque  hay  otros  implicantes  primos,  como  bc,  abd,
y  acd,  se  necesitarían  tres  implicantes  primos  además
a  ab  si  alguno  de  ellos  fue  elegido.

b.

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 X X 00 X X 00 X X

01 111 01 1 1 1 01 1 1 1

11 1 1 11 1 1 11 1 1

10 1 1 X 10 11X 10 1 1 X

El  segundo  mapa  muestra  todos  los  implicantes  principales  en  un  
círculo.  Está  claro  que  solo  WZ  es  esencial,  después  de  lo  cual  quedan  tres  1
descubierto.  El  implicante  primo  XYZ  es  el  único  que  puede
cubre  dos  de  estos  y  por  lo  tanto  aparece  en  ambas  soluciones  
mínimas.  Eso  deja  una  opción  de  dos  términos  para  cubrir  el  resto
uno,  ya  sea  WXY  (bronceado)  o  XYZ  (gris).  Tenga  en  cuenta  que  tratan  el
no  importa  en  m12  de  manera  diferente  y,  por  lo  tanto,  aunque  las  dos  
soluciones  que  se  muestran  a  continuación  satisfacen  los  requisitos  
del  problema,  no  son  iguales:

F  WZ  XYZ  WXY
F  WZ  XYZ  XYZ

Además,  no  se  utiliza  el  grupo  de  cuatro  (WZ) ;  eso  requeriría  un
solución  de  cuatro  términos.

C.  No  hay  implicantes  primos  esenciales  en  este  problema.
El  mapa  de  la  izquierda  muestra  los  dos  únicos  implicantes  primos  que  cubren
m8;  también  cubren  m10.  Debemos  elegir  uno  de  estos.  El
Machine Translated by Google

172 Capítulo  3  El  mapa  de  Karnaugh

el  siguiente  mapa  muestra  los  únicos  implicantes  primos  que  cubren  m13;
ambos  también  cubren  m15.  Debemos  elegir  uno  de  estos  también.
Finalmente,  el  último  mapa  muestra  los  dos  únicos  implicantes  primos
que  cubren  m3.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 X X 1 00 X X 1 00 X X 1

01 X 1 01 X 1 01 X 1

11 1 X 1 X 11 1 X 1 X 11 1 X 1 X

10 X X 1 10 X X 1 10 X X 1

Entonces,  nuestra  solución  final  toma  uno  de  cada  grupo,  dándonos  un
total  de  ocho  soluciones:
anuncio abdominales cd
F bd
bd antes  de  Cristo

o,  escrito

f  ad  ab  cd
f  anuncio  ab  bc
f  anuncio  bd  cd
f  anuncio  bd  bc
f  bd  ab  cd
f  bd  ab  bc
f  bd  bd  cd
f  bd  bd  bc

6.  Para  cada  uno  de  los  siguientes,  encuentre  todas  las  sumas  mínimas  de  productos
expresiones  Etiquete  las  soluciones  f1,  f2, . . .  e  indicar  cual
las  soluciones  son  iguales.

a.  F(A,  B,  C,  D) m(4,  6,  9,  10,  11,  12,  13,  14)
d(2,  5,  7,  8)   (3  soluciones)
b.  f(a,  b,  c,  d) m(0,  1,  4,  6,  10,  14)
re(5,  7,  8,  9,  11,  12,  15) (13  soluciones)
Machine Translated by Google

3.7  Problemas  Resueltos 173

a.

AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 1 X 00 X11 00 X11

01 X 1 1 01 X 1 1 01 X 1 1

11 X 1 11 X 1 11 X 1

10 X 11 1 10 X 111 10 X 11 1

En  el  primer  mapa,  hemos  mostrado  el  primo  esencial
implicante,  AB.  Ni  AB  ni  CD  son  imprescindibles,  ya  que  el
Los  1  cubiertos  por  ellos  pueden  estar  cubiertos  por  algún  otro  número  primo.
implicante  (Que  hay  un  no  importa  que  solo  se  puede  tapar
por  uno  de  estos  términos  no  hace  que  ese  término  sea  esencial.)  Con
quedan  cinco  1  por  cubrir,  necesitamos  dos  términos  adicionales.  El
primero  que  destaca  es  BD,  en  un  círculo  en  el  mapa  central,  ya  que
cubre  cuatro  de  los  1  restantes.  Si  se  elige  eso,  se  deja
solo  m13,  que  puede  ser  cubierto  por  BC  o  AC.  sin  embargo,  el
el  tercer  mapa  muestra  otra  portada,  utilizando  BC  y  CD.
Por  lo  tanto,  las  tres  soluciones  son

F1  AB  BD  BC
F2  AB  BD  CA
F3  AB  BC  CD

Observe  que  ninguna  de  las  soluciones  utiliza  el  primo  restante
implicante,  AB.
Lo  siguiente  es  la  cuestión  de  si  estas  tres  soluciones  son  o  no  
iguales.  La  respuesta  se  puede  determinar  examinando
cómo  los  don't  cares  son  tratados  por  cada  una  de  las  funciones.  El
siguiente  tabla  muestra  que:

2578

F1  0101
F2  0001
F3  1101
En  todas  las  funciones,  m7  se  trata  como  0  (es  decir,  no  se  incluye  en
cualquier  implicante  primo  utilizado)  y  m8  como  1  (ya  que  está  incluido  en
el  implicante  primo  esencial,  AB);  pero  las  dos  primeras  columnas
Demuestre  que  no  hay  dos  funciones  que  traten  m2  y  m5  de  la  misma  manera.  De  este  modo,

ninguno  de  estos  es  igual  a  cualquier  otro.
Machine Translated by Google

174 Capítulo  3  El  mapa  de  Karnaugh

b.  No  hay  implicantes  primos  esenciales.  El  mejor  lugar  para  empezar
es  con  un  1  que  solo  se  puede  cubrir  de  dos  formas;  en  este  
problema  solo  hay  uno,  m1.  Cualquier  solución  debe  contener  ya  sea  el
término  ac  (como  se  muestra  en  los  primeros  cuatro  mapas)  o  el  término  bc  (como  se  muestra  en

se  muestra  en  los  dos  mapas  restantes).  No  hay  razón  para  usar
ambos,  ya  que  bc  no  cubre  ningún  1  que  no  esté  ya
cubierto  por  ac.  El  primer  mapa  muestra  ac.  Tenga  en  cuenta  que  hay
quedan  tres  1,  lo  que  requiere  dos  términos  más.  al  menos  uno  de  estos
los  términos  deben  cubrir  dos  de  los  1  restantes.
ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 X11 X 00 X11 X 00 XXX X

01 1 X X 01 1 X X 01 XX X

11 X XX 11 X X X 11 X X X

10 111 10 111 10 X X 1

El  segundo  mapa  muestra  dos  formas  de  cubrir  m6  y  m14,  bc
y  bd.  En  cualquier  caso,  solo  queda  un  1  por  cubrir.  El
el  tercer  mapa  muestra  los  1  previamente  cubiertos  como  no  importa  y
tres  formas  de  cubrir  la  ultima  1,  m10.  Así,  tenemos  como
primeras  seis  soluciones

f1  ac  bc  ab
f2  ac  bc  ac
anuncio  f3  ac  bc
f4  ac  bd  ab
f5  ca  bd  ca
anuncio  f6  ac  bd
A  continuación,  consideramos  cómo  podemos  cubrir  tanto  m10  como  m14  con
un  término  (además  de  los  ya  encontrados).  Que  proporciona
dos  soluciones  más  que  se  muestran  en  el  mapa  de  la  izquierda  a  continuación.  
(Ya  se  han  enumerado  otras  soluciones  que  usan  estos  términos).
ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 X11 X 00 X11 X 00 1 1 X X

01 1 X X 01 1 X X 01 X1 X

11 X XX 11 X X X 11 X X X

10 111 10 111 10 111


Machine Translated by Google

3.7  Problemas  Resueltos 175

anuncio  de  f7  ac  ab
f8  ac  ab  ac

A  continuación,  consideramos  las  soluciones  que  usan  bc.  el  mapa  del  medio
muestra  dos  de  estos,  utilizando  ab.  El  último  mapa  muestra  la  final
tres,  utilizando  bd,  en  su  lugar;  tiene  los  mismos  tres  últimos  términos  que
en  la  primera  serie.  Así,  tenemos

anuncio  f9  bc  ab
f10  bc  ab  ac
f11  bc  bd  ab
f12  bc  bd  ca
anuncio  f13  bc  bd

Finalmente,  la  siguiente  tabla  muestra  cómo  cada  una  de  las  funciones  trata
no  me  importa:

5 7 8 9 11 12 15

f1  1111  1  f2  1100  1  f3  1110  0  f4   0 1
1011  1  f5  1000  1  f6  1010  0  f7  1110   0 1
0  f8  1100  1  f9  1111  0  f10  1111  1   1 1
f11  0011  1  f12  0011  1  f13  0011  0 1 0
1 1
1 0
1 0
0 1
1 0
0 1
1 0
1 1
1 0

Comparando  las  filas,  los  únicos  dos  pares  que  son  iguales  son

f1  f10  y  f2  f8.

7.  Para  cada  una  de  las  siguientes  funciones,  encuentre  todos  los  mínimos
expresiones  de  suma  de  productos  y  todo  el  producto  mínimo  de
sumas  de  expresiones:

a.  f(w,  x,  y,  z) m(2,  3,  5,  7,  10,  13,  14,  15)
(1  SOP,  1  solución  POS)
b.  f(a,  b,  c,  d) m(3,  4,  9,  13,  14,  15)  d(2,  5,  10,  12)
(1  SOP,  2  soluciones  POS)
C.  f(a,  b,  c,  d) m(4,  6,  11,  12,  13) d(3,  5,  7,  9,  10,  15)
(2  soluciones  SOP  y  8  POS)
Machine Translated by Google

176 Capítulo  3  El  mapa  de  Karnaugh

a.  El  mapa  de  f  se  muestra  a  continuación.

wx wx
00 01 11 10 00 01 11 10
yz yz

00 00

01 1 1 01 1 1

11 11 1 11 11 1

10 1 11 10 1 11

Aunque  sólo  hay  un  implicante  primo  esencial,  hay
solo  una  forma  de  completar  la  portada  con  dos  términos  más,
a  saber,

f  xz  wxy  wyz

Reemplazando  todos  los  1  con  0  y  los  0  con  1,  o  trazando  todos  los  
minitérminos  que  no  están  en  f,  obtenemos  el  mapa  para  f

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1 1 1 1 00 11 1 1

01 1 1 01 1 1

11 1 11 1

10 1 10 1

Hay  cuatro  implicantes  primos  esenciales,  que  cubren  todo  f,
donación

f  xy  yz  wxz  wxz

Usando  el  teorema  de  DeMorgan,  obtenemos

f  (x  y)(y  z)(w  x z)(w xz )

En  este  caso,  la  solución  de  la  suma  de  productos  requiere  menos  términos.
b.  Como  se  indica  en  el  mapa  a  continuación,  todos  los  1  están  cubiertos  por
implicantes  primos  esenciales,  que  producen  la  suma  mínima  de
expresión  de  productos.
Machine Translated by Google

3.7  Problemas  Resueltos 177

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 X 00 1 X

01 X 11 01 X 1 1

11 1 1 11 1 1

10 X 1 X 10 X 1 X

f1  bc  ab  abc  acd

Ahora,  reemplazando  todos  los  1  por  0  y  0  por  1  y  dejando
las  X  no  cambian,  obtenemos  el  mapa  para  f.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 X 1 00 1 X 1 00 1 X 1

01 1 X 01 1 X 01 1 X

11 1 1 11 1 1 11 1 1

10 X 1 X 10 X 1 X 10 X 1 X

Hay  un  implicante  primo  esencial,  abc.  Aunque  m6  y
m7  se  puede  cubrir  cada  uno  de  dos  maneras,  solo  abc  los  cubre
ambos  (y  ninguno  de  los  otros  términos  cubre  1  adicionales).  El
El  mapa  central  muestra  cada  uno  de  estos  términos  en  un  círculo,  dejando  tres
1  para  ser  cubierto.  Hay  un  grupo  de  cuatro,  cubriendo  dos  de  
los  1  (como  se  muestra  en  el  tercer  mapa),  bd.  Eso  deja  solo  m1,
que  se  puede  recorrer  de  dos  maneras,  como  se  muestra  en  el  tercer  mapa
en  líneas  marrones  y  bronceadas .  Por  lo  tanto,  las  dos  expresiones  de  suma  
mínima  de  productos  para  f  son

f2  abc  abc  bd  acd
f3  abc  abc  bd  abc
producir  los  dos  productos  mínimos  de  soluciones  de  sumas

f2  (a   b  c)(a  b  c)(b  d)(a  c  d)
f3  (a b  c)(a  b  c)(b  d)(a  b  c)
C.  El  mapa  para  f  se  muestra  a  continuación  (a  la  izquierda).  Hay  dos  
implicantes  primos  esenciales,  dejando  sólo  m11  por  cubrir.  Allá
Machine Translated by Google

178 Capítulo  3  El  mapa  de  Karnaugh

son  dos  grupos  de  cuatro  que  se  pueden  utilizar,  como  se  indica  en  la
mapa  de  la  derecha.

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1

01 X 1 X 01 X 1 X

11 X X X 1 11 X XX 1

10 1 X 10 1 X

Por  lo  tanto,  las  dos  soluciones  de  suma  de  productos  son

anuncio  f1  ab  bc
f2  ab  bc  cd

Luego  mapeamos  f  y  no  encontramos  implicantes  primos  esenciales.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 11 00 1

01 1 X X 01 1 X X 01 1 X X

11 XX X 11 X X X 11 X X X

10 1 1 X 10 1 1 X 10 1 1 X

Elegimos  como  punto  de  partida  m8.  Puede  ser  cubierto  por  el
cuatro  esquinas,  bd  (como  se  muestra  en  el  segundo  mapa)  o  por  bc,  como
se  muestra  en  el  tercer  mapa.  Cualquiera  que  sea  la  solución  que  elijamos,
necesita  un  grupo  de  dos  para  cubrir  m14  (como  se  muestra  en  bronceado);  ni
cubre  cualquier  otro  1.  Después  de  elegir  uno  de  estos  (y  bd),
todo  lo  que  queda  por  cubrir  es  m1.  Las  tres  líneas  marrones
mostrar  las  portadas.  (Observe  que  uno  de  ellos  es  bc.)  Si  no  lo  hacemos
elegir  bd,  entonces  debemos  elegir  bc  para  cubrir  m0  y  ab  para
cubre  m2  (dado  que  el  único  otro  implicante  primo  que  cubre  m2
es  bd,  y  ya  hemos  encontrado  todas  las  soluciones  usando
ese  término).  Así,  las  ocho  soluciones  para  f  son

f3  bd  abc  ab
f4  bd  abc  anuncio
f5  bd  abc  bc
Machine Translated by Google

3.7  Problemas  Resueltos 179

f6  bd  acd  ab
f7  bd  acd  anuncio
f8  bd  acd  bc
f9  bc  abc  ab
f10  bc  acd  ab

El  producto  de  las  soluciones  de  sumas  para  f  son  por  lo  tanto

f3  (b  d)(a  f4  (b   b  c)(a  b)
d)(a  f5  (b  d)(a   b  c)(a  d)
f6  (b  d)(a  f7  (b   b  c)(b  c)
d)(a  f8  (b  d)(a   C d)(a  b)
f9  (b  c)(a  f10)   C d)(una  d)
(bc )(a c  d)(b  c)
b  c)(a  b)
C d)(a  b)

8.  Etiquete  las  soluciones  de  cada  parte  del  problema  7  como  f1,  f2, . . . ,  y
indicar  qué  soluciones  son  iguales.

a.  Dado  que  este  problema  no  implica  que  no  le  importe,  todas  las  soluciones
son  iguales.

b. 2 5 10 12

f1  11  0  f2  11  1  f2  00   1
0  f3  10  1  f3  01  0 0
1
0
1

Todas  las  soluciones  son  únicas.  La  solución  de  la  suma  de  productos
trata  m2  como  1;  el  producto  de  sumas  lo  trata  como  un  0.  Los  dos
producto  de  soluciones  de  sumas  tratan  m5  de  manera  diferente.

C. 3 5 7 9 10 15

f1  0111  0  f2  1110  0  f3  1000  1  f4   1
1110  1  f5  0001  1  f6  1000  1  f7  1110   1
1  f8  0001  1  f9  1001  0  f10  1001  1 1
1
1
0
0
0
1
0

Para  que  una  de  las  expresiones  de  suma  de  productos  sea  igual  
a  una  de  las  expresiones  de  producto  de  sumas,  el  patrón  debe  ser
Machine Translated by Google

180 Capítulo  3  El  mapa  de  Karnaugh

opuesto  (ya  que  estamos  mostrando  los  valores  de  los  don't  cares
para  f  para  los  formularios  POS).  Por  lo  tanto,  f1  f6  y  f2  f8,  es  decir

ab  bc  ad  (b  d)(a  ab  bc  cd  (b  d)(a  c C d)(a  b)
d)(b  c)

9.  Encuentre  la(s)  solución(es)  de  suma  mínima  de  productos  para  cada  uno  de  los
siguiente:
a.  F(A,  B,  C,  D,  E) m(0,  5,  7,  9,  11,  13,  15,  18,  19,  22,  23,
25,  27,  28,  29,  31)
b.  F(A,  B,  C,  D,  E) m(0,  2,  4,  7,  8,  10,  15,  17,  20,  21,  23,
25,  26,  27,  29,  31)
C.  G(V,  W,  X,  Y,  Z) m(0,  1,  4,  5,  6,  7,  10,  11,  14,  15,  21,  24,
25,  26,  27)  (3  soluciones)
d.  G(V,  W,  X,  Y,  Z) m(0,  1,  5,  6,  7,  8,  9,  14,  17,  20,  21,  22,
23,  25,  28,  29,  30)  (3  soluciones)
mi.  H(A,  B,  C,  D,  E)  m(1,  3,  10,  14,  21,  26,  28,  30)
d(5,  12,  17,  29)

a.  Comenzamos  observando  los  1  para  los  cuales  el  correspondiente
posición  en  la  otra  capa  es  0.  En  el  primer  mapa,  todos  los
implicantes  primos  esenciales  que  están  totalmente  contenidos  en  uno
capa  del  mapa,  ABCDE,  ACE,  ABD  y  ABCD,  son
en  un  círculo

A A
0 1 0 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 00 1 00 X 00 X

01 1 1 1 01 1 1 01 X X 1 01 X 1

11 111 11 1 11 1 11 XX 1 11 X 1X 1

10 10 1 1 10 10 XX

Los  1  cubiertos  por  estos  implicantes  primos  esenciales  se  muestran
como  no  le  importa  en  el  segundo  mapa.  Los  1  restantes  son  todos
parte  del  grupo  de  ocho,  BE,  que  se  muestra  en  el  segundo  mapa.
Por  lo  tanto,  la  solución  mínima  es

F  ABCDE  ACE  ABD  ABCD  SER

b.  En  el  siguiente  mapa  de  la  izquierda,  los  implicantes  primos  esenciales  son
en  un  círculo  Tenga  en  cuenta  que  ACE  está  en  la  capa  superior,  ADE  está  en  la
capa  inferior,  y  CDE  se  divide  entre  las  capas.
Machine Translated by Google

3.7  Problemas  Resueltos 181

A A
0 1 0 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 1 1 00 1 00 1 1 1 00 1

01 01 1 1 11 01 01 1 111

11 1 1 11 1 1 1 11 1 1 11 111

10 1 1 10 1 10 1 1 10 1

Eso  deja  cuatro  1  por  cubrir,  usando  dos  grupos  de  dos  como
se  muestra  en  el  mapa  de  la  derecha.  El  mínimo  es  así

CARA  ADE  CDE  BCDE  ABCD

C.  El  mapa,  con  los  implicantes  primos  esenciales  encerrados  en  un  círculo,  se  muestra  en
la  izquierda.  Después  de  elegir  VWY  VWX  WXYZ,  hay
todavía  seis  1  descubiertos.  En  el  mapa  de  la  derecha,  los  minitérminos
cubiertos  por  implicantes  primos  esenciales  se  muestran  como  no
se  preocupa  Cada  uno  de  los  1  puede  estar  cubierto  por  dos  grupos  diferentes.
de  cuatro,  que  se  muestran  en  el  mapa  de  la  derecha.

V V
0 1 0 1
WX WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 1 00 X X 00 X

01 1 1 01 1 1 01 X X 01 X X

11 111 11 1 11 111 11 X

10 111 10 1 10 1 1 1 10 X

Se  debe  usar  un  grupo  que  cubra  cuatro  nuevos  1  (o  ambos).
se  pueden  utilizar),  dando  las  siguientes  soluciones:

G  VWY  VWX  WXYZ  VXY  VWY
G  VWY  VWX  WXYZ  VXY  WXY
G  VWY  VWX  WXYZ  VWY  VWX

d.  En  el  primer  mapa,  los  dos  implicantes  primos  esenciales,  VXY
y  XYZ,  están  encerrados  en  un  círculo.  El  término  WXZ  está  encerrado  en  un  círculo  en  el  segundo

mapa;  si  no  se  usa,  se  necesitaría  WXY  para  cubrir  m7  y
m23.  Pero  entonces,  se  necesitarían  tres  términos  más  para  cubrir  el
función.
Machine Translated by Google

182 Capítulo  3  El  mapa  de  Karnaugh

V V
0 1 0 1
WX WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 1 1 00 1 1 00 11

01 1 1 1 01 1 1 11 01 1 1 1 01 1 1 11

11 1 11 1 11 1 1

10 1 1 10 1 1 10 1 1 1 1

Los  siguientes  mapas  muestran  los  términos  cubiertos  como  no  importa  y
tres  formas  de  cubrir  los  1  restantes.  En  el  mapa  de  la  izquierda,  el
el  término  marrón ,  VYZ,  se  usa  con  cualquiera  de  los  otros  términos,  VXY
o  VXZ.  En  el  mapa  de  la  derecha,  se  utilizan  VXY  y  XYZ .

V V
0 1 0 1
WX WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 X X 00 1 1 00 X X 00 11

01 X X X 01 1 X 11 01 X X X 01 1 X 11

11 X 11 X 11 X 11 X

10 X X 10 X X 10 X X 10 X X

Las  tres  soluciones  mínimas  son  así

G  VXY  XYZ  WXZ  VYZ  VXY
G  VXY  XYZ  WXZ  VYZ  VXZ
G  VXY  XYZ  WXZ  VXY  XYZ

mi.  Los  dos  implicantes  primos  esenciales,  ABCE  y  BDE,  son
en  un  círculo  en  el  primer  mapa.  Cada  uno  de  los  restantes  1  se  puede  
cubrir  de  dos  maneras,  por  un  grupo  de  dos  contenidos  completamente  en
una  capa  o  por  el  grupo  de  cuatro  que  se  muestra.

A A
0 1 0 1
antes  de  Cristo antes  de  Cristo antes  de  Cristo antes  de  Cristo

Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10 Delaware
00 01 11 10

00 X 00 1 00 X 00 1

01 1 X 01 X 1 X 01 X X 01 X 1 X

11 1 11 11 X 11

10 1 1 10 1 1 10 X X 10 X X
Machine Translated by Google

3.7  Problemas  Resueltos 183

Por  lo  tanto,  la  solución  mínima  es
H  ABCE  BDE  BCE  BDE

10.  Encuentre  las  cuatro  expresiones  de  suma  mínima  de  productos  para  el
siguiente  función  de  seis  variables

G(A,  B,  C,  D,  E,  F) m(0,  4,  6,  8,  9,  11,  12,  13,  15,  16,
20,  22,  24,  25,  27,  28,  29,  31,  32,  34,  36,  38,  40,  41,  42,
43,  45,  47,  48,  49,  54,  56,  57,  59,  61,  63)

En  el  primer  mapa,  los  tres  implicantes  primos  esenciales,
ABDE,  CF  y  CDEF  están  encerrados  en  un  círculo  negro.  El  
primero  está  solo  en  la  tercera  capa.  Los  otros  dos  incluyen  1  en  los  cuatro
capas  (y  por  lo  tanto  no  implican  la  variable  A  y  B).  También  en  un  círculo  
(en  marrón)  hay  un  grupo  de  ocho,  AEF,  que  no  es  esencial
(dado  que  cada  uno  de  los  1  es  parte  de  algún  otro  implicante  primo).  Si
que  no  se  usa,  sin  embargo,  se  necesitarían  al  menos  dos  términos
para  cubrir  esos  1's.

AB
00 01 11 10
CD CD CD CD
FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10

00 1 11 1 00 1 1 1 1 00 1 1 00 11 1

01 1 1 01 1 1 01 1 1 1 01 1 1

11 1 1 11 1 1 11 1 1 11 1 1

10 1 10 1 10 1 10 11 1

En  el  siguiente  mapa,  los  1  que  se  han  cubierto  se  muestran  como
no  me  importa  Los  1  restantes  están  todos  en  la  capa  inferior  (10).
Las  cuatro  esquinas,  ABDF,  cubre  cuatro  de  las  cinco  restantes
1's  Luego,  ya  sea  ABCF  (en  la  capa  inferior)  o  BCEF
o  BCDF  (ambas  mitad  en  la  capa  superior  y  mitad  en  la  parte  inferior)
se  puede  usar  para  cubrir  los  1  restantes.  Estos  términos  son
en  un  círculo  a  continuación.

AB
00 01 11 10
CD CD CD CD
FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10

00 X X X X 00 X X X X 00 X X 00 1 1 1

01 XX 01 X X 01 X XX 01 XX

11 X X 11 XX 11 XX 11 X X

10 X 10 X 10 X 10 1 X 1
Machine Translated by Google

184 Capítulo  3  El  mapa  de  Karnaugh

Además,  como  se  muestra  en  el  mapa  a  continuación,  se  podría  usar  ABCF
con  ABCD.

AB
00 01 11 10
CD CD CD CD
FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10 FE 00 01 11 10

00 X X XX 00 X X X X 00 X X 00 1 1 1

01 X X 01 X X 01 X X X 01 X X

11 XX 11 XX 11 X X 11 XX

10 X 10 X 10 X 10 1 X 1

Por  lo  tanto,  tenemos  las  siguientes  cuatro  soluciones

H  ABDE  CF  CDEF  AEF  ABDF
ABCF
H  ABDE  CF  CDEF  AEF  ABDF
BCEF

H  ABDE  CF  CDEF  AEF  ABDF
BCDF
H  ABDE  CF  CDEF  AEF  ABCF
A  B  C  D

11.  Encuentre  un  circuito  mínimo  de  dos  niveles  (correspondiente  a  la  suma  de
expresiones  de  productos)  usando  compuertas  AND  y  una  compuerta  OR  por
para  cada  uno  de  los  siguientes  conjuntos  de  funciones:
a.  f(a,  b,  c,  d)  m(0,  1,  2,  3,  5,  7,  8,  10,  11,  13)
g(a,  b,  c,  d)  m(0,  2,  5,  8,  10,  11,  13,  15)
(7  puertas,  19  entradas)
b.  f(a,  b,  c,  d)   m(1,  2,  4,  5,  6,  9,  11,  13,  15)
g(a,  b,  c,  d) m(0,  2,  4,  8,  9,  11,  12,  13,  14,  15)
(8  puertas,  23  entradas)
C.  F(An,  X,  Y,  Z) m(2,  3,  6,  7,  8,  9,  13)
G(An,  X,  Y,  Z) m(2,  3,  6,  7,  9,  10,  13,  14)
H  (ancho,  X,  Y,  Z) m(0,  1,  4,  5,  9,  10,  13,  14)
(8  puertas,  22  entradas)
d.  f(a,  b,  c,  d)   m(0,  2,  3,  8,  9,  10,  11,  12,  13,  15)
g(a,  b,  c,  d)   m(3,  5,  7,  12,  13,  15)
h(a,  b,  c,  d) m(0,  2,  3,  4,  6,  8,  10,  14)
(10  puertas,  28  entradas)
mi.  f(a,  b,  c,  d)   m(0,  3,  5,  7)   re(10,  11,  12,  13,  14,  15)
g(a,  b,  c,  d) m(0,  5,  6,  7,  8) re(10,  11,  12,  13,  14,  15)
(7  puertas,  19  entradas)
Machine Translated by Google

3.7  Problemas  Resueltos 185

a.  Los  mapas  a  continuación  muestran  el  ad  implicante  primo  en  f,  que
cubre  un  1  que  no  forma  parte  de  la  otra  función.
ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1

01 1 1 1 01 1 1

11 1 1 1 11 1 1

10 1 1 10 1 1

F gramo

Ningún  otro  1  (ya  sea  de  f  o  de  g)  que  no  se  comparta  constituye  un  primo
implicante  esencial  (m1  o  m3  en  f  o  m15  en  g).  Otros  dos  términos,
bd  y  bcd,  son  implicantes  primos  esenciales  tanto  de  f  como  de  g
y  así  han  sido  elegidos  en  los  mapas  a  continuación.
ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1

01 11 1 01 1 1

11 1 1 1 11 1 1

10 1 1 10 1 1

F gramo

Aunque  el  término  abc  podría  compartirse,  otro  término  sería
ser  necesario  para  g  (ya  sea  abd  o  acd).  Esto  requeriría  siete
puertas  y  20  entradas  de  puerta  (una  entrada  de  más).  Pero,  si  acd  es
usado  para  g,  entonces  podríamos  completar  cubriendo  ambas  funciones
usando  bc  para  f  como  se  muestra  en  los  mapas  a  continuación.

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1

01 11 1 01 1 1

11 1 1 1 11 1 1

10 1 1 10 1 1

F gramo
Machine Translated by Google

186 Capítulo  3  El  mapa  de  Karnaugh

De  este  modo,

f  anuncio  bd  bcd  bc
g  bd  bcd  acd

requiriendo  siete  puertas  y  19  entradas.

b.  Exploración  de  cada  función  en  busca  de  1  que  no  formen  parte  de  la  otra
función,  encontramos  m1,  m5  y  m6  en  f  y  m0,  m8,  m12  y  m14
en  g.  Los  únicos  que  hacen  esencial  un  implicante  primo  son
indicado  en  el  mapa  de  abajo.

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 00 1 1 11

01 11 1 1 01 1 1

11 11 11 1 1

10 1 1 10 1 1

F gramo

A  continuación,  notamos  que  ad  es  un  implicante  principal  esencial  de  ambos
funciones,  produciendo  los  siguientes  mapas:

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 00 1 1 11

01 11 1 1 01 1 1

11 11 11 1 1

10 1 1 10 1 1

F gramo

A  menos  que  elijamos  cd  para  cubrir  los  tres  1  restantes  en  el
primera  fila  de  g,  necesitaremos  un  término  adicional.  Una  vez  que  hayamos  hecho
eso,  vemos  que  el  último  1  (m2)  de  g  puede  ser  cubierto  por  el
minterm  y  compartido  con  f.  Eso  deja  solo  dos  1  de  f  que
puede  cubrirse  con  el  término  abd.  Las  funciones  y  la
Los  mapas  se  muestran  a  continuación:
Machine Translated by Google

3.7  Problemas  Resueltos 187

f  cd  ad  abcd  abd
g  ab  ad  cd  abcd
para  un  total  de  ocho  puertas  y  23  entradas.

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 00 1 1 11

01 11 1 1 01 1 1

11 11 11 1 1

10 1 1 10 1 1

F gramo

C.  Al  minimizar  tres  funciones,  aún  buscamos  1  que  sean
sólo  se  incluyen  en  una  de  las  funciones  y  que  hacen  un  primo
implicante  esencial.  En  este  problema,  los  únicos  que  satisfacen
estas  condiciones  son  m8  en  F  y  m0  y  m4  en  H,  como  se  muestra  en
el  mapa  de  abajo.

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 00 00 1 1

01 1 1 01 1 1 01 11 1 1

11 1 1 11 11 11

10 11 10 1111 10 1 1

FGH

A  continuación,  observe  que  WY  es  un  implicante  primo  esencial  de  ambos
F  y  G.  Una  vez  que  se  elige  eso,  el  término  WYZ  cubre  el
1  restante  de  F  y  dos  1  en  G  y  H.  (Ese  término  sería
se  usa  tanto  para  F  como  para  G  en  cualquier  caso,  ya  que  es  un  primo  esencial
implicante  de  ambos  y  es  compartible.  Se  utiliza  para  H  ya  que  el
los  1  restantes  en  el  implicante  primo  YZ  ya  están  cubiertos).
Finalmente,  WYZ,  un  implicante  primo  esencial  de  H,  termina  el
portada  de  G  y  H.  Los  siguientes  mapas  y  funciones  muestran  las
solución  final,  utilizando  ocho  puertas  y  22  entradas.
Machine Translated by Google

188 Capítulo  3  El  mapa  de  Karnaugh

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 00 00 1 1

01 1 1 01 1 1 01 11 1 1

11 1 1 11 11 11

10 11 10 1111 10 1 1

F GRAMO H

F  WXY  WY  WYZ
G  WY  WYZ  WYZ
H  WY  WYZ  WYZ

d.  En  los  mapas  a  continuación,  los  implicantes  primos  esenciales  que  cubren
Los  1  que  no  forman  parte  de  ninguna  otra  función  están  encerrados  en  un  círculo.  En  f,  m9  y  m11

puede  cubrirse  con  cualquiera  de  los  tres  implicantes  principales.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 00 1 1 1

01 1 1 01 1 1 01

11 1 1 1 11 1 1 1 11 1

10 1 1 10 10 1 1 1 1

F gramo h

A  continuación,  notamos  que  m8  solo  puede  ser  cubierto  por  bd  en  h  y
que  bd  es  también  un  implicante  primo  esencial  de  f.  Eso  deja
solo  m3  descubiertos  en  h;  al  usar  el  término  mínimo  para  eso,  puede
compartirse  con  f  y  g.  (De  lo  contrario,  un  nuevo  término  sería
requerido  en  cada  una  de  esas  funciones.)  Los  mapas  resultantes  son
mostrado  a  continuación.
Machine Translated by Google

3.7  Problemas  Resueltos 189

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 00 1 1 1

01 1 1 01 1 1 01

11 1 1 1 11 1 1 1 11 1

10 1 1 10 10 11 1 1

F gramo h

El  único  1  descubierto  en  g  es  m12.  Usando  abc  tanto  para  eso  
como  para  f,  podemos  cubrir  los  tres  1  restantes  en  f  con
anuncio,  produciendo  los  mapas  y  ecuaciones  a  continuación.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 00 1 1 1

01 1 1 01 1 1 01

11 1 1 1 11 1 1 1 11 1

10 1 1 10 10 1 1 1 1

F gramo h

f  bd  abcd  abc  anuncio
g  bd  abcd  abc
h  anuncio  cd  bd  abcd

mi.  Este  ejemplo  incluye  una  serie  de  no  importa,  pero  eso  no
no  cambia  el  proceso  significativamente.  Hay  dos  esenciales
implicantes  primos,  cd  en  f  y  bc  en  g,  que  cubren  los  1  que  no  pueden
ser  compartido.  Además,  abcd  debe  usarse  en  f  ya  que  es  el
único  implicante  primo  que  cubre  m0.  (Si  un  minitérmino  es  un  primo
implicante,  no  tenemos  más  remedio  que  usarlo.)  El  siguiente
los  mapas  muestran  estos  términos  en  un  círculo.
Machine Translated by Google

190 Capítulo  3  El  mapa  de  Karnaugh

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 X 00 1 X 1

01 1 X 01 1 X

11 1 1 X X 11 1 X X

10 XX 10 1 X X

F gramo

A  continuación,  usamos  bd  para  cubrir  m5  en  ambas  funciones  y  completamos
la  portada  de  f.  La  opción  obvia  es  usar  bcd  para  el
restantes  1  de  g,  produciendo  los  siguientes  mapas  y  
ecuaciones:

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 X 00 1 X 1

01 1 X 01 1 X

11 1 1 X X 11 1 X X

10 XX 10 1 X X

F gramo

f  cd  abcd  bd
g  bc  bd  bcd

Pero,  hay  otra  solución,  como  se  ilustra  a  continuación.  Mediante  el  uso
abcd  para  cubrir  m0  en  g  (ya  necesitábamos  ese  término  para  f ),
podemos  cubrir  el  1  restante  en  g  con  un  grupo  de  cuatro,  ad,
producir  la  solución

f  cd  abcd  bd
g  bc  bd  abcd  anuncio

como  se  muestra  en  los  siguientes  mapas.  Ambas  soluciones  requieren  siete
portones  y  19  entradas.
Machine Translated by Google

3.8  Ejercicios 191

EJE
a b a b
cd 00 01 11 10 cd 00 01 11 10

00 1 X 00 1 X 1

01 1 X 01 1 X

11 1 1 X X 11 1 X X

10 XX 10 1 X X

F gramo

3.8  EJERCICIOS
1.  Trace  las  siguientes  funciones  en  el  mapa  de  Karnaugh:
a.  f(a,  b,  c)      m(1,  2,  3,  4,  6)
b.  g(w,  x,  y,  z)  c.  F   m(1,  3,  5,  6,  7,  13,  14) d(8,  10,  12)
WXYZ  WXYZ  WXYZ  WXYZ  WXYZ

  re.  g  ac  abd  bcd  abd  abcd
mi.  hx  yz  xz

2.  Para  cada  uno  de  los  siguientes,  encuentre  todas  las  sumas  mínimas  de  productos
expresiones  (Si  hay  más  de  una  solución,  el  número  de
soluciones  se  da  entre  paréntesis.)
a.  f(a,  b,  c)  m(1,  2,  3,  6,  7)
  segundo  g(w,  x,  y)  m(0,  1,  5,  6,  7)  c.   (2  soluciones)
h(a,  b,  c)  m(0,  1,  2,  5,  6,  7)  d.  f(a,  b,  c,  d)   (2  soluciones)
m(1,  2,  3,  5,  6,  7,  8,  11,  13,  15)
mi.  G(An,  X,  Y,  Z)  m(0,  2,  5,  7,  8,  10,  12,  13)
F.  h(a,  b,  c,  d)  m(2,  4,  5,  6,  7,  8,  10,  12,  13,  15)
(2  soluciones)
gramo.  f(a,  b,  c,  d) m(1,  3,  4,  5,  6,  11,  12,  13,  14,  15)
(2  soluciones)
H.  g(w,  x,  y,  z) m(2,  3,  6,  7,  8,  10,  11,  12,  13,  15)
(2  soluciones)
  yo.  h(p,  q,  r,  s) m(0,  2,  3,  4,  5,  8,  11,  12,  13,  14,  15)
(3  soluciones)
j.  F(An,  X,  Y,  Z) m(0,  2,  3,  4,  5,  8,  10,  11,  12,  13,  14,  15)
(4  soluciones)
k.  f(w,  x,  y,  z) m(0,  1,  2,  4,  5,  6,  9,  10,  11,  13,  14,  15)
(2  soluciones)
yo  g(a,  b,  c,  d)  m.   m(0,  1,  2,  3,  4,  5,  6,  8,  9,  10,  12,  15)
H  (ancho,  X,  Y,  Z) m(0,  2,  3,  5,  7,  8,  10,  12,  13)
(4  soluciones)
Machine Translated by Google

192 Capítulo  3  El  mapa  de  Karnaugh
SOICICREJE

norte.  f(a,  b,  c,  d) m(0,  1,  2,  4,  5,  6,  7,  8,  9,  10,  11,  13,  14,  15)
(6  soluciones)
o  g(w,  x,  y,  z) m(0,  1,  2,  3,  5,  6,  7,  8,  9,  10,  13,  14,  15)
(6  soluciones)
pag.  f(a,  b,  c,  d) m(0,  3,  5,  6,  7,  9,  10,  11,  12,  13,  14)
(32  soluciones)

3.  Para  las  siguientes  funciones,
i.  Enumere  todos  los  implicantes  primos,  indicando  cuáles  son  esenciales.
ii.  Muestre  la(s)  expresión(es)  de  suma  mínima  de  productos.
a.  f(a,  b,  c,  d)  m(0,  3,  4,  5,  8,  11,  12,  13,  14,  15)
  segundo  g(w,  x,  y,  z)  m(0,  3,  4,  5,  6,  7,  8,  9,  11,  13,  14,  15)

4.  Mapee  cada  una  de  las  siguientes  funciones  y  encuentre  la  suma  mínima  de
expresión  de  productos:
a.  F  AD  AB  ACD  BCD  ABCD

  segundo  g  wyz  xyz  wy  wxyz  wz  xyz

5.  Para  cada  uno  de  los  siguientes,  encuentre  todas  las  sumas  mínimas  de  productos
expresiones  (Si  hay  más  de  una  solución,  el  número  de
soluciones  se  da  entre  paréntesis.)  Etiquete  las  soluciones  f1,  f2,....
a.  f(w,  x,  y,  z) m(1,  3,  6,  8,  11,  14) d(2,  4,  5,  13,  15)
(3  soluciones)
b.  f(a,  b,  c,  d)  c.  f(a,   m(0,  3,  6,  9,  11,  13,  14)  m(0,   re(5,  7,  10,  12)
b,  c,  d) 2,  3,  5,  7,  8,  9,  10,  11) d(4,  15)
(3  soluciones)
d.  f(w,  x,  y,  z) m(0,  2,  4,  5,  10,  12,  15) d(8,  14)
(2  soluciones)
mi.  f(a,  b,  c,  d) m(5,  7,  9,  11,  13,  14) d(2,  6,  10,  12,  15)
(4  soluciones)
  f.  f(a,  b,  c,  d) m(0,  2,  4,  5,  6,  7,  8,  9,  10,  14) d(3,  13)
(3  soluciones)
gramo.  f(w,  x,  y,  z) m(1,  2,  5,  10,  12) d(0,  3,  4,  8,  13,  14,  15)
(7  soluciones)

6.  Para  cada  una  de  las  funciones  del  problema  5,  indica  qué  soluciones
son  iguales.

7.  Para  cada  una  de  las  siguientes  funciones,  encuentre  todas  las  sumas  mínimas
de  expresiones  de  productos  y  todo  el  producto  mínimo  de  sumas
expresiones:
a.  f(A,  B,  C,  D)  m(1,  4,  5,  6,  7,  9,  11,  13,  15)
b.  f(An,  X,  Y,  Z)  m(2,  4,  5,  6,  7,  10,  11,  15)
Machine Translated by Google

3.8  Ejercicios 193

C.  f(A,  B,  C,  D) m(1,  5,  6,  7,  8,  9,  10,  12,  13,  14,  15)
(1  SOP  y  2  soluciones  POS)
  re.  f(a,  b,  c,  d) m(0,  2,  4,  6,  7,  9,  11,  12,  13,  14,  15)
(2  soluciones  SOP  y  1  POS)
mi.  f(w,  x,  y,  z)  f.   m(0,  4,  6,  9,  10,  11,  14)  d(1,  3,  5,  7)
f(a,  b,  c,  d) m(0,  1,  2,  5,  7,  9)  d(6,  8,  11,  13,  14,  15)
(4  soluciones  SOP  y  2  POS)
gramo.  f(w,  x,  y,  z) m(4,  6,  9,  10,  11,  13) d(2,  12,  15)
(2  soluciones  SOP  y  2  POS)
H.  f(a,  b,  c,  d) m(0,  1,  4,  6,  10,  14)  d(5,  7,  8,  9,  11,  12,  15)
(13  soluciones  SOP  y  3  POS)
i.  f(w,  x,  y,  z) m(1,  3,  7,  11,  13,  14)  d(0,  2,  5,  8,  10,  12,  15)
(6  soluciones  SOP  y  1  POS)
j.  f(a,  b,  c,  d) m(0,  1,  6,  15) d(3,  5,  7,  11,  14)
(1  SOP  y  2  soluciones  POS)

8.  Etiquete  las  soluciones  de  cada  parte  del  problema  7  como  f1,  f2, . . .  y
indicar  qué  soluciones  son  iguales.

9.  Para  cada  una  de  las  siguientes  funciones  de  cinco  variables,  encuentre  todos  los  mínimos
Expresiones  de  suma  de  productos.  (Si  hay  más  de  una  solución,
el  número  de  soluciones  se  da  entre  paréntesis).
a.  F(A,  B,  C,  D,  E)  m(0,  1,  5,  7,  8,  9,  10,  11,  13,  15,  18,  20,
21,  23,  26,  28,  29,  31)
b.  G(A,  B,  C,  D,  E)  m(0,  1,  2,  4,  5,  6,  10,  13,  14,  18,  21,  22,
24,  26,  29,  30)
C.  H(A,  B,  C,  D,  E)  m(5,  8,  12,  13,  15,  17,  19,  21,  23,  24,  28,  31)
d.  F(V,  W,  X,  Y,  Z) m(2,  4,  5,  6,  10,  11,  12,  13,  14,  15,  16,
17,  18,  21,  24,  25,  29,  30,  31)
mi.  G(V,  W,  X,  Y,  Z) m(0,  1,  4,  5,  8,  9,  10,  15,  16,  18,  19,  20,
24,  26,  28,  31)
  f.  H  (V,  W,  X,  Y,  Z) m(0,  1,  2,  3,  5,  7,  10,  11,  14,  15,  16,  18,
24,  25,  28,  29,  31)  (2  soluciones)
gramo.  F(A,  B,  C,  D,  E)  m(0,  4,  6,  8,  12,  13,  14,  15,  16,  17,  18,
21,  24,  25,  26,  28,  29,  31) (6  soluciones)
H.  G(A,  B,  C,  D,  E)  m(0,  3,  5,  7  12,  13,  14,  15,  19,  20,  21,
22,  23,  25,  26,  29,  30)  (3  soluciones)
  yo.  H(A,  B,  C,  D,  E)  m(0,  1,  5,  6,  7,  8,  9,  14,  17,  20,  21,  22,
23,  25,  28,  29,  30)  (3  soluciones)
j.  F(V,  W,  X,  Y,  Z) m(0,  4,  5,  7,  10,  11,  14,  15,  16,  18,  20,
21,  23,  24,  25,  26,  29,  31)  (4  soluciones)
k.  G(V,  W,  X,  Y,  Z) m(0,  2,  5,  6,  8,  10,  11,  13,  14,  15,  16,  17,
18,  19,  20,  21,  22,  24,  26,  29,  31)
(3  soluciones)
Machine Translated by Google

194 Capítulo  3  El  mapa  de  Karnaugh
SOICICREJE

yo  H  ( V,  W,  X,  Y,  Z ) m(0,  1,  2,  3,  5,  8,  9,  10,  13,  17,  18,  19,
20,  21,  26,  28,  29)
(3  soluciones)  
metro.  F(A ,  B , C , D , mi ) m(1,  2,  5,  8,  9,  10,  12,  13,  14,  15,  16,  18,  
21,  22,  23,  24,  26,  29,  30,  31)  
(18  soluciones)  
norte.  G  ( V,  W,  X,  Y,  Z ) m(0,  1,  5,  7,  8,  13,  24,  25,  29,  31)  
d(9,  15,  16,  17,  23,  26,  27,  30)  
(2  soluciones)  
o  H(A ,  B , C , D , mi ) m(0,  4,  12,  15,  27,  29,  30)   d(1,  5,  9,
10,  14,  16,  20,  28,  31)
(4  soluciones)  
pag.  F(A ,  B , C , D , mi ) m(8,  9,  11,  14,  28,  30)  d(0,  3,  4,  6,  7,  12,  
13,  15,  20,  22,  27,  29,  31)
(8  soluciones)

10.  Para  cada  una  de  las  siguientes  funciones  de  seis  variables,  encuentre  
todas  las  expresiones  de  suma  mínima  de  productos.  (El  número  de  
términos  y  literales  y,  si  hay  más  de  una  solución,  el  número  de  
soluciones  se  da  entre  
paréntesis.)  
a.   D ,Bmi, f )
,GC  (,A ,   m(4,  5,  6,  7,  8,  10,  13,  15,  18,  20,  21,
22,  23,  26,  29,  30,  31,  33,  36,  37,  38,  
39,  40,  42,  49,  52,  53,  54,  55,  60,  61)  
(6  términos,  21  
  segundo  G  (A ,  B , C , D , mi, f ) literales)  m( 2 ,  3,  6,  7,  8,  12,  14,  17,  
19,  21,  23,  25,  27,  28,  29,  30,  32,  33,  34,  
35,  40,  44,  46,  49,  51,  53 ,  55,  57,  59,  
61,  62,  63)  (8  
C.  G  (A ,  B , C , D , mi, f ) términos,  30  literales)  m(0,  1,  2,  4,  5,  6,  7,  9,  13,  15,  17,  1
21,  23,  26,  27,  29,  30,  31,  33,  37,  39,  
40,  42,  44,  45,  46,  47,  49,  53,  55,  57,  
59,  60,  61,  62,  63)  
(8  términos,  28  literales,  2  soluciones)

11.  Encuentre  un  circuito  mínimo  de  dos  niveles  (correspondiente  a  la  suma  de
expresiones  de  productos)  utilizando  AND  y  una  puerta  OR  por  función  para  
cada  uno  de  los  siguientes  conjuntos  de  
, b , C , re ) m(1,  3,  5,  8,  9,  10,  13,  14)  
, b , C , re )
funciones.   m(4,  5,  6,  7,  10,  13,  14)  (7  puertas,  21  entradas)  
a.  f( ag   , b , C , re ) m(0,  1,  2,  3 ,  4,  5,  8,  10,  13)  
( a  b,.  b , C , (re )
f( ag    a m(0,  1,  2,  3,  8,  9,  10,  11,  13)  (6  
puertas,  16  entradas)
C.  f( ag  , b , C , re ) m(5,  8,  9,  12,  13,  14)  
( un, b , C , re ) m(1,  3,  5,  8,  9,  10)  
(3  soluciones,  8  puertas,  25  entradas)
Machine Translated by Google

3.8  Ejercicios 195

d.  f(a,  b,  c,  d)  g(a,   m(1,  3,  4,  5,  10,  11,  12,  14,  15)
b,  c,  d) m(0,  1,  2,  8,  10,  11,  12,  15)
(9  puertas,  28  entradas)
mi.  F(An,  X,  Y,  Z)  m(1,  5,  7,  8,  10,  11,  12,  14,  15)
G(W,  X,  Y,  Z)  m(0,  1,  4,  6,  7,  8,  12)  (8  puertas,  23  entradas)
F.  F(An,  X,  Y,  Z)  m(0,  2,  3,  7,  8,  9,  13,  15)
G(An,  X,  Y,  Z)  m(0,  2,  8,  9,  10,  12,  13,  14)
(2  soluciones,  8  puertas,  23  entradas)
gramo.  f(a,  b,  c,   m(1,  3,  5,  7,  8,  9,  10)
d )  g(a,  b,  c,   m(0,  2,  4,  5,  6,  8,  10,  11,  12)
d)  h(a,  b,  c,  d) m(1,  2,  3,  5,  7,  10,  12,  13,  14,  15)
(2  soluciones,  12  puertas,  33  entradas)
  H.  f(a,  b,  c,  d)   m(0,  3,  4,  5,  7,  8,  12,  13,  15)
g(a,  b,  c,  d)   m(1,  5,  7,  8,  9,  10,  11,  13,  14,  15)
h(a,  b,  c,  d) m(1,  2,  4,  5,  7,  10,  13,  14,  15)
(2  soluciones,  11  puertas,  33  entradas)
i.  f(a,  b,  c,  d)  g(a,   m(0,  2,  3,  4,  6,  7,  9,  11,  13)
b,  c,  d)  h(a,   m(2,  3,  5,  6,  7,  8,  9,  10,  13)
b,  c,  d) m(0,  4,  8,  9,  10,  13,  15)
(2  soluciones  para  f  y  g,  10  puertas,  32  entradas)
  J.  f(a,  c,  b,  d)   m(0,  1,  2,  3,  4,  9)  d(10,  11,  12,  13,  14,  15)
g(a,  c,  b,  d) m(1,  2,  6,  9)  d(10,  11,  12,  13,  14,  15)
(3  soluciones  para  f,  6  puertas,  15  entradas)
k.  f(a,  c,  b,  d)  g(a,   m(5,  6,  11)  d(0,  1,  2,  4,  8)
c,  b,  d) m(6,  9,  11,  12,  14)  d(0,  1,  2,  4,  8)
(2  soluciones  para  g,  7  puertas,  18  entradas)

12.  En  cada  uno  de  los  siguientes  conjuntos,  las  funciones  se  han  minimizado
individualmente.  Encuentre  un  circuito  mínimo  de  dos  niveles  (correspondiente  a
expresiones  de  suma  de  productos)  usando  AND  y  una  puerta  OR  por
función  para  cada  uno.

a.  F  BD  CD  ABC
G  BC  ACD (6  puertas,  15  entradas)
  segundo  F  ABCD  BC  ACD  ACD
G  ABCD  ABC  BCD
H  BCD  BCD  AC  AD
(2  soluciones  para  H,  10  puertas,  35  entradas)
C.  fa  ab  ad  bcd
g  bcd  bd  acd  abc
h  ad  ab  bcd  bcd (10  puertas,  31  entradas)
Machine Translated by Google

196 Capítulo  3  El  mapa  de  Karnaugh

3.9  PRUEBA  DEL  CAPÍTULO  3  (100  MINUTOS  O
LA
BTE I U
O  LAU PERC
D
P

DOS  PRUEBAS  DE  50  MINUTOS)
1.  Mapee  cada  una  de  las  siguientes  funciones  (asegúrese  de  etiquetar  los  mapas):
a.  f(x,  y,  z) m(1,  2,  7) re(4,  5)

00 01 11 10

b.  g  ca  abcd  abd  abc
Encierra  en  un  círculo  cada  uno  de  los  términos.

00 01 11 10

00

01

11

10

2.  Encuentra  la  expresión  de  suma  mínima  de  productos  para  cada  uno  de  los
siguientes  funciones  (es  decir,  encierra  en  un  círculo  los  términos  en  el  mapa  y  escribe
las  expresiones  algebraicas).

a. b.
wx ab
00 01 11 10 cd 00 01 11 10
yz

00 1 1 00 1 11

01 1 01 1 11

11 1 1 1 11 1 1

10 1 10 1 1 1

3.  Encuentre  las  cuatro  expresiones  de  suma  mínima  de  productos  para  el
función  siguiente.  (Se  entregan  dos  copias  del  mapa  para  su
conveniencia.)
Machine Translated by Google

3.9  Capítulo  3  Prueba 197

ab ab
cd 00 01 11 10 cd 00 01 11 10

00 1 11 00 1 11

01 1 1 1 01 1 1 1

11 1 1 1 11 1 1 1

10 1 1 1 10 1 1 1

4.  Para  la  siguiente  función  (se  muestran  tres  copias  del  mapa),
a.  Enumere  todos  los  implicantes  primos,  indicando  cuáles,  si  los  hay,  son
básico.
b.  Encuentre  las  cuatro  soluciones  mínimas.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1 1 X 00 1 1 X 00 1 1 X

01 X X X 01 X X X 01 X X X

11 X 1 11 X 1 11 X 1

10 1 1 10 1 1 10 1 1

5.  Para  la  siguiente  función  de  cuatro  variables,  f,  encuentre  la  suma  mínima
de  expresiones  de  productos  y  tanto  producto  mínimo  de  sumas
expresiones

ab
cd 00 01 11 10

00 X

01 X 1 X 1

11 1 1 X

10 X
Machine Translated by Google

198 Capítulo  3  El  mapa  de  Karnaugh

6.  Para  la  siguiente  función,  f,  encuentre  las  cuatro  sumas  mínimas  de
LA
BTE I U
O  LAU PERC
D
P

expresiones  de  productos  y  los  cuatro  productos  mínimos  de  sumas
expresiones
wx
00 01 11 10
yz

00 X 1

01 X 11

11 X X 1

10 X X

7.  Para  el  siguiente  problema  de  cinco  variables,  encuentre  la  suma  mínima
de  expresiones  de  productos.
A
antes  de  Cristo
0 antes  de  Cristo
1
Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 1 00 1

01 1 1 01 1 1

11 1 11 1 1 1

10 1 10 1

8.  Para  el  siguiente  problema  de  cinco  variables,  encuentre  la  suma  mínima
de  expresiones  de  productos.  (5  términos,  15  literales)
A
antes  de  Cristo
0 antes  de  Cristo
1
Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 1 00 1 1 1

01 1 01 1 1

11 1 1 1 11 1 1 1 1

10 1 1 10 1 1 1
Machine Translated by Google

3.9  Capítulo  3  Prueba 199

9.  un.  Para  las  siguientes  dos  funciones,  encuentre  la  suma  mínima  de
expresión  de  productos  para  cada  uno  (tratándolos  como  dos
problemas).

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1 1 1 00

01 1 01 1 1 1

11 1 11 1 1 1

10 1 1 10 1

F gramo

b.  Para  las  mismas  dos  funciones,  encuentre  una  suma  mínima  de  productos
solución  (correspondiente  al  número  mínimo  de  puertas,  y
entre  aquellos  con  el  mismo  número  de  puertas,  mínimo
número  de  entradas  de  puerta).  (7  puertas,  19  entradas)

10.  Considere  las  tres  funciones,  cuyos  mapas  se  muestran  a  continuación.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1 00 1 1 1 00 1 1

01 11 01 01 1 1

11 1 1 1 1 11 1 11 1 1 1

10 1 1 1 10 1 11 10 1

fgh

a.  Encuentre  la  expresión  de  suma  mínima  de  productos  (individualmente)
para  cada  una  de  las  tres  funciones.  Indique  cuál  primo,  si  lo  hay.
Los  implicantes  pueden  ser  compartidos.

b.  Encuentre  una  solución  de  puerta  NAND  mínima  de  dos  niveles.  Crédito  completo  para
una  solución  utilizando  10  puertas  y  32  entradas.  Todas  las  variables  son
disponible  tanto  sin  complementar  como  complementada.  Mostrar  la
ecuaciones  y  un  diagrama  de  bloques.
Machine Translated by Google
Machine Translated by Google

CAPÍTULO

Minimización  de  funciones
Algoritmos 4
En  implicantes  
este  capítulo,  veremos  
primos   dos  e
y  nfoques  
de  una  función   para  epara  
luego  algoritmos   ncontrar  todos  los
encontrar  
soluciones  de  suma  mínima  de  productos.  Luego  extenderemos  los  enfoques
a  problemas  con  múltiples  salidas.
El  primer  enfoque  para  encontrar  implicantes  primos  se  conoce  como  el  
método  de  Quine­McCluskey.  Comienza  con  minitérminos  y  usa,  repetidamente,  
la  propiedad  de  adyacencia
ab  ab  a

El  segundo  enfoque  es  el  consenso  iterado.  Comienza  con  cualquier  
conjunto  de  términos  que  cubre  la  función  y  utiliza  la  operación  de  consenso  y  la  
propiedad  de  absorción.
un  ab  un

Cada  uno  de  estos  métodos  ha  sido  computarizado  y  es  efectivo  para  una  
mayor  cantidad  de  variables  que  el  mapa  de  Karnaugh,  aunque  la  cantidad  de  
computación  se  vuelve  excesiva  para  muchos  problemas  prácticos.

4.1  MÉTODO  DE  QUINE­McCLUSKEY
PARA  UNA  SALIDA*
En  esta  sección,  usaremos  el  método  de  Quine­McCluskey  para  encontrar  todos  
los  implicantes  primos  de  una  función.  En  la  Sección  4.3,  usaremos  ese  conjunto  
de  implicantes  primos  para  encontrar  la(s)  expresión(es)  de  suma  mínima  de  
productos  para  esa  función.  Empezamos  con  una  lista  de  minitérminos,  en  forma  
numérica  (es  decir,  1  para  una  variable  no  complementada  y  0  para  una  
complementada).  Si  comenzamos  con  números  mintérmino,  este  es  solo  el  
equivalente  binario  del  número  mintérmino.  Ordenamos  esta  lista  por  el  número  
de  1  en  cada  término.  Usaremos  la  función  del  Ejemplo  3.6:

f(w,  x,  y,  z) m(0,  4,  5,  7,  8,  11,  12,  15)

*El  algoritmo  de  Quine­McCluskey  fue  desarrollado  por  WV  Quine  y  Edward  J.
McCluskey  en  la  década  de  1950.
201
Machine Translated by Google

202 Capítulo  4  Algoritmos  de  minimización  de  funciones

Nuestra  lista  inicial,  agrupada  por  el  número  de  1,  es
un  0  0  0  0
­­­­­­­­

segundo  0  1  0  0

C  1  0  0  0
­­­­­­­­

D  0  1  0  1
mi  1  1  0  0
­­­­­­­­

F  0  1  1  1
G  1  0  1  1
­­­­­­­­

H  1  1  1  1

donde  hemos  etiquetado  los  términos  para  una  fácil  referencia.
Ahora  aplicamos  la  propiedad  de  adyacencia  a  cada  par  de  términos.  Como  
esa  propiedad  requiere  que  todas  las  variables  sean  iguales  excepto  una,  solo  
necesitamos  considerar  términos  en  grupos  consecutivos.  Producimos  una  
segunda  columna  de  términos  con  una  variable  faltante:
ABJ  0  –  0  0  (donde  el  guión  representa  una  variable  faltante)

RECONOCIMIENTO  –  0  0  0

BDL  0  1  0  –
BEM  –  1  0  0
CD  ninguno
CEN  1  –  0  0
OFD  0  1  –  1
director  general  ninguno

EF  ninguno
por  ejemplo ,  ninguno

FHP  –  1  1  1

Cuartel  General  1  –  1  1

Por  supuesto,  algunos  pares  de  términos,  incluso  en  grupos  adyacentes,  no  se  
pueden  combinar  porque  difieren  en  más  de  un  lugar,  como  los  términos  C  y  D.
Cada  vez  que  se  usa  un  término  para  producir  otro  término,  se  marca;  no  es  un  
implicante  primo.  Estos  (tres  literales)  términos  se  colocan  en  una  segunda  columna  
como  se  muestra  en  la  Tabla  4.1.  Todos  los  minitérminos  se  han  utilizado  para  
formar  al  menos  un  término  en  la  segunda  columna;  por  lo  tanto,  ningún  minitérmino  
es  implicante  principal.
Ahora  repetimos  el  proceso  con  la  segunda  columna.  Nuevamente,  solo  
necesitamos  considerar  términos  en  secciones  consecutivas  de  esa  columna  (número  de
Machine Translated by Google

4.1  Método  de  Quine­McCluskey  para  una  salida 203

Tabla  4.1  Cálculo  del  implicante  primo  de  Quine­McCluskey.

UN  0  0  0  0  √ J  0  –  0  0  √ R  –  –  0  0


­­­­­­­­­­­­­ K  ­  0  0  0  √
segundo  0  1  0  0  √ ­­­­­­­­­­­­­
C  1  0  0  0  √ L  0  1  0  –
­­­­­­­­­­­­­ METRO  –  1  0  0  √
re  0  1  0  1  √ norte  1  –  0  0  √
mi  1  1  0  0  √ ­­­­­­­­­­­­­
­­­­­­­­­­­­­ O  0  1  –  1
F  0  1  1  1  √ ­­­­­­­­­­­­­
GRAMO  1  0  1  1  √ P  ­  1  1  1
­­­­­­­­­­­­­
P  1  –  1  1
H  1  1  1  1  √

1  es  diferente  por  solo  uno).  Además,  solo  necesitamos  considerar  los  términos  con
guiones  en  la  misma  posición,  ya  que  son  los  únicos  con  el  mismo
tres  variables  Así,  encontramos
JNR  –  –  0  0
KMR  (mismo  término)
Cada  término  de  esta  columna  está  siempre  formado  por  dos  pares  diferentes  de
términos.  En  este  ejemplo,  yz  se  forma  mediante  el  cálculo  wyz  +  wyz
así  como  por  xyz  +  xyz,  como  se  muestra  en  el  siguiente  mapa.  (Tenga  en  cuenta  que  sólo
se  muestran  estos  términos  de  la  función.)
wx
00 01 11 10
yz

00 11 1 1

01

11

10

No  hay  adyacencias  entre  el  segundo  y  tercer  grupo  o  entre
el  tercer  y  cuarto  grupo.
Como  solo  hay  un  término  en  la  tercera  columna,  hemos  terminado.  Si
había  más  términos,  repetíamos  el  proceso,  formando  una  columna
faltando  tres  literales  (correspondientes  a  un  grupo  de  ocho  minitérminos).
Los  principales  implicados  son

L  010–  wxy
O  01–1  wxz
P  ­111  xyz
Q  1–11  wyz
R  ––00  años
Machine Translated by Google

204 Capítulo  4  Algoritmos  de  minimización  de  funciones

Si  no  hay  preocupaciones  en  el  problema,  todas  ellas  deben  incluirse  en  el
primera  columna  de  la  tabla,  ya  que  los  don't  cares  son  parte  de  los  implicantes  primos.

EJEMPLO  4.1
g(w,  x,  y,  z) m(1,  3,  4,  6,  11) d(0,  8,  10,  12,  13)

El  proceso  continúa  como  antes.

0  0  0  0  √ 0  0  0  – ––  0  0


­­­­­­­­ 0  –  0  0  √
0  0  0  1  √  0   –  0  0  0  √
1  0  0  √  1  0   ­­­­­­­­

0  0  √ 0  0  –  1
­­­­­­­­ 0  1  –  0
0  0  1  1  √  0   –  1  0  0  √
1  1  0  √  1  0   1  0  –  0
1  0  √  1  1  0   1  –  0  0  √
0  √ ­­­­­­­­

­­­­­­­­ –  0  1  1
1  0  1  1  √  1   1  0  1  –
1  0  1  √ 1  1  0  –

Así,  los  implicantes  primos  son

wxy xyz
wxz wxy
wxz wxy
wxz yz

Aunque  wxy  y  wxz  son  implicantes  principales,  consisten  en  todo  lo  que  no  importa
y  nunca  se  usaría  en  una  solución  mínima.

Este  proceso  funciona  para  un  mayor  número  de  variables,  pero  el  número  de
los  minitérminos  y  otros  implicantes  pueden  aumentar  rápidamente.  veremos  uno
ejemplo  con  cinco  variables  en  los  problemas  resueltos.  Este  proceso  tiene
sido  informatizado.
[ES  1;  EJ  1]

4.2  CONSENSO  ITERADO
PARA  UNA  SALIDA
En  esta  sección,  usaremos  el  algoritmo  de  consenso  iterado  para  enumerar  todos  los
los  implicantes  primos  de  una  función.  En  la  siguiente  sección,  usaremos  ese
lista  para  encontrar  la(s)  expresión(es)  de  suma  mínima  de  productos.
Para  simplificar  la  discusión,  primero  definiremos  la  relación
incluido  en.

El  término  producto  t1  se  incluye  en  el  término  producto  t2  (escrito  t1  t2)  si  t2  es  1
siempre  que  t1  sea  1  (y  en  cualquier  otro  lugar,  también,  si  los  dos  términos  no  son  iguales).*

*La  relación  incluida  en  también  se  aplica  a  funciones  más  complejas  que  el  producto
términos,  pero  eso  no  será  importante  aquí.
Machine Translated by Google

4.2  Consenso  iterado  para  un  resultado 205

t2,  
Todo  lo  que  esto  realmente  significa  para  los  términos  del  producto  es   ot  1  
que   t1xt2,  
donde  x  es  un  literal  o  un  producto  de  literales.  Desde  la  perspectiva  del  mapa,  
significa  que  t1  es  un  subgrupo  de  t2.  Si  un  implicante,  t1,  está  incluido  en  otro  
implicante,  t2,  entonces  t1  no  es  un  implicante  primo  ya  que

t1 t2  xt2  t2 t2 [P12a]

El  algoritmo  de  consenso  iterado  para  funciones  individuales  es  el  siguiente:  1.  

Encuentre  una  lista  de  términos  de  productos  (implicantes)  que  cubran  la  función.
Asegúrese  de  que  ningún  término  sea  igual  o  esté  incluido  en  cualquier  otro  
término  de  la  lista.  (Los  términos  de  la  lista  podrían  ser  implicantes  primos  
o  minitérminos  o  cualquier  otro  conjunto  de  implicantes.  Sin  embargo,  el  
resto  del  algoritmo  avanza  más  rápido  si  comenzamos  con  implicantes  primos).

2.  Para  cada  par  de  términos,  ti  y  tj  (incluidos  los  términos  agregados  a  la  lista  en
paso  3),  calcule  ti  ¢  tj .
3.  Si  el  consenso  está  definido  y  el  término  de  consenso  no  es  igual  o  no  está  
incluido  en  un  término  que  ya  está  en  la  lista,  agréguelo  a  la  lista.
4.  Elimine  todos  los  términos  que  están  incluidos  en  el  nuevo  término  agregado  a  la  lista.

5.  El  proceso  finaliza  cuando  se  han  realizado  todas  las  operaciones  de  
consenso  posibles.  Los  términos  que  quedan  en  la  lista  son  TODOS  los  
implicantes  principales.

Considere  la  siguiente  función  (Ejemplo  3.6  del  Capítulo  3  y  la  función  que  
usamos  para  describir  el  método  de  Quine­McCluskey  en  la  Sección  4.1).  f(w,  x,  y,  z)

m(0,  4,  5,  7,  8,  11,  12,  15)

Elegimos  como  punto  de  partida  un  conjunto  de  términos  de  productos  que  cubren  la  
función;  incluyen  algunos  implicantes  primos  y  un  minitérmino,  así  como  otros  
implicantes.

A  wxyz  B  wxy  
C  wyz  D  
xyz  E  wyz

Etiquetamos  los  términos  de  referencia  y  vamos  en  el  orden  B  ¢  A,  C  ¢  B,  C  ¢  A,  D  ¢  
C,...,  omitiendo  cualquier  cálculo  cuando  el  término  ha  sido  eliminado  de  la  lista.  
Cuando  se  elimina  un  término,  lo  tachamos.  El  primer  consenso,  B  ¢  A,  produce  wyz;  
A  está  incluido  en  ese  término  y,  por  lo  tanto,  puede  eliminarse.  Después  del  primer  
paso,  la  lista  se  convierte  en  A  wxyz  B  wxy  C  wyz  D  wyz  E  wyz  

F  wyz
Machine Translated by Google

206 Capítulo  4  Algoritmos  de  minimización  de  funciones

Luego  encontramos  C  ¢  B,  lo  que  crea  el  término  G,  xyz;  no  está  incluido  en  ningún  
otro  término  y  ningún  otro  término  está  incluido  en  él.  No  hay  necesidad  de  calcular  
C  ¢  A,  ya  que  el  término  A  ya  se  eliminó  de  la  lista.

Tabla  4.2  Cálculo  de  los   El  cálculo  completo  se  muestra  en  la  Tabla  4.2,  donde  cada  posible  consenso  
implicantes  primos. se  enumera  en  una  línea  separada.
Los  términos  restantes,  B,  D,  E,  H  y  J,  es  decir,  wxy,  xyz,  wyz,  wxz  e  yz,  son  
Un  wxyz
Bwxy todos  los  implicantes  primos.  La(s)  expresión(es)  de  la  suma  mínima  de  productos  
C  wyz utilizará  algunos  de  estos,  normalmente  no  todos.
D  xyz El  proceso  se  puede  simplificar  utilizando  una  representación  numérica  de  los  
E  wyz términos.  Como  en  la  tabla  de  verdad,  un  0  representa  una  variable  complementada  
F  wyz  B  ¢  AA  (quitar  A)
y  un  1  representa  una  variable  no  complementada.  Si  falta  una  variable  en  un  
G  xyz  C  ¢  B
D  ¢  C  indefinido término,  como  hicimos  en  Quine­McCluskey,  se  usa  un  guión  (–)  en  su  lugar  para  
alto  ancho  x  profundidad  ¢  fondo que  cada  término  tenga  cuatro  entradas.  Existe  un  consenso  si  hay  un  1  para  
E  ¢  D  indefinido exactamente  una  variable  en  un  término  y  un  0  para  esa  variable  en  el  otro.  El  
E  ¢  C  indefinido   término  de  consenso  tiene  un  1  para  una  variable  si  un  término  tiene  un  1  y  el  otro  
E  ¢  B   indefinido
un  1  o  un  –;  tiene  un  0  si  un  término  tiene  un  0  y  el  otro  un  0  o  un  –,  y  un  –  si  un  
F  ¢  E indefinido
término  tiene  un  0  y  el  otro  un  1  o  si  ambos  términos  tienen  un  –.  Para  la  función  de  
F  ¢  D  indefinido
J  yz  F  ¢  C  G,  F,  C  (quitar  G,  F,   la  Tabla  4.2,  el  proceso  pasa  a  ser  el  de  la  Tabla  4.3  (donde  no  hemos  dejado  líneas  
C) para  operaciones  de  consenso  que  no  están  definidas).
H  ¢  ED  (no  sumar)
H  ¢  D  indefinido
Los  cinco  términos  que  quedan  en  la  tabla  4.3  son  los  mismos  que  en  la  tabla  
H  ¢  B  indefinido
4.2.
J  ¢  HB  (no  sumar)
J  ¢  E  indefinido
J  ¢  D  indefinido
J  ¢  B  indefinido
Tabla  4.3  Cálculo  numérico  de  implicantes  primos.

un  0000
B  010–
C  1­00
D  ­111
Mi  1­11
F  0–00  B  ¢  AA
G  –100  C  ¢  B
H  01–1  D  ¢  B (D  ¢  C  indefinido)
(E  ¢  D,  E  ¢  C,  E  ¢  B,  F  ¢  E,  F  ¢  D  indefinido)
J  ––00  F  ¢  C  SOL,  F,  C
(H  ¢  E  D;  H  ¢  D,  H  ¢  B  indefinido;  J  ¢  H  B;
J  ¢  E,  J  ¢  D,  J  ¢  B  indefinido)

En  caso  de  que  no  existan  preocupaciones  en  la  función,  todas  ellas  deberán  
estar  incluidas  en  al  menos  uno  de  los  plazos  para  iniciar  el  trámite.  La  lista  resultante  
de  implicantes  principales  incluirá  todos  los  posibles  implicantes  principales  (incluidos  
posiblemente  algunos  que  se  componen  solo  de  "no  me  importa").  La  tabla  de  
implicantes  primos  nos  permitirá  entonces  elegir  la  cobertura  mínima.
Machine Translated by Google

4.2  Consenso  iterado  para  un  resultado 207

EJEMPLO  4.2
g(w,  x,  y,  z) m(1,  3,  4,  6,  11) d(0,  8,  10,  12,  13)

wx
00 01 11 10
yz

00 X 1 X X

01 1 X

11 1 1

10 1 X

Usando  el  mapa  de  arriba,  elegimos  la  siguiente  lista  de  implicantes  como  punto  de  partida
punto:
A  yz –  –  0  0
Bwxz  0  0  –  1

C  wxyz  0110
D  wxy  110  –
E  wxy  101  –
Todos  estos,  excepto  el  tercero,  son  implicantes  primos.  no  importa  que
conjunto  de  términos  con  los  que  comenzamos  (siempre  y  cuando  todos  los  1  y  no  importa  sean
incluido  en  al  menos  un  término);  obtendremos  el  mismo  resultado.  Al  elegir  un
muy  buena  portada,  crearemos  pocos  o  ningún  término  superfluo.  El  proceso
luego  procede:
A  –  –  0  0
segundo  0  0  –  1

C0110  _
D  110  –
ES  101  –

F  000  –  B  ¢  A
C  ¢  B  indefinido
G  0  1  –  0  C  ¢  CA
D  ¢  B,  D  ¢  A,  E  ¢  D  indefinido
H  –  011  E  ¢  B
J  1  0  –  0  E  ¢  A
F  ¢  E,  F  ¢  D,  F  ¢  B,  F  ¢  A  indefinido,  G  ¢  F  0  –  0  0  A;
G  ¢  E  indefinido;  G  ¢  D  A;  G  ¢  B,  G  ¢  A,  H  ¢  G  indefinido;
H  ¢  F  B;  H  ¢  E,  H  ¢  D,  H  ¢  B,  H  ¢  A,  indefinido;  J  ¢  HE ;
J  ¢  G,  J  ¢  E,  J  ¢  B,  J  ¢  A  indefinido;  J  ¢  FA ,  J  ¢  DA

Por  lo  tanto,  todos  los  términos  excepto  el  término  C  son  implicantes  primos.

[ES  2;  EJ  2]
Machine Translated by Google

208 Capítulo  4  Algoritmos  de  minimización  de  funciones

4.3  TABLAS  PRIMAS  IMPLICANTES
PARA  UNA  SALIDA
Una  vez  que  tenemos  una  lista  completa  de  implicantes  primos,  utilizando  Quine  McCluskey  
o  consenso  iterado,  se  construye  una  tabla  con  una  fila  para
cada  implicante  primo  y  una  columna  para  cada  minitérmino  incluido  en  el
función  (no  me  importa).  Se  ingresa  una  X  en  la  columna  de  un  minitérmino
que  está  cubierto  por  ese  implicante  primo.  Así,  para  los  implicantes  principales  de
la  primera  función,  f,  en  ambas  Secciones  4.1  y  4.2,  el  implicante  primo
La  tabla  se  muestra  en  la  Tabla  4.4.

Tabla  4.4  Una  tabla  de  implicantes  primos  (PI).

PI  Numérico  $  Etiqueta  0  4  5  7  8  11  12  15

wxy  010–  4 A XX

xyz  –111  4 B X X

wyz  1–11  4  C X X
wxz  01–1  4  D XX

yz  ––00  3 E  XX X X

La  primera  columna  es  la  lista  de  implicantes  primos  en  forma  algebraica;  el
el  segundo  está  en  forma  numérica.*  Este  último  hace  que  sea  fácil  encontrar  una  lista  de  
minitérminos  que  están  cubiertos  por  este  término,  ya  que  cada  uno  puede  representar
ya  sea  un  0  o  un  1.  Por  ejemplo,  el  término  010–  cubre  los  minitérminos  0100  (4)  y  0101  (5).  
La  tercera  columna  es  el  número  de  entradas  de  puerta  cuando  ese  término
se  utiliza  en  un  circuito  de  dos  niveles,  es  decir,  sólo  uno  para  cada  literal  más  uno  para
la  entrada  a  la  puerta  de  salida  (OR).  La  cuarta  columna  es  solo  la  etiqueta  (para
ahorre  escribir  el  término  completo  más  adelante).  Etiquetaremos  los  términos  en  orden  alfabético
orden.  (Pueden  diferir  del  etiquetado  de  estos  términos  en  las  Secciones  4.1
y  4.2.)
Nuestro  trabajo  es  encontrar  un  conjunto  mínimo  de  filas  tal  que  usando  solo  estos
filas,  cada  columna  tiene  al  menos  una  X,  es  decir,  todos  los  minitérminos  son
incluido  en  la  expresión.  Si  hay  más  de  un  conjunto,  el  número  total
de  entradas  de  puerta  ($  columna)  se  minimiza.  El  primer  paso  en  el  proceso  es
para  encontrar  implicantes  primos  esenciales.  Corresponden  a  filas  donde  la  X
es  el  único  en  al  menos  una  columna.  Esos  cuadrados  están  sombreados;  el
Se  verifican  los  minitérminos  cubiertos  por  cada  uno  de  los  implicantes  primos  esenciales.
apagado;  y  se  coloca  un  asterisco  al  lado  del  implicante  primo  como  se  muestra  en
Tabla  4.5.

*El  orden  de  la  lista  no  es  importante.  Los  dos  métodos  utilizados  para  encontrar  implicantes  primos
produjo  la  misma  lista  pero  en  diferente  orden.
Machine Translated by Google

4.3  Tablas  de  implicantes  primos  para  una  salida 209

Tabla  4.5  Encontrar  implicantes  primos  esenciales.

√√ √  √  √  √

PI  Numérico  $  Etiqueta  0  4  5  7  8  11  12  15

wxy  010–  4 A XX

xyz  –111  4 B X X

wyz   1–11  4  C X X
wxz  01–1  4  D XX

yz   ––00  3 E  XX X X

Tenga  en  cuenta  que  todos  los  minitérminos  cubiertos  por  los  implicantes  primos  esenciales
están  marcadas,  no  solo  aquellas  columnas  con  X  sombreadas.  la  mesa  esta  ahora
reducido  al  de  la  tabla  4.6  al  eliminar  el  implicante  primo  esencial Tabla  4.6  La  reducida
filas  y  los  minitérminos  cubiertos. mesa.
En  este  sencillo  ejemplo,  la  respuesta  es  evidente.  Primer  implicante  H
ps Etiqueta 5  7
cubre  los  1  restantes;  cualquier  otra  solución  requeriría  al  menos  dos
más  términos,  para  un  total  de  cuatro.  Así,  la  solución  es 4 A X
4 B X
CE  D  wyz  yz  wxz
4DXX  _  _
Antes  de  ver  algunos  ejemplos  más  complejos  que  nos  requerirán
Para  desarrollar  técnicas  adicionales,  completaremos  los  ejemplos  4.1  y  4.2.
(con  don't  cares),  para  el  cual  ya  hemos  desarrollado  una  lista  de  prime
implicantes.  Lo  único  que  es  diferente  del  primer  ejemplo  es  que
solo  tenemos  columnas  para  minitérminos  incluidos  en  la  función,  no  para
no  me  importa  Eso  es  realmente  lo  que  sucedió  en  la  tabla  reducida  de  arriba;  el
las  columnas  que  se  eliminaron  corresponden  a  minitérminos  que  se  convirtieron  en  no
se  preocupa  después  de  haber  elegido  los  implicantes  primos  esenciales  (como  en  Map
Método  3).

EJEMPLO  4.3
√ √
Pi $  etiqueta 1  3  4  6  11

yz  ––00  3  A X
wxz  00–1  4 B  XX

wxy  110–  4C
wxy  101–  4 D X

wxy  000–  4  EX
wxz   01–0  4  F XX

xyz  –011  4G X X
wxz  10–0  4  H
Machine Translated by Google

210 Capítulo  4  Algoritmos  de  minimización  de  funciones

Lo  primero  que  se  debe  tener  en  cuenta  sobre  esta  tabla  es  que  las  filas  C  y  H  no  tienen  X  en
a  ellos;  corresponden  a  implicantes  primos  que  cubren  solo  no  importa.  F  es
esencial,  como  lo  indica  el  sombreado.  Ahora  podemos  eliminar  las  filas  C,  H,
y  F  y  las  columnas  4  y  6,  produciendo  la  tabla  reducida:

$  etiqueta 1 3  11

3A  _

4 B XX

4 D X
4 mi X
4 GRAMO XX

Tenga  en  cuenta  que  la  fila  A  no  tiene  X;  el  término  mínimo  que  cubría  ya  estaba  cubierto
por  el  implicante  primo  esencial.  Hay  varias  formas  de  proceder  desde
aquí.  Mirando  la  tabla,  podemos  ver  que  necesitamos  al  menos  un  primo
implicante  que  cubre  dos  minitérminos  (ya  sea  B  o  G).  En  cualquier  caso,  uno
queda  el  minitérmino.  Hay  tres  soluciones:

F  BD  wxz  wxz  wxy

FBG  wxz  wxz  xyz

F  GE  wxz  xyz  wxy

Todos  estos  son  de  igual  costo,  ya  que  cada  uno  de  los  implicantes  primos  utilizados  tiene  el
mismo  número  de  literales.  (Veremos  en  otros  ejemplos  que  algunos  de  los
las  cubiertas  que  utilizan  el  mismo  número  de  términos  pueden  tener  un  número  diferente  de
literales.)

Si  estamos  buscando  sólo  una  de  las  soluciones  mínimas,  en  lugar  de
todos  ellos,  a  menudo  podemos  reducir  una  tabla  de  implicantes  primos  eliminando
hileras  dominadas  o  iguales.  Una  fila  domina  a  otra  si  el  término  que  representa  
no  cuesta  más  que  el  otro  y  tiene  X  en  cada  columna  que  el
fila  dominada  hace  (y  posiblemente  más).

EJEMPLO  4.4
En  el  ejemplo  4.3,  la  fila  E  está  dominada  por  B  y  la  fila  D  está  dominada  por  G.
Eliminando  las  filas  dominadas,  la  tabla  se  reduce  a

$  Etiqueta 1 3  11

4 B XX

4G  _ XX

y  la  única  solución  producida  es

FBG  wxz  wxz  xyz

Finalmente,  un  tercer  enfoque,  llamado  método  de  Petrick,  utiliza  la  tabla
hemos  obtenido  después  de  eliminar  los  implicantes  primos  esenciales,  pero
Machine Translated by Google

4.3  Tablas  de  implicantes  primos  para  una  salida 211

antes  de  eliminar  filas  dominadas  e  iguales.  Crear  un  producto  de  sumas
expresión  produciendo  un  término  para  cada  columna.  Para  el  último  ejemplo,
la  expresión  es

(B  E)(B  G)(D  G)

El  término  mínimo  1  debe  estar  cubierto  por  B  o  E,  el  término  mínimo  3  por  B  o  G  y  el  término  mínimo
11  por  E  o  G.  Expandiendo  esa  expresión  a  la  forma  de  suma  de  productos,  obtenemos

(B  EG)(D  G)  BD  BG  DEG  EG
BD  BG  EG

Cada  término  producto  corresponde  a  un  conjunto  de  implicantes  primos  que  podrían  ser
utilizado  para  cubrir  la  función.  Estas  son,  por  supuesto,  las  soluciones  que
encontró.

Ahora  estamos  listos  para  ver  algunos  ejemplos  más  complejos.

f(a,  b,  c,  d) m(1,  3,  4,  6,  7,  9,  11,  12,  13,  15) EJEMPLO  4.5

Del  mapa,  Quine­McCluskey,  o  consenso  iterado,*  podríamos  encontrar  todos
de  los  implicantes  primos  y  construya  la  siguiente  tabla:

√  √  1  3   √  √
ps 4  6  7  9  11  12  13  15

bd     –0–1  3  AXX XX

cd  ––11  3B X  XX  X

anuncio  1––1  3  C XX  XX

abc  110–  4  D XX

bcd  –100  4  E X X
abd  01–0  4  F XX

abc  011–  4G XX

Hay  un  implicante  primo  esencial,  bd,  como  se  muestra  en  la  tabla  anterior.
Luego  se  reduce  la  tabla,  eliminando  esa  fila  y  los  términos  que  tienen
sido  cubierto.

ps 4  6  7  12  13  15

3b  _ X X
3C  _ XX

4D  _ XX

4  EX  _ X
4  F  XX

4G  _ XX

*Un  enfoque  efectivo  es  mapear  la  función  y  encontrar  tantos  implicantes  primos  como
posible.  Luego,  use  el  consenso  iterado  para  verificar  que  no  se  haya  dejado  ninguno.
Machine Translated by Google

212 Capítulo  4  Algoritmos  de  minimización  de  funciones

La  tabla  reducida  tiene  dos  X  en  cada  columna  y  dos  X  en  cada  fila.
Dado  que  hay  que  cubrir  seis  minitérminos,  necesitamos  al  menos  tres  términos  primos
implicantes.  Además,  dado  que  B  y  C  cuestan  menos  que  los  otros  términos,  deberíamos
tratar  de  usarlos.  Un  estudio  cuidadoso  de  la  tabla  mostrará  que  hay  dos  cubiertas  
que  usan  tres  términos,  cada  uno  de  los  cuales  usa  uno  de  los  términos  menos  costosos,
a  saber,

A  BDF  bd  cd  abc  abd
A  CEG  bd  ad  bcd  abc

(No  podemos  completar  la  cobertura  con  tres  términos  además  de  A  usando
las  dos  filas  menos  costosas,  ya  que  solo  cubren  tres  1  entre  ellas).
El  enfoque  más  sistemático  es  elegir  uno  de  los  minitérminos  que  pueden
cubrirse  en  el  menor  número  de  formas,  por  ejemplo,  4.  Entonces  reconocemos  
que  debemos  elegir  E  o  F  para  cubrir  el  término  mínimo  4.  Vamos  a
a  continuación,  obtenga  una  solución  mínima  usando  cada  uno  de  ellos  y  compárelos.
Después  de  elegir  E,  la  tabla  se  reduce  a

ps 6  713  15

3b  _ X X
3C  _ XX

4D  _ X
4  F  X

4GXX  _  _

Tenga  en  cuenta  que  la  fila  D  está  dominada  por  C  y  cuesta  más  que  C.  Puede  ser
remoto.  (Esta  fila  está  sombreada  en  la  tabla  anterior).  Si  eso  se  elimina,  C  es
necesario  para  cubrir  el  minterm  13.  (También  cubre  el  minterm  15).  Ahora,  solo
los  términos  mínimos  6  y  7  deben  cubrirse;  la  única  manera  de  hacer  eso  con  un  término
es  con  G.  Eso  produce  la  solución

ACEG

La  fila  F  también  está  dominada  (por  G);  pero  esos  dos  términos  cuestan  lo  mismo.  En
general  (aunque  no  en  este  ejemplo),  corremos  el  riesgo  de  perder  otros  igualmente  buenos
soluciones  si  eliminamos  filas  dominadas  que  no  son  más  caras.
Si,  en  cambio,  elegimos  el  implicante  primo  F  para  cubrir  el  minitérmino  4,  tendríamos
tener

ps 7  12  13  15

3  B  X X
3C  _ XX

4D  _ XX

4  mi X
4  G  X
Machine Translated by Google

4.3  Tablas  de  implicantes  primos  para  una  salida 213

La  fila  G  está  dominada  por  la  fila  B  y  cuesta  más.  Por  tanto,  el  implicante  primo  B  es
necesarios  para  cubrir  la  función.  Con  solo  los  minitérminos  12  y  13  restantes,  debemos
elija  el  término  D,  dando  la  otra  solución
un  DCL

Finalmente,  podríamos  volver  a  la  segunda  tabla  (con  seis  minitérminos)  y  
considerar  los  implicantes  primos  necesarios  para  cubrir  cada  minitérmino.  metodo  de  petrick
produce  la  siguiente  expresión

(EF )(F  G)(B  G)(D  E)(C  D)(B  C)
(F  EG)(B  CG)(D  CE)
(BF  BEG  CFG  CEG)(D  CE)
BDF  BDEG  CDFG  CDEG  BCEF
BCEG  CEFG  CEG

Se  podría  utilizar  cualquiera  de  estas  ocho  combinaciones;  pero  solo  los  dos  subrayados
corresponden  a  tres  términos  (además  de  A).  Este  enfoque  produce  la
mismas  dos  soluciones  mínimas.

f(w,  x,  y,  z) m(1,  2,  3,  4,  8,  9,  10,  11,  12) EJEMPLO  4.6

Los  principales  implicados  son
xz
xy
wx
xyz
wyz

La  tabla  de  implicantes  primos  es

√  √  √  √  √  √  √√
ps 1  2  3  4  8  9  10  11  12

xz   –0–1  3  A  XX  XX

xy   –01–  3B XX XX
wx  10––  3  C XXXX

xyz   –100  4D X X

wyz  1–00  4  E X X

Hay  tres  implicantes  primos  esenciales,  A,  B  y  D,  que  cubren  todo  menos
uno  de  los  1.  La  tabla  reducida  es  así

ps 8

C 3 X
mi 4 X
Machine Translated by Google

214 Capítulo  4  Algoritmos  de  minimización  de  funciones

Aunque  cualquiera  de  los  implicados  primos  podría  cubrir  m8,  C  es  menos  costoso.  De  este  modo,
la  única  solución  mínima  es

f  xz  xy  xyz  wx
EJEMPLO  4.7
g(a,  b,  c,  d) m(0,  1,  3,  4,  6,  7,  8,  9,  11,  12,  13,  14,  15)

Del  Ejemplo  3.18  obtuvimos  la  lista  de  nueve  implicantes  primos  que  se  muestra
en  la  tabla  a  continuación.  (Podemos  comprobar  que  esta  lista  está  completa  y  que  todos
estos  son  implicantes  principales  al  usarlos  como  punto  de  partida  para  iterados
consenso.  Si  hacemos  eso,  no  se  producen  términos  nuevos  en  este  ejemplo).
no  necesita  una  columna  de  costo  ya  que  todos  los  términos  constan  de  dos  literales.

0  1  3  4  6  7  8  9  11  12  13  14  15

––00  A  XXXX

–00–  B  XX XX

–0–1  C  XX XX

–1–0  D XX X X
–11–  mi XX XX

––11  F  XXX  X

11––  G XXXX

1–0–  H XX  XX

1––1  J XX  X X

Todos  los  minitérminos  están  cubiertos  por  al  menos  dos  implicantes  primos  (algunos  por
hasta  cuatro).  Elegiremos  una  de  las  columnas  que  tiene  solo  dos  X
y  trata  de  minimizar  la  función  primero  usando  un  término,  y  luego  usando  el
otro.  Para  este  ejemplo,  usaremos  el  término  A  o  el  término  B  para  cubrir  m0;  primero
Usaremos  A  y  reduciremos  la  tabla  eliminando  los  minitérminos  cubiertos  por  A.

√√√√√√  √√
1 3  6  7  9  11  13  14  15

–00–  BX  _ X
–0–1   C  XX XX

–1–0  D X X
–11–  mi XX XX

––11  F  XXX  X

11––  G XXX

1–0–  H X X
1––1  J XXX  X

La  fila  B  está  dominada  por  C;  y  la  fila  D  está  dominada  por  E.  Aunque  la  fila  H  es
dominado  por  J,  eso  lo  dejaremos  por  ahora.  Por  lo  tanto,  elegiremos  los  términos  C
Machine Translated by Google

4.3  Tablas  de  implicantes  primos  para  una  salida 215

y  E.  Reduciendo  la  tabla  una  vez  más,  obtenemos

13

––11  F

11––  G  X

1–0–  H  X

1––1  J  X

Obviamente,  cualquiera  de  G,  H  o  J  podría  usarse  para  cubrir  el  minitérmino  13.  Observe  que
la  fila  H,  aunque  estaba  dominada,  se  usa  en  una  de  las  soluciones  mínimas.  Ahora  
debemos  preguntarnos  si  eso  podría  ser  cierto  para  la  fila  B  o  la  fila  D.  Para  estar  seguros,
debemos  volver  a  la  tabla  anterior  y  ver  que  pasa  si  no
eliminarlos  Elegiremos  B  (en  lugar  de  C  para  cubrir  m1  y  m4)  y  E
y  dejar  que  el  lector  lo  haga  para  D  (en  lugar  de  E)  y  C.  El  reducido
la  mesa  ahora  se  convierte

3  11  13

–0–1  C  XX

––11  F  XX

11––  G X
1–0–  H X
1––1  J XX

Ahora,  sin  embargo,  necesitamos  dos  implicantes  primos  más  para  completar  la  cubierta,
un  total  de  cinco.  Esas  soluciones  no  pueden  ser  mínimas,  ya  que  encontramos  tres  (así
lejos)  con  sólo  cuatro  términos.  Por  lo  tanto,  las  tres  soluciones  mínimas  que  usan  el  término  A  son

f  cd  bd  bc  ab
f  cd  bd  bc  ac
f  cd  bd  bc  anuncio

Ahora  regresaremos  y  repetiremos  el  proceso,  comenzando  con  el  término  B.
puede  eliminar  la  fila  A,  ya  que  ya  encontramos  todas  las  soluciones  mínimas  usando
fila  a

√  √ √ √
3  4  6  7 11  12  13  14  15

–0–1  CX  _ X
–1–0   D  XX X X
–11–  mi XX XX

––11  F  X XX X
11––  G XXXX

1–0–  H XX

1––1  J  XXX
Machine Translated by Google

216 Capítulo  4  Algoritmos  de  minimización  de  funciones

Ahora  se  requiere  la  fila  D.  Reduciremos  la  mesa  una  vez  más.

3 7  11  13  15

–0–1  C X X
–11–  mi X X
––11  F  XXX  X
11––  G XX
1–0–  H X
1––1  J XXX

Está  claro  ahora  que  F  es  necesaria,  cubriendo  todos  los  minitérminos  
restantes  excepto  m13.  (De  lo  contrario,  necesitaríamos  tanto  C  como  E  y
todavía  deje  m13  sin  cubrir.)  Como  antes,  los  implicantes  primos  G,  H  y  J
podría  usarse  para  completar  la  función.  Las  tres  soluciones  usando  el  término  B
son  por  lo  tanto

f  bc  bd  cd  ab
f  bc  bd  cd  ca
f  bc  bd  cd  anuncio

dando  un  total  de  seis  soluciones.

[ES  3;  EJ  3]

4.4  QUINE­McCLUSKEY  PARA  MÚLTIPLES
PROBLEMAS  DE  SALIDA
El  método  de  Quine­McCluskey  se  puede  expandir  para  incluir  múltiples
sistemas  de  salida  agregando  una  sección  de  etiqueta  a  cada  término  de  producto.  El
etiqueta  indica  para  qué  funciones  se  puede  utilizar  ese  término.  vamos  a  incluir
un  bit  para  cada  función,  con  un  –  si  el  término  está  incluido  en  esa  función
y  un  0  si  no.  Los  términos  se  pueden  combinar  si  tienen  un  común  –.  Cuando
combinando  términos  (usando  la  propiedad  de  adyacencia),  cada  etiqueta  es  0  si
término  tenía  un  0  y  es  –  si  ambos  términos  tenían  un  guión.  desarrollaremos
la  técnica  para  encontrar  todos  los  términos  útiles  en  esta  sección  y  diferir
a  la  Sección  4.6  el  método  para  encontrar  la  suma  mínima  de  productos
expresiones
Para  ilustrar  el  proceso,  considere  las  siguientes  funciones  (la  misma
funciones  como  en  el  ejemplo  3.34):

f(a,  b,  c)   m(2,  3,  7)
g(a,  b,  c) m(4,  5,  7)
Machine Translated by Google

4.4  Quine­McCluskey  para  problemas  de  salida  múltiple 217

Comenzamos  agrupando  los  términos  según  el  número  de  1  (donde  se  agregan  letras  
para  facilitar  la  identificación).

UN  0  1  0  –  0
segundo  1  0  0  0  –
­­­­­­­­­­­­­­

C  0  1  1  –  0
D  1  0  1  0  –
­­­­­­­­­­­­­­

mi  1  1  1  –  –

Ahora  aplicamos  la  propiedad  de  adyacencia  a  cada  par  de  términos  en  adyacentes
grupos  que  tienen  al  menos  uno  –  en  común.

UN  +  C  =  F  = 0  1  –  –  0
segundo  +  re  =  sol  = 1  0  –  0  –
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

C  +  E  =  H  = –  1  1  –  0
re  +  mi  =  j  = 1  –  1  0  –

Cuando  continuamos  con  otra  columna,  los  términos  se  marcan  solo  si
están  cubiertos  en  todas  las  funciones.  Así,  por  ejemplo,  el  término  E  no  se  comprueba
porque  ningún  término  lo  cubre  tanto  en  F  como  en  G.

Tabla  4.7  Salida  múltiple  Quine­McCluskey
método.

UN  0  1  0  –  0  √ F  0  1  –  –  0
segundo  1  0  0  0  –  √ G  1  0  –  0  –

C  0  1  1  –  0  √ H  ­1  1­0
D  1  0  1  0  –  √ J  1  –  1  0  –

mi  1  1  1  –  –

No  hay  adyacencias  en  la  segunda  columna.  Al  final  del  proceso,
hay  2  términos  de  dos  literales  para  cada  función  y  1  término  de  tres  literales  que
se  puede  compartir

Antes  de  completar  la  solución  de  este  problema  usando  múltiples
tablas  de  implicantes  primos  de  salida  (en  la  Sección  4.6),  consideraremos  dos
ejemplos  adicionales.

f(a,  b,  c,  d) m(2,  3,  4,  6,  9,  11,  12) d(0,  1,  14,  15)* EJEMPLO  4.8

g(a,  b,  c,  d) m(2,  6,  10,  11,  12) d(0,  1,  14,  15)

*Este  es  el  mismo  problema  del  Ejemplo  3.40.
Machine Translated by Google

218 Capítulo  4  Algoritmos  de  minimización  de  funciones

Comenzamos  enumerando  todos  los  minitérminos,  con  etiquetas,  incluidos  los  que  no  
importan,  agrupando  los  términos  por  el  número  de  1:

UN  0  0  0  0  –  –  √ AA  0  0  0  –  –  – BA  0  0  –  –  –  0


­­­­­­­­­­­­­­ AB  0  0  –  0  –  – BB  0  –  –  0  –  0
segundo  0  0  0  1  –  –  √ CA  0  –  0  0  –  0  √ ­­­­­­­­­­­­­­

C  0  0  1  0  –  –  √ ­­­­­­­­­­­­­­ BC  –  0  –  1  –  0


D  0  1  0  0  –  0  √ DA  0  0  –  1  –  0  √ BD  –  –  1  0  0  –
­­­­­­­­­­­­­­ AE  –  0  0  1  –  0  √ SER  –  1  –  0  –  0
mi  0  0  1  1  –  0  √ FA  0  0  1  –  –  0  √ ­­­­­­­­­­­­­­

F  0  1  1  0  –  –  √ AG  0  –  1  0  –  – BF  1  –  1  –  0  –


G  1  0  0  1  –  0  √ AH  –  0  1  0  0  –  √
H  1  0  1  0  0  –  √ AI  0  1  –  0  –  0  √
I 1  1  0  0  –  –  √ AJ  –  1  0  0  –  0  √
­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­

J  1  0  1  1  –  –  √ AK  –  0  1  1  –  0  √
K  1  1  1  0  –  –  √ LA  –  1  1  0  –  –
­­­­­­­­­­­­­­ AM  1  0  –  1  –  0  √
L 1  1  1  1  –  –  √ AN  1  0  1  –  0  –  √
OA  1  –  1  0  0  –  √
PA  1  1  –  0  –  –
­­­­­­­­­­­­­­

CA  1  –  1  1  –  –
AR  1  1  1  –  –  –

Así,  los  términos  que  se  pueden  compartir  son  abc,  abd,  acd,  bcd,  abd,  acd  y  abc.  
Los  implicantes  primos  de  f  son  ab,  ad,  bd  y  bd.  Los  implicantes  primos  de  g  son  
cd  y  ac.
Tenga  en  cuenta  que  existen  algunas  sumas,  como  AF  AN ,  pero  los  dos  
términos  pertenecen  a  funciones  diferentes  (y  tendrían  una  etiqueta  de  00);  no  
están  incluidos.

EJEMPLO  4.9
Por  último,  consideraremos  un  pequeño  ejemplo  con  tres  salidas:

f(x,  y,  z) m(0,  2,  5,  6,  7)

g(x,  y,  z) m(2,  3,  5,  6,  7)

h(x,  y,  z) m(0,  2,  3,  4,  5)

La  etiqueta  ahora  tiene  tres  bits,  pero  por  lo  demás  el  proceso  es  como  antes:
Machine Translated by Google

4.5  Consenso  iterado  para  problemas  de  salida  múltiple 219

UN  0  0  0  –  0  –  √ H  0  –  0  –  0  – R  ­1­0­0


­­­­­­­­­­­­­­ J  ­0  0  0  0­
B  0  1  0  –  –  – ­­­­­­­­­­­­­­

C  1  0  0  0  0  –  √ K  0  1  –  0  –  –
­­­­­­­­­­­­­­ L  –  1  0  –  –  0
D  0  1  1  0  –  –  √ METRO  1  0  –  0  0  –
mi  1  0  1  –  –  – ­­­­­­­­­­­­­­

F  1  1  0  –  –  0  √ N  ­1  1  0­0  √
­­­­­­­­­­­­­­ PAG  1  –  1  –  –  0
G  1  1  1  –  –  0  √ P  1  1  –  –  –  0

Los  términos  que  se  pueden  usar  para  las  tres  funciones  son  xyz  y  xyz.  
Para  f  y  g,  podemos  usar  yz,  xz  y  xy.  Para  f  y  h,  podemos  usar  xz.  Para  g  y  
h,  podemos  usar  xy.  Para  h,  podemos  usar  yz  y  xy.  Para  g,  podemos  usar  y.

[ES  4;  EJ  4]

4.5  CONSENSO  ITERADO  PARA
MÚLTIPLES  PROBLEMAS  DE  SALIDA
El  algoritmo  de  consenso  iterado  necesita  solo  modificaciones  menores  para  
producir  todos  los  términos  que  pueden  usarse  para  expresiones  de  suma  de  
productos  para  problemas  de  salida  múltiple.  Los  candidatos  son  términos  que  son  
implicantes  primos  de  cualquier  función  o  implicantes  primos  del  producto  de  funciones.
(Aunque  no  hicimos  uso  de  esta  propiedad  en  otros  enfoques,  si  miramos  hacia  
atrás,  encontraremos  que  todos  los  términos  que  se  compartían  entre  dos  funciones  
eran  de  hecho  implicantes  principales  del  producto  de  esas  dos  funciones,  y  los  
términos  que  se  compartían  entre  tres  funciones  eran  implicantes  primos  del  producto  
de  las  tres  funciones).  En  esta  sección,  encontraremos  todos  los  implicantes  primos.  
Encontraremos  soluciones  mínimas  en  la  Sección  4.6.
Para  comenzar  el  procedimiento  de  consenso  iterado,  debemos  comenzar  con  
minitérminos  o  incluir  no  solo  una  cobertura  de  cada  función,  sino  también  una  
cobertura  de  todos  los  posibles  productos  de  funciones.  Seguiremos  el  primer  
enfoque  en  este  ejemplo  y  usaremos  el  segundo  en  algunos  de  los  problemas  
resueltos.  Para  cada  término  de  producto  en  nuestra  lista  de  consenso  iterado,  
agregamos  una  sección  de  etiqueta  con  una  variable  ficticia  para  cada  salida.  Esa  
etiqueta  contiene  un  0  (variable  de  salida  complementada)  si  el  término  no  es  un  
implicante  de  esa  función  y  un  espacio  en  blanco  si  lo  es.  Ilustraremos  el  proceso  
usando  las  mismas  funciones  que  las  de  la  Sección  4.4.

f(a,  b,  c) m(2,  3,  7)

g(a,  b,  c) m(4,  5,  7)
Machine Translated by Google

220 Capítulo  4  Algoritmos  de  minimización  de  funciones

La  lista  inicial  se  convierte  entonces  en

a  B  C gramo
010  –0
abc  gabcff 011  –0
100  0–
a  B  C 101  0–
a  B  C 111  ––

Ahora  procedemos  como  antes,  tomando  el  consenso  de  cada  par  de  términos
(incluida  la  etiqueta),  agregando  nuevos  términos  y  eliminando  términos  incluidos  en
otros.  La  única  regla  nueva  es  que  los  términos  que  tienen  una  sección  de  etiqueta  de  todos  0  son
también  eliminado.  (Corresponden  a  una  agrupación  hecha  de  un  1  de  una  
función  con  un  1  de  la  otra  función;  no  son  implicantes  de  ninguno  de  los  dos).
función.)  Tenga  en  cuenta  que  la  etiqueta  nunca  afecta  si  un  consenso  o  no
existe,  ya  que  no  hay  1  en  la  sección  de  etiquetas.
Procedemos  ahora,  como  en  la  tabla  4.8.

Tabla  4.8  Consenso  iterado  para  múltiples  funciones  de  salida.

A  010  –0
B  011  –0
C  100  0–
D  101  0–
E  111  ––
F  01–  –0  B  ¢  A  B,  A
SOL  10–  0–  RE  ¢  C  RE,  C
H  –11  –0  F  ¢  E
J  1  –  1 0  ­ G  ¢  E (G  ¢  F  indefinido)
H  ¢  G  etiqueta  cero;  H  ¢  F,  H  ¢  E  indefinido
J  ¢  H,  J  ¢  F  etiqueta  cero;  J  ¢  G,  J  ¢  E  indefinido

El  término  que  se  puede  compartir  es  abc;  ab  y  bc  son  implicantes  primos  de  f;
ab  y  ac  son  implicantes  primos  de  g.

EJEMPLO  4.10
Consideraremos  las  funciones  del  Ejemplo  4.8,  un  problema  de  dos  salidas  con
no  me  importa

f(a,  b,  c,  d)   m(2,  3,  4,  6,  9,  11,  12)  m(2,   d(0,  1,  14,  15)

g(a,  b,  c,  d) 6,  10,  11,  12) d(0,  1,  14,  15)

Para  obtener  la  lista  de  implicantes  primos  a  incluir  en  la  tabla  de  implicantes  primos,
podemos  comenzar  con  minitérminos,  tratando  todos  los  no  importa  como  1  y  trabajar  el  
algoritmo  de  consenso  iterado.  Consume  mucho  tiempo  y  es  propenso  a  errores.
(aunque  sería  bastante  sencillo  escribir  una  rutina  de  computadora  para
procesarlo).*  El  otro  enfoque  es  mapear  fg  (el  producto  de  las  dos  funciones),  encontrar  
todos  los  implicantes  primos  de  eso  más  aquellos  términos  que  son
implicantes  primos  de  una  de  las  funciones.  Los  siguientes  mapas  muestran  la

*Otro  ejemplo  de  este  enfoque  se  da  en  el  Problema  resuelto  5a.
Machine Translated by Google

4.5  Consenso  iterado  para  problemas  de  salida  múltiple 221

implicantes  primos  de  fg  y  los  de  f  y  g  que  no  son  implicantes  primos  de
ambas  funciones,  donde  todos  los  don't  cares  se  han  hecho  1  en  los  mapas,  ya  que
también  debemos  incluir  todos  los  implicantes  primos  que  cubren  no  importa.

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 111 00 1 1

01 1 01 1 1 01 1

11 1 1 11 1 1 1 11 1 1

10 1 1 1 10 1 1 1 10 1 1 1 1

fg F gramo

Los  términos  del  producto  (con  su  etiqueta)  son

0  0  0  –  –  – 0  0  –  –  –  0 –  –  1  0  0  –


0  0  –  0  –  – 0  –  –  0  –  0 1  –  1  –  0  –
0  –  1  0  –  – –  1  –  0  –  0
–  1  1  0  –  – –  0  –  1  –  0
1  1  1  –  –  –
1  1  –  0  –  –
1  –  1  1  –  –

Podríamos  intentar  un  consenso  iterado  sobre  esta  lista,  pero  no  encontraríamos  nuevos  términos.

EJEMPLO  4.11
f(x,  y,  z)   m(0,  2,  5,  6,  7)
g(x,  y,  z)   m(2,  3,  5,  6,  7)
h(x,  y,  z) m(0,  2,  3,  4,  5)

Comenzamos  enumerando  todos  los  minitérminos  utilizados  para  cualquiera  de  las  funciones,  incluidos
la  etiqueta,  y  luego  realice  el  algoritmo  de  consenso  iterado  para  encontrar  todos  los
implicantes  principales.

A 0  0  0 –  0  – H  0–0  –0–  B  ¢  AA


B 0  1  0 –  –  –
J  01–  0––  C  ¢  BC
C  011  0––  K  10–  00–  E  ¢  DD
D  100  00–  L  –10  ––0  F  ¢  BF
mi 1  0  1 –  –  –  M  1–1  ––0  G  ¢  EG
F  110  ––0  N  –00  00–  K  ¢  H
G  111  ––0  P  11–  ––0  M  ¢  L
Q  –11  0–0  M  ¢  J
R  –1–  0–0  Q  ¢  LQ
Machine Translated by Google

222 Capítulo  4  Algoritmos  de  minimización  de  funciones

No  mostramos  ningún  término  que  produjera  una  sección  de  etiquetas  de  todos  0,  y  lo  hicimos
no  enumere  las  operaciones  de  consenso  que  llevaron  a  términos  indefinidos  o  a  términos
incluidos  en  otros  términos  que  ya  están  en  la  lista.  Esto  deja  un  total  de  10  primos.
implicantes  (de  una  de  las  funciones  o  del  producto  de  funciones).  Tenga  en  cuenta  que
quedan  dos  de  los  minitérminos,  ya  que  se  pueden  usar  para  las  tres  funciones
y  no  son  parte  de  ningún  grupo  más  grande  en  los  tres.

4.6  TABLAS  PRIMAS  IMPLICANTES  PARA
MÚLTIPLES  PROBLEMAS  DE  SALIDA
Habiendo  encontrado  todos  los  términos  del  producto,  creamos  una  tabla  de  implicantes  primos
con  una  sección  separada  para  cada  función.  La  tabla  de  implicantes  primos  para
el  primer  conjunto  de  funciones  de  las  dos  últimas  secciones

f(a,  b,  c)   m(2,  3,  7)
g(a,  b,  c) m(4,  5,  7)

se  muestra  en  la  Tabla  4.9.  Una  X  solo  se  coloca  en  la  columna  de  una  función  para
que  el  término  es  un  implicante.  (Por  ejemplo,  no  hay  X  en  la  columna  7
de  g  o  para  el  término  D.)  Los  implicantes  primos  esenciales  se  encuentran  como  antes  (ab
para  f  y  ab  para  g).

Tabla  4.9  Una  tabla  de  implicantes  primos  de  salida  múltiple.

f   gramo

√√  √√
$  237457

111  4 A X X
01–   3 B X X
10–   3 C X X
–11  3D X X
1–1  3 mi X X

Luego,  la  tabla  se  reduce  como  en  la  Tabla  4.10.

Tabla  4.10  Un  primo  reducido Ahora,  está  claro  que  podemos  usar  el  término  E  para  cubrir  ambas  funciones,  en  lugar  de
tabla  de  implicantes que  dos  términos  separados,  aunque  E  cueste  4  y  los  otros  cuesten  3.
De  hecho,  el  costo  de  usar  un  término  en  cada  función  después  de  la  primera  es  solo  1,  el
fg
entrada  a  otra  puerta  OR.  (Solo  construimos  una  puerta  AND  para  ese  término).
$  77
La  solución  que  usa  A  cuesta  5,  en  comparación  con  6  para  una  solución  que  usa
111  4 A XX tanto  D  como  E.  (La  última  solución  requiere  una  puerta  adicional).  La  solución  es
–11  3  D  X de  este  modo,

1–1  3  E X fab  abc  _
g  ab  abc
Machine Translated by Google

4.6  Tablas  de  implicantes  primos  para  problemas  de  salidas  múltiples 223

EJEMPLO  4.12
La  tabla  de  implicantes  primos  para  las  funciones  de  los  ejemplos  4.8  y  4.10

f(a,  b,  c,  d) m(2,  3,  4,  6,  9,  11,  12) d(0,  1,  14,  15)

g(a,  b,  c,  d) m(2,  6,  10,  11,  12) d(0,  1,  14,  15)

se  muestra  a  continuación.

F gramo

√  √√ √
2  3  4  6  9  11  12  2  6  10  11  12

000–  A  4
00–0  B  4X X

0–10C  4X  _ X XX
–110  D  4X  X
1–11  E  4  XX
111–  F  4
11–0   sol  4  XX
–1–0  H  3  XX X

0––0  J  3X  XX
00––  K  3XX
–0–1   L  3 X  XX
––10  M  3 XX  X
1–1–  N  3 XX

Tenga  en  cuenta  que  la  tabla  está  dividida  en  tres  secciones  de  filas.  El  primero  (A  a
G)  incluye  los  términos  que  son  elegibles  para  compartir.  la  segunda  seccion
contiene  los  implicantes  primos  de  f  que  no  son  también  implicantes  de  g,  y  el
la  última  sección  contiene  los  de  g  que  no  son  implicantes  de  f.  Darse  cuenta  de
las  filas  A  y  F  no  tienen  X;  son  implicantes  primos  formados  únicamente  por
no  me  importa  (Por  supuesto,  no  hay  columnas  correspondientes  a  los  no
se  preocupa.)

El  renglón  L,  bd,  es  un  implicante  primo  esencial  de  f  y  del  renglón  G;  abd  es
un  implicante  primo  esencial  de  g.  Aunque  este  último  también  es  útil  para  f,
no  es  imprescindible,  y  podemos  o  no  querer  utilizarlo.  La  tabla  reducida  es
se  muestra  a  continuación.
Machine Translated by Google

224 Capítulo  4  Algoritmos  de  minimización  de  funciones

F gramo

√  √
2  4  6  12  2  6  10  11

00–0  B  4X X
0–10  C  4X  X XX
–110  D  4X  X
1–11  E  4 X
11–0   G  1 X
–1–0  H  3  XXX
0––0  J  3XXX
00––  K  3  X
––10  M  3 XX  X
1–1–  N  3 XX

Tenga  en  cuenta  que  el  costo  del  término  G  se  ha  reducido  a  1,  ya  que  la  puerta  AND
ya  ha  sido  construido;  solo  necesitamos  una  entrada  a  la  puerta  OR.  El  término  E  es
dominado  por  y  cuesta  más  que  el  término  N,  y  puede  eliminarse.  (Va  a
nunca  ser  parte  de  una  solución  mínima,  ya  que  es  menos  costosa  de  usar
término  N.)  Eso  hace  que  el  término  N,  ac,  sea  necesario  para  g.  Con  estos  dos  términos  y
eliminados  los  términos  mínimos  que  cubren,  la  tabla  se  reduce  a

F gramo

2  4  6  12  2  6

00–0  B  4X X
0–10  C  4X  X  XX
–110  D  4XX
11–0  sol  1 X
–1–0  H  3  XXX
0––0  J  3XXX
00––  K  3  X
––10  M  3 XX

No  se  usaría  ni  B  ni  D ,  ya  que  el  término  C  cubre  todos  los  1  de  B  y
D.  Eso  nos  deja  con  la  opción  de  usar  C  o  M  para  la  función  g.  Si  nosotros
usamos  C,  lo  usaríamos  para  ambas  funciones,  ya  que  M  es  menos  costoso  si
no  estaban  compartiendo.  Eso  requeriría  que  usemos  H  para  completar  la  cubierta  de
F.  El  costo  sería  5  (para  C)  más  3  u  8.  La  alternativa  es  usar  M  (a  un
costo  de  3)  para  g,  y  luego  use  J  y  G  para  cubrir  f,  a  un  costo  total  de  solo  7.
Cualquiera  de  las  soluciones  requiere  dos  puertas  nuevas.
Machine Translated by Google

4.6  Tablas  de  implicantes  primos  para  problemas  de  salidas  múltiples 225

Por  lo  tanto,  la  solución  mínima  es  la  segunda,  como  encontramos  en  el  Ejemplo  
3.36,
f  bd  abd  anuncio
g  ac  abd  cd
EJEMPLO  4.13
Para  las  funciones  de  los  ejemplos  4.9  y  4.11,  tenemos  el  siguiente  primo
tabla  de  implicantes:

fgh
√  √ √√  √√  √√
025672356702345

010  4  A  XX  X
101  4  B  XX  X
0–0     3  CXX XX
01–     3D XX XX
10–  3  E XX
–10  3  F  XXX  X
1–1  3  G  XX  XX
–00  3H X X
11–  3  J XX XX
–1–     1K XX  XX

Vemos  que  el  término  C  es  un  implicante  primo  esencial  de  f,  pero  no  de  h.  (Lo  haremos
por  lo  tanto,  marque  los  términos  en  f  y  déjelos  en  h,  pero  reduzca  el  costo  de  esto
término  a  1  en  la  tabla  reducida,  ya  que  la  puerta  AND  ya  se  tiene  en  cuenta;
solo  se  necesita  cargar  la  entrada  a  la  puerta  h  OR).  De  manera  similar,  el  término  D  es  un
implicante  primo  esencial  de  h,  pero  no  de  g.  Finalmente,  el  término  K  se  utilizará  para  g,
ya  que  solo  cuesta  1  (la  entrada  de  la  puerta  OR).  Incluso  si  pudiéramos  cubrir  eso  con  dos
términos  compartidos,  eso  costaría  dos  entradas  a  la  puerta  OR.  La  mesa  así
reduce  a

fgh
5675045

010  4A
101  4  B  XXX
0–0  1  C X
0  1  –  1  D
1  0  –  3  E XX
–10  3F X
1–1  3  G  X  XX
–00  3H XX
11–  3  J XX
Machine Translated by Google

226 Capítulo  4  Algoritmos  de  minimización  de  funciones

Podemos  ver  que  los  términos  A  y  D  ya  no  cubren  ningún  término;  esas  filas  pueden
ser  eliminado.  Parece  que  ahora  tenemos  dos  opciones.  Primero,  podemos  usar  B  para
las  tres  funciones,  a  un  costo  de  6.  Entonces  usaríamos  J  para  f  y  H  para  h,  para
un  costo  de  12  (en  esta  tabla).  Esta  solución  requiere  ocho  puertas  y  19  entradas.
f  xz  xyz  xy
g  y  xyz
h  xy  xyz  yz
La  otra  opción  es  usar  G  para  f  y  g  (a  un  costo  de  4).  Entonces  F  o  J  pueden  ser
usado  para  f;  y  C  (ya  que  cuesta  solo  1)  y  E  para  h.  El  costo  total  es  de  11  
entradas  y  tres  puertas  (G,  F  o  J  y  E ),  y  por  lo  tanto  esta  segunda  solución
es  mejor.  (Tenga  en  cuenta  que  la  puerta  para  crear  el  término  C  no  está  incluida  en  el  recuento  de  puertas
aquí,  ya  que  ya  estaba  construido.)  Las  ecuaciones  son
f  xz  xz  (yz  o  xy)
g  y  xz
h  xy  xz  xy
También  usa  ocho  puertas,  pero  solo  tiene  18  entradas.

[ES  6;  EJ  6]

4.7  PROBLEMAS  RESUELTOS
1.  Para  cada  una  de  las  siguientes  funciones,  encuentre  todos  los  primos
implicantes  utilizando  el  método  de  Quine­McCluskey.  (Los  primeros  tres
funciones  se  han  minimizado  utilizando  el  mapa  de  Karnaugh  en
Resuelve  los  Problemas  2b,  2d  y  5b  del  Capítulo  3.)
a.  f(w,  x,  y,  z)  m(2,  5,  7,  8,  10,  12,  13,  15)
b.  f(a,  b,  c,  d)  m(0,  4,  5,  6,  7,  8,  9,  10,  11,  13,  14,  15)
(2  soluciones)
C.  F(An,  X,  Y,  Z) m(1,  3,  5,  6,  7,  13,  14) d(8,  10,  12)
(2  soluciones)
d.  f(a,  b,  c,  d,  e) m(0,  2,  4,  5,  6,  7,  8,  9,  10,  11,  13,  15,
21,  23,  26,  28,  29,  30,  31)

a.  Organizamos  los  minitérminos  por  el  número  de  1

UN  0  0  1  0  √ J  ­0  1  0 R  ­1­1


segundo  1  0  0  0  √ K  1  0  –  0
­­­­­­­­ L  1  –  0  0
C  0  1  0  1  √ ­­­­­­­­

re  1  0  1  0  √ METRO  0  1  –  1  √

mi  1  1  0  0  √ N  ­1  0  1  √
­­­­­­­­ O  1  1  0  –
F  0  1  1  1  √ ­­­­­­­­

GRAMO  1  1  0  1  √ PAG  –  1  1  1  √
­­­­­­­­
Q  1  1  –  1  √
H  1  1  1  1  √
Machine Translated by Google

4.7  Problemas  Resueltos 227

Solo  se  muestran  las  sumas  que  producen  un  término  de  producto
AJUSTAR EGO
BDK FHP
BEL Cuartel  General
CFM MQNPR
CGN

Los  implicantes  primos  son,  por  tanto ,  xyz,  wxz,  wyz,  wxy  y  xz.
b.
0  0  0  0  √ 0  –  0   0  1  –  –
­­­­­­­­ 0  –  0  0  0 1  0  –  –
0  1  0  0  √   ­­­­­­­­ ­­­­­­­­
1  0  0  0  √ 0  1  0  –  √  0   –  1  –  1
­­­­­­­­ 1  –  0  √  1   –  1  1  –
0  1  0  1  √   0  0  –  √  1   1  –  –  1
0  1  1  0  √   0  –  0  √ 1­1­
1  0  0  1  √   ­­­­­­­­
1  0  1  0  √ 0  1  –  1  √
­­­­­­­­ –  1  0  1  √
0  1  1  1  √   0  1  1  –  √
1  0  1  1  √   –  1  1  0  √
1  1  0  1  √   1  0  –  1  √
1  1  1  0  √ 1  –  0  1  √
­­­­­­­­ 1  0  1  –  √
1  1  1  1  √ 1  –  1  0  √
­­­­­­­­
–  1  1  1  √
1  –  1  1  √
1  1  –  1  √
1  1  1  –  √

Los  implicantes  primos  son  acd,  bcd,  ab,  ab,  bd,  bc,  ad,
y  ca.
C.
0  0  0  1  √   0  0  –  1  √   0  –  –  1
1  0  0  0  √ 0  –  0  1  √   1  –  –  0
­­­­­­­­ 1  0  –  0  √
0  0  1  1  √   1  –  0  0  √
0  1  0  1  √   ­­­­­­­­
0  1  1  0  √   0  –  1  1  √
1  0  1  0  √   0  1  –  1  √
1  1  0  0  √ –  1  0  1
­­­­­­­­ 0  1  1  
0  1  1  1  √   –  –  1  1  0
1  1  0  1  √   1  –  1  0  √
1  1  1  0  √ 1  1  0  –
1  1  –  0  √
Machine Translated by Google

228 Capítulo  4  Algoritmos  de  minimización  de  funciones

Los  implicantes  principales  son  XYZ,  WXY,  XYZ,  WXY,  W'Z,
y  WZ.

d.
0  0  0  0  0  √  0  0  0  –  0  √  0  0  –  0  0   0  0  –  –  0   –  –  1  –  1
­­­­­­­­­­ √  0  0  0  1  0  √   0  –  0  –  0
0  –  0  0  0  √  0  0  1  0  0  √  ­­­­­­­­­­   ­­­­­­­­­­
0  1  0  0  0  √  0  0  –  1  0  √  0  –  0   0  0  1  –  –
1  0  √  0  0  1  0  1  √  0  0  1  0  –  √  0  0   0  1  0  –  –
­­­­­­­­­­ 1  1  0  √  0  0  1   ­­­­­­­­­­
–  0  √  0  1  0  0  1  √  0  1  0  0  –  √  0  1   0  –  1  –  1  √
0  1  0  √  0  1  0  –  0  √ –  –  1  0  1  √
–  0  1  –  1  √
0  1  –  –  1
­­­­­­­­­­ ­­­­­­­­­­ ­­­­­­­­­­
0  0  1  1  1  √  0  0  1  –  1  √  0  1  0  1  1   –  –  1  1  1  √
√  0  –  1  0  1  √  0  1  1  0  1  √  –  0  1  0   –  1  1  –  1  √
1  √  1  0  1  0  1  √  0  0  1  1  –  √  1  1  0   1  –  1  –  1  √
1  0  √  0  1  0  –  1  √ 1  1  1  –  –

1  1  1  0  0  √  0  1  –  0  1  √
­­­­­­­­­­ 0  1  0  1  –  √
0  1  1  1  1  √  –  1  0  1  0  1  0  1  1  1  
√  ­­­­­­­­­­
1  1  1  0  1  √  0  –  1  1  1  √
1  1  1  1  0  √  –  0  1  1  1  √
­­­­­­­­­­ 0  1  –  1  1  √
1  1  1  1  1  √  0  1  1  –  1  √
–  1  1  0  1  √
1  0  1  –  1  √
1  –  1  0  1  √
1  1  –  1  0  
1  1  1  0  –  √
1  1  1  –  0  √
­­­­­­­­­­
–  1  1  1  1  √
1  –  1  1  1  √
1  1  1  –  1  √
1  1  1  1  –  √

Tenga  en  cuenta  que  los  términos  en  la  cuarta  columna  se  forman  de  tres  maneras.
Los  implicantes  primos  son  bc'de',  abde',  a'b'e',  a'c'e',  a'b'c,
a'bc',  a'be,  abc  y  ce.

2.  Para  cada  una  de  las  funciones  del  Problema  resuelto  1,  encuentra  todas  las
implicantes  primos  usando  consenso  iterado.

a.  Comenzaremos  con  los  términos  mínimos  para  esta  solución,  enumerando
sólo  aquellos  términos  de  consenso  que  se  agregarán  a  la  lista.
Machine Translated by Google

4.7  Problemas  Resueltos 229

A  0010  J  01–1  C  ¢  B  C,  B
B  0101  K  10–0  E  ¢  D  D,  E
C  0111  L  110–  G  ¢  F  F,  G
D  1000  M  –111  J  ¢  HH
E  1  0  1  0  N  –010  K  ¢  AA
F  1  1  0  0  P  1–00  L  ¢  K
G  1101  Q  –  1  0  1 L  ¢  J
H  1111  R  1  1  –  1  M  ¢  L
S  –1–1  Q  ¢  M  J,  M,  Q,  R

Todas  las  demás  operaciones  de  consenso  no  están  definidas  o  producen
un  término  que  ya  está  en  la  lista.  Los  términos  restantes  en  el
lista  son  todos  los  implicantes  principales:  wxz,  wxy,  xyz,  wyz,
y  xz.

b.  Primero  mapeamos  la  función  (como  en  el  Problema  resuelto  2d  del  Capítulo  3)
y  encuentre  cuatro  implicantes  primos  que  cubran  la  función.  Nosotros  entonces
use  el  consenso  iterado  para  generar  el  resto.

A  0–00  E  010–  B  ¢  A
B  –1–1  F  01–0  C  ¢  A
DO  –11–  SOL  1–1–  RE  ¢  DO
D  10––  H  1––1  D  ¢  B
J  –000  D  ¢  A
K  01––  E  ¢  C  E,  F

No  se  forman  otros  términos  de  consenso.

C.  Primero,  tomamos  el  mapa  de  la  función  y  convertimos  todos  los
no  le  importa  a  1's.  Luego  encontramos  un  conjunto  de  implicantes  primos  que
cubrió  la  función.  (Podríamos  haber  usado  cualquier  conjunto  de  productos
términos  que  cubrían  la  función,  pero  comenzando  con  primo
implicantes  por  lo  general  reduce  la  cantidad  de  trabajo.)

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 X X 00 11

01 1 1 1 01 1 1 1

11 1 1 11 11

10 1 1 X 10 111
Machine Translated by Google

230 Capítulo  4  Algoritmos  de  minimización  de  funciones

El  consenso  iterado  luego  procede  muy  suavemente

0––1  _
B  1––0
C  ­101
D  ­110

E  110–  C  ¢  B
F  011–  D  ¢  A

No  se  forman  otros  términos  nuevos.  El  único  otro  consenso
términos  formados  son

mi  ¢  re  1  1  0  segundo
E  ¢  CA
F  ¢  CA
F  ¢  BD

d.  Primero  mapearemos  la  función  y  cubriremos  la  función  con
términos  del  producto  en  una  capa.

antes  de  Cristo
0 antes  de  Cristo
1
Delaware
00 01 11 10 Delaware
00 01 11 10

00 1 1 1 00 1

01 11 1 01 11

11 11 1 11 11

10 1 1 1 10 1 1

Esos  términos  del  producto  se  muestran  en  la  primera  columna.  Nosotros  entonces
realizar  el  algoritmo  de  consenso,  que  crea  algunos  nuevos
términos  (en  la  segunda  columna)  y  elimina  otros.  Hay
un  total  de  nueve  términos.

0  0  –  –  0 0  0  1  –  –
0  –  1  –  1 0  1  –  –  1
0  1  0  –  – 0  –  0  –  0
1  1  1  –  – –  1  1  –  1
1  –  1  –  1 –  –  1  –  1
1  1  –  1  0 –  1  0  1  0
Machine Translated by Google

4.7  Problemas  Resueltos 231

3.  Para  cada  una  de  las  funciones  de  los  Problemas  resueltos  1  y  2,  encuentra  todas
suma  mínima  de  soluciones  producto  (una  solución  para  a,  dos  para
cada  uno  de  los  otros).

a.  La  tabla  de  implicantes  primos  es

√√√  √  √√
$  2  5  7  8  10  12  13  15

wxz  10–0  A  4 XX

wxy  110–  B  4 XX

xyz   –010  C  4  X X

wyz  1–00  D  4 X X
xz   –1–1  mi  3 XX XX

Los  1  que  hacen  esenciales  dos  implicantes  primos,  xyz  y
xz,  están  sombreados,  y  los  mintérminos  cubiertos  por  ellos  son
comprobado.  La  tabla  luego  se  reduce  a

$  8  12
wxz  A  4  X

wxy  B  4 X

wyz  D  4  XX

Claramente,  debe  usarse  el  término  D ;  de  lo  contrario,  dos  términos  más
sería  necesario.  La  solución  se  convierte

f  xyz  xz  wyz

b.  La  tabla  de  implicantes  primos  es

$  0  4  5  6  7  8  9  10  11  13  14  15
A  0–00  4  XX

B  –1–1  3XX XX

C  –11–  3 XX XX

D  10––  3 XXXX

Mi  1–1–  3 XX  XX

F  1––1  3 X  XX  X

G  –000  4X X
H  01––  3  XXXX
Machine Translated by Google

232 Capítulo  4  Algoritmos  de  minimización  de  funciones

No  hay  implicantes  primos  esenciales.  El  punto  de  partida
debe  ser  una  de  las  columnas  en  las  que  sólo  hay
dos  X.  Elegiremos  el  minitérmino  5,  ya  que  ambos  términos
cubrir  cuatro  1  (pero  podríamos  haber  usado  minterm  0,  4,  5,  6,  8,
9,  10,  13  o  14).  Primero  probaremos  con  el  implicante  primo  B;  entonces
probaremos  con  el  implicante  primo  H.  Si  elegimos  B,  la  tabla
reduce  a

√√√√
ps 0  4  6  8  9  10  11  14

A  0–00  4  XX
C  –11–  3 X X
D  10––   3 XXXX
Mi  1–1–  3 XXX
F  1––1  3 X X
G  –000  4X X
H  01––  3 XX

La  fila  F  está  dominada  por  la  fila  D.  Si  se  elige  la  fila  D ,  la  tabla
reduce  a

ps 0  4  6  14

A  0–00  4  XX
C  –11–  3 XX
Mi  1–1–  3 X
G  –000  4X
H  01––  3 XX

En  este  punto,  la  única  manera  de  cubrir  la  función  con  dos
términos  es  elegir  A  y  C,  dando  una  solución  de

f  bd  ab  acd  bc

Observe  que  si  el  término  dominado  F  hubiera  sido  elegido
en  lugar  de  D,  se  requerirían  tres  términos  adicionales  para
cubrir  la  función,  ya  que  los  minitérminos  8  y  10  no  están  cubiertos
por  f
Machine Translated by Google

4.7  Problemas  Resueltos 233

Ahora,  debemos  considerar  qué  sucede  si  elegimos  el  término
H  en  lugar  de  B.  La  tabla  resultante  es

√√  √√  √√
ps 0  8  9  10  11  13  14  15
A  0–00  4  X

B  –1–1  3 X X
C  –11–  3 XX

D  10––  3  XXXX

Mi  1–1–   3 XX  XX

F  1––1  3 X  XX  X

G  –000   4XX

El  implicante  primo  A  está  dominado  por  G,  y  C  está  dominado  por
E.  Eliminándolos,  debemos  elegir  G  y  E,  quedando  solo
minitérminos  9  y  13  descubiertos.  Ambos  pueden  ser  cubiertos  por
término  F.  Ninguna  otra  solución  (que  usó  H)  requiere  tan  poco  como
cuatro  términos  (incluso  aquellos  que  usan  uno  de  los  términos  dominados,  A
o  C).  La  función  resultante,  la  segunda  igualmente  buena
solución,  es

f  ab  ac  bcd  anuncio

C.  La  tabla  de  implicantes  primos  es

√√√  √
ps 1  3  5  6  7  13  14
0––1   A  3  XXX  X

1––0  B  3 X
–101  C  4 X X
–110  D  4 X X
110–  Mi  4 X
011–  F  4 XX

Tenga  en  cuenta  que  no  hay  columnas  para  los  "no  me  importa";  ellos  no
necesita  ser  cubierto.  Hay  un  implicante  primo  esencial,
A(WZ),  y  la  tabla  se  puede  reducir  a
Machine Translated by Google

234 Capítulo  4  Algoritmos  de  minimización  de  funciones

ps 6  13  14
1––0  B  3 X
–101  C  4 X
–110  D  4  X X
110–  Mi  4 X
011–  F  4  X

Un  estudio  de  la  tabla  reducida  revela  que  la  fila  D  debe  ser
elegido;  de  lo  contrario,  se  necesitarían  ambos  términos  B  y  F  para  cubrir
minitérminos  6  y  14.  Eso  nos  deja  dos  opciones  para  concluir
la  cubierta,  C  o  E.  Por  lo  tanto,  las  dos  soluciones  al  problema  son
F  WZ  XYZ  XYZ
F  WZ  XYZ  WXY

d.  La  tabla  de  implicantes  primos  es

√ √ √  √  √√  √√√√
0  2  4  5  6  7  8  9  10  11  13  15  21  23  26  28  29  30  31
–  1  0  1  0  Un  4 X X
1  1  –  1  0  B  4 X X
0  0  –  –  0  C  3  X  XX  X
0  –  0  –  0  D  3  XX X X
0  0  1  –  –  E  3  XXXX
0  1  0  –  –  F  3 XXX  X
0  1  –  –  1  G  3 X  XX  X
1  1  1  –  –  H   3 XXXX
–  –  1  –  1  J   2 X X X  XXX  X X

Los  dos  implicantes  primos  esenciales  son  H  y  J.  La  tabla  es
luego  reducido  a

0  2  4  6  8  9  10  11  26
–  1  0  1  0  Un  4 X X
1  1  –  1  0  B  4 X
0  0  –  –  0  C  3  XXXX
0  –  0  –  0  D  3  XX X X
0  0  1  –  –  Mi  3 XX
0  1  0  –  –  F  3 XXXX
0  1  –  –  1  G  3 X X
Machine Translated by Google

4.7  Problemas  Resueltos 235

En  este  punto,  quedan  nueve  minitérminos  por  cubrir.  Cualquiera
Debe  utilizarse  A  o  B  para  m26.  C  y  F  deben  usarse  para  cubrir  el
los  1  restantes,  produciendo  las  soluciones

f  abc  ce  abe  abc  bcde
abc  ce  abe  abc  abde'

4.  Para  cada  uno  de  los  conjuntos  de  funciones,  encuentre  todos  los  términos  que  pueden  usarse
en  una  solución  de  compuerta  AND/OR  (o  compuerta  NAND)  de  dos  niveles  como  mínimo
usando  el  método  de  Quine­McCluskey.
a.  f(a,  b,  c,  d)  m(0,  1,  2,  3,  5,  7,  8,  10,  11,  13)
g(a,  b,  c,  d)  m(0,  2,  5,  8,  10,  11,  13,  15)
b.  f(w,  x,  y,  z)  m(5,  7,  9,  11,  13,  15)
g(w,  x,  y,  z)  m(1,  5,  7,  9,  10,  11,  14)
C.  f(a,  b,  c,  d)  m(0,  3,  5,  7)  d(10,  11,  12,  13,  14,  15)
g(a,  b,  c,  d)  m(0,  5,  6,  7,  8)  d(10,  11,  12,  13,  14,  15)
d.  f(a,  b,  c,  d)  m(0,  2,  3,  8,  9,  10,  11,  12,  13,  15)
g(a,  b,  c,  d)  m(3,  5,  7,  12,  13,  15)
h(a,  b,  c,  d)  m(0,  2,  3,  4,  6,  8,  10,  14)

a.  Primero  formamos  una  columna  de  minitérminos,  organizados  por  el  número
de  1  en  cada  término.  Luego  producimos  una  segunda  columna  de
términos  de  tres  literales  y  un  tercio  de  términos  de  dos  literales.

0  0  0  0  –  –  √  0  0  0  –  –  0  √  0  0  –  –  –  0
­­­­­­­­­­­­­­­ 0  0  –  0  –  –  √  –  0  –  0  –  –
0  0  0  1  –  0  √  –  0  0  0  –  –  √  ­­­­­­­­­­­­­­­
0  0  1  0  –  –  √  ­­­­­­­­­­­­­­­ 0  –  –  1  –  0
1  0  0  0  –  –  √  0  0  –  1  –  0  √ –  0  1  –  –  0
­­­­­­­­­­­­­­­ 0  –  0  1  –  0  √
0  0  1  1  –  0  √  0  0  1  –  –  0  √
0  1  0  1  –  –  √  –  0  1  0  –  –  √
1  0  1  0  –  –  √  1  0  –  0  –  –  √
­­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­­

0  1  1  1  –  0  √  0  –  1  1  –  0  √
1  0  1  1  –  –  √  –  0  1  1  –  0  √
1  1  0  1  –  –  √  0  1  –  1  –  0  √
­­­­­­­­­­­­­­­ –  1  0  1  –  –
1  1  1  1  0  –  √  1  0  1  –  –  –
­­­­­­­­­­­­­­­

1  –  1  1  0  –
1  1  –  1  0  –

Los  implicantes  primos  no  compartidos  de  f  son  ab,  ad  y  bc;  aquellos
de  g  son  acd  y  abd.  Los  términos  compartidos  son  bd,  bcd  y  abc.
Machine Translated by Google

236 Capítulo  4  Algoritmos  de  minimización  de  funciones

b.
0  0  0  1  0  –  √ 0  –  0  1  0  – –  1  –  1  –  0
­­­­­­­­­­­­­­­ –  0  0  1  0  – 1  –  –  1  –  0
0  1  0  1  –  –  √ ­­­­­­­­­­­­­­­

1  0  0  1  –  –  √ 0  1  –  1  –  –
1  0  1  0  0  –  √ –  1  0  1  –  0  √
­­­­­­­­­­­­­­­ 1  0  –  1  –  –
0  1  1  1  –  –  √ 1  –  0  1  –  0  √
1  0  1  1  –  –  √ 1  0  1  –  0  –
1  1  0  1  –  0  √ 1  –  1  0  0  –
1  1  1  0  0  –  √ ­­­­­­­­­­­­­­­
­­­­­­­­­­­­­­­ –  1  1  1  –  0  √
1  1  1  1  –  0  √ 1  –  1  1  –  0  √
1  1  –  1  –  0  √

Los  implicantes  primos  de  f  son  xz  y  wz;  los  de  g  son  wyz,
xyz,  wxy  y  wyz.  Los  términos  que  se  pueden  compartir  son  wxz
y  wxz.

C.  Debemos  incluir  todos  los  no  importa

0  0  0  0  –  – –  0  0  0  0  – 1  –  –  0  0  –


­­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­­ ­­­­­­­­­­­­­­­

1  0  0  0  0  –  √ 1  0  –  0  0  –  √  –  –  1  1  –  0
­­­­­­­­­­­­­­­ 1  –  0  0  0  –  √  –  1  –  1  –  –
0  0  1  1  –  0  √ ­­­­­­­­­­­­­­­ –  1  1  –  0  –
0  1  0  1  –  –  √  0  –  1  1  –  0  √  1  –  1  –  –  –
0  1  1  0  0  –  √ –  0  1  1  –  0  √  1  1  –  –  –  –
1  0  1  0  –  –  √  0  1  –  1  –  –  √
1  1  0  0  –  –  √ –  1  0  1  –  –  √
­­­­­­­­­­­­­­­ 0  1  1  –  0  –  √
0  1  1  1  –  –  √ –  1  1  0  0  –  √
1  0  1  1  –  –  √ 1  0  1  –  –  –  √
1  1  0  1  –  –  √ 1  –  1  0  –  –  √
1  1  1  0  –  –  √ 1  1  0  –  –  –  √
­­­­­­­­­­­­­­­ 1  1  –  0  –  –  √
1  1  1  1  –  –  √ ­­­­­­­­­­­­­­­

–  1  1  1  –  –  √
1  –  1  1  –  –  √
1  1  –  1  –  –  √
1  1  1  –  –  –  √
Machine Translated by Google

4.7  Problemas  Resueltos 237

El  implicante  primo  no  compartido  de  f  es  cd;  los  de  g  son
bcd,  ad  y  bc.  Los  términos  compartidos  son  abcd,  bd,  ac,
y  ab.

d.  La  etiqueta  tiene  tres  términos.

0  0  0  0  –  0  –  √ 0  0  –  0  –  0  –  √ 0  –  –  0  0  0  –


­­­­­­­­­­­­­­­­­ 0  –  0  0  0  0  –  √ –  0  –  0  –  0  –
0  0  1  0  –  0  –  √ –  0  0  0  –  0  –  √ ­­­­­­­­­­­­­­­­­

0  1  0  0  0  0  –  √ ­­­­­­­­­­­­­­­­­ –  0  1  –  –  0  0


1  0  0  0  –  0  –  √ 0  0  1  –  –  0  – –  –  1  0  0  0  –
­­­­­­­­­­­­­­­­­ 0  –  1  0  0  0  –  √  1  0  –  –  –  0  0
0  0  1  1  –  –  – –  0  1  0  –  0  –  √ 1  –  0  –  –  0  0
0  1  0  1  0  –  0  √ 0  1  –  0  0  0  –  √ ­­­­­­­­­­­­­­­­­

0  1  1  0  0  0  –  √ 1  0  0  –  –  0  0  √ –  1  –  1  0  –  0


1  0  0  1  –  0  0  √ 1  0  –  0  –  0  –  √ 1  –  –  1  –  0  0
1  0  1  0  –  0  –  √ 1  –  0  0  –  0  0  √
1  1  0  0  –  –  0  √ ­­­­­­­­­­­­­­­­­
­­­­­­­­­­­­­­­­­ 0  –  1  1  0  –  0
0  1  1  1  0  –  0  √  –  0  1  1  –  0  0  √
1  0  1  1  –  0  0  √ 0  1  –  1  0  –  0  √
1  1  0  1  –  –  0  √ –  1  0  1  0  –  0  √
1  1  1  0  0  0  –  √ –  1  1  0  0  0  –  √
­­­­­­­­­­­­­­­­­ 1  0  –  1  –  0  0  √
1  1  1  1  –  –  0  √ 1  –  0  1  –  0  0  √
1  0  1  –  –  0  0  √
1  –  1  0  0  0  –  √
1  1  0  –  –  –  0
­­­­­­­­­­­­­­­­­

–  1  1  1  0  –  0  √
1  –  1  1  –  0  0  √
1  1  –  1  –  –  0

Los  implicantes  primos  no  compartidos  de  f  son  bc,  ab,  ac  y  ad;
los  de  g  son  abc  y  bd;  los  de  h  son  ad  y  cd.  Términos
compartidos  por  f  y  g  son  abc  y  abd;  los  compartidos  por  f  y  h
son  abc  y  bd;  el  que  comparten  las  tres  funciones
es  abcd.

5.  Repita  el  Problema  resuelto  4  usando  el  consenso  iterado.
Machine Translated by Google

238 Capítulo  4  Algoritmos  de  minimización  de  funciones

a.  Los  mapas  de  f,  g  y  fg  se  muestran  a  continuación.

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 1 00 1 1

01 111 01 11 01 1 1

11 1 1 1 11 11 11 1

10 1 1 10 1 1 10 1 1

F gramo
fg

Comenzaremos  por  encontrar  todos  los  implicantes  primos  de  la
producto,  fg,  y  luego  aquellos  que  son  implicantes  primos  del
funciones  individuales  pero  no  del  producto.  (Por  supuesto,  nosotros
agregará  la  sección  de  etiqueta  adecuada,  si  está  incluida  en  el
función,  0  si  no  lo  es).

A  –0–0  ––
B  101–  ––
C  ­101­­
D  00––  –0
E  0––1  –0
F  11–1  0–
G  1–11  0–

Después  de  “completar”  la  lista,  es  una  buena  idea  probar  el
consenso  de  todos  los  pares  de  términos,  en  caso  de  que  se  nos  haya  pasado  alguno.  En  esto
caso,  lo  hicimos.

H  –01–  –0  D  ¢  B

Tenga  en  cuenta  que  al  intentar  el  consenso,  no  hay  necesidad  de  tomar  la
consenso  de  F  o  G  con  D  o  E  (o  H)  ya  que  la  etiqueta  sería
0  0,  lo  que  indica  que  el  término  no  está  en  ninguna  función.
Los  implicantes  primos  no  compartidos  de  f  son  ab,  ad  y
antes  de  Cristo;  los  de  g  son  abd  y  acd.  Los  términos  que  se  pueden  compartir
son  bd,  abc  y  bcd.
b.  Resolveremos  este  problema  comenzando  con  minitérminos  y
encontrar  todos  los  implicantes  primos.
Machine Translated by Google

4.7  Problemas  Resueltos 239

1  0001  0– A  0  –  0  1  0  –  5  ¢  1 1
5  0101  ––  B  0  1  –  1  –  –  7  ¢  5  7,  5
7  0111  ––  C  1  0  1  –  0  –  11  ¢  10  10
9  1001  ––  D  1  0  –  1  –  –  11  ¢  9  11,  9
10  1  0  1  0  0  – Mi  1  1  –  1  –  0 15  ¢  13  15,  13
11  1  0  1  1  –  – F  1–10  0–  C  ¢  14  14
13  1  1  0  1  –  0 G  –001  0–  D  ¢  A
14  1  1  1  0  0  –  H  1––1  –0  E  ¢  DE
15  1  1  1  1  –  0 J  –1–1  –0  H  ¢  B

Se  muestra  cada  uno  de  los  nuevos  términos  que  se  crea  por  consenso;
todos  los  términos  originales  y  uno  de  los  grupos  de  2  son
incluido  en  un  implicante  primo  más  grande.
Los  implicantes  primos  no  compartidos  de  f  son  wz  y  xz;  aquellos
de  g  son  wyz,  wxy,  wyz  y  xyz.  Los  términos  del  producto  que
se  pueden  compartir  son  wxz  y  wxz.

C.  Al  encontrar  los  implicantes  primos,  debemos  tratar  todos  los  no  importa
como  1's.  Primero  mapeamos  f,  g  y  fg,  convirtiendo  todas  las  X  en  1  para  encontrar
los  implicados  primos.  (Una  vez  más,  es  una  buena  idea  comprobar
que  no  se  ha  perdido  ninguno  usando  el  consenso  iterado
algoritmo  sobre  el  resultado).

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 11 00 1 1

01 1 1 01 1 1 01 1 1

11 1111 11 1 1 1 11 1 1 1

10 11 10 111 10 11

F gramo
fg

El  implicante  primo  no  compartido  de  f  es  cd;  los  de  g  son  bc,
anuncio  y  bcd.  Los  términos  compartidos  son  abcd,  bd,  ab,
y  ca.

d.  Primero  mapeamos  las  funciones  y  todos  los  productos  de  pares  de
funciones  (No  necesitamos  un  mapa  separado  para  fgh,  ya  que
es  igual  a  gh.)
Machine Translated by Google

240 Capítulo  4  Algoritmos  de  minimización  de  funciones

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 1 00 1 00 1 1 1

01 1 1 01 1 1 01

11 1 11 11 1 11 11 1

10 1 1 10 10 1111

F gramo h

ab ab ab
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 00 1 1 00

01 1 01 01

11 1 1 11 1 11 1

10 10 1 1 10

fg fh ghfgh

Comenzamos  con  los  productos  y  enumeramos  los  términos  encerrados  en  círculos
(A  a  E)  y  luego  enumeró  los  principales  implicantes  de  la
funciones  individuales  (F  a  M).  Cuando  terminamos,  nos
aplicó  el  algoritmo  de  consenso  iterado  y  encontró  que
había  perdido  el  término  N  (encerrado  en  un  círculo  marrón),

A  0  0  1  1  –  –  –
B  1  1  0  –  –  –  0
C  1  1  –  1  –  –  0
D  0  0  1  –  –  0  –
E  –  0  –  0  –  0  –
F  –  0  1  –  –  0  0
G  1  0  –  –  –  0  0
H  1  –  0  –  –  0  0
J  1  –  –  1  –  0  0
K  ­1­1  0­0
L  –  –  1  0  0  0  –
METRO  0  –  –  0  0  0  –
N  0  –  1  1  0  –  0
Machine Translated by Google

4.7  Problemas  Resueltos 241

6.  Para  cada  uno  de  los  conjuntos  de  funciones  de  los  Problemas  Resueltos  4

y  5,  encontrar  un  conjunto  de  expresiones  de  suma  mínima  de  productos,
correspondiente  a  una  puerta  AND/OR  de  dos  niveles  (o  puerta  NAND)
sistema  (a.  1  solución,  b.  6  soluciones,  c.  2  soluciones,
d.  2  soluciones).

a.  La  tabla  de  implicantes  primos  es

f   gramo

√√√√√√√√  √√√√√√  √
0  1  2  3  5  7  8  10  11  13  0  2  5  8  10  11  13  15
–0–0   3  A  X X XX XX  XX
101­4B  _ XX XX
–101     4C X  XX  X
00––  3  D  XXXX
0––1   3  E X  XXX
11–1  4  F XX
1–11  4G X X

–01–  3H XX XX

Los  términos  A  y  C  son  implicantes  primos  esenciales  tanto  de  f  como  de  g,
y  E  es  un  implicante  primo  esencial  de  f.  La  mesa  reducida
así  se  convierte

fg
11  11  15
101–  4B  XX
00––  3D
11–1  4  F X
1–11  4G XX
–01–  3  H  X

El  término  G  completa  la  cobertura  de  g  y  el  término  H  sería  entonces
ser  usado  para  f  ya  que  es  menos  costoso  que  B.  El  otro
opción,  usando  B  tanto  para  f  como  para  g,  y  luego  usando  F  o
G  para  cubrir  m15  en  g,  costaría  un  insumo  extra.  La  solución
Machine Translated by Google

242 Capítulo  4  Algoritmos  de  minimización  de  funciones

así  se  convierte

f  bd  bcd  ad  bc
g  bd  bcd  acd

b.  La  tabla  de  implicantes  primos  es

F gramo

√√  √ √
5  7  9  11  13  15  1  5  7  9  10  11  14

0–01  A  4 XX

01–1   B  4XX XX

101–  C  4 XX

10–1  D  4 XX X X
1–10   mi  4 X X
–001  F  4 X X
1––1  G  3  XXXX

–1–1  H  3  XX XX

Los  dos  implicantes  primos  esenciales  de  g,  wxz  y  wyz,  son
mostrado.  Luego  se  reduce  la  tabla  (y  el  costo  de  B  se  hace  1,
ya  que  la  puerta  AND  ya  estaba  construida).

F gramo

5  7  9  11  13  15  1  9  11

0–01  A  4 X
01–1  B  1  XX

101–  C  4 X
10–1  D  4 XX XX

–001  F  4 XX

1––1  G  3  XXXX

–1–1  H  3  XX XX

Tenemos  dos  posibilidades  de  compartir.  Podríamos  compartir  B,  usándolo
con  G  para  cubrir  f.  Entonces,  tenemos  tres  opciones  para  g:  A  +  D,
F  +  D  y  F  +  C,  costando  1  para  B,  3  para  G  y  8  para  cualquiera  de  los
par  de  términos  que  cubren  g,  con  un  costo  total  de  12.  Si  no,  podríamos
elige  D  para  compartir.  En  ese  caso,  podríamos  cubrir  f  con  uno
más  término,  H,  y  cubra  g  con  A  o  F.  Eso  costaría
5  para  D,  3  para  H  y  4  para  A  o  F,  también  un  total  de  12.
Machine Translated by Google

4.7  Problemas  Resueltos 243

Las  tres  soluciones  que  comparten  B,  wx  z,  son

f1  wxz  wz
g1  wxz  wyz  wyz  wxz
g2  wxz  wyz  wxy  xyz
g3  wxz  wyz  wxz  xyz

Los  dos  que  comparten  D,  wxz,  son

f2  wxz  xz
g4  wxz  wyz  wxz  wyz
g5  wxz  wyz  wxz  xyz

C.  Esto  produce  la  siguiente  tabla  de  implicantes  primos.

fg
√√√√  √√√
0  3  5  7  0  5  6  78
11––  Un  3

–1–1   segundo  3 XX  X X


1–1–  C  3

0000   D  5  X X
––11   mi  3 X X
–000  F  4 X X
–11–   G  3 XX

1––0  H  3 X

Observe  que  los  implicantes  primos  A  y  C  no  cubren  minitérminos;
ambos  son  grupos  de  cuatro,  no  les  importa.  La  función  f  es
cubierto  por  implicantes  primos  esenciales;  solo  minitérminos  0  y
Quedan  8  de  g .  La  tabla  de  implicantes  primos  reducidos  (para  g)
se  convierte

gramo

0  8
0000  D  1  X

–000  F  4  XX

1––0  H  3 X

Hay  dos  soluciones  igualmente  buenas.  Primer  implicante  F
cubre  ambos  términos  mínimos,  pero  requiere  una  puerta  AND  y  cuatro
entradas.  El  primer  implicante  D  era  un  primer  implicante  esencial  de
Machine Translated by Google

244 Capítulo  4  Algoritmos  de  minimización  de  funciones

f  y,  por  lo  tanto,  no  requiere  una  nueva  puerta  AND  y  solo  una  puerta
aporte.  Por  lo  tanto,  D  y  H  también  producen  una  solución  que  requiere  una
Portón  nuevo  y  cuatro  entradas.  Las  dos  soluciones  son

f  bd  abcd  cd

g1  bd  bc  bcd

g2  bd  bc  abcd  anuncio

d.  Cuando  mapeamos  los  diversos  productos  y  encontramos  todos  los  principales
implicantes,  obtenemos  el  siguiente  implicante  primo
mesa.  Tenga  en  cuenta  que,  debido  a  su  tamaño,  lo  hemos  dividido  en
dos  partes.  Mostramos  todos  los  implicantes  primos  en  cada  
parte  de  la  tabla,  aunque  algunas  de  las  filas  están  vacías  en  una
parte  de  la  mesa.  Después  de  encontrar  implicantes  primos  esenciales,
podremos  combinar  las  tablas  y  completar  el
problema.

F
√√  √ √
0  2  3  8  9  10  11  12  13  15
0011  un 5 X
110–  B  4 XX

11–1  C  4 XX

–0–0   D  3  XX  X X
001–  E  4 XX

10––  F  3 XXXX

1–0–  Sol  3 XX XX

1––1  H  3 X X  XX

–01–  J  3  XX XX

–1–1  K  3

0–11  litros 4
0––0  M  3

––10  N  3
Machine Translated by Google

4.7  Problemas  Resueltos 245

gramo
h
√√√√√√√  √√√√√
3 5 7 12  13  15  2  6  10  14 0 3 4 8
0011  A  5X X
110–   B  4 XX

11–1  C  4 XX

–0–0   D  3 XX XX

001–  E  4 XX

10––  F  3

1–0–  Sol  3

1––1  H  3

–01–  J  3

–1–1   K  3  XX  XX

0–11  L  4  X X
0––0   M  3 XX  XX

––10   N  3 X  XX  X

La  mesa  se  puede  reducir,  y  las  dos  mitades  se  pueden  combinar  como
mostrado  a  continuación.  Tenga  en  cuenta  que  todos  los  g  y  h  que  no  sean  el  minitérmino  3

ya  han  sido  cubiertos  y  que  el  costo  de  prima
implicante  B  se  ha  reducido  a  1,  ya  que  es  un
primer  implicante  de  g.

F gh
√√  √√
3  9  11  12  13  15  3  3
0011  A  5  X XX

110–  B  1 XX

11–1  C  4 XX

001–  E  4  X X
10––  F  3 XX

1–0–  Sol  3 X  XX

1––1  H  3  XX  XX

–01–  J  3  X X
0–11  litros 4 X

Claramente,  el  implicante  primo  A  debe  usarse  para  cubrir  m3  en  ambos
g  y  h  (a  un  costo  de  5  1  6),  ya  que  de  lo  contrario  tendríamos
Machine Translated by Google

246 Capítulo  4  Algoritmos  de  minimización  de  funciones

necesitamos  tanto  E  como  L  a  un  costo  de  8.  Para  f,  podemos  eliminar  primos
implicante  C,  ya  que  esa  fila  está  dominada  por  la  fila  H  y  cuesta
más.  Eso  requiere  que  elijamos  H  para  cubrir  m15.  Una  vez  que  H  es
elegido,  todo  lo  que  queda  por  cubrir  son  m3  y  m12,  que
puede  ser  cubierto  por  A  y  B  (respectivamente),  cada  uno  a  un  costo  de  1.
(Se  podría  haber  usado  J  o  G ,  pero  costarían  3  cada  uno).
funciones  finales  son

f  bd  anuncio  abcd  abc
g  abc  bd  abcd
h  bd  anuncio  cd  abcd

4.8  EJERCICIOS*
1.  Para  cada  una  de  las  siguientes  funciones,  encuentra  todos  los  implicantes  primos  usando
el  método  de  Quine­McCluskey.
a.  f(a,  b,  c)  m(1,  2,  3,  6,  7)
  segundo  g(w,  x,  y)  m(0,  1,  5,  6,  7)
SOICICREJE

C.  g(w,  x,  y,  z)  m(2,  3,  6,  7,  8,  10,  11,  12,  13,  15)
  re.  h(p,  q,  r,  s)  m(0,  2,  3,  4,  5,  8,  11,  12,  13,  14,  15)
mi.  f(a,  b,  c,  d)  m(5,  7,  9,  11,  13,  14)  d(2,  6,  10,  12,  15)
  f.  f(a,  b,  c,  d)  m(0,  2,  4,  5,  6,  7,  8,  9,  10,  14)  d(3,  13)
gramo.  G(V,  W,  X,  Y,  Z)  m(0,  1,  4,  5,  8,  9,  10,  15,  16,  18,  19,
20,  24,  26,  28,  31)
  H.  H  (V,  W,  X,  Y,  Z) m(0,  1,  2,  3,  5,  7,  10,  11,  14,  15,
16,  18,  24,  25,  28,  29,  31)
2.  Para  las  funciones  del  Ejercicio  1,  encuentra  todos  los  implicantes  primos  usando
consenso  iterado.

3.  Para  las  funciones  de  los  Ejercicios  1  y  2,  encuentre  todas  las  sumas  mínimas  de
expresiones  de  productos  (b.  2  soluciones,  c.  2  soluciones,  d.  4  soluciones,
mi.  4  soluciones,  f.  3  soluciones,  h.  2  soluciones,  todos  los  demás,  1  solución).
4.  Para  los  siguientes  conjuntos  de  funciones,  encuentre  todos  los  términos  del  producto  que
podría  usarse  en  un  sistema  AND/OR  de  dos  niveles  como  mínimo  usando  el
Algoritmo  de  Quine­McCluskey.
a.  f(a,  b,  c,  d)  m(5,  8,  9,  12,  13,  14)
g(a,  b,  c,  d)  m(1,  3,  5,  8,  9,  10)
  segundo  F(An,  X,  Y,  Z)  m(1,  5,  7,  8,  10,  11,  12,  14,  15)
G(An,  X,  Y,  Z)  m(0,  1,  4,  6,  7,  8,  12)

*Cada  una  de  las  funciones  y  conjuntos  de  funciones  se  incluyeron  en  los  ejercicios  del  Capítulo  3.
Otros  ejercicios  de  ese  capítulo  también  podrían  usarse  aquí.
Machine Translated by Google

DEL 
CAP
PRU
4.9  Capítulo  4  Prueba 247

C.  f(a,  b,  c,  d)  m(1,  3,  5,  7,  8,  9,  10)
g(a,  b,  c,  d)  m(0,  2,  4,  5,  6,  8,  10,  11,  12)
h(a,  b,  c,  d)  m(1,  2,  3,  5,  7,  10,  12,  13,  14,  15)
  re.  f(a,  b,  c,  d)  m(0,  3,  4,  5,  7,  8,  12,  13,  15)
g(a,  b,  c,  d)  m(1,  5,  7,  8,  9,  10,  11,  13,  14,  15)
h(a,  b,  c,  d)  m(1,  2,  4,  5,  7,  10,  13,  14,  15)
5.  Para  cada  uno  de  los  conjuntos  de  funciones  del  Problema  resuelto  4,  encuentre  todas
términos  de  producto  que  podrían  usarse  en  un  mínimo  de  dos  niveles  Y/O
sistema  usando  consenso  iterado.
6.  Para  cada  uno  de  los  conjuntos  de  funciones  de  los  Problemas  resueltos  4  y  5,  encuentre  un
conjunto  de  expresiones  de  suma  mínima  de  productos,  correspondientes  a  un
sistema  de  compuerta  AND/OR  (o  compuerta  NAND)  de  dos  
niveles.  a.  3  soluciones,  8  puertas,  25  
entradas  b.  8  puertas,  23  
entradas  c.  2  soluciones,  12  puertas,  33  entradas
d.  2  soluciones,  11  puertas,  33  entradas

4.9  PRUEBA  DEL  CAPÍTULO  4  (50  MINUTOS)*

1.  Para  la  siguiente  función,  encuentra  todos  los  implicantes  primos  usando
a.  el  método  de  Quine­McCluskey.
b.  consenso  iterado.

f(w,  x,  y,  z) m(0,  2,  3,  6,  8,  12,  15)  d  (1,  5)

2.  Para  la  siguiente  función,

g(a,  b,  c,  d) m(3,  4,  5,  6,  7,  8,  9,  12,  13,  14)

hemos  encontrado  la  lista  completa  de  implicantes  primos
ac bd'
abdominales C.A'

antes  de  Cristo'

Encuentre  ambas  soluciones  de  suma  mínima  de  productos.

3.  Para  el  siguiente  conjunto  de  funciones,  encuentre  todos  los  términos  que  se  pueden  usar  en
un  sistema  AND/OR  de  dos  niveles  como  mínimo  
utilizando  a.  el  método  de  Quine­McCluskey.
b.  consenso  iterado.

f(w,  x,  y,  z)   m(1,  2,  5,  7,  10,  11,  13,  15)
g(w,  x,  y,  z) m(0,  2,  3,  4,  5,  7,  8,  10,  11,  12)

*El  tiempo  asume  que  el  estudiante  resolverá  1a.  o  1b.  y  3a.  o  3b.
Machine Translated by Google

248 Capítulo  4  Algoritmos  de  minimización  de  funciones

4.  Para  el  siguiente  conjunto  de  funciones,
LA
BTE I U
O  LAU PERC
D
P

f(a,  b,  c,  d)   m(2,  3,  4,  6,  7)  d(0,  1,  14,  15)  m(2,  
, , dC)
g  ( ab ,   3,  5,  7,  8,  10,  13)  d(0,  1,  14,  15)

Encontramos  los  posibles  términos  compartidos:   , un  disco , b.d.c., a  B  C .


ab  Otros  implicantes  primos  de  f  son  ad   , ca , .
antes  de  Cristo

Otros  implicantes  primos  de  g  son  ad   , bd , , ac
bd .
Encuentre  un  conjunto  de  expresiones  de  suma  mínima  de  productos,  
correspondientes  a  un  sistema  de  puerta  AND/OR  (o  puerta  NAND)  de  dos  niveles.
Machine Translated by Google

CAPÍTULO

Diseño
combinacional
Sistemas
5
sistemas  con  cinco  o  menos  entradas  y  tres  o  menos  salidas.  En
Hasta  ahora,  
nos  
este   hemos   qcueremos  
capítulo,   oncentrado  
en  sistemas  
ampliar   mhás  
nuestros   bien  pequeños,  
orizontes.   en  su  gmrandes  
Los  sistemas   ayoría
generalmente  se  diseñan  dividiéndolos  en  subsistemas  más  pequeños.  De  hecho,  es  
posible  que  sea  necesario  desglosar  aún  más  estos  subsistemas.
En  este  capítulo,  primero  veremos  los  sistemas  que  constan  de  
varios  bloques  idénticos.  (Estos  a  veces  se  denominan  sistemas  iterativos).
Los  sumadores  y  otras  funciones  aritméticas  son  ejemplos  de  este  tipo  de  sistema.
Debido  a  que  las  señales  en  sistemas  grandes  pasan  a  través  de  muchas  capas  de  
lógica,  la  pequeña  demora  que  se  encuentra  cuando  una  señal  pasa  a  través  de  una  sola  
puerta  se  suma.  Usaremos  el  diseño  de  un  sumador  multibit  para  ilustrar  esto.
A  continuación,  veremos  algunos  tipos  comunes  de  circuitos:  el  decodificador  
y  codificador  binario  y  el  multiplexor.  Cada  uno  de  estos  tiene  muchas  aplicaciones  
en  el  diseño  de  sistemas  digitales  y  están  disponibles  comercialmente  en  una  
variedad  de  formas.
Otra  clase  de  circuitos  utilizados  en  el  diseño  de  sistemas  de  tamaño  mediano  y  
grande  son  los  arreglos  de  puertas,  a  veces  denominados  dispositivos  lógicos  
programables  (PLD).  Como  veremos  en  el  Capítulo  7,  algunos  PLD  también  contienen  
memoria.  Los  arreglos  de  compuertas  consisten  en  un  conjunto  de  compuertas  AND  y  
un  conjunto  de  compuertas  OR  conectadas  para  formar  expresiones  SOP.  La  estructura  
básica  es  estándar;  algunas  de  las  conexiones  pueden  ser  especificadas  por  el  usuario.  
Los  arreglos  de  puertas  están  comúnmente  disponibles  en  tres  formas:  memoria  de  
solo  lectura  (ROM),  arreglo  de  lógica  programable  (PLA)  y  arreglo  de  lógica  programable  (PAL).
También  veremos  temas  de  prueba  y  simulación  de  circuitos  combinacionales.

Luego  veremos  el  diseño  de  un  sumador  decimal  y  un  controlador  para  
una  pantalla  de  siete  segmentos.  Usaremos  una  variedad  de  técnicas  de  
este  capítulo  y  del  Capítulo  3  en  estos  diseños.  Una  gran  cantidad  de  
ejercicios  (Ejercicios  20–25)  entran  en  esta  categoría.

249
Machine Translated by Google

250 Capítulo  5  Diseño  de  sistemas  combinacionales

5.1  SISTEMAS  ITERATIVOS
Primero  veremos  los  sumadores  como  un  ejemplo  de  un  sistema  que  se  puede  implementar  
con  múltiples  copias  de  un  circuito  más  pequeño.  Usaremos  el  sumador  para
ilustrar  el  tema  de  la  demora  en  los  circuitos  de  múltiples  niveles  y  luego  discutir
otros  circuitos  iterativos.
Cuando  sumamos  dos  números  a  mano,  sumamos  los  dos  menos  significativos
dígitos  (más  posiblemente  un  acarreo)  para  producir  un  bit  de  la  suma  y  un  acarreo  al  
siguiente  bit.  Tal  sumador  de  un  bit  (denominado  sumador  completo)  es
definido  como  CE3  y  fue  diseñado  con  puertas  NAND  en  el  ejemplo  2.34  (sección  2.8).  Si  
deseamos  construir  un  sumador  de  n  bits,  solo  necesitamos  conectar  n
de  estos.  En  la  Figura  5.1  se  muestra  una  versión  de  4  bits.

Figura  5.1  Un  sumador  de  4  bits.
a 4 b4 a3 b3 a2 b2 C1 a 1 b 1 C en

Lleno Lleno Lleno Lleno


Sumador Sumador Sumador Sumador

C1
C afuera s4 s3 s2 s1

5.1.1  Retardo  en  circuitos  lógicos  combinacionales
Cuando  cambia  la  entrada  a  una  puerta,  la  salida  de  esa  puerta  no  cambia
instantáneamente,  pero  hay  un  pequeño  retraso, . Si  la  salida  de  una  puerta  es
utilizado  como  entrada  a  otro,  los  retrasos  se  suman.  Un  diagrama  de  bloques  de  un  simple
El  circuito  se  muestra  en  la  figura  5.2a  y  el  diagrama  de  tiempo  asociado  con  él.
en  la  figura  5.2b.

Figura  5.2  Ilustración  del  retraso  de  puerta.

A X X
B

F
C
C

124  5 3

(a) (b)
Machine Translated by Google

5.1  Sistemas  iterativos 251

Cuando  un  cambio  en  C  hace  que  F  cambie,  F  cambia  un  tiempo  de  retardo,  más  
tarde,  como  se  muestra  en  el  tiempo  1.  Si  A  o  B  cambian,  entonces  el  punto  X  cambia  
un  tiempo  de  retardo  más  tarde,  y  F  cambia  una  vez  después,  como  se  indica.  en  el  tiempo  2
En  el  tiempo  3,  un  cambio  en  C  no  provoca  un  cambio  en  F,  y  en  el  tiempo  4,  un  cambio  
en  B  provoca  un  cambio  en  X,  pero  no  en  la  salida.  Finalmente,  en  el  tiempo  5,  tanto  B  
como  C  cambian  simultáneamente.  La  salida  F  pasa  a  0  brevemente  cuando  se  reconoce  
el  cambio  en  C  (después  del  cambio  en  C),  y  luego  F  vuelve  a  1  cuando  se  propaga  el  
cambio  en  B  (2  después  del  cambio  en  B).  Esta  situación  se  conoce  como  peligro  o  falla.

La  salida  es  estable  después  de  la  ruta  de  retardo  más  larga.  Por  lo  general,  no  
estamos  interesados  en  la  salida  hasta  que  sea  estable.  En  este  caso,  ese  tiempo  es  2.  
Como  un  ejemplo  más  complejo  de  retardo,  consideraremos  el  sumador  completo,  el  
sistema  de  CE3.  Agrega  dos  números  de  1  bit  y  una  entrada  de  acarreo  del  siguiente  
dígito  menos  significativo  y  produce  un  bit  de  suma  y  un  acarreo  al  siguiente  dígito  más  
significativo.
Ahora  veremos  el  tiempo  que  tarda  el  resultado  de  una  suma  en  estar  disponible  en  
las  dos  salidas  del  sumador  completo.  Asumiremos  que  todas  las  entradas  están  
disponibles  al  mismo  tiempo.  La  figura  5.3  repite  el  circuito  sumador  del  ejemplo  2.34  (de  
la  sección  2.8),  con  el  retraso  (desde  que  cambian  las  entradas  ayb )  indicado  en  varios  
puntos  del  circuito .  Por  supuesto,  si  dos  entradas  a  una  puerta  cambian  en  diferentes  
momentos,  la  salida  puede  cambiar  hasta  después  del  último  cambio  de  entrada.

Como  se  muestra,  el  retraso  desde  el  momento  en  que  las  entradas  a  o  b  cambian  
hasta  el  momento  en  que  la  suma  está  disponible  es  6  y  hasta  el  momento  en  que  el  
acarreo  está  disponible  es  5.  Si  se  establecen  a  y  b ,*  el  retraso  desde  el  llevar  a  la

Figura  5.3  Retardo  a  través  de  un  sumador  de  1  bit.

a 2

3
5

4 6
b s

C en

5
Cafuera

*Todos  los  bits  de  los  dos  números  de  varios  dígitos  que  se  agregarán  normalmente  están  disponibles  al  mismo  tiempo.
Por  lo  tanto,  después  del  dígito  menos  significativo,  todos  los  a  y  b  se  establecen  antes  de  que  llegue  cin .
Machine Translated by Google

252 Capítulo  5  Diseño  de  sistemas  combinacionales

llevar  a  cabo  es  solo  2,  ya  que  cin  pasa  a  través  de  solo  dos  puertas  en  el  camino  a  cout,  
como  se  muestra  en  el  camino  marrón .  Este  último  tiempo  es  el  más  crítico,  como  veremos  
en  breve.  (Además,  la  demora  desde  el  traslado  hasta  la  suma  es  3).
Podemos  construir  un  sumador  de  n  bits  con  n  copias  del  sumador  completo;  como  se  
muestra  en  la  Figura  5.1.  El  tiempo  total  requerido  se  calcula  como  el  retraso  desde  las  
entradas  hasta  cout  (para  el  bit  menos  significativo)  más  n  2  veces  el  retraso  desde  cin  hasta  
cout  (para  los  sumadores  completos  del  medio),  más  el  retraso  más  largo  desde  cin  hasta  cout  
o  de  cin  a  s  (para  el  bit  más  significativo).  Para  el  sumador  multinivel,  eso  es  igual  a  5  2(n  2)  
(2n  4).  Para  un  sumador  de  64  bits,  el  retraso  sería  d3 e  132.

5.1.2  Sumadores
Como  se  indicó  en  la  sección  anterior,  un  enfoque  para  construir  un  sumador  de  n  bits  es  
conectar  entre  sí  n  sumadores  de  1  bit.  Esto  se  conoce  como  un  sumador  de  ondulación  de  
acarreo.  El  tiempo  para  que  la  salida  del  sumador  se  estabilice  puede  ser  tan  grande  como  (2n  
4).  No  siempre  toma  tanto  tiempo  establecer  todas  las  salidas  porque,  para  cualquier  bit,  si  ai  
y  bi  son  ambos  1,  entonces  un  acarreo  siempre  es  1  (independientemente  del  acarreo  de  bits  
de  orden  inferior)  y  si  ai  y  bi  son  ambos  0,  entonces  un  acarreo  siempre  es  0.

Para  acelerar  esto,  se  han  intentado  varios  enfoques.  Un  enfoque  es  implementar  un  
sumador  multibit  con  una  expresión  SOP.  Después  de  todo,  un  sumador  de  n  bits  (con  un  
arrastre  al  bit  menos  significativo)  es  solo  un  problema  de  2n  1  variable.  En  teoría,  podemos  
construir  una  tabla  de  verdad  para  eso  y  obtener  una  expresión  SOP  (o  POS).

La  tabla  de  verdad  para  un  sumador  de  2  bits  se  muestra  en  la  Tabla  5.1,  donde  el  bit  1  
es  el  bit  de  orden  inferior.  Esto  se  puede  implementar  mediante  una  expresión  SOP.  Los  
mapas  (de  cinco  variables)  se  muestran  en  el  Mapa  5.1.  Los  implicantes  principales  no  están  
encerrados  en  un  círculo  porque  eso  haría  que  el  mapa  se  desordenara  de  forma  ilegible.
Las  expresiones  SOP  mínimas  son

cout  a2b2  a1b1a2  a1b1b2  cinb1b2  cinb1a2  cina1b2
cina1a2

s2  a1b1a2  b2  a1b1a2b2  cin  a1  a2  b2  cin  a1  a2b2  cin  b1  
a2  b2  cin  b1  a2b2  a1  b1  a2b2  a1  b1  
a2  b2  cinb1a2  b2  cinb1a2b2  cina1a2  
b2  cina1a2b2

s1 cin  a1  b1  cin  a1b1  cina1  b1 cina1b1

Las  ecuaciones  son  muy  complejas  y  requieren  23  términos  con  80  literales.  Una  solución  de  
dos  niveles  requeriría  una  puerta  de  12  entradas  para  s1.  Claramente,  podríamos  repetir  este  
proceso  para  un  sumador  de  3  o  4  bits,  pero  el  álgebra  se  vuelve  muy  compleja  y  el  número  
de  términos  aumenta  drásticamente.  (No  tenemos  mapas  de  siete  o  nueve  variables;  otros  
métodos  funcionarían,  aunque
Machine Translated by Google

5.1  Sistemas  iterativos 253

Tabla  5.1  Tabla  de  verdad  del  sumador  de  dos  bits.

a2 b2 a1 b1 cine cout s2 s1

00  0  00  0  00  0  00  0   0   0   0   0   0


00  1  00  1  00  1  00  1   0   1   0   0   1
01  0  01  0  01  0  01  0   1   0   0   0   1
01  1  01  1  01  1  01  1   1   1   0   1   0
10  0  10  0  10  0  10  0   0   0   0   0   1
10  1  10  1  10  1  10  1   0   1   0   1   0
1  1  0  11  0  11  0  11  0   1   0   0   1   0
11  1  11  1  11  1  11  1 1   1   0   1   1
0   0   0   1   0
0   1   0   1   1
1   0   0   1   1
1   1   1   0   0
0   0   0   1   1
0   1   1   0   0
1   0   1   0   0
1   1   1   0   1
0   0   0   1   0
0   1   0   1   1
1   0   0   1   1
1   1   1   0   0
0   0   0   1   1
0   1   1   0   0
1   0   1   0   0
1   1   1   0   0
0   0   1   0   0
0   1   1   0   1
1   0   1   0   1
1   1   1   1   0
0   0   1   0   1
0   1   1   1   0
1   0   1   1   0
1 1 1 1 1

sería  un  proceso  largo  a  mano.)  También  podríamos  manipular  el
álgebra  para  producir  soluciones  multinivel  con  menos  puertas  grandes,  pero  eso
aumentaría  la  demora.  Otro  problema  que  nos  encontraríamos  en
que  la  implementación  en  el  mundo  real  es  que  hay  una  limitación  en  el
número  de  entradas  (llamado  fan­in)  para  una  puerta.  Las  puertas  con  12  entradas  pueden  no
ser  práctico  o  puede  encontrar  retrasos  mayores  que  Para   .
el  sumador  de  2  bits,  cout  se  puede  implementar  con  lógica  de  dos  niveles
(con  un  fan­in  máximo  de  siete).  Por  lo  tanto,  la  demora  desde  la  entrega  hasta
llevar  a  cabo  de  cada  dos  bits  es  solo  2  (aparte  de  los  primeros  2  y  el  último
2  bits)  produciendo  un  retardo  total  de

2  2(n2  2) 3 (n  1)

aproximadamente  la  mitad  de  la  solución  anterior.
Machine Translated by Google

254 Capítulo  5  Diseño  de  sistemas  combinacionales

Mapa  5.1  sumador  de  2  bits.
a2
2 1
licenciado  en  Letras 0 2 1
licenciado  en  Letras 1
Cen b 1 00 01 11 10 Cen b 1 00 01 11 10

00 00 1 1

01 1 01 1 1 1
Cafuera

11 1 1 11 1 1 1 1

10 1 10 1 1 1

a2
2 1
licenciado  en  Letras 0 2 1
licenciado  en  Letras 1
Cen b 1 00 01 11 10 Cen b 1 00 01 11 10

00 1 1 00 1 1

01 1 1 01 1 1
s2
11 1 1 11 1 1

10 1 1 10 1 1

a2
2 1
licenciado  en  Letras 0 2 1
licenciado  en  Letras 1
Cen b 1 00 01 11 10 Cen b 1 00 01 11 10

00 11 00 11

01 1 1 01 1 1
s1
11 1 1 11 1 1

10 1 1 10 1 1

Ha  habido  algunos  compromisos,  donde  el  acarreo  se  implementa  con  un  circuito  
de  dos  niveles  y  la  suma  es  un  circuito  multinivel  menos  complejo.
circuito.  Esto  solo  aumenta  la  demora  en  unos  pocos  (para  la  última  suma),  
independientemente  de  n.
Hay  sumadores  de  4  bits  disponibles  comercialmente:  el  7483,  7483A,
y  74283.  Cada  uno  se  implementa  de  manera  diferente,  con  un  circuito  de  tres  niveles  para
el  llevar  a  cabo.  El  7483A  y  el  74283  difieren  solo  en  las  conexiones  de  clavijas;  cada
Machine Translated by Google

5.1  Sistemas  iterativos 255

produce  la  suma  con  un  circuito  de  cuatro  niveles,  utilizando  una  mezcla  de  NAND,
Compuertas  NOR,  AND,  NOT  y  OR  exclusivo.  Por  lo  tanto,  el  retraso  desde  el  acarreo  hasta  
el  acarreo  es  de  3  por  cada  cuatro  bits,  lo  que  produce  un  retraso  total  de
(3/4  n  1)  (un  retraso  extra  para  la  última  suma).  El  7483  ondula  el  acarreo
internamente  (aunque  tiene  una  ejecución  de  chip  de  tres  niveles);  utiliza  un  circuito  de  
ocho  niveles  para  s4.
Cuando  se  necesitan  sumadores  más  grandes,  estos  sumadores  de  4  bits  se  pueden  conectar  en  cascada.

Por  ejemplo,  un  sumador  de  12  bits,  utilizando  tres  sumadores  de  4  bits  (como  el  de
Figura  5.1  o  el  7483)  se  muestra  en  la  Figura  5.4,  donde  cada  bloque  representa  un  
sumador  de  4  bits.

Figura  5.4  Sumadores  de  4  bits  en  cascada.

a 12 b 12 a1 b1

a 4 a 3 a 2 a 1 b4 b3 b2 b 1 C en a 4 a 3 a 2 a 1 b4 b3 b2 b 1 C en a 4 a 3 a 2 a 1 b4 b3 b2 b 1 C en

C afuera s4 s 3 s 2 s 1 C afuera s4 s 3 s 2 s 1 C afuera s4 s 3 s 2 s 1

s 12 s1

Otro  enfoque  más  es  construir  un  sumador  anticipado.  Cada
La  etapa  del  sumador  produce  dos  salidas:  una  señal  de  generación  de  acarreo,  g,  y  una
Llevar  señal  de  propagación ,  p.  La  señal  de  generación  es  1  si  esa  etapa  del
el  sumador  tiene  un  acarreo  de  1,  ya  sea  que  haya  o  no  un  acarreo.  La  señal  de  propagación  
es  1  si  ese  estado  produce  un  acarreo  de  1  si  el  acarreo  es  1.
Para  un  sumador  de  1  bit,

g  ab  pab

Podríamos  construir  un  circuito  de  tres  niveles  para  la  realización  de  cualquier  etapa.  Para
ejemplo,  el  resultado  del  sumador  de  4  bits  que  discutimos  anteriormente  sería

cout  g4  p4  g3  p4  p3g2  p4  p3  p2g1  p4  p3  p2  p1cin

El  acarreo  es  1  si  el  último  bit  generó  un  acarreo,  o  si  propagó  un
acarreo  y  el  escenario  debajo  de  él  generó  un  acarreo,  y  así  sucesivamente.  Esto  podría  ser
extendido  a  cualquier  número  de  bits,  limitado  solo  por  las  capacidades  de  fan­in  de
la  lógica.  (En  el  ejemplo  de  4  bits,  requerimos  un  fan­in  de  cinco).*

*Para  una  discusión  más  detallada  de  los  sumadores  con  anticipación,  consulte  Brown  y  Vranesic,
Fundamentos  de  lógica  digital  con  diseño  VHDL,  3.ª  ed.,  McGraw­Hill,  2009.
Machine Translated by Google

256 Capítulo  5  Diseño  de  sistemas  combinacionales

5.1.3  Sustractores  y  sumadores/sustractores

Para  hacer  la  resta,  podríamos  desarrollar  la  tabla  de  verdad  para  un  restador  
completo  de  1  bit  (ver  el  problema  resuelto  3)  y  conectar  en  cascada  tantos  como  sean
necesario,  produciendo  un  restador  de  ondulación  prestada.
La  mayoría  de  las  veces,  cuando  se  necesita  un  restador,  se  necesita  un  sumador  como
Bueno.  En  ese  caso,  podemos  aprovechar  el  enfoque  de  la  resta.
desarrollamos  en  la  Sección  1.2.4.  Allí,  complementamos  cada  parte  del
sustraendo  y  sumando  1.
Para  construir  un  sumador/restador  de  este  tipo,  necesitamos  una  línea  de  señal  que  sea  0  para
suma  y  1  para  la  resta.  Lo  llamaremos  a/s  (abreviatura  de  add/
restar).*  Recordando  que

1xx  y  0xx  _

ahora  podemos  construir  el  circuito  de  la  Figura  5.5,  usando  el  sumador  de  4  bits  que  tenemos
ya  diseñado.  Debe  haber  un  OR  exclusivo  en  cada  entrada.  El
el  acarreo  de  una  etapa  se  conecta  directamente  al  acarreo  de  la  siguiente.
Los  bi  de  todas  las  etapas  están  conectados  a  través  de  puertas  Exclusive­OR  habilitadas
por  a/s.
Figura  5.5  Un  sumador/restador  de  4  bits.

b4

b3

b2

b1

a /s
a 4 a 3 a 2 a 1 b4 b3 b2 b 1 C en

C afuera s4 s 3 s 2 s 1

5.1.4  Comparadores

Un  requerimiento  aritmético  común  es  comparar  dos  números,  produciendo  una  
indicación  si  son  iguales  o  si  uno  es  mayor  que  el  otro.  El

*Esta  notación  es  bastante  común.  La  a  indica  que  un  0  en  esta  línea  requiere  suma
y  la  s  implica  que  un  1  en  esta  línea  requiere  resta.
Machine Translated by Google

5.1  Sistemas  iterativos 257

Exclusive­OR  produce  un  1  si  las  dos  entradas  son  diferentes  y  un  0,
de  lo  contrario.  Los  números  multibit  son  desiguales  si  alguno  de  los  pares  de  entrada  es
desigual.  El  circuito  de  la  figura  5.6a  muestra  un  comparador  de  4  bits.  La  salida
del  NOR  es  1  si  los  números  son  iguales.  En  la  figura  5.6b,  logramos  lo  mismo  con  
NOR  exclusivos  y  una  compuerta  AND.

Figura  5.6  Dos  comparadores  de  4  bits.

a4 a4

b4 b4

a3 a3

b3 b3
a b a b
a2 a2

b2 b2

a1 a1

b1 b1

(a)  OR  exclusivo (b)  Exclusivo­NOR

Estos  comparadores  se  pueden  extender  a  cualquier  número  de  bits.
Para  construir  un  comparador  de  4  bits  que  indique  mayor  que  y  menor
que,  así  como  igual  a  (para  números  sin  signo),  reconocemos  que,  comenzando  en  
el  bit  más  significativo  (a4  y  b4),

ab  si  a4  b4  o  (a4  b4  y  a3  b3)  o  (a4  b4  y
a3  b3  y  a2  b2)  o  (a4  b4  y  a3  b3  y  a2  b2  y
a1  >  b1)

ab  si  a4  b4  o  (a4  b4  y  a3  a3  b3  y   b3)  o  (a4  b4  y
a2  b2)  o  (a4  b4  y  a3  b3  y  a2  b2  y
a1  b1)

ab  si  a4  b4  y  a3 b3  y  a2  b2  y  a1  b1
Esto  puede,  por  supuesto,  extenderse  a  cualquier  tamaño,  o  los  comparadores  de  4  bits  pueden  ser
en  cascada,  transmitiendo  las  tres  señales,  mayor  que,  menor  que  e  igual
a.  En  la  figura  5.7  se  muestra  un  bit  típico  de  dicho  comparador.
El  7485  es  un  comparador  de  4  bits,  con  entradas  y  salidas  en  cascada.
Al  igual  que  el  sumador,  las  señales  en  cascada  van  del  módulo  de  orden  inferior  al
módulo  de  orden  superior  (a  diferencia  del  ejemplo  anterior).  Por  lo  tanto,  calcula  la  
salida  mayor  como  1  si  las  entradas  a  de  este  módulo  son  mayores  que
las  entradas  b  o  si  son  iguales  y  la  entrada  en  cascada  es  mayor.
Machine Translated by Google

258 Capítulo  5  Diseño  de  sistemas  combinacionales

Figura  5.7  Bit  típico  de  un  comparador.
a b

[ES  1,  2,  3,  4;  Ej.  1,  2,  3,  4,  5,  6;  LABORATORIO]

5.2  DECODIFICADORES  BINARIOS  Un  

decodificador  binario  es  un  dispositivo  que,  cuando  se  activa,  selecciona  una  de  varias  líneas  de  
salida,  en  función  de  una  señal  de  entrada  codificada.  Por  lo  general,  la  entrada  es  un  número  
binario  de  n  bits  y  hay  hasta  2n  líneas  de  salida.*  (Algunos  decodificadores  tienen  una  señal  de  
habilitación  que  lo  activa;  hablaremos  de  eso  en  breve).
La  tabla  de  verdad  para  un  decodificador  de  dos  entradas  (cuatro  salidas)  se  muestra  en  
la  tabla  5.2a.  Las  entradas  se  tratan  como  un  número  binario  y  la  salida  seleccionada  se  activa.  
En  este  ejemplo,  la  salida  es  activa  alta,  es  decir,  la  salida  activa  es  1  y  las  inactivas  son  0.  
(Usaremos  los  términos  activa  alta  y  activa  baja  (el  valor  activo  es  0)  para  referirnos  tanto  a  las  
entradas  como  a  las  salidas. )  Este  decodificador  solo  consta  de  una  puerta  AND  para  cada  
salida,  más  puertas  NOT  para  invertir  las  entradas.  (Suponemos  que  solo  están  disponibles  a  y  
b ,  no  sus  complementos).  El  diagrama  de  bloques  se  muestra  en  la  figura  5.8a.  La  salida  0  es  
solo  ab;  la  salida  1  es  ab;  la  salida  2  es  ab;  y  la  salida  3  es  ab.  Cada  salida  corresponde  a  uno  
de  los  minitérminos  de  una  función  de  dos  variables.

Una  versión  activa  de  salida  baja  del  decodificador  tiene  un  0  correspondiente  a  la  
combinación  de  entrada;  las  salidas  restantes  son  1.  El  circuito  y  la  tabla  de  verdad  que  lo  
describen  se  muestran  en  la  figura  5.8b  y  la  tabla  5.2b.  Las  compuertas  AND  en  el  circuito  
anterior  simplemente  se  reemplazan  por  NAND.
La  mayoría  de  los  decodificadores  también  tienen  una  o  más  entradas  de  habilitación.  
Cuando  dicha  entrada  está  activa,  el  decodificador  se  comporta  como  se  describe.  Cuando  está  
inactivo,  todas  las  salidas  del  decodificador  están  inactivas.  En  la  mayoría  de  los  sistemas  con  un  solo

*Aunque  4  entradas  tienen  16  combinaciones,  algunos  decodificadores  solo  tienen  10  salidas.
Machine Translated by Google

5.2  Decodificadores  binarios 259

Figura  5.8a  Un  decodificador  alto  activo. Tabla  5.2a  Un  alto  activo
descifrador.
a b
ab  0 1 2 3
00  1  01  0  10   0   0   0
0  11  0 0   0
1   0
0  0 1  0 1
0

Figura  5.8b  Un  decodificador  bajo  activo. Tabla  5.2b  Una  baja  activa
descifrador.
a b
ab  0  123
00  0  111
01  1  011
10  1  101
11  1  110
0

habilitar  entrada  (no  solo  decodificadores),  esa  entrada  está  activa  baja.  la  tabla  de  verdad,
un  diagrama  de  bloques,  y  el  circuito  para  un  decodificador  activo  de  salida  alta  con  un
la  entrada  de  habilitación  baja  activa  se  muestra  en  la  Figura  5.9.  Tenga  en  cuenta  que  la  entrada  de  habilitación

está  invertida  y  conectada  a  cada  compuerta  AND.  Cuando  EN  1,  un  0  está  en  el
entrada  a  cada  compuerta  AND  y,  por  lo  tanto,  todas  las  salidas  de  la  compuerta  AND  son  0.
Cuando  EN  0,  la  entrada  adicional  (más  allá  de  las  del  circuito  sin
an  enable)  es  1  y,  por  lo  tanto,  la  salida  seleccionada  por  a  y  b  es  1,  como  antes.
Las  señales  bajas  activas  a  menudo  se  indican  con  un  círculo  (burbuja),  como  se  muestra  en
el  diagrama  de  bloques  de  la  figura  5.9.  En  la  mayoría  de  la  literatura  comercial,  tal  sig
——

nals  están  etiquetados  con  una  barra  superior  ( EN),  en  lugar  de  como  EN.
Machine Translated by Google

260 Capítulo  5  Diseño  de  sistemas  combinacionales

Figura  5.9  Decodificador  con  habilitación.

ES a b 0 1 2 3 ES a b

1 XX 0 0 0 0

0 0 10 0 0  0

0  0 0  101  0

0 1  0 0  10  0
0
0 1 1 01  0  0

0  
a
2
b 1  2
3

3
ES

Note  que  hemos  acortado  la  tabla  de  verdad  (de  ocho  filas  a  cinco)  por  la  
notación  en  la  primera  fila.  Esa  fila  dice  que  si  EN  1,  no  nos  importa  qué  son  a  y  b  
(X);  todas  las  salidas  son  0.  Esa  notación  aparecerá  en  muchos  lugares  donde  
discutamos  circuitos  comerciales.
Se  pueden  construir  decodificadores  más  grandes;  Los  decodificadores  de  3  
Figura  5.10  El  decodificador   entradas,  8  salidas  y  4  entradas  y  16  salidas  están  disponibles  comercialmente.  La  
74138. limitación  de  tamaño  se  basa  en  el  número  de  conexiones  al  chip  de  circuito  integrado  
que  se  requiere.  Un  decodificador  de  3  entradas  utiliza  11  conexiones  lógicas  (tres  
entradas  y  ocho  salidas)  además  de  dos  conexiones  de  alimentación  y  una  o  más  
C Y0
entradas  de  habilitación.
B Y1
En  la  Tabla  5.3  se  muestra  una  tabla  de  verdad  para  el  74138,  uno  de  ocho  
A Y2 decodificadores,  y  en  la  Figura  5.10  se  muestra  el  diagrama  de  bloques.  Este  chip  
Y3 tiene  salidas  activas  bajas  y  tres  entradas  de  habilitación  (por  lo  que  requiere  un  chip  
74138
Y4 de  16  pines),  una  de  las  cuales  es  activa  alta  (EN1)  y  las  otras  dos  son  activas  bajas.  
EN1 Y5 Sólo  cuando  los  tres  ENABLES  están  activos,  es  decir,  cuando
EN2 Y6
EN1  1,  EN2  0  y  EN3  0
EN3 Y7
es  el  chip  habilitado.  De  lo  contrario,  todas  las  salidas  están  inactivas,  es  decir,  1.
Observe  que  en  este  circuito  (y  esto  es  cierto  en  muchos  de  los  paquetes  de  
circuitos  integrados  comerciales)  las  entradas  están  etiquetadas  como  C,  B,  A  (siendo  
C  el  bit  de  orden  superior).  En  ejemplos  anteriores,  hemos  hecho  A  el
Machine Translated by Google

5.2  Decodificadores  binarios 261

Tabla  5.3  El  decodificador  74138.
Habilita Entradas Salidas

EN1  EN2  EN3 CBA Y0 Y1 Y2 Y3  Y4 Y5 Y6  Y7

0  XX  X  XX  1 1   1   1   1   1  11


X 1X X  XX  1 1   1   1   1   1  11
X  1 X  XX  1  1  0  0  0  0  0  1  0  0  0  1  1  1  0  0  0  0  1   1   1   1   1   1  11
1  0  0  0  1  1  1  0  0  1  0  1  1  0  0  1  1  1  1  0  0  1  0  1  10  
  0  0  1  1  1 1   1   1   1   1  11
0   0   1   1   1   1  11
1   1   0   1   1   1  11
1   1   1   0   1   1  11
0   1   1   1   0   1  11
0   1   1   1   1   0  11
1   1   1   1   1   1  01
1 1 1 1 1 1  10

bit  de  alto  orden.  Cuando  utilice  un  dispositivo  de  este  tipo,  asegúrese  de  qué  entrada  tiene  qué
significado.
Otros  dos  chips  decodificadores  disponibles  comercialmente  son  el  74154,
que  es  un  decodificador  de  cuatro  entradas  (más  dos  habilitaciones  bajas  activas),  16  salidas
(implementado  en  un  paquete  de  24  pines),  y  el  74155,  que  contiene
decodificadores  duales  de  dos  entradas  y  cuatro  salidas  con  entradas  comunes  y
permite  (de  modo  que  se  puede  utilizar  como  un  tres  entradas,  ocho  salidas
descifrador).
Una  aplicación  de  los  decodificadores  es  seleccionar  uno  de  muchos  dispositivos,  cada  uno
de  los  cuales  tiene  una  dirección  única.  La  dirección  es  la  entrada  al  decodificador;
una  salida  está  activa,  para  seleccionar  el  único  dispositivo  que  se  direccionó.  Algunas  veces,  hay  
más  dispositivos  de  los  que  se  pueden  seleccionar  con  un  solo  decodificador.
Consideraremos  dos  ejemplos  de  este  tipo.

EJEMPLO  5.1
Tenemos  disponibles  74138  decodificadores  y  deseamos  seleccionar  uno  de  los  32  dispositivos.

Necesitaríamos  cuatro  decodificadores  de  este  tipo.  Por  lo  general,  uno  de  estos  seleccionaría
uno  de  los  primeros  ocho  dispositivos  direccionados;  otro  seleccionaría  uno  de  los
los  próximos  ocho,  y  así  sucesivamente.  Así,  si  la  dirección  estuviera  dada  por  los  bits  a,  b,  c,  d,  e,
entonces  c,  d,  e  serían  las  entradas  (a  C,  B,  A  en  orden)  para  cada  uno  de  los  cuatro
decodificadores,  y  a,  b  se  utilizarían  para  habilitar  el  apropiado.  Por  lo  tanto,  la
el  primer  decodificador  estaría  habilitado  cuando  ab  0,  el  segundo  cuando  a  0
y  b  1,  el  tercero  cuando  a  1  y  b  0,  y  el  cuarto  cuando  ab  1.
Dado  que  tenemos  dos  entradas  de  habilitación  baja  activa  y  una  habilitación  alta  activa,  solo
el  cuarto  decodificador  requeriría  una  puerta  NOT  para  la  entrada  de  habilitación  asumiendo
a  y  b  no  están  disponibles.  El  circuito  se  muestra  a  continuación.
Machine Translated by Google

262 Capítulo  5  Diseño  de  sistemas  combinacionales

C C Y0 0
d B Y1 1
mi A Y2 2
Y3 3
74138
Y4 4
1 EN1 Y5 5
a EN2 Y6 6
b EN3 Y7 7

C Y0 8
B Y1 9
A Y2 10
Y3 11
74138
Y4 12
EN1 Y5 13
EN2 Y6 14
0 EN3 Y7 15

C Y0 dieciséis

B Y1 17
A Y2 18
Y3 19
74138
Y4 20
EN1 Y5 21
EN2 Y6 22
0 EN3 Y7 23

C Y0 24
B Y1 25
A Y2 26
Y3 27
74138
Y4 28
EN1 Y5 29
0 EN2 Y6 30
EN3 Y7 31

EJEMPLO  5.2 A  veces,  se  utiliza  un  decodificador  adicional  para  habilitar  otros  decodificadores.  Si,  por  
ejemplo,  tuviéramos  un  decodificador  bajo  activo  de  dos  entradas  y  cuatro  salidas  con  una  
habilitación  baja  activa  y  necesitáramos  seleccionar  uno  de  los  16  dispositivos,  podríamos  usar  uno
Machine Translated by Google

5.2  Decodificadores  binarios 263

decodificador  a  elegir  entre  cuatro  grupos  de  dispositivos,  en  función  de  dos  de  las  
entradas.  Por  lo  general,  se  utilizan  las  dos  primeras  entradas  (de  mayor  orden),  de  
modo  que  las  agrupaciones  son  los  dispositivos  0–3,  4–7,  8–11  y  12–15.  Luego,  
para  cada  grupo,  se  utiliza  un  decodificador  para  elegir  entre  los  cuatro  dispositivos  
de  ese  grupo.  Tal  disposición  se  muestra  a  continuación.

00 0 0
C a 1 1
d b 2   2  
ES 3 3

01 0 4
a 1 5
b 2   6  
0   ES 3 7
Automóvil  club  británico

cama  y  desayuno 1  2
ES 3 10 0 8
a 1 9  
b 2   10  
0
ES 3 11

11 0 12
a 1 13
b 2   14
ES 3 15

Otra  aplicación  de  los  decodificadores  es  la  implementación  de  funciones  
lógicas.  Cada  salida  alta  activa  de  un  decodificador  corresponde  a  un  término  
mínimo  de  esa  función.  Por  lo  tanto,  todo  lo  que  necesitamos  es  una  puerta  OR  
conectada  a  las  salidas  apropiadas.  Con  un  decodificador  activo  de  salida  baja,  
la  puerta  OR  se  reemplaza  por  una  NAND  (haciendo  un  circuito  NAND­NAND  
desde  AND  OR).  Con  más  de  una  función  de  este  tipo  del  mismo  conjunto  de  
entradas,  solo  necesitamos  un  decodificador,  pero  un  OR  o  NAND  para  cada  función  de  salida.

EJEMPLO  5.3
f(a,  b,  c)   m(0,  2,  3,  7)  
g(a,  b,  c) m(1,  4,  6,  7)

Podría  implementarse  con  cualquiera  de  los  circuitos  decodificadores  que  se  muestran  aquí.
Machine Translated by Google

264 Capítulo  5  Diseño  de  sistemas  combinacionales

Y0 Y0
F F
Y1 Y1
Y2 Y2
a a
Y3 Y3
b b
Y4 Y4
C C
Y5 Y5
gramo

Y6 Y6
gramo

Y7 Y7

EJEMPLO  5.4
Para  las  siguientes  funciones,  impleméntelas  usando  solo  los  decodificadores  que  se  muestran
debajo  y  tres  puertas  NAND  (con  tantas  entradas  como  sea  necesario).  Intenta  hacerlo
sin  compuerta  NAND  de  más  de  8  entradas  y  solo  cuatro  decodificadores;  sería
sería  aún  mejor  hacerlo  con  solo  NAND  de  4  entradas.

ab ab ab
C d 00  01 11 10 C d 00 01 11 10 C d 00  01 11 10

00 1 1 1 00 1 1 1 00 111

01 01 1  111 01

11 1 111 11 1 11 1

10 1 1 10 1 1 10 1  111

fg h

ES  ab0123
1  XX1  1  1 1
0000111
0011011
0101101
0111110

Si  usamos  el  diseño  del  Ejemplo  5.2,  necesitaríamos  una  NAND  de  9  entradas  para  f
y  una  puerta  de  10  entradas  para  g.  Al  usar  c  y  d  para  las  entradas  del  primer  decodificador,  
obtenemos  el  siguiente  diseño.
Machine Translated by Google

5.2  Decodificadores  binarios 265

0 0
a
1 4
2 8
b
3 12
ES

0 1
1 5
2 9
3 13
ES
0
C
1
2
d
3
ES

0 2
0
1 6
2 10
3 14
ES

0 3
1 7
2 11
3 15
ES

Esto  aún  requeriría  el  mismo  conjunto  de  compuertas  NAND  si  no  aprovecháramos  el  hecho  de  
que  para  f,  se  incluyen  todos  los  términos  mínimos  3,  7,  11  y  15.
Por  lo  tanto,  podemos  conectar  la  entrada  de  habilitación  al  cuarto  decodificador  directamente  al
Machine Translated by Google

266 Capítulo  5  Diseño  de  sistemas  combinacionales

puerta  de  salida  f .  En  el  siguiente  diagrama,  podemos  ver  que  se  puede  tomar  el  mismo  
enfoque  para  g  y  h.  Todas  las  puertas  NAND  ahora  tienen  menos  de  8  entradas.  Además,  
uno  de  los  decodificadores  no  es  necesario  (se  muestra  en  líneas  discontinuas),  ya  que  
sus  salidas  no  se  utilizan.  Esto  se  debe  a  que  la  fila  01  de  los  mapas  no  tiene  1  o  tiene  
todos  1.

0 0
a
1 4
2 8
b 3 12
ES

0 1 F
1 5
2 9
3 13
ES
0
C
1
2
d 3
ES

0 0 2 gramo

1 6
2 10
3 14
ES

0 3
1 7
2 11
3 15
ES

Para  implementar  esto  con  solo  puertas  NAND  de  4  entradas,  debemos  adoptar  un  enfoque  
diferente.  El  siguiente  conjunto  de  mapas  muestra  varios  grupos  de  cuatro.
Machine Translated by Google

5.2  Decodificadores  binarios 267

ab ab ab
C d 00 01 11 10 C d 00 01 11 10 C d 00 01 11 10

00 1 1 1 00 1 1 1 00 111

01 01 1  111 01

11 1 111 11 1 11 1

10 1 1 10 1 1 10 1  111

fg h

Los  términos  marrones  corresponden  a  cd,  cd  y  cd,  las  salidas  3,  1  y  2 ,
respectivamente,  desde  un  decodificador  con  entradas  c  y  d.  Del  mismo  modo,  las  salidas  de  bronceado
corresponden  a  bd  y  bd,  las  salidas  0  y  2  de  un  decodificador  con  entradas
b  y  d.  Los  1  restantes  se  cubren  como  antes,  agregando  un  segundo  nivel
decodificador  para  las  salidas  0  y  3  del  decodificador  de  cd .

0   0
a 1 4
2 8
b 3 12
ES

0 3
1 7
2 11
3 15
ES

0
C
1 gramo

2
d 3
ES

0
b
1 h
2
d 3
ES

[ES  5,  6,  7,  8,  14c;  EX  7,  8,  9,  10,  16c;  LABORATORIO]
Machine Translated by Google

268 Capítulo  5  Diseño  de  sistemas  combinacionales

5.3  CODIFICADORES  Y  CODIFICADORES  PRIORITARIOS
Un  codificador  binario  es  lo  contrario  de  un  decodificador  binario.  Es  útil  cuando  uno
de  varios  dispositivos  puede  estar  señalando  una  computadora  (poniendo  un  1  en  un  cable
desde  ese  dispositivo);  el  codificador  luego  produce  el  número  de  dispositivo.  Si  nosotros
puede  suponer  que  exactamente  una  entrada  (de  A0,  A1,  A2,  A3)  es  1,  entonces  la  verdad
Tabla  5.4  Un  codificador  de  cuatro  líneas. La  tabla  de  la  Tabla  5.4  describe  el  comportamiento  del  dispositivo.
Si,  de  hecho,  solo  una  de  las  entradas  puede  ser  1,  entonces  esta  tabla  es  adecuada
A0  A1  A2  A3  Z0  Z1 y
1  00  0 0 0
0  10  0 0 1 Z0  A2  A3
0  01  0 1 0 Z1  A1  A3
0  00  1 1 1
Esta  disposición  no  diferencia  entre  el  dispositivo  0  y  la  señalización  sin  dispositivo.  (Si  no  
hay  ningún  dispositivo  con  el  número  0,  esto  no  es  un  problema).  De  lo  contrario,
podríamos  agregar  otra  salida,  N,  que  indica  que  ninguna  entrada  está  activa.

NA  0A  1A  2A 3  (A0  A1  A2  A3)
Si  más  de  una  entrada  puede  ocurrir  al  mismo  tiempo,  entonces  alguna  prioridad
debe  establecerse.  La  salida  indicaría  entonces  el  número  del  dispositivo  de  mayor  
prioridad  con  una  entrada  activa.  Las  prioridades  normalmente  se  organizan
en  orden  descendente  (o  ascendente)  con  la  prioridad  más  alta  dada  a  la
número  de  entrada  más  grande  (más  pequeño).  La  tabla  de  verdad  para  una  prioridad  de  ocho  entradas
codificador  se  muestra  en  la  Tabla  5.5,  donde  el  dispositivo  7  tiene  la  prioridad  más  alta.

Tabla  5.5  Un  codificador  de  prioridad.

A0  A1  A2  A3  A4  A5  A6  A7 Z0  Z1  Z2  NR
00  0  00  0  00  XX  X  1
XX  X  XX  XX  1  11  1  0
XX  X  XX  X  0  11  0  0
XX  X  XX  1  0  10  1  0 1  

XX  XX  1  0  0  10  0  0 0  

XX  X  1  0  0  0  01  1  0 0  

XX  1  0  0  0  0  01  0  0 0  

X  1  0  0  0  0  0  00  1  0 0  

1  0  0  0  0  0  0  00  0  0 0  0

La  salida  NR  indica  que  no  hay  solicitudes.  En  ese  caso,  nosotros
no  importa  cuáles  son  las  otras  salidas.  Si  el  dispositivo  7  tiene  una  señal  activa
(es  decir,  un  1),  entonces  la  salida  es  el  binario  para  7,  independientemente  de  cuál  sea  el
otras  entradas  son  (como  se  muestra  en  la  segunda  línea  de  la  tabla).  Solo  cuando  A7  0  
se  reconoce  cualquier  otra  entrada.  Las  ecuaciones  que  describen  este
dispositivo  son

NR  A  0A  1A  2A  3A  4A  5A  6A 7

Z0  A4  A5  A6  A7
Machine Translated by Google

5.4  Multiplexores  y  demultiplexores 269

A
Z1  A6  A7  (A2  A3)A  4 5

Z2  A7  A5A  6  A3A  4A 6 A1A  2A  4A 6

El  74147  es  un  codificador  BCD  comercial,  que  toma  nueve  activos  bajos
líneas  de  entrada  y  codificarlas  en  cuatro  salidas  bajas  activas.  la  entrada
las  líneas  están  numeradas  del  9  al  1  y  las  salidas  son  D,  C,  B  y  A.  Nota
que  todas  las  salidas  de  1  (inactivas)  indican  que  no  hay  entradas  activas;  no  hay
0  línea  de  entrada.  La  tabla  de  verdad  que  describe  su  comportamiento  se  muestra  en  la  tabla  5.6.

Tabla  5.6  El  codificador  de  prioridad  74147.

1 2 3 4 5 6 7  8 9  DBA
1  1 1 1 1 1 1 1 1 1  111
XXXXXXXX  0 0  110
XXXXX  XX  0  1 0  111
XX  XXXX  0  1  1 1  000
XXXXX  0  1  1  1 1  001
XX  XX  0  1  1  1  1 1  010
XXX  0  1  1  1  1  1 1  011
XX  1  1  1  1  1  1 0   1  100
X  0  1  1  1  1  1  1  0  1  1  1  1  1  1  1 1  101
1  1 1  110 [ES  9;  EJ  11]

5.4  MULTIPLEXORES  Y  
DEMULTIPLEXORES
Un  multiplexor,  a  menudo  denominado  mux,  es  básicamente  un  interruptor  que  pasa
una  de  sus  entradas  de  datos  a  través  de  la  salida,  en  función  de  un  conjunto  de  seleccionar
entradas.  A  menudo,  se  utilizan  conjuntos  de  multiplexores  para  elegir  entre  varios
números  de  entrada  multibit.
En  la  figura  5.11  se  muestra  un  multiplexor  de  dos  vías  y  su  símbolo  lógico.

Figura  5.11  Multiplexor  bidireccional.

S
w

w
afuera afuera

X
S

X
Machine Translated by Google

270 Capítulo  5  Diseño  de  sistemas  combinacionales

La  salida,  out,  es  igual  a  w  si  S  0  y  es  igual  a  x  si  S  1.
Se  puede  implementar  un  multiplexor  de  cuatro  vías  con  AND  y  OR
puertas,  como  se  muestra  en  la  figura  5.12a,  o  con  tres  multiplexores  de  dos  vías,  como
se  muestra  en  la  figura  5.12b.  El  símbolo  lógico  se  muestra  en  la  figura  5.12c.

Figura  5.12  (a)  Un  multiplexor  de  cuatro  vías.  (b)  De  multiplexores  de  dos  vías.  (c)  Símbolo  lógico.

Seleccionar  entradas
w
S1 S0
S1
X

S0 afuera

X
z
afuera
eE
  sadsaor tt na d

(b)
y

S1 S0

z
w

(a)
X
afuera

(C)

La  salida  es  igual  a  la  entrada  w  si  las  entradas  seleccionadas  (S1,  S0)  son  00,  x  si  son
01,  y  si  son  10,  y  z  si  son  11.  El  circuito  es  muy  similar  al
del  decodificador,  con  una  puerta  AND  para  cada  combinación  de  entrada  seleccionada.
Algunos  multiplexores  también  tienen  entradas  de  habilitación,  de  modo  que  out  es  0  a  menos  que  el
habilitar  está  activo.

Si  las  entradas  constan  de  un  conjunto  de  números  de  16  bits  y  las  entradas  de  control
elegir  cuál  de  estos  números  se  va  a  pasar,  entonces  necesitaríamos
16  multiplexores,  uno  para  cada  bit.  Podríamos  construir  16  de  los  circuitos  de  la  figura  5.12a,  
utilizando  64  compuertas  AND  de  tres  entradas  y  16  compuertas  OR  de  cuatro  entradas.
puertas  (Por  supuesto,  todas  las  compuertas  podrían  reemplazarse  por  compuertas  NAND).
Machine Translated by Google

5.4  Multiplexores  y  demultiplexores 271

La  alternativa  es  utilizar  un  decodificador  para  controlar  todos  los  multiplexores.  El
Los  primeros  3  bits  de  dicho  circuito  se  muestran  en  la  figura  5.13.
Todavía  hay  16  compuertas  OR  de  cuatro  entradas,  pero  ahora  las  compuertas  AND  en  el
los  multiplexores  requieren  solo  dos  entradas.  Hay,  por  supuesto,  4  de  dos  entradas
Y  puertas  en  el  decodificador.  El  total  es  entonces  68  puertas  de  dos  entradas  para  un  multiplexor  
de  16  bits.  Si  tuviéramos  que  implementar  esto  con  circuitos  integrados  de  la  serie  7400,  esta  
implementación  requeriría  17  paquetes  de  dos  puertas  AND  de  entrada  (cuatro  en  un  paquete),  
mientras  que  la  solución  anterior  requeriría
requieren  22  paquetes  de  compuertas  AND  de  tres  entradas  (tres  en  un  paquete).

Figura  5.13  Un  multiplexor  multibit.

S1 S0

Descifrador

3210

w0

X0
afuera0

y0

z0

w1

X1
afuera1

y1

z1

w2

X2
afuera2

y2

z2
Machine Translated by Google

272 Capítulo  5  Diseño  de  sistemas  combinacionales

Los  multiplexores  se  pueden  utilizar  para  implementar  funciones  lógicas.  Lo  más  simple
enfoque  es  usar  las  entradas  seleccionadas  para  hacer  un  decodificador  y  conectar  el
constantes  0  y  1  a  las  entradas  de  datos.

EJEMPLO  5.5 Una  función  de  tres  variables  se  puede  implementar  directamente  con  una  función  de  ocho
multiplexor  Las  tres  variables  van  a  las  entradas  de  control.  La  tabla  de  verdad  para
la  función  se  conecta  entonces  a  las  entradas  de  datos.
Para  f  (a,  b,  c)  =  m(0,  1,  2,  5),  la  tabla  de  verdad  es

abc

0  0  0  1
0  0  1  1
0  1  0  1
0  1  1  0
1  0  0  0
1  0  1  1
1  1  0  0
1  1  1  0

Con  un  mux,  sería  implementado  por

a b C

1
1
1
0
F
0
1
0
0

También  podríamos  usar  un  multiplexor  de  cuatro  vías.  Para  hacer  esto,  reescribiríamos  el
tabla  de  verdad  de  la  siguiente  manera.

F
abdominales c  =  0 fc  =  1
0  0   1
0  1   1   C
1  0   1   C
1  1 1  0  0 0  1  0 0
Machine Translated by Google

5.4  Multiplexores  y  demultiplexores 273

Primero,  tomamos  la  tercera  variable,  c  (podría  haber  sido  cualquiera  de  ellas),  
e  hicimos  una  columna  de  salida  para  c  =  0  y  otra  para  c  =  1.  Luego,  
considerando  cada  fila,  creamos  una  sola  columna  de  salida  que  era  una  función  
de  c.  Para  la  primera  fila,  f  =  1  para  c  =  0  y  c  =  1;  por  lo  tanto,  f  =  1.  Para  la  
segunda  fila,  f  =  c  ya  que  f  es  solo  1  cuando  c  =  0.  Esto  lleva  a  la  siguiente  implementación.

a b

C
F

Describiremos  brevemente  tres  de  los  paquetes  multiplexores  comercialmente  
disponibles.  El  74151  es  un  multiplexor  de  ocho  vías  y  1  bit  con  una  entrada  de  
habilitación  baja  activa,  EN,  y  una  salida  no  complementada  (alta  activa)  y  
complementada  (baja  activa).  Las  entradas  de  datos  están  etiquetadas  de  A7  a  A0  
(correspondientes  a  la  selección  binaria)  y  las  salidas  son  Y  e  Y.  Las  entradas  de  
selección  están  etiquetadas  como  S2,  S1  y  S0,  en  ese  orden.
El  74153  contiene  dos  multiplexores  (dobles)  de  cuatro  vías,  A  y  B,  cada  uno  
con  su  propia  habilitación  baja  activa  (ENA  y  ENB).  Las  entradas  al  primero  están  
etiquetadas  de  A3  a  A0  y  su  salida  es  YA;  las  entradas  al  segundo  son  B3  a  B0,  con  
salida  YB.  Hay  dos  líneas  de  selección  (etiquetadas  S1  y  S0).  La  misma  señal  de  
selección  se  utiliza  para  ambos  multiplexores.  Esto  proporcionaría  2  bits  de  multiplexor  
para  elegir  entre  cuatro  palabras  de  entrada.
El  74157  contiene  cuatro  (cuádruples)  multiplexores  de  dos  vías,  con  una  
habilitación  baja  activa  común  (EN)  y  una  sola  entrada  de  selección  común  (S).  Los  
multiplexores  están  etiquetados  como  A,  B,  C  y  D,  con  entradas  A0  y  A1  y  salida  YA  
para  el  primer  multiplexor.  Esto  proporciona  4  bits  de  un  sistema  de  selección  
bidireccional.
Un  demultiplexor  (demux)  es  el  inverso  de  un  mux.  Enruta  una  señal  de  un  lugar  
a  uno  de  muchos.  La  figura  5.14  muestra  un  bit  de  un  demultiplexor  de  cuatro  vías,  
donde  a  y  b  seleccionan  en  qué  dirección  se  dirige  la  señal  de  entrada.  El  circuito  
es  el  mismo  que  para  un  decodificador  de  cuatro  vías  con  la  señal  en  sustitución  de  EN.
Machine Translated by Google

274 Capítulo  5  Diseño  de  sistemas  combinacionales

Figura  5.14  Demux  de  cuatro  vías.
en a b

afuera
0

afuera
1

afuera
2

afuera
3

[ES  10,  11,  12;  EX  12,  13,  14;  LABORATORIO]

5.5  PUERTAS  DE  TRES  ESTADOS
Hasta  este  punto,  asumimos  que  todos  los  niveles  lógicos  eran  0  o  1.
De  hecho,  también  encontramos  valores  no  importan,  pero  en  cualquier  circuito  real
implementación,  cada  uno  no  importa  tomó  el  valor  0  o  1.  Además,  nunca  conectamos  la  salida  
de  una  puerta  a  la  salida  de  otra
puerta,  ya  que  si  las  dos  puertas  estuvieran  produciendo  valores  opuestos,  habría
ser  un  conflicto.  (En  algunas  tecnologías,  es  posible  conectar  la  salida
de  dos  compuertas  AND  y  lograr  un  "AND  cableado"  o  un  "OR  cableado",  pero  en
otros,  existe  una  posibilidad  real  de  que  una  o  más  de  las  puertas  sean
destruido.  Por  lo  tanto,  no  hemos  sugerido  esta  opción  en  nada  de  lo  que  hemos
discutido  hasta  ahora.)
Se  han  utilizado  algunas  técnicas  de  diseño  que  nos  permiten  conectar
salidas  entre  sí.  El  más  utilizado  hoy  en  día  se  denomina
Figura  5.15  Un  búfer  de  tres  estados. como  puertas  de  salida  de  tres  estados  (o  triestado).  (No  discutiremos  otras  implementaciones  
similares,  como  puertas  de  transmisión  y  colector  abierto).
ES a F puertas.)
En  una  puerta  de  tres  estados,  hay  una  entrada  de  habilitación,  que  se  muestra  en  el  lado  de
00 Z la  puerta  Si  esa  entrada  está  activa  (podría  ser  activa  alta  o  activa  baja),  la
ES puerta  se  comporta  como  de  costumbre.  Si  la  entrada  de  control  está  inactiva,  la  salida  se  
0 1 Z
comporta  como  si  no  estuviera  conectada  (como  un  circuito  abierto).  Esa  salida  generalmente  
01 0 a F
se  representa  con  una  Z.  La  tabla  de  verdad  y  la  representación  del  circuito  de  un  búfer  de  tres  
estados  (con  una  habilitación  alta  activa)  se  muestra  en  la  figura  5.15.
111
Machine Translated by Google

5.5  Puertas  de  tres  estados 275

Existen  búferes  de  tres  estados  con  habilitaciones  bajas  activas  y/o  salidas;  en  el  
último  caso,  es  una  puerta  NOT  de  tres  estados.  Las  salidas  de  tres  estados  también  
existen  en  otras  puertas  más  complejas.  En  cada  caso,  se  comportan  normalmente  
cuando  la  habilitación  está  activa  y  producen  una  salida  de  circuito  abierto  cuando  no  lo  está.
Con  puertas  de  tres  estados,  podemos  construir  un  multiplexor  sin  la  puerta  OR.
Por  ejemplo,  el  circuito  de  la  figura  5.16  es  un  multiplexor  de  dos  vías.  La  habilitación   Figura  5.16  Un  multiplexor  que  usa  
es  la  entrada  de  control,  determinando  si  fa  (EN  0)  o  fb  (EN  1).  La  puerta  de  tres   puertas  de  tres  estados.
estados  se  usa  a  menudo  para  señales  que  viajan  entre  sistemas.
a

Un  bus  es  un  conjunto  de  líneas  a  través  de  las  cuales  se  transfieren  datos.  A  
ES F
veces,  esos  datos  pueden  viajar  en  cualquier  dirección  entre  dispositivos  ubicados  
físicamente  a  distancia.  El  bus  en  sí  es  realmente  solo  un  conjunto  de  multiplexores,   b
uno  para  cada  bit  del  conjunto.

EJEMPLO  5.6
Los  siguientes  circuitos  muestran  un  poco  de  dos  implementaciones  del  bus:  una  que  usa  
puertas  AND  y  OR  y  la  otra  que  usa  puertas  de  tres  estados.

Sistema Sistema
A A

Permitir A
Permitir A

Permitir B
Permitir B

Sistema Sistema
B B

(a)  Uso  de  compuertas  AND/OR (b)  Uso  de  puertas  de  tres  estados

La  principal  diferencia  son  los  dos  cables  largos  por  bit  entre  los  sistemas  para  el  multiplexor  
AND­OR  en  comparación  con  solo  uno  para  la  versión  de  tres  estados.
La  diferencia  es  aún  mayor  si  lo  que  se  transfiere  entre  sistemas  son  palabras  de  32  bits.  En  
ese  caso,  habría  32  multiplexores.  El  sistema  AND­OR  requeriría  64  cables  entre  sistemas,  
mientras  que  la  versión  de  tres  estados  requeriría  solo  32.  Además,  si  la  señal  de  habilitación  
proviniera  de  uno  de  los  sistemas  (en  lugar  de  generarse  internamente  en  cada  uno),  eso  
solo  agregaría  uno  cable,  sin  importar  cuán  largas  sean  las  palabras.
Machine Translated by Google

276 Capítulo  5  Diseño  de  sistemas  combinacionales

Cuando  discutimos  los  arreglos  de  puertas,  tanto  en  este  capítulo  como  en  el  Capítulo  8,
Veremos  que  muchos  sistemas  tienen  buffers  de  salida  de  tres  estados.

5.6  ARREGLOS  DE  PUERTAS*:  ROM,  
PLA  Y  PAL
Los  arreglos  de  puertas  son  un  enfoque  para  la  implementación  rápida  de  sistemas  bastante  
complejos.  Vienen  en  varias  variedades,  pero  todos  tienen  mucho  en  común.  El  concepto  
básico  se  ilustra  en  la  Figura  5.17  para  un  sistema  con  tres  entradas  y  tres  salidas  donde  las  
líneas  discontinuas  indican  posibles  conexiones.  (Esto  es  mucho  más  pequeño  que  la  mayoría  
de  los  arreglos  de  puertas  reales).

Figura  5.17  Estructura  de  un  arreglo  de  puertas.

*Un  término  más  general  es  un  dispositivo  lógico  programable  (PLD).  Eso  incluye  todos  estos,  así  como  
dispositivos  que  incluyen  matrices  de  puertas  y  memoria.  El  término  matriz  de  puertas  programables  
en  campo  (FPGA)  también  se  usa  comúnmente  para  tales  dispositivos.
Machine Translated by Google

5.6  Conjuntos  de  puertas:  ROM,  PLA  y  PAL 277

Lo  que  estos  dispositivos  implementan  son  expresiones  SOP.  (En  este  caso,  tres
Se  pueden  implementar  funciones  de  tres  variables.  Sin  embargo,  dado  que  hay
son  sólo  seis  compuertas  AND,  un  máximo  de  seis  términos  de  productos  diferentes  pueden  ser
utilizado  para  las  tres  funciones.)  La  matriz  solo  requiere  sin  complementar
entradas;  hay  un  circuito  interno  que  produce  el  complemento.

El  siguiente  circuito  muestra  la  implementación  de EJEMPLO  5.7a

fab  abc
g  abc  ab  bc
h  ab  c

utilizando  una  matriz  de  este  tipo,  donde  las  líneas  continuas  muestran  las  conexiones  reales.

a b C

abdominales

a  B  C

a  B  C

abdominales

antes  de  Cristo

F gramo h
Machine Translated by Google

278 Capítulo  5  Diseño  de  sistemas  combinacionales

Dos  cosas  deben  ser  notadas  en  este  diagrama.  Primero,  la  salida  de  AND
puerta  que  produce  el  está  conectado  a  las  entradas  de  dos  de  los  OR
abdominales

Ce,l  término  que  no
puertas  Eso  es  simplemente  compartir  el  término.  En  segundo  lugar,  
requiere  una  puerta  en  una  implementación  de  puerta  NAND  (o  en  una  implementación  
AND/OR),  requiere  un  término  en  una  matriz  lógica.  No  hay  otra  forma  de  llegar C

La  salida.

Esta  versión  del  diagrama  es  bastante  engorrosa,  particularmente  porque
el  número  de  entradas  y  el  número  de  puertas  aumentan.  Así,  más  que
mostrando  todos  los  cables,  generalmente  solo  se  muestra  una  sola  línea  de  entrada  para
cada  puerta,  con  X  o  puntos  que  se  muestran  en  la  intersección  donde  una  conexión
está  hecho.  Por  lo  tanto,  el  circuito  anterior  se  puede  volver  a  dibujar  como  en  el  ejemplo  5.7b.

EJEMPLO  5.7b
a b C

abdominales

a  B  C

a  B  C

abdominales

antes  de  Cristo

F gramo h
Machine Translated by Google

5.6  Conjuntos  de  puertas:  ROM,  PLA  y  PAL 279

A  veces,  las  puertas  AND  y  OR  no  se  muestran  pero  se  entienden.
(Veremos  ejemplos  de  esto  en  breve).
Hay  tres  tipos  comunes  de  arreglos  lógicos  combinacionales.  (Discutiremos  
aquellos  con  memoria  en  el  Capítulo  8.)  El  tipo  más  general  (el  que  hemos  ilustrado  
hasta  ahora)  es  el  Arreglo  Lógico  Programable  (PLA).  En  el  PLA,  el  usuario  especifica  
todas  las  conexiones  (tanto  en  la  matriz  AND  como  en  la  matriz  OR).  Por  lo  tanto,  
podemos  crear  cualquier  conjunto  de  expresiones  SOP  (y  compartir  términos  
comunes).  El  segundo  tipo  es  la  memoria  de  sólo  lectura  (ROM).
En  una  ROM,  la  matriz  AND  es  fija.  Es  solo  un  decodificador,  que  consta  de  2n  
puertas  AND  para  una  ROM  de  n  entradas.  El  usuario  solo  puede  especificar  las  
conexiones  a  la  puerta  OR.  Por  lo  tanto,  produce  una  solución  de  suma  de  términos  
mínimos.  El  tercer  tipo  es  la  lógica  de  matriz  programable  (PAL),  donde  se  especifican  
las  conexiones  a  las  puertas  OR;  el  usuario  puede  determinar  las  entradas  de  la  puerta  AND.
Cada  término  de  producto  se  puede  usar  solo  para  una  de  las  sumas.  Discutiremos  
cada  uno  de  estos  con  más  detalle  en  las  secciones  que  siguen.
En  cada  caso,  primero  se  fabrica  la  matriz  base  y  luego  se  agregan  las  
conexiones.  Una  opción  es  que  el  fabricante  los  agregue  en  las  especificaciones  del  
usuario.  También  hay  versiones  programables  en  campo ,  donde  el  usuario  puede  
ingresar  las  conexiones  utilizando  un  dispositivo  de  programación  especial.  El  
concepto  detrás  de  los  dispositivos  programables  en  campo  es  incluir  un  fusible  en  
cada  línea  de  conexión.  Si  el  usuario  no  quiere  la  conexión,  quema  el  fusible.  (Un  
fusible  quemado  produce  una  entrada  1  en  las  compuertas  AND  y  una  entrada  0  en  
las  compuertas  OR.  Ese  fusible  puede  ser  electrónico,  en  cuyo  caso  puede  
restablecerse).  Esto  suena  más  complicado  y  consume  más  tiempo  de  lo  que  es;  el  
dispositivo  de  programación  hace  todo  esto  automáticamente  a  partir  de  entradas  
que  describen  la  matriz  deseada.  Esta  idea  se  lleva  un  paso  más  allá  en  el  caso  de  
las  ROM;  hay  memorias  borrables  programables  de  solo  lectura  (EPROM).  (Esto  
suena  como  un  oxímoron,  tener  un  dispositivo  de  solo  lectura  grabable,  pero  existen).  
Un  tipo  de  fusible  se  puede  restablecer  exponiendo  el  dispositivo  a  la  luz  ultravioleta  
durante  varios  minutos;  otro  tipo  se  puede  restablecer  electrónicamente.

Además  de  la  lógica  que  se  muestra  arriba,  muchos  dispositivos  programables  
en  campo  hacen  que  la  salida  esté  disponible  en  forma  activa  alta  o  activa  baja.  (Por  
activo  bajo,  realmente  nos  referimos  al  complemento  de  la  salida,  es  decir,  f  en  lugar  
de  f).  Esto  solo  requiere  una  puerta  OR  exclusiva  en  la  salida  con  la  capacidad  de  
programar  una  de  las  entradas  a  0  para  f  y  a  1  para  f.  La  lógica  de  salida  para  tal  
caso  se  muestra  en  la  Figura  5.18.

Figura  5.18  Un  circuito  de  salida  
programable.
0  o  1

F 0 F
F F 1 F
Machine Translated by Google

280 Capítulo  5  Diseño  de  sistemas  combinacionales

Algunos  dispositivos  programables  tienen  un  búfer  de  tres  estados  en  la  salida,  
que  puede  habilitarse  mediante  una  línea  de  entrada  de  habilitación  o  una  de  las  
puertas  lógicas  AND.  Esto  permite  que  la  salida  se  conecte  fácilmente  a  un  bus.
A  veces,  la  salida  se  retroalimenta  como  otra  entrada  a  la  matriz  AND.
Esto  permite  una  lógica  de  más  de  dos  niveles  (más  comúnmente  en  PAL,  como  
veremos  más  adelante).  También  permite  que  la  salida  se  use  como  entrada  en  lugar  
de  como  salida,  si  se  agrega  una  puerta  de  salida  de  tres  estados,  como  se  muestra  
en  la  figura  5.19.

Figura  5.19  Salida  de  tres  estados.

Y  matriz ES

Salir  en

Tenga  en  cuenta  que  si  la  compuerta  de  tres  estados  está  habilitada,  se  
establece  la  conexión  desde  el  arreglo  OR  a  la  salida  y  de  regreso  como  entrada  al  
arreglo  AND.  Si  la  compuerta  de  tres  estados  no  está  habilitada,  la  lógica  asociada  
con  ese  OR  se  desconecta  y  esta  salida/entrada  se  puede  usar  como  una  entrada  
más  para  la  matriz  AND.

5.6.1  Diseño  con  memorias  de  solo  lectura
Para  diseñar  un  sistema  usando  una  ROM,  solo  necesita  tener  una  lista  de  
minitérminos  para  cada  función.  Una  ROM  tiene  una  puerta  AND  para  cada  
minitérmino;  conecta  las  puertas  minterm  apropiadas  a  cada  salida.  Este  es  realmente  
el  mismo  tipo  de  circuito  que  la  implementación  del  decodificador  de  una  expresión  
de  suma  de  productos  presentada  en  el  Ejemplo  5.3.

EJEMPLO  5.8 W(A,  B,  C,  D) m(3,  7,  8,  9,  11,  15)  


X  (A,  B,  C,  D) m(3,  4,  5,  7,  10,  14,  15)  
Y  (A,  B,  C,  D) m(1,  5,  7,  11,  15)

Las  filas  de  la  ROM  están  numeradas  (en  orden)  del  0  al  15  para  la  ROM  de  cuatro  entradas  
que  se  muestra  aquí.  Luego  se  coloca  una  X  o  un  punto  en  la  intersección  apropiada.  En  
el  siguiente  circuito,  las  conexiones  que  se  muestran  como  X  están  integradas  en  la  ROM;  
el  usuario  suministró  los  que  se  muestran  como  puntos  para  implementar  las  funciones  
anteriores.
Machine Translated by Google

5.6  Conjuntos  de  puertas:  ROM,  PLA  y  PAL 281

A B CD

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

W X Y

A  pesar  de  la  terminología,  es  decir,  referirse  a  este  dispositivo  como  una  
memoria,  en  realidad  es  un  dispositivo  de  lógica  combinacional,  como  se  usa  en  un  circuito.
Las  salidas  son  solo  una  función  de  las  entradas  presentes.  En  el  Capítulo  8,  veremos  
dispositivos  programables  que  sí  tienen  memoria.  Las  ROM  programables  comerciales  
típicas  tienen  de  8  a  12  entradas  y  de  4  a  8  salidas.

5.6.2  Diseño  con  arreglos  lógicos  programables

Para  diseñar  un  sistema  utilizando  un  PLA,  solo  necesita  encontrar  expresiones  SOP  
para  las  funciones  que  se  implementarán.  La  única  limitación  es  el  número  de  
compuertas  AND  (términos  del  producto)  que  están  disponibles.  Cualquier  expresión  
SOP  para  cada  una  de  las  funciones  servirá,  desde  solo  una  suma  de  minitérminos  a  
una  que  minimice  cada  función  individualmente  a  una  que  maximice  el  intercambio  
(usa  las  técnicas  de  la  Sección  3.6).

Considere  el  mismo  ejemplo  que  usamos  para  ilustrar  el  diseño  de  la  ROM: EJEMPLO  5.9

W(A,  B,  C,  D) m(3,  7,  8,  9,  11,  15)  
X(A,  B,  C,  D) m(3,  4,  5,  7,  10,  14,  15)  
Y(A,  B,  C,  D) m(1,  5,  7,  11,  15)
Machine Translated by Google

282 Capítulo  5  Diseño  de  sistemas  combinacionales

El  primer  conjunto  de  mapas  muestra  la  solución  considerando  estos  como  individuales
funciones  X  e  Y  tienen  dos  soluciones.

AB AB AB
CD 00 01 11 10 CD 00  01 11 10 CD 00 01 11 10

00 1 00 1 00

01 1 01 1 01 11

11 1  111 11 1 1 1 11 111

10 10 1 1 10

WX Y

W  ABC  CD
Y  ABC  ACD  ACD  {BCD  o  ABC}
Z  ACD  ACD  {ABD  o  BCD}

Si  elegimos  BCD  para  Y  y  Z,  esta  solución  requiere  ocho  términos.
De  lo  contrario,  requiere  nueve  términos.
Podemos  usar  menos  términos,  tratando  esto  como  un  problema  de  salida  múltiple,
como  se  muestra  en  los  siguientes  mapas:

AB AB AB
CD 00 01 11 10 CD 00  01 11 10 CD 00 01 11 10

00 1 00 1 00

01 1 01 1 01 11

11 1  111 11 1 1 1 11 111

10 10 1 1 10

WX Y

W  ABC  ACD  ACD
X  ABC  ACD  ACD  BCD
Y  ACD  ACD  BCD

Esta  solución  solo  usa  siete  términos  en  lugar  de  ocho  o  nueve.
El  siguiente  PLA  muestra  ambas  soluciones.  En  el  primer  conjunto  de  salida
columnas,  mostramos  la  primera  solución.  Se  utilizan  los  primeros  ocho  términos  o  el
Machine Translated by Google

5.6  Conjuntos  de  puertas:  ROM,  PLA  y  PAL 283

El  término  BCD  ( puntos  marrones)  se  puede  reemplazar  por  ABC  en  X  y  ABD  en  Z  (como
se  muestra  con  X),  usando  un  total  de  nueve  términos.  En  la  segunda  solución,  no  se  utiliza  
el  segundo  término,  CD ;  solo  se  necesitan  siete  términos  de  producto.  Si  el  EPL
a  utilizar  es  tan  grande  como  el  que  se  muestra,  no  importa  qué  solución  sea
elegido.

A B CD

A  B  C
CD
A  B  C
DCA
DCA
BCD
DCA
DCA
A  B  C
ABD

W X Y W X Y

EJEMPLO  5.10
Veremos  otro  ejemplo  para  ilustrar  lo  que  sucede  cuando  hay
un  término  con  un  solo  literal.  En  el  Ejemplo  3.38  (Sección  3.6),  vimos  el
siguientes  mapas:

AB AB AB
CD 00 01 11 10 CD 00  01 11 10 CD 00 01 11 10

00 1 00 00 1

01 111 01 1 01 1 1

11 1 111 11 1 1 1 1 11 1 1

10 1 1 10 1 1 1 1 10 1 1

FGH

Elegimos  el  grupo  de  ocho,  C  por  G,  porque  no  requería  una  puerta  AND
y  usó  solo  una  entrada  al  OR.  En  un  PLA,  sin  embargo,  incluso  un  solo  literal
término  requiere  una  puerta,  y  no  estamos  contando  las  entradas  de  la  puerta.  Podríamos  reducir
Machine Translated by Google

284 Capítulo  5  Diseño  de  sistemas  combinacionales

la  cantidad  de  términos  necesarios  al  usar  BC  BC  para  G,  ya  que  se  requería  BC  
para  F  y  BC  para  H.  Por  lo  tanto,  cualquier  conjunto  de  columnas  de  salida  en  el  
siguiente  diagrama  PLA  sería  una  solución.  Tenga  en  cuenta  que  el  término  C  
solo  se  usa  en  la  primera  implementación;  el  segundo  requiere  un  término  menos.

A B CD

antes  de  Cristo

A  B  C
ABD
ABD
antes  de  Cristo

FGH  FGH

Un  PLA  típico  disponible  comercialmente  (PLS100)  tiene  16  entradas,  48  
términos  de  productos  y  8  salidas.  Cada  salida  es  programable  para  estar  activa  alta  
o  baja  y  tiene  un  búfer  de  tres  estados,  controlado  por  una  entrada  de  activación  baja  
activa  común.  Tenga  en  cuenta  que  esto  es  menos  de  una  milésima  parte  del  número  
de  términos  de  producto  que  se  requerirían  para  una  ROM  con  16  entradas.

5.6.3  Diseño  con  lógica  de  matriz  programable

En  un  PAL,  cada  salida  proviene  de  un  OR  que  tiene  su  propio  grupo  de  puertas  AND  
conectadas.  El  diseño  de  un  PAL  pequeño  se  muestra  en  la  Figura  5.20.
Para  este  PAL,  hay  seis  entradas  y  cuatro  salidas,  y  cada  puerta  OR  tiene  cuatro  
términos  de  entrada.  Cuando  se  usa  un  PAL,  la  salida  de  cada  puerta  AND  va  a  un  
solo  OR.  Por  lo  tanto,  no  hay  términos  compartidos  y  resolveríamos  cada  función  
individualmente.  Sin  embargo,  la  mayoría  de  los  PAL  proporcionan  la  posible  
retroalimentación  de  algunas  o  todas  las  salidas  a  una  entrada.  A  veces  esto  es  
interno,  es  decir,  la  salida  de  algunas  de  las  compuertas  OR  está  disponible  como  
otra  entrada  para  todas  las  compuertas  AND.  En  otros  casos,  se  realiza  una  conexión  
externa  (como  se  indica  en  el  Ejemplo  5.12).  Esto  permite  más  términos  (más  de
Machine Translated by Google

5.6  Conjuntos  de  puertas:  ROM,  PLA  y  PAL 285

Figura  5.20  A  PAL.

cuatro  en  este  ejemplo)  en  una  expresión  de  suma  de  productos,  o  para  expresiones  
que  no  son  suma  de  productos,  o  para  compartir  un  grupo  de  términos.  Muchos  PAL  
tienen  un  búfer  de  tres  estados  en  la  salida  (antes  de  la  retroalimentación  a  las  
entradas),  lo  que  permite  que  esa  salida  también  se  use  como  entrada.
Machine Translated by Google

286 Capítulo  5  Diseño  de  sistemas  combinacionales

EJEMPLO  5.11 Primero  volveremos  al  ejemplo  que  usamos  para  ROM  y  PLA,  a  saber,
W  ABC  CD
X  ABC  ACD  ACD  {BCD  o  ABC}
Y  ACD  ACD  {ABD  o  BCD}

No  hay  razón  para  considerar  compartir.  Eligiendo  el  primero  de  cada  uno  de  los  
términos  opcionales,  la  implementación  es

A  B  C  D

Y
Machine Translated by Google

5.6  Conjuntos  de  puertas:  ROM,  PLA  y  PAL 287

EJEMPLO  5.12
Como  ejemplo  de  un  sistema  donde  la  retroalimentación  es  útil,  considere  las  funciones
se  muestra  en  los  siguientes  mapas:

abdominales abdominales abdominales

cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10

00 1 1 00 1 00 1

01 11 1 01 11 1 01 11 1

11 11 1 11

10 11 10 1 1 10 1 1 1

F gramo h

Nótese  que  los  tres  términos  marrones  son  implicantes  primos  esenciales  de  cada  
función;  los  otros  dos  no  lo  son.  Esto  da  como  resultado  las  siguientes  ecuaciones:

f  abc  acd  bcd  abd  bcd
g  abc  acd  bcd  abc  acd
h  abc  acd  bcd  acd  bcd

(Esta  solución  se  obtuvo  considerando  cada  función  individualmente.  Si
tratamos  esto  como  un  problema  de  salida  múltiple,  usaríamos  el  término  abcd  en
tanto  g  como  h,  en  lugar  de  acd  en  g  y  bcd  en  h.  Eso  reduciría  la
número  de  términos  diferentes  en  la  solución  algebraica,  pero  no  cambiaría
número  de  puertas  utilizadas  en  PAL.)  La  implementación  de  PAL  se  muestra  en
el  siguiente  circuito.  Los  primeros  tres  términos  se  implementan  en  el  primer  OR
compuerta,  cuya  salida,  t,  se  retroalimenta  a  la  entrada  de  uno  de  los  AND
puertas  en  cada  uno  de  los  otros  tres  circuitos.  Tenga  en  cuenta  que  la  cuarta  puerta  AND  de
el  circuito  t  tiene  tanto  a  como  a  conectados  en  su  entrada.  Obviamente,  la  salida
de  esa  puerta  AND  es  0.  Algunas  implementaciones  requieren  que  el  usuario  se  conecte
puertas  AND  no  utilizadas  de  esa  manera.  (No  hicimos  eso  para  los  otros  no  utilizados
Y  puertas.)
Machine Translated by Google

288 Capítulo  5  Diseño  de  sistemas  combinacionales

un  bcd  t

gramo

[ES  13,  14;  Ej.  15,  16,  17]
Machine Translated by Google

5.7  Prueba  y  simulación  de  sistemas  combinacionales 289

5.7  PRUEBA  Y  SIMULACIÓN  DE
SISTEMAS  COMBINACIONALES
Después  de  diseñar  un  sistema,  es  necesario  probarlo  para  asegurarse  de  que  cumple
lo  que  se  pretendía  hacer.  Para  un  sistema  pequeño,  esto  significa  aplicar  todas  las  combinaciones  
de  entrada  posibles  y  comparar  la  salida  con  lo  que  se  esperaba.
A  medida  que  los  sistemas  se  vuelven  un  poco  más  grandes,  ese  proceso  consume  mucho  tiempo.
Por  ejemplo,  si  estamos  probando  el  comportamiento  de  un  sumador  de  4  bits  (con  acarreo
entrada),  hay  29  combinaciones  de  entrada  para  probar.  Podemos  estar  seguros  de  que  funciona.
probando  muchos  menos  conjuntos  de  entrada,  siempre  y  cuando  tengamos  cuidado  de  asegurarnos  de  que

se  prueban  todas  las  partes  del  circuito  (cada  circuito  de  suma  y  cada  circuito  de  acarreo).
Al  construir  un  sistema  grande,  a  menudo  es  necesario  dividirlo  en
varios  sistemas  más  pequeños  y  diseñar  y  probar  cada  subsistema  por  separado.
Si  está  construyendo  una  gran  cantidad  de  un  sistema  en  particular,  debería
normalmente  se  diseña  un  circuito  integrado.  Antes  de  comprometerse  con  ese  diseño,
debe  probar  el  diseño,  ya  sea  construyendo  un  circuito  utilizando
componentes  o  simularlo.

5.7.1  Introducción  a  Verilog
La  mayor  parte  del  diseño  de  sistemas  digitales  significativos  se  realiza  con  ayuda  de  computadora.
herramientas.  Permiten  al  usuario  especificar  el  comportamiento  del  sistema  o
la  estructura  del  sistema  (o  una  mezcla  de  los  dos)  usando  una  notación  similar  a  un  lenguaje  de  
programación.  Los  dos  sistemas  más  utilizados  son
Verilog  y  VHDL.  Tienen  muchas  similitudes,  pero  difieren  en  detalles.  En
En  esta  sección,  mostraremos  ejemplos  de  código  Verilog,  tanto  estructural  como
conductual,  pero  una  discusión  adecuada  para  permitir  que  el  usuario  diseñe  usando
cualquier  HDL  está  más  allá  del  alcance  de  este  libro.*
Primero  ilustraremos  una  descripción  estructural  de  Verilog,  usando  el
sumador  discutido  por  primera  vez  en  el  ejemplo  2.34  y  mostrado  aquí  como  figura  5.21.

Figura  5.21  Un  sumador  completo.

a w1
X 1
b X2 s
C

w3
norte 1

norte 3 C_afuera

norte 2
w2

*Para  una  discusión  detallada  de  Verilog  o  VHDL,  consulte  Brown  y  Vranesic,  Fundamentos
de  lógica  digital  con  Verilog  Design,  2ª  ed.  McGraw­Hill,  2008  o  Brown  y  Vranesic,
Fundamentos  de  lógica  digital  con  diseño  VHDL,  3.ª  ed.  McGraw­Hill,  2009.
Machine Translated by Google

290 Capítulo  5  Diseño  de  sistemas  combinacionales

El  código  Verilog  correspondiente  (descripción)  se  muestra  en  la  Figura  5.22.

Figura  5.22  Descripción  estructural  Verilog  de  un  
sumador  completo.  módulo  full_adder  (c_out,  s,  a,  b,  
c);  entrada  a,  b,  c;  
cable  a,  b,  c;  
salida  c_out,  s;  cable  
c_out,  s;  alambre  
w1,  w2,  w3;  x  o  x1  
(w1,  a,  b);  x  o  x2  (s,  w1,  
c);  ny  n1  (w2,  a,  b);  ny  
n2  (w3,  w1,  c);  n  y  n3  
(c_out,  w3,  w2);

módulo  final

La  primera  línea  incluye  la  palabra  clave  módulo  seguida  del  nombre  del  módulo  
y  los  parámetros,  es  decir,  las  salidas  y  las  entradas.  Los  nombres  pueden  incluir  
caracteres  que  no  sean  espacios;  Verilog  distingue  entre  mayúsculas  y  
minúsculas,  es  decir,  x1  significa  algo  diferente  de  X1.  (El  símbolo  _  se  usa  para  
conectar  varios  nombres  de  palabras).  Cada  módulo  termina  con  la  instrucción  endmodule.
Las  declaraciones  dentro  de  Verilog  terminan  con  un  punto  y  coma  (;),  que  no  
sea  endmodule.  Debe  incluirse  una  lista  de  entradas  y  salidas,  y  cada  salida  de  
puerta  debe  declararse  un  cable.  Structural  Verilog  incluye  la  mayoría  de  los  tipos  
de  puertas  estándar,  como  and,  or,  not,  nand,  nor,  xor.  Se  indican  enumerando  la  
palabra  clave  (como  xor),  un  nombre  único  para  cada  copia  de  ese  dispositivo,  su  
nombre  de  cable  de  salida  y  sus  entradas,  como  se  muestra  en  la  Figura  5.22.  
Las  conexiones  para  el  circuito  se  hacen  exactamente  como  en  la  figura  5.21.  El  
orden  en  que  se  escriben  las  declaraciones  lógicas  no  importa.  (Eso  no  es  cierto  
en  Verilog  conductual).
Se  puede  construir  un  sumador  de  4  bits  utilizando  el  sumador  completo  como  bloque  de  
construcción,  como  se  muestra  en  la  figura  5.23.  (Usaremos  un  sumador  completo  para  el  bit  
menos  significativo,  aunque  serviría  un  medio  sumador).

Figura  5.23  Un  sumador  
de  4  bits.  módulo  sumador_4_bit  (c,  suma,  a,  b);
entrada  a,  b;  
salida  c,  suma;  alambre  
[3:0]  a,  b,  suma;  cable  c0,  c1,  c2,  
c;  full_adder  f1  (c0,  sum[0],  
a[0],  b[0],  'b0);  sumador_completo  f2  (c1,  suma[1],  a[1],  b[1],  c0);  
sumador_completo  f3  (c2,  suma[2],  a[2],  b[2],  c1);  sumador_completo  f4  
(c,  suma[3],  a[3],  b[3],  c2);

módulo  final
Machine Translated by Google

5.7  Prueba  y  simulación  de  sistemas  combinacionales 291

En  este  ejemplo  aparece  alguna  notación  adicional.  Los  cables  multibit  son
etiquetados  con  corchetes.  La  declaración  de  cable  [3:0]  a,  b,  sum  indica
que  cada  una  de  las  entradas  y  la  salida  de  suma  son  4  bits  (con  el  número  
más  alto  a  la  izquierda.  Cuando  se  usa  un  módulo,  como  full_adder,  el  orden  de
los  parámetros  es  lo  que  importa,  no  el  nombre.  Por  lo  tanto,  la  primera  copia  de  la  completa
el  sumador  suma  los  bits  menos  significativos,  a[0]  y  b[0],  con  un  0  en  el  acarreo
posición  (indicada  como  'b0,  donde  la  'b  indica  que  el  número  que  le  sigue  es  
binario).
Verilog  también  proporciona  la  descripción  del  comportamiento  de  un  sistema,
sin  especificar  los  detalles  de  la  estructura.  Este  suele  ser  el  primer  paso
en  el  diseño  de  un  sistema  complejo,  formado  por  varios  módulos.  El
La  descripción  del  comportamiento  de  cada  módulo  se  puede  completar  y  probar.  Eso
suele  ser  mucho  más  sencillo.  Una  vez  que  eso  funciona,  el  individuo
los  módulos  se  pueden  diseñar  y  describir  estructuralmente.  lo  estructural
La  descripción  puede  entonces  reemplazar  la  de  comportamiento,  un  módulo  a  la  vez.
Behavioral  Verilog  usa  una  notación  muy  similar  a  la  programación  en  C
idioma.  Los  operadores  matemáticos  normales  (como ,  *  y / ) ,
están  disponibles,  al  igual  que  los  operadores  lógicos  bit  a  bit  (no:  ~,  y:  &,  o:  |,
y  exclusivo  o:  ^).  Dos  descripciones  conductuales  de  Verilog  de  la  totalidad
sumador  se  muestran  en  la  figura  5.24.

Figura  5.24  Verilog  de  comportamiento  para  el  sumador  completo.

módulo  full_adder  (c_out,  s,  a,  b,  c);
entrada  a,  b,  c;
cable  a,  b,  c;
salida  c_out,  s;
registro  c_salida,  s;
siempre
comenzar
s  =  un ^ b ^

c_out  =  (a  &  b)  |  (a  &  c_en)  |  (b  &  c_en);
fin
módulo  final

(a)  Con  ecuaciones  lógicas.

módulo  full_adder  (c_out,  s,  a,  b,  c);
entrada  a,  b,  c;
cable  a,  b,  c;
salida  c_out,  s;
registro  c_salida,  s;
siempre
{c_fuera,  s} a  B  C;
módulo  final

(b)  Con  ecuaciones  algebraicas.
Machine Translated by Google

292 Capítulo  5  Diseño  de  sistemas  combinacionales

Tenga  en  cuenta  que  los  valores  establecidos  en  los  modelos  de  comportamiento  se  denominan  reg,  en  lugar  de
que  el  alambre.

5.8  EJEMPLOS  MÁS  GRANDES
En  esta  sección,  veremos  el  diseño  de  tres  sistemas  que  son  algo  más  grandes  que  
cualquiera  de  los  que  hemos  considerado  hasta  ahora.

5.8.1  Un  sumador  decimal  de  un  dígito
Queremos  diseñar  un  sumador  para  sumar  dos  dígitos  decimales  (más  un  acarreo),
donde  los  dígitos  se  almacenan  en  el  código  8421.  Este  sistema  tendría  nueve
entradas  (dos  dígitos  codificados  más  el  carry­in)  y  cinco  salidas  (el  dígito
y  la  comida  para  llevar).  En  lugar  de  tratar  de  resolver  un  problema  de  nueve  entradas,
puede  dividirlo  en  partes  más  pequeñas,  usando  el  sumador  binario  de  4  bits  que
ya  diseñado  (u  obtenido  en  un  solo  chip).  Asumiremos  que
nunca  ocurre  ninguna  de  las  entradas  no  utilizadas.
La  suma  decimal  se  puede  realizar  haciendo  primero  una  suma  binaria.
Entonces,  si  la  suma  es  mayor  que  9,  se  genera  un  acarreo  y  se  suma  6  a
este  dígito.  (Eso  es  para  compensar  las  seis  combinaciones  que  no  se  utilizan).
Por  ejemplo,

0 1 1

0011  3 0111 7 1000 8

0101  5 0101 5 1001 9


0  1000  8 0  1100  –  – 1  0010  1  2

suma  9 0110 6 0110 6


sin  corrección  1  0010  1  2 1  1000  1  8

Sumamos  los  dos  números  usando  un  sumador  binario  y  detectamos  si  el
sum  es  mayor  que  10.  Si  lo  es,  debemos  sumar  seis  (0110)  al  resultado.  A
diagrama  de  bloques  del  sumador  decimal,  utilizando  dos  sumadores  binarios,  se  muestra  en
Figura  5.25.
El  circuito  de  detección  de  acarreo  toma  la  salida  del  primer  sumador  (incluyendo
el  acarreo)  y  produce  una  salida  de  1  si  ese  número  es  mayor  que  9.  Eso
es  la  salida  de  acarreo  del  sumador  decimal,  así  como  el  indicador  de  corrección.  
Cuando  hay  una  salida,  se  suma  6  a  la  respuesta  de  la  primera
sumador;  de  lo  contrario,  se  suma  0.  Se  muestra  un  mapa  para  el  circuito  de  detección  de  acarreo
como  Mapa  5.2.
Machine Translated by Google

5.8  Ejemplos  más  grandes 293

Figura  5.25  Un  sumador  decimal.

As Bs Cen

4  bits Sumador

C s4 s3 s2 s 1

Llevar
Detectar

0 0
0

4  bits Sumador

Cafuera ignorado suma

Mapa  5.2  Detección  de  acarreo.

C
s4 s3 0 s4 s3   1
s2 s1 00 01 11 10 s2 s1 00 01 11 10

00 1 00 1 X X X

01 1 01 1 X X X

11 11 11 1 X X X

10 11 10 1 X X X

Cafuera cs 4 s3 s4 s2

5.8.2  Un  controlador  para  una  pantalla  de  siete  segmentos
En  el  Capítulo  2  (CE4),  presentamos  la  pantalla  de  siete  segmentos  comúnmente
Se  utiliza  para  dígitos  decimales.  Un  diagrama  de  bloques  de  ese  sistema  de  visualización  es
repetido  como  la  figura  5.26.
Machine Translated by Google

294 Capítulo  5  Diseño  de  sistemas  combinacionales

Figura  5.26  Pantalla  de  siete  segmentos  y  controlador.

a a
W b F b
X
Mostrar gramo

cd
Conductor
Y
mi
mi C
Z F

gramo
d

donde  las  líneas  continuas  representan  los  segmentos  a  encender  y  las  discontinuas  los  
segmentos  que  no  están  encendidos.  Para  los  dígitos  6,  7  y  9,  se  muestran  dos  
representaciones  alternativas  (es  decir,  un  segmento  de  cada  uno  puede  estar  iluminado  o  no).
Este  controlador  de  pantalla  es  un  problema  con  cuatro  entradas,  W,  X,  Y  y  Z  y  
siete  salidas,  a,  b,  c,  d,  e,  f  y  g.  Si,  de  hecho,  el  sistema  debe  mostrar  solo  un  dígito  
decimal  y  las  entradas  están  limitadas  solo  a  los  códigos  adecuados  para  esos  dígitos,  
entonces  solo  pueden  ocurrir  10  de  las  16  combinaciones  de  entrada  posibles.  Los  
demás  pueden  ser  tratados  como  si  no  les  importara.  En  la  Sección  2.1.2,  elegimos  
el  código  8421  (binario  directo)  para  representar  los  dígitos  decimales  y  mostramos  la  
tabla  de  verdad  bajo  el  supuesto  de  que  una  entrada  de  1  en  la  pantalla  haría  que  ese  
segmento  se  iluminara.  Aunque  esto  parece  una  suposición  natural,  hay  pantallas  
disponibles  que  requieren  un  0  en  la  entrada  de  un  segmento  para  iluminar  ese  segmento.
Hay  varios  enfoques  para  este  diseño.  Hay  convertidores  de  BCD  a  
siete  segmentos  disponibles,  como  el  7449,  que  podrían  usarse  para  este  
problema.  (También  hay  chips  que  producen  una  salida  baja  activa).
Podríamos  resolver  cada  uno  de  estos  como  funciones  individuales  (como  
en  la  Sección  3.3),  o  podríamos  tratarlos  como  problemas  de  múltiples  salidas,  
como  en  la  Sección  3.6.  También  podríamos  usar  una  ROM,  un  PLA  o  un  PAL  
para  completar  el  diseño.  Diseñaremos  la  solución  ROM  y  PLA  para  este  problema.
Resolver  cada  una  como  una  función  individual  es  muy  sencillo.
Hay  varios  implicantes  principales  que  se  pueden  compartir.  El  mínimo  se  
obtiene  eligiendo  una  de  las  múltiples  soluciones  para  g  que  aprovecha  
compartir.  Una  solución  mínima,  que  se  muestra  en  el  Mapa  5.3,  es
a  WY  XZ  XZ
b  X  YZ  YZ
c  XYZ
d  XZ  YZ  XY  XYZ
e  XZ  YZ
f  WX  YZ  g  W  XY  
XY  {XZ  o  YZ}
Machine Translated by Google

5.8  Ejemplos  más  grandes 295

Mapa  5.3  Controlador  de  pantalla  de  siete  segmentos.

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1X 00 11X 1

01 1 X 1 01 1 X 1
a b
11 1 1 X X 11 1 1 X 1

10 1 XXX 10 1 X 1

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 X 1 00 1 X 1

01 1 1 X 1 01 1 XX
C d
11 1 1 X X 11 1 XX

10 1 X X 10 1 1 XX

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 X 1 00 11 X 1

01 X 01 1 X 1
mi F

11 X X 11 X X X

10 1 1 X X 10 1 X X

WX
YZ 00 01 11 10

00 1 X 1

01 1 X 1
gramo

11 1 X X

10 11 X X
Machine Translated by Google

296 Capítulo  5  Diseño  de  sistemas  combinacionales

donde  los  términos  compartidos  se  muestran  en  marrón,  tostado  y  gris.  Hay
ocho  términos  únicos  que  requieren  puertas  (ya  que  los  términos  literales  únicos  no
requieren  una  puerta).  Por  lo  tanto,  esto  requeriría  un  total  de  15  puertas,  suponiendo  que  todas
las  entradas  están  disponibles  tanto  sin  complementar  como  complementadas.  (De  lo  contrario,  
se  requerirían  cuatro  compuertas  NOT  adicionales).  Si  se  implementaran  con  compuertas  
NAND  de  la  serie  7400,  entonces  usaríamos

Tipo  Número  Número  de  módulos Número  de  chip

2  pulgadas   8   2   7400


3  pulgadas   4   7410
4  pulgadas 3 1  2 7420

donde  solo  se  requiere  un  7410  ya  que  la  puerta  adicional  de  cuatro  entradas  sería
utilizado  como  la  cuarta  puerta  de  tres  entradas.  Si  tratamos  esto  como  un  problema  de  
múltiples  salidas,  podríamos  salvar  una  puerta  usando  XYZ  en  la  función  a  en  lugar  de  XZ.
Un  problema  más  interesante  (en  el  sentido  de  que  hay  más  de  una
ventaja  de  tratar  el  problema  como  uno  de  salidas  múltiples)  resulta  si
exigir  que  todos  los  segmentos  estén  apagados  si  el  código  no  es  uno  de  los  que  se  utilizan  para
un  dígito  decimal.  Los  mapas  para  esto,  con  las  soluciones  mínimas  en  un  círculo,
se  muestran  en  el  Mapa  5.4.  Todos  los  minitérminos  10  a  15  que  no  les  importan  tienen
convertirse  en  0.  (Al  no  le  importan  las  representaciones  alternativas  de  6,  7,
y  quedan  9.)  Los  implicantes  primos  compartidos  se  muestran  en  un  círculo  marrón,
bronceado  y  gris.  (Hay  múltiples  soluciones  para  varias  de  las  funciones;
se  muestra  el  que  proporciona  el  máximo  uso  compartido.)
Una  forma  de  mostrar  la  respuesta  se  muestra  en  la  Tabla  5.7,  con  una  fila  para
cada  término  del  producto  y  una  columna  para  cada  función.  Se  coloca  una  X  en  el
columna  si  ese  término  producto  se  usa  en  la  función.

Cuadro  5.7  Controlador  de  pantalla  de  siete  segmentos  (implicantes  principales  solamente).

abcdefg
XYZ  X XX
WXY X X X
WY X
WXZ X
WYZ X X
WX X
WYZ X
XY X X
WX X X
WZ X
WYZ XX  X
WXY X X
W  X  Y  Z X
WXY X
Machine Translated by Google

5.8  Ejemplos  más  grandes 297

Mapa  5.4  Controlador  de  pantalla  de  siete  segmentos  (individual).

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 1 1 1

01 1 1 01 1 1
a b
11 1 1 11 1 1

10 1 X 10 1

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 1 00 1 1

01 1 1 1 01 1 X
C d
11 1 1 11 1

10 1 10 1 1

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 11 1

01 01 1 1
mi F

11 11 X

10 11 10 1

WX
YZ 00 01 11 10

00 1 1

01 1 1
gramo

11 1

10 11
Machine Translated by Google

298 Capítulo  5  Diseño  de  sistemas  combinacionales

Las  expresiones  algebraicas  se  pueden  obtener  simplemente  haciendo  OR  de  los  términos
incluido  en  cada  función.  Podemos  contar  el  número  de  puertas  (una  para
cada  término,  es  decir,  cada  fila  y  uno  para  cada  columna  de  salida).  El  número  
de  entradas  de  puerta  también  es  fácil  de  calcular,  ya  que  solo  sumamos  el  número
de  literales  en  cada  término  y  el  número  de  X  en  cada  función  (correspondientes  
a  las  entradas  de  la  puerta  OR).  Para  este  ejemplo,  el  total  es  de  21  puertas  y
62  entradas  de  puerta.

A  continuación,  intentamos  resolver  esto  compartiendo  términos  siempre  que  sea  posible,
incluso  si  el  término  no  es  un  implicante  primo.  El  primer  lugar  obvio  está  en  un,
donde  el  implicante  primo  WXZ  puede  ser  reemplazado  por  el  término  WXYZ,  un
término  que  ya  necesitamos  para  d.  El  mapa  5.5  muestra  una  solución  mínima,  donde
los  términos  que  se  comparten  se  muestran  en  un  círculo  en  marrón,  tostado  y  gris.  Este
da  como  resultado  la  solución  de  la  tabla  5.8.

Tabla  5.8  Controlador  de  pantalla  de  siete  segmentos  (compartición  máxima).

abcdefg
XYZ  X XX
WXY  X X X
WXYZ  X X
WYZ  XXX
WXY  XX  X X
WYZ X X
XY X X
WX X X
WYZ XX  X
WXY X

Esta  solución  requiere  solo  10  términos  y,  por  lo  tanto,  17  puertas,  un  ahorro  de
4  puertas  y  54  entradas,  un  ahorro  de  8  entradas  de  puerta.  El  correspondiente
las  ecuaciones  son  por  lo  tanto

a  XYZ  WXY  WXYZ  WYZ  WXY
b  WYZ  WXY  WYZ  XY
c  WYZ  XY  WX
d  XYZ  WXYZ  WXY  WYZ
e  XYZ  WYZ

f  WXY  WYZ  WX
g  WXY  WXY  WYZ  WXY

Si  vamos  a  implementar  cada  uno  de  estos  con  puertas  NAND  de  la  serie  7400,
el  sistema  requeriría
Machine Translated by Google

5.8  Ejemplos  más  grandes 299

Mapa  5.5  Controlador  de  pantalla  de  siete  segmentos  (compartición  máxima).

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 1 1 1

01 1 1 01 1 1
a b
11 1 1 11 1 1

10 1 X 10 1

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 1 00 1 1

01 1 1 1 01 1 X
C d
11 1 1 11 1

10 1 10 1 1

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 11 1

01 01 1 1
mi F

11 11 X

10 11 10 1

WX
YZ 00 01 11 10

00 1 1

01 1 1
gramo

11 1

10 11
Machine Translated by Google

300 Capítulo  5  Diseño  de  sistemas  combinacionales

Individualmente Salida  múltiple
Número Número
Tipo  Número  de  chip  Número  de  módulos  Número  de  módulos
2  pulgadas   7400   6   2   3   1
3  pulgadas   7410   10   3   9   3
4  pulgadas   7420   5   3 4   2
8  pulgadas 7430 0 1 1
Total 21 8 17 7

Por  lo  tanto,  ahorramos  cuatro  puertas  y  un  módulo  al  tratar  esto  como  un  problema  de  
salida  múltiple.
Observe  que  estas  dos  soluciones  no  son  iguales.  El  primero  trata  el
no  importa  en  d  como  0  y  no  importa  en  ayf  como  1 ;  el  segundo  trata
el  no  importa  en  a  y  d  como  0  y  solo  el  de  f  como  1.
También  podríamos  implementar  este  problema  usando  la  ROM  que  se  muestra  en
Figura  5.27.  Tenga  en  cuenta  que  no  incluimos  ninguno  de  los  "no  importa";  nosotros
podría  haber  hecho  cualquiera  o  todos  ellos  1's.  Observe  que  esta  solución  no  es
igual  a  cualquiera  de  los  otros,  ya  que  cada  uno  de  ellos  trata  al  menos  uno  de
no  me  importa  como  1.

Figura  5.27  Implementación  de  ROM  del  controlador  de  pantalla  de  siete  segmentos.

WYZX

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

a bcdef  g
Machine Translated by Google

5.8  Ejemplos  más  grandes 301

Podríamos  implementar  este  sistema  con  el  PLA  de  la  figura  5.28  con  cuatro  
entradas,  siete  salidas  y  14  términos  de  productos.  Si  todo  lo  que  tuviéramos  fueran  
10  términos  de  producto,  entonces  debemos  usar  la  solución  mínima  que  encontramos  
para  la  implementación  de  NAND.  Si  tenemos  más  términos,  entonces  se  podría  
utilizar  una  solución  mínima  menor.

Figura  5.28  Implementación  PLA  del  controlador  de  pantalla  de  siete  segmentos.

WYZX

XYZ
WXY
W  X  Y  Z
WY  Z
WXY
WYZ
XY
WX
WY  Z
WX  Y

a bcdef  g
Si  quisiéramos  implementar  esto  con  un  PAL,  necesitaríamos  siete  puertas  OR  
(dos  de  los  circuitos  que  discutimos  en  la  sección  anterior).  Hay  una  serie  de  
variaciones  de  este  problema,  cada  una  de  las  cuales  crea  un  problema  totalmente  
nuevo.  Podríamos  requerir  0  para  iluminar  un  segmento,  en  cuyo  caso  se  debe  
encontrar  el  complemento  de  cada  una  de  estas  funciones.  Eso  crearía  un  conjunto  
completamente  nuevo  de  mapas.  Una  vez  más,  podríamos  exigir  que  las  condiciones  
no  utilizadas  se  apaguen,  o  podríamos  permitir  que  no  les  importe.  Podríamos  
especificar  la  forma  para  6,  7  y/o  9,  eliminando  así  los  no  importa.
Eso  cambiaría  un  poco  el  problema.  Podríamos  convertir  esto  en  una  pantalla  
hexadecimal,  en  cuyo  caso  los  últimos  seis  códigos  representarían  A,  B,  C,  D,  E  y  F.  
Finalmente,  uno  de  los  otros  códigos  podría  haberse  usado  para  los  dígitos  decimales,  
con  cada  de  las  variantes  descritas  anteriormente.  Algunos  de  estos  están  incluidos  
en  los  Problemas  y  Ejercicios  Resueltos.

5.8.3  Un  sistema  de  codificación  de  errores
Estamos  diseñando  dos  sistemas  que  se  utilizarán  junto  con  un  sistema  de  detección  
y  corrección  de  errores.  Cuando  los  datos  se  transmiten  (o
Machine Translated by Google

302 Capítulo  5  Diseño  de  sistemas  combinacionales

almacenado),  se  producen  errores.  Richard  Hamming  desarrolló  una  técnica  para  codificar  
datos  (agregando  dígitos  adicionales)  de  modo  que  se  pueda  corregir  un  solo  error  (es  
decir,  un  error  en  1  bit).  (Esto  se  puede  extender  a  la  detección  de  errores  dobles  e  incluso  
a  la  corrección  de  errores  múltiples).  Para  detectar  un  error  en  un  conjunto  de  bits,  se  
crea  un  bit  de  verificación  de  modo  que  el  número  total  de  1  en  la  palabra,  incluido  el  bit  
de  verificación,  sea  par.  *  Ese  bit  se  conoce  como  bit  de  paridad .  Si  se  comete  un  error,  
un  1  se  convertirá  en  0,  o  un  0  se  convertirá  en  1,  haciendo  que  el  número  total  de  1  sea  impar.
El  bit  de  paridad  se  puede  calcular  utilizando  la  función  OR  exclusiva  en  los  
bits  que  se  van  a  comprobar.  En  el  extremo  receptor,  los  bits  verificados  y  el  bit  
de  paridad  tienen  OR  exclusivo;  si  el  resultado  es  0,  se  supone  que  la  respuesta  
es  correcta.†  Para  la  corrección  de  errores,  se  requieren  múltiples  bits  de  paridad,  
cada  uno  de  los  cuales  verifica  un  conjunto  diferente  de  bits  de  información.  Los  
datos  están  codificados  de  tal  manera  que  un  solo  error  de  cualquier  palabra  
transmitida  no  producirá  otra  palabra  transmitida  o  una  palabra  que  tenga  un  solo  
error  de  otra  palabra  transmitida.  (La  distancia  de  Hamming  entre  palabras  es  el  
número  de  dígitos  en  los  que  difieren.  Para  la  corrección  de  un  solo  error,  las  
palabras  transmitidas  deben  estar  a  una  distancia  de  3).  Para  un  solo  bit  de  datos,  
se  requieren  dos  bits  de  verificación.  Las  dos  palabras  transmitidas  serían  000  
para  el  dato  0  y  111  para  el  dato  1.  Un  solo  error  de  000  produciría  una  palabra  
con  un  1;  por  lo  tanto,  todas  las  palabras  con  cero  o  un  1  se  decodificarían  como  
0  y  todas  las  palabras  con  dos  o  tres  1  se  decodificarían  como  1.
Hamming  demostró  que  para  tres  bits  de  control,  podemos  tener  hasta  cuatro  
bits  de  datos,  y  que  para  cuatro  bits  de  control,  podemos  tener  hasta  11  bits  de  
datos.  Como  ejemplo,  consideraremos  tres  bits  de  datos  y  tres  bits  de  verificación,  
que  permiten  la  corrección  de  todos  los  errores  simples  y  la  detección  de  algunos  
errores  dobles  (dado  que  algunas  de  las  posibles  palabras  recibidas  pueden  no  
corresponder  a  una  palabra  transmitida  o  a  una  sola).  error  de  una  de  esas  
palabras).  En  la  figura  5.29  se  muestra  un  diagrama  de  bloques.
Figura  5.29  Sistema  de  detección  y  corrección  de  errores.

a
b pag

C Detector/
Tabla  5.9  Palabras  transmitidas. Medios  de   q
tu d corrector  de  
X transmisión r
errores
Datos Controlar v mi
y Descifrador
w F
z
gramo

xyz  uvw
000  00  0  001  01  1  010  10  1  011  
El  primer  bit  de  verificación,  u,  verifica  x  e  y;  v  comprueba  x  y  z;  y  w  verifica  y  y  
11  0  100  11  0  101  10  1  110  01  
1  111  00  0 z.  Por  lo  tanto,  el  codificador  es  sólo
uxy vxzwyz
La  lista  de  palabras  transmitidas  se  muestra  en  la  Tabla  5.9.

*  El  bit  de  paridad  podría  elegirse  para  hacer  que  el  número  total  de  1  sea  impar.  
†Este  método  no  es  infalible.  Si  se  cometen  dos  errores,  volverá  a  haber  un  número  par  
de  1  y  parecerá  que  la  palabra  recibida  es  correcta.  Este  enfoque  se  utiliza  cuando  la  
probabilidad  de  errores  múltiples  es  muy  pequeña.
Machine Translated by Google

5.8  Ejemplos  más  grandes 303

Para  cada  palabra  transmitida,  hay  seis  errores  únicos  que  se  
decodificarán  en  esa  palabra  (más  la  palabra  correcta).  Por  ejemplo,  los  
errores  únicos  de  la  primera  palabra  son  100000,  010000,  001000,  
000100,  000010  y  000001.  Cada  uno  de  estos,  más  000000,  debe  
decodificarse  como  000.  El  mapa  5.6  muestra  los  mapas  para  p,  q  y  r :  el  
palabra  corregida,  y  para  g,  que  es  1  si  se  detecta  un  error  múltiple  (en  cuyo  caso,  p,  q  y  r  no  son

Mapa  5.6  Detector/corrector  de  errores.

00 01 ab 11 10
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10

00 0 0 X 0 00 0 0 0 1 00 1 X 1 1 00 0 1 1 1

01 0 0 1 0 01 0 0 0 X 01 1 0 1 1 01 X 1 1 1
pag

11 0 X 0 0 11 1 0 0 0 11 1 1 X 1 11 1 1 1 0

10 0 1 0 0 10 X 0 0 0 10 1 1 0 1 10 1 1 1 X

00 01 ab 11 10
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10

00 0 0 X 0 00 0 1 1 1 00 1 X 1 1 00 0 0 0 1

01 0 1 0 0 01 1 1 1 X 01 1 1 0 1 01 X 0 0 0
q
11 0 X 0 0 11 1 1 1 0 11 1 1 X 1 11 1 0 0 0

10 0 0 1 0 10 X 1 1 1 10 1 0 1 1 10 0 0 0 X

00 01 ab 11 10
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10

00 0 0 X 0 00 0 0 1 1 00 1 X 1 1 00 0 0 1 1

01 0 0 1 1 01 0 0 0 X 01 0 0 1 1 01 X 1 1 1
r
11 1 X 1 1 11 0 0 1 1 11 0 0 X 0 11 0 0 1 1

10 0 0 1 1 10 X 1 1 1 10 0 0 1 1 10 0 0 0 X

00 01 ab 11 10
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10

00 1 00 00 1 00

01 01 1 01 01 1
gramo

11 1 11 11 1 11

10 10 1 10 10 1
Machine Translated by Google

304 Capítulo  5  Diseño  de  sistemas  combinacionales

confiable).  Los  cuadrados  sombreados  corresponden  a  las  palabras  sin  errores.
Las  salidas  que  producen  uvw  000  se  muestran  en  marrón.  Los  cuadrados  que  no  
corresponden  a  palabras  correctas  o  errores  únicos  se  muestran  como  "no  importa"  
en  los  tres  primeros  mapas  y  como  1  en  el  mapa  para  g  (que  indica  errores  múltiples).  
Las  expresiones  de  suma  de  productos  para  estas  funciones  son  muy  complejas  y  
requieren  30  términos  de  productos.  Si  se  implementa  con  puertas  NAND,  se  
necesitarían  22  paquetes  de  circuitos  integrados.
Sin  embargo,  el  código  se  ha  configurado  de  tal  manera  que  las  salidas  
correctas  se  pueden  determinar  más  fácilmente.  Calculando  el  OR  exclusivo  de  cada  
bit  de  control  con  los  bits  que  lo  formaron,  obtenemos  t1  

abd  t2  ace  t3  bcf

Esa  palabra  de  prueba  indica  qué  bit  tiene  el  error  (si  se  cometió  un  solo  error),  como  
se  describe  en  la  Tabla  5.10.

Tabla  5.10  Bit  de  error.

t1 t2 t3 Error
0 0 0 ninguno

001  f
010  mi
011c  100d  101b  _  _  _

110  un
1 1 1 múltiple

El  circuito  del  decodificador  se  puede  construir  con  tres  paquetes  7486  (OR  exclusivo  
cuádruple)  y  un  decodificador  de  tres  entradas/ocho  salidas  (como  el  que  se  usa  en  el  
ejemplo  5.3),  como  se  muestra  en  la  figura  5.30.

Figura  5.30  Decodificador  de  errores.

a 0
t1 C
1
bd pag

D 2
a mi b
t2 C 3 q
ce sobredosis 4
mi
a
b r 5 r
t3
6
cf
7 gramo

[ES  15,  16,  17,  18;  EX  18,  19,  20,  21,  22,  23,  24,  25;  LABORATORIO]
Machine Translated by Google

5.9  Problemas  Resueltos 305

5.9  PROBLEMAS  RESUELTOS

1.  Para  el  siguiente  circuito

d
b

C mi

C
gramo

mi a

a.  Calcule  el  retraso  máximo,
i.  Suponiendo  que  todas  las  entradas  están  disponibles  
tanto  sin  complementar  como  complementadas.  
ii.  Suponiendo  que  solo  hay  entradas  no  complementadas  disponibles  y  se  debe  
agregar  una  puerta  adicional  para  complementar  cada  entrada.
b.  Calcule  el  retraso  máximo  desde  la  entrada  a  hasta  la  salida,
asumiendo  que  todas  las  entradas  están  disponibles  tanto  sin  complementar  
como  complementadas.

a.  i.  La  señal  de  la  puerta  cuyas  entradas  son  b  y  d  debe  pasar  por  seis  puertas.  
ii.  Tanto  b  como  d  deben  
complementarse  y,  por  lo  tanto,  hay  un  séptimo  retraso.  b.  La  señal  a  pasa  
solo  por  tres  
puertas.

2.  Queremos  construir  un  circuito  de  puerta  NAND  para  calcular  la  paridad  de  un  
número  de  n  bits.  La  paridad  se  define  como  1  si  y  solo  si  hay  un  número  
impar  de  1  en  el  número.*  Una  forma  de  hacer  esto  es  construir  el  circuito  1  bit  a  
la  vez  (como  en  el  sumador),  de  modo  que  el  circuito  calcule  el  paridad  
después  de  ese  bit  como  una  función  de  la

*Esto  a  veces  se  denomina  paridad  impar.  Sin  embargo,  la  terminología  se  utiliza  de  dos  maneras  
diferentes.  Algunos  usan  paridad  impar  para  referirse  a  un  número  impar  de  1  en  la  palabra  más  el  
bit  de  paridad  (que  es,  por  supuesto,  lo  contrario  de  lo  que  definimos).  Para  nuestros  propósitos,  
nos  ceñiremos  a  la  definición  anterior.
Machine Translated by Google

306 Capítulo  5  Diseño  de  sistemas  combinacionales

paridad  hasta  ese  bit  y  el  bit  de  entrada.  un  diagrama  de  bloques  de
los  primeros  bits  de  dicho  circuito  se  muestran  a  continuación.

a2 a1 a0

2
pag 0
pag
1 pag
0

a.  Muestre  un  circuito  de  puerta  NAND  para  implementar  1  bit  y  calcular
el  retraso  de  n  bits.  Suponga  que  las  entradas  solo  están  disponibles
sin  complementar

b.  Reduzca  el  retraso  implementando  2  bits  a  la  vez.

a.  Cada  bloque  tiene  una  tabla  de  verdad.

pi1 ai Pi
0  00
0  11
1  01
1  10

es  decir,  la  paridad  de  salida  indica  un  número  impar  de  1  hasta  el  momento
si  la  entrada  indica  que  hay  un  número  par  de  1  (pi1  0)  y  este  bit  (ai )  es  1,  
o  si  la  entrada  indica  que  hay
eran  un  número  impar  de  1  (pi1  1)  y  este  bit  (ai )  es  0.  El
expresión  lógica  es

pi  p  i1ai  pi1a  yo

Esto  requiere  un  circuito  NAND  de  tres  niveles;  es  solo  un
OR  exclusivo,  como  se  muestra  aquí

Pi –  1 2

3
Pi

ai

El  retraso  desde  cualquier  entrada  hasta  la  salida  es  3.  Si  tuviéramos  un  número  
de  n  bits,  el  retraso  total  sería  3n.
Machine Translated by Google

5.9  Problemas  Resueltos 307

b.  Podemos  construir  un  bloque  que  calcule  2  bits  de  paridad  a  la  vez.
Llamaremos  a  las  entradas  a,  b  y  pin  ya  la  salida  pout.  El
la  tabla  de  verdad  es  así*

puchero  _
00  0  00  1  01  0  01  1   0
10  0  10  1  11  0  11  1 1
1
0
1
0
0
1

La  ecuación  para  el  puchero  es  por  lo  tanto

puchero  abpin  abp en ab en  abpin

y  el  circuito  NAND  es

a
b

a
b
pagen
3
pagafuera

a
b
2

a
b

donde  se  muestra  la  puerta  NOT  requerida  para  el  pin  (pero  no  los
para  a  y  b).  El  retraso  total  para  los  2  bits  es  3  y,  por  lo  tanto,  el  
retraso  de  n  bits  es  1,5  n.  Podríamos  reducir  el  retraso  construyendo  un
circuito  separado  para  p  out  en  cada  caja.  También  necesitaría  cinco
Puertas  NAND,  ya  que

salir  _ ab en  abpin  abpin  abp en

Sin  embargo,  ahora  no  necesitamos  la  puerta  NOT  para  la  paridad.
entrada  y,  por  lo  tanto,  estos  circuitos  son  todos  de  dos  niveles.  El  retraso  por
dos  bits  es  2,  y  el  retraso  total  para  n  bits  es  n.

3.  Diseñe  un  restador  completo,  es  decir,  un  circuito  que  calcule
ab  c,  donde  c  es  el  préstamo  del  siguiente  menos  significativo
dígito  y  produce  una  diferencia,  d,  y  un  préstamo  del  siguiente
bit  más  significativo,  p.

*Observe  que  esta  es  la  misma  tabla  de  verdad  que  la  suma  en  un  sumador  completo  si  reemplazamos  pin  por  cin.
Machine Translated by Google

308 Capítulo  5  Diseño  de  sistemas  combinacionales

La  tabla  de  verdad  para  el  restador  completo  es  la  siguiente:

abcpd
00000  00111  01011  01110  
10001  10100  11000  11111

Tenga  en  cuenta  que  el  bit  de  diferencia  es  el  mismo  que  el  bit  de  suma  
para  el  sumador.  El  préstamo  es  1  si  hay  más  1  en  b  y  c  que  en  a.
Por  lo  tanto,  las  ecuaciones  se  convierten  en

d  abc  abc  abc  abc
p  bc  ac  ab

El  circuito  de  compuerta  de  ocho  NAND  utilizado  para  el  sumador  
podría  usarse  para  d.  Sin  embargo,  el  circuito  p  sería  diferente  de  cout.

p  bc  ac  ab  cb  ab  ca  b  ab
ca  b  ab

Esto  requeriría  dos  puertas  NAND  y  dos  puertas  NOT  para  el  
préstamo  (además  de  las  ocho  puertas  NAND  para  la  diferencia).
El  tiempo  sería  el  mismo  que  para  el  sumador,  excepto  que  el  
primer  retraso  de  préstamo  ahora  sería  de  6  (un  aumento  de  1).
Si  deseamos  utilizar  el  número  mínimo  de  compuertas,  
necesitaríamos  factorizar  a  de  ambas  funciones,  en  lugar  de  c,  
produciendo  
la  ecuación  p  =  a(b  c)  +  bc
Se  necesita  una  NAND  y  un  NOT  adicionales  (en  comparación  
con  el  sumador).  Una  solución  sería

b d

pag
Machine Translated by Google

5.9  Problemas  Resueltos 309

La  desventaja  de  este  enfoque  es  que  el  retraso  del  préstamo
para  pedir  prestado  es  5.

4.  Tenemos  dos  comparadores  de  4  bits  que  producen  mayor  que  (),
salidas  iguales  ()  y  menores  que  ().  Muestre  la  lógica  externa  que  se  puede  
usar  para  ponerlos  en  cascada.

La  salida  indica  igual  si  ambos  comparadores  muestran  igual.  Es
mayor  que  si  el  de  orden  superior  es  mayor  que  o  si  es  igual
y  el  de  menor  orden  es  mayor  que.  Finalmente,  muestra  menos  que  si
el  de  orden  superior  muestra  menos  que  o  si  el  de  orden  superior  es
igual  y  el  de  orden  inferior  es  menor  que.  (Así  es  como  el  interior
funciona  la  lógica  del  7485,  aunque  los  detalles  del  circuito  son
bastante  diferente.)

a a a a b b b b a a a a b b b b
4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1

Alto Bajo

5.  Tenemos  un  decodificador  con  tres  entradas,  a,  b  y  c,  y  ocho
salidas  bajas  activas,  etiquetadas  del  0  al  7.  Además,  hay  una  entrada  de  
habilitación  baja  activa  EN.  Deseamos  implementar  el
siguiente  función  usando  el  decodificador  y  la  menor  cantidad  posible  de  
puertas  NAND.  Muestre  un  diagrama  de  bloques.

f(a,  b,  c,  e) m(1,  3,  7,  9,  15)

Tenga  en  cuenta  que  todos  los  minitérminos  son  impares;  por  lo  tanto,  la  variable  e  es  1  para

cada  uno  de  estos.  Si  habilitamos  el  decodificador  cuando  e  1,  es  decir,  
conectamos  e  a  la  entrada  de  habilitación,  y  conectamos  a,  b  y  c  al  control
Machine Translated by Google

310 Capítulo  5  Diseño  de  sistemas  combinacionales

entradas,  las  salidas  del  decodificador  corresponderán  a  los  minitérminos  1,  3,  
5,  7,  9,  11,  13  y  15.  Así,  el  siguiente  circuito  resuelve  el  problema:

0
a a 1
2
b b 3 F
4
C C 5
6

ES 7

mi

6.  Deseamos  construir  un  decodificador  alto  activo  de  32  vías,  usando  solo  el
decodificadores  de  cuatro  vías  que  se  muestran  aquí.

ES  ab0123 0
0  XX  0000  1  001000  1  010100  1   a 1
100010  1  110001 2
b
ES 3

Las  entradas  son  v,  w,  x,  y  y  z;  las  salidas  están  numeradas  del  0  al  31.

Necesitamos  ocho  de  estos  decodificadores  en  la  salida.  Cada  uno  está  
habilitado  en  base  a  los  primeros  3  bits  de  la  entrada.  Por  lo  tanto,  
necesitamos  un  decodificador  de  ocho  vías  para  la  habilitación.  Que  debe  
construirse  en  dos  niveles,  como  se  muestra  en  el  siguiente  diagrama.
Machine Translated by Google

5.9  Problemas  Resueltos 311

0   0  
y a
z b 1   1  

ES 2  3 2  3

0   4  
y a 5  
z b 1   6  

ES 2  3 7

0   8  
y a 9  
z b 1   10  
0  
w a ES 2  3 11

X b 1  

ES 2  3
0   12  
y a 13  
z b 1  2 14
0   ES 3 15
0 a 1
v b 2  
ES 3 0   16  
y a 17  
0  
1 z b 1   18  
w a 1
ES 2  3 19
X b 2  
ES 3
0   20  
y a 21  
z b 1   22  
ES 2  3 23

0   24  
y a 25  
z b 1   26  
ES 2  3 27

0   28  
y a 29  
z b 1   30  
ES 2  3 31

7.  El  profesor  Smith  calcula  las  calificaciones  de  la  siguiente  manera:  usa  
solo  el  primer  dígito  (es  decir,  9  para  promedios  entre  90  y  99).  Nunca  
tiene  un  promedio  de  100.  Da  una  P  (aprobado)  a  cualquiera  con  un  
promedio  de  60  o  más  y  una  F  a  cualquiera  con  un  promedio  
inferior  a  60.  Ese  primer  dígito  está  codificado  en  código  8421  (es  decir,  
binario  directo,  5  como  0101,  por  ejemplo);  estas  son  las  entradas  w,  x,  y  y  z.
Machine Translated by Google

312 Capítulo  5  Diseño  de  sistemas  combinacionales

Diseñe  un  circuito  usando  hasta  dos  de  los  decodificadores  con  salidas  altas  
activas  y  una  habilitación  baja  activa  que  se  muestra  a  continuación,  una  
puerta  NO  y  una  puerta  O  para  producir  una  salida  de  1  si  el  
estudiante  aprueba.

0 ES  ab  c0  1 2 3 4 5  6  7
1
a 1  XXX  00000000
2
0  00010000000
3 0  00101000000
b
4 0  01000100000
5 0  01100010000
C
6 0  10000001000
7 0  10100000100
0  11000000010
0  11100000001
ES

Este  problema  tiene  dos  soluciones.  El  más  sencillo  usa  dos  
decodificadores,  donde  uno  está  habilitado  cuando  w  0  y  tiene  salidas  
correspondientes  a  los  minitérminos  0  a  7  y  el  otro  está  habilitado  cuando  
w  1  y  tiene  salidas  correspondientes  a  los  minitérminos  8  a  15  (aunque  solo  8  
y  9  ocurren) .  La  salida  es  1  para  los  minitérminos  6,  7,  8  y  9.

0
1
X a
2
3
y b
4
5
z C
6
7

w
ES PAG

0
1
X a
2
3
y b
4
5
z C
6
7

ES
Machine Translated by Google

5.9  Problemas  Resueltos 313

Otro  enfoque  es  reconocer  que  las  únicas  entradas  que  conducirán  a  
P  0  son  los  minitérminos  0,  1,  2,  3,  4  y  5.  Por  lo  tanto,  podemos  usar  solo  
un  decodificador  y  el  siguiente  circuito:

0
1
X a PAG
2
3
y b
4
5
z C
6
7

w
ES

En  este  caso,  juntamos  con  OR  las  primeras  seis  salidas  del  decodificador,  
lo  que  produce  un  1  para  calificaciones  entre  0  y  59  (y  un  0  para  
calificaciones  aprobatorias).  Luego  lo  complementamos  para  obtener  la  salida  deseada.

8.  Para  las  siguientes  funciones,  impleméntelas  usando  tantos  
decodificadores  como  sean  necesarios  de  los  que  se  muestran  a  
continuación  y  tres  puertas  OR  (con  tantas  entradas  como  sea  necesario).  
Si  es  posible,  limite  las  puertas  OR  a  menos  de  ocho  entradas  y  use  solo  cuatro  decodificadores.

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1 1 00 11 1 00 1 1 1

01 1 1 01 1 1 01 1

11 1 1 1 11 1 11 1 1 1

10 1 10 11 1 10 1 1 1

F gramo
h

ES  un b 0 1  2  3

0  XX0  0  0  1001000  1010100  1100010  
0
1110001
Machine Translated by Google

314 Capítulo  5  Diseño  de  sistemas  combinacionales

Dado  que  cada  función  tiene  una  columna  de  todos  los  1,  podemos  
guardar  las  entradas  de  la  puerta  OR  usando  las  dos  primeras  variables  en  
el  primer  decodificador,  el  que  habilita  a  los  demás.  Además,  dado  que  la  
columna  11  tiene  todos  0  o  todos  1,  no  necesitamos  el  decodificador  11.  Así,  
el  circuito  se  convierte  en

00
0 0
y 1
2 2
z 3 F
ES

01
0
1
2 gramo

3 7
ES
0
w
1
2
X 3
ES
10
0 8
1 h
1 9
2 10
3 11
ES

9.  Diseñe  un  codificador  de  prioridad  con  cuatro  entradas  activas  altas  0,  1,  2  
y  3  y  tres  salidas  activas  altas,  A  y  B,  que  indican  el  número  del  
dispositivo  de  mayor  prioridad  que  solicita  el  servicio,  y  N,  que  indica  que  no  
hay  solicitudes  activas.  La  entrada  0  es  la  prioridad  más  alta  (y  3  la  más  baja).
Machine Translated by Google

5.9  Problemas  Resueltos 315

01  2  3ABN
0000  X  1 X
1  XXX  000
0 1 X  010
001X100
0001110

N  es  claramente  solo
N  0  1  2  3

Podemos  mapear  A  y  B  para  obtener

0  1 0  1
2  3 00 01 11 10 2  3 00 01 11 10

00 X 00 X 1

01 1 01 1 1

11 1 11 1

10 1 10 1

A B

un  0  1
segundo  0  1  0  2

10.  Tenemos  cuatro  números  de  3  bits:  w2  w0,  x2  x0,  y2  y0  y
z2  z0.  Queremos  seleccionar  uno  de  estos,  en  función  de  las  entradas  y
t  (donde  st  00  selecciona  w,  st  01  selecciona  x,  y  así  sucesivamente).  El
La  respuesta  es  aparecer  en  las  líneas  de  salida  f2  f0.  Use  el  chip  
multiplexor  74153  para  hacer  esto.
Machine Translated by Google

316 Capítulo  5  Diseño  de  sistemas  combinacionales

El  74153  contiene  dos  multiplexores  de  4  vías.  Ya  que  necesitamos
tres,  usaremos  dos  de  estos  circuitos  como  se  muestra  a  continuación.  Tenga  en  cuenta  que
la  mitad  del  segundo  74153  no  se  usa.

0 Georgia
1  5  3
w2 A3
X2 A2
Ya F2
y2 A1
z2 A0

w1 B3
X1 B2
YB F1
y1 B1
z1 B0
0 ES S1 S0

s
t

0 Georgia
1  5  3
w0 A3
X0 A2
Ya F0
y0 A1
z0 A0

B3
B2
YB no  utilizado
no  utilizado B1
B0
0 ES S1 S0

11.  Cree  un  multiplexor  de  ocho  vías  utilizando  algunos  de  los  multiplexores  de  2  vías  de  la  figura  
5.11.

Construimos  dos  multiplexores  de  4  vías  como  en  la  Figura  5.12b  y  usamos  un
tercera  capa  de  multiplexor  para  cambiar  esas  dos  salidas.  Asumir

S2  es  el  bit  de  selección  de  orden  superior.
Machine Translated by Google

5.9  Problemas  Resueltos 317

S1

C
S2

afuera

mi

S1

S0

gramo

12.  Implementa  la  función  f  (w,  
x,  y,  z)  =  m(0,  1,  5,  7,  8,  10,  13,  14,  15)

a.  Usando  dos  multiplexores  de  8  vías  con  una  habilitación  baja  activa,  más
una  puerta  
OR  b.  Usando  un  multiplexor  de  8  vías

a.  Habilitaremos  el  primer  multiplexor  si  w  0  y  el  segundo  si  w  1.  Así,  las  
entradas  del  primero  corresponden  a  los  ocho  primeros  minitérminos,  
y  las  del  segundo  corresponden  a  los  ocho  segundos.

xyz xy  z

1 1
1 0
0 1
0 0
F
0 0
1 1
0 1
1 1

w w
Machine Translated by Google

318 Capítulo  5  Diseño  de  sistemas  combinacionales

b.  Podemos  construir  una  tabla  de  verdad  de  8  líneas  con  columnas  para  w  y
w.  Finalmente,  agregamos  una  columna  que  es  una  función  de  w.

fxyzw  =  0  w  =  1
0  0  0   1
0  0  1   1  0  w
0  1  0   1   1  hora
0  1  1   1   0  0
1  0  0   0   0  0
1  0  1   1  1

1  1  0   0   1  hora


1  1  1 0  1  0  1 1 1

Eso  produce  el  circuito  (sin  necesidad  de  habilitar):

xy  z

1
w
w
0
F
0
1
w
1

13.  Para  las  tres  funciones  de  cuatro  variables  que  se  muestran  en  los  mapas
abajo,
a.  Implementarlo  con  la  ROM.
b.  Encuentre  un  circuito  NAND  de  dos  niveles  de  costo  mínimo  (donde
el  costo  mínimo  es  el  número  mínimo  de  puertas,  y  entre
aquellos  con  el  mismo  número  de  puertas,  número  mínimo
de  entradas  de  puerta).  Suponga  que  todas  las  entradas  están  disponibles  tanto

complementado  y  no  complementado.  (El  mínimo  es
10  puertas.)  
c.  Implementar  con  un  PAL  similar  al  del  texto.
d.  Implementarlo  con  el  PLA  con  ocho  términos  de  productos  disponibles
(se  puede  usar  menos).
Machine Translated by Google

5.9  Problemas  Resueltos 319

AB AB AB
CD 00  01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 1111 00 1

01 11  1 01 1 01 11  1

11 1 1 1 11 1 1 11 1 1 1

10 10 1 1 10 1 1 1

XYZ

a.  Para  la  ROM,  necesitamos  una  lista  de  minitérminos,  a  saber,

X(A,  B,  C,  D) m(1,  3,  5,  7,  8,  9,  11)
Y(A,  B,  C,  D) m(0,  2,  4,  5,  7,  8,  10,  11,  12)
Z(A,  B,  C,  D) m(1,  2,  3,  5,  7,  10,  12,  13,  14,  15)

Entonces  podemos  completar  el  diagrama  de  ROM  a  continuación.

A B C D

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

X Y Z
Machine Translated by Google

320 Capítulo  5  Diseño  de  sistemas  combinacionales

b.  Los  mapas  a  continuación  muestran  la  solución  de  dos  niveles  de  costo  mínimo.

AB AB AB
CD 00  01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 00 1111 00 1

01 11  1 01 1 01 11  1

11 1 1 1 11 1 1 11 1 1 1

10 10 1 1 10 1 1 1

donde  se  comparten  los  términos  encerrados  en  círculos  en  marrón  y  gris .  El
las  ecuaciones  resultantes  son

X  AD  ABC  ABCD
Y  CD  ABD  BCD  ABCD
Z  AD  AB  BCD

El  circuito  resultante  es

A
B
C
A

D X
A
B
C
D
C

D Y
A
B
D

B
C Z
D
A

B
Machine Translated by Google

5.9  Problemas  Resueltos 321

C.  Para  PAL,  no  se  gana  nada  al  tratar  esto  como  un  problema  de  
salida  múltiple.  Así,  se  implementan  las  ecuaciones  que  
obtenemos  resolviendo  cada  función  individualmente.
X  BD  AD  ABC
Y  CD  BD  ABD  ABC
Z  AB  AD  BCD

A BCD

Dos  de  las  entradas  no  se  utilizan;  la  cuarta  salida  no  se  muestra.
Las  compuertas  AND  que  no  se  usan  tienen  D  y  D  conectadas  a  sus  
entradas  para  producir  una  salida  
0.  d.  Para  el  PLA,  también  necesitamos  expresiones  de  suma  de  
productos,  pero  están  limitadas  a  ocho  términos.  La  solución  usada  
para  la  parte  c  usa  nueve  términos.  Podríamos  usar  BCD  (que  se  
requiere  para  Z)  en  lugar  de  BD  en  Y,  o  podríamos  usar  la  solución  de  
la  parte  b;  esa  solución  se  muestra  en  la  página  siguiente.
Machine Translated by Google

322 Capítulo  5  Diseño  de  sistemas  combinacionales

A B C D

ANUNCIO

A  B  C

A  B  C  D

CD

ABD

BCD

AB

X Y Z

14.  Hemos  encontrado  una  expresión  de  suma  mínima  de  productos  para  cada
de  dos  funciones,  F  y  G,  minimicándolas  individualmente  (no
intercambio):

F  WY  XYZ
G  WXY  XZ  WYZ

a.  Implementarlos  con  una  ROM.
b.  Implementarlos  con  un  PLA  usando  no  más  de  cuatro  términos.
C.  Para  las  mismas  funciones,  tenemos  disponibles  tantos  de  los
decodificadores  descritos  a  continuación,  ya  que  necesitamos  más  2  OR  de  ocho  entradas

puertas  Muestre  un  diagrama  de  bloques  para  esta  implementación.  Todo
Las  entradas  están  disponibles  tanto  sin  complementar  como
complementado

EN1 EN2  AB0123
A A 0 X   0 XX  0000
B B 1 X  XX  0000
1   1  0  01000
EN1 2
0   1  0  10100
EN2 3 0   1  1  00010
0  0 1  1  10001

Tenga  en  cuenta  que  este  chip  está  habilitado  solo  cuando  EN1  0  y
EN2  1.

a.  El  primer  paso  es  encontrar  los  números  minterm.  ya  que  lo  haremos
necesita  mapear  las  funciones  para  la  parte  b,  eso  es  lo  más  fácil
hacer  ahora.  (Podríamos,  por  supuesto,  ampliar  las  funciones
algebraicamente  a  la  suma  de  la  forma  minterm.)
Machine Translated by Google

5.9  Problemas  Resueltos 323

WX WX
YZ 00 01 11 10 YZ 00 01 11 10

00 11 00 1

01 1 1 1 01 11  1

11 11 1 1

10 10

F GRAMO

De  esto,  obtenemos

F(An,  X,  Y,  Z) m(5,  8,  9,  12,  13)
G(An,  X,  Y,  Z) m(1,  3,  5,  8,  9,  11)

Esto  produce  el  siguiente  diagrama  de  ROM:

W X Y Z

0
1

6
7

8
9

10

11

12

13

14

15

F GRAMO
Machine Translated by Google

324 Capítulo  5  Diseño  de  sistemas  combinacionales

b.  Para  el  PLA,  necesitamos  encontrar  una  solución  de  suma  de  productos  que
utiliza  sólo  cuatro  términos  diferentes.  Los  mapas  a  continuación  muestran  tal
solución.

WX WX
YZ 00  01 11 10 YZ 00 01 11 10

00 11 00 1

01 1 1 1 01 11  1

11 11 1 1

10 10

F GRAMO

F WY W XY Z
GRAMO X Z WX Y W XY Z

El  PLA  a  continuación  implementa  esta  solución  de  cuatro  términos.

W X Y Z

WY

W XY Z

X Z
WX Y

F GRAMO

C.  El  enfoque  directo  es  usar  W  y  X  para  habilitar
cada  uno  de  los  cuatro  decodificadores.  Sin  embargo,  mirando  los  mapas,  vemos
que  la  última  fila  de  cada  mapa  no  contiene  1.  Si  usamos  Y  y
Z  para  habilitar  los  decodificadores,  solo  necesitamos  tres,  habilitado  en  00,
Machine Translated by Google

5.9  Problemas  Resueltos 325

01  y  11.  El  primer  decodificador  tiene  salidas  activas  para  todos  los  
minitérminos  que  terminan  en  00,  es  decir,  0,  4,  8  y  12.  Entonces  el  
circuito  se  convierte  en

W A 0
X B 1
8
Y EN1 2
12
Z EN2 3

W A 1
0
X B 5
1
9
Y EN1 2
13
Z EN2 3

GRAMO

W A 3
0
X B 1
11
Y EN1 2
Z EN2 3

15.  Diseñe  un  sumador  decimal  de  1  bit,  donde  los  dígitos  decimales  se  almacenan  en
código  exceso  3.

Cuando  sumas  los  dos  códigos  usando  un  sumador  binario,  el  
acarreo  siempre  es  correcto.  La  suma  debe  corregirse  
sumando  3  si  no  hay  acarreo  o  3  si  hay  acarreo.
0011  0 1010 7
0100  1 1001 6
0  0111 1  0011
3  1101 +3  0011
(1)  0100  1 0110  13
Machine Translated by Google

326 Capítulo  5  Diseño  de  sistemas  combinacionales

A s B s Cen

Sumador  de  4  bits

C ssss
4 3 2 1

Cafuera

1 0

Sumador  de  4  bits

ignorado suma

16.  Tenemos  dos  códigos  diferentes  para  los  dígitos  decimales  que
a  veces  use:  el  código  3  en  exceso  y  el  código  2  de  5,  que  se  muestran
abajo.

Exceso  3 2  de  5
Dígito W  x  Y  Z a  B  C  D  e

0   0011   11000


0100   10100
1   0101   10010
2   0110   10001
3   0111   01100
4   1000   01010
5   1001   01001
6   1010   00110
7   1011   00101
8  9 1100 00011
Machine Translated by Google

5.9  Problemas  Resueltos 327

Todas  las  demás  combinaciones  de  bits  de  entrada  nunca  ocurren.  Deseamos  construir  
una  caja  que  convierta  el  exceso  de  3  códigos  en  2  de  5  códigos.  Por  lo  tanto,  tiene  

cuatro  entradas  (w,  x,  y  y  z)  y  cinco  salidas  (a,  b,  c,  d  y  e).  Todas  las  entradas  están  disponibles  
tanto  complementadas  como  sin  complementar.  a.  Mapee  cada  una  de  las  
cinco  funciones  y  

encuentre  todas  las  soluciones  de  suma  mínima  de  productos  y  producto  de  sumas  para  
cada  una  de  las  cinco  funciones  individualmente.

b.  Nuestros  bloques  de  construcción  consisten  en  chips  de  circuitos  integrados.  Podemos  
comprar  cualquiera  de  las  siguientes  fichas:

7404:  6  inversores  7400:  4  

compuertas  NAND  de  dos  entradas  7402:  4  compuertas  NOR  de  dos  entradas  7410:  3  compuertas  
NAND  de  tres  entradas  7427:  3  compuertas  NOR  de  tres  entradas  7420:  2  compuertas  NAND  de  
cuatro  entradas  7425:  2  compuertas  de  cuatro  entradas  Puertas  NOR

Todas  las  fichas  cuestan  lo  mismo,  25¢  cada  una.
Encuentre  una  de  las  implementaciones  menos  costosas  ($1.25)
de  las  cinco  salidas.  (Las  puertas  de  cualquier  chip  pueden  usarse  como  parte  de  la  
implementación  de  más  de  una  de  las  salidas).
Muestre  la  expresión  algebraica  y  el  diagrama  de  bloques  para  la  solución.

C.  Encuentre  tres  soluciones,  una  de  las  cuales  usa  solo  paquetes  7400  y  7410,  una  de  las  
cuales  usa  también  7420  (debe  usar  al  menos  una  puerta  de  cuatro  entradas)  y  una  
solución  que  usa  solo  puertas  NOR.
Cada  uno  de  estos  debe  costar  no  más  de  $1.25.  (Por  supuesto,  uno  de  estos  es  la  
solución  a  la  parte  b.)

d.  Implemente  esto  con  una  ROM.

mi.  Implemente  esto  con  un  PLA.

a.  A  continuación  se  muestran  los  mapas  de  las  cinco  funciones  y  sus  complementos.
Machine Translated by Google

328 Capítulo  5  Diseño  de  sistemas  combinacionales

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1X 00 X11

01 1X  X 01 X X 1

11 1 X 11 1 X 1

10 X1X 10 XX1

a w X w y w z a w xyz
a w (X y z )

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 X 1 00 11X 00 11X

01 X X  1 01 X 1 X 01 1X  X

11 1 1 X 11 X 1 11 X 1

10 X X 10 X  X1  1 10 X 1 X 1

b X y w yz xz b wy xz w y
b wy xy w z b (w y )  ( X z )  ( w y)
yz
X z)
b (w y )  ( X y ( )   w z)
( (
y z)

wx wx
00 01 11 10 00 01 11 10
yz yz

00 1X 00 X 1 1

01 X X 01 X 1 X 1

11 1 X 1 11 1 X

10 XX1 10 X 1 X

C w y z xyz wy xyz
C w X wy y z w yz
X y z)
C (w X )  ( w y )  (y z )
( (w y z)
Machine Translated by Google

5.9  Problemas  Resueltos 329

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 X11 00 1X 00 1X

01 1X  X 01 X X 1 01 X X 1

11 X 11 11  1 X 11 11X 1

10 XX1 10 X 1 X 10 X 1 X

xy z X z w y d w z X z xy
d wz d w z
w y z wz yz d (w z )  (X z )  (X y )
X z ) w y )
d (w z)
w
( ( z ) y
( ( z )

wx wx
00 01 11 10 00 01 11 10
yz yz

00 X 1 00 1X 1

01 X X 1 01 X 1 X

11 X 1 11 1 1 X

10 X 1 X 10 X X 1

w yz mi X z wy w z
mi wz wx
xyz mi (X z )  (w y )  (w z )

Tenga  en  cuenta  que  hay  dos  soluciones  SOP  para  d  y  e,  y  que
hay  cuatro  soluciones  POS  para  b,  dos  para  c  y  cinco  para  d.

b.  Si  tuviéramos  que  usar  las  soluciones  que  encontramos  en  la  parte  a,  hay
no  hay  términos  de  productos  comunes  y,  por  lo  tanto,  no  es  posible  compartir
en  la  implementación  de  la  puerta  NAND.  Necesitaríamos  10  puertas  de  dos  
entradas  y  8  puertas  de  tres  entradas,  para  un  total  de  tres  7400
y  tres  7410  (a  un  costo  total  de  $1.50).  Para  la  puerta  NOR
solución,  usaríamos  el  producto  de  sumas.  Solo  hay
un  término  que  se  puede  compartir,  w  y,  en  b  y  e.  Habría
ser  un  total  de  1  puerta  de  cuatro  entradas,  5  puertas  de  tres  entradas  y
12  puertas  de  dos  entradas,  una  vez  más  que  requieren  seis  circuitos  integrados
paquetes
Entonces  debemos  intentar  compartir.  Los  siguientes  mapas
demuestre  que  para  la  suma  de  las  soluciones  del  producto.
Machine Translated by Google

330 Capítulo  5  Diseño  de  sistemas  combinacionales

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1X 00 X 1 00 1X

01 1X  X 01 X X 1 01 X X

11 1 X 11 1 1 X 11 1 X 1

10 X X  1 10 X X 10 XX1

a b C

wx wx
00 01 11 10 00 01 11 10
yz yz

00 X 1 1 00 X 1

01 X 1 X 01 X X 1
a w X xy z w z

11 X 11 1 b X y w X xyz
X
C w y z xyz wy
d wz xy z
10 XX1 10 X X1
mi wz wx w yz

d mi

En  esta  solución  se  han  compartido  tres  términos  (como  se  indica
por  los  círculos  de  colores  y  los  términos).  Hay  algunos  otros
opciones  (wyz  en  lugar  de  xyz  en  a  y  d,  y  xyz  en
lugar  de  wyz  en  e),  pero  no  alterarían  la  puerta
contar.  Esta  solución  requiere  8  puertas  de  dos  entradas  y  8  puertas  de  tres  
entradas  y  utiliza  dos  7400  y  tres  7410  (total
cuesta  $1.25).

C.  La  solución  de  la  parte  b  podría  usarse  como  una  de  las  tres
soluciones  a  la  parte  c,  y  cualquiera  de  los  que  se  muestran  aquí  podría  haber
se  ha  utilizado  para  la  parte  b.  Una  solución  que  requiere  una  novedad  menos
término  del  producto  es

a  wx  xyz  wyz  wyz

donde  los  dos  últimos  términos  son  obligatorios  para  (y  compartidos  con)
c  y  e,  respectivamente.  Esto  ahorra  1  puerta  de  dos  entradas,  pero
reemplaza  una  puerta  de  tres  entradas  con  una  de  cuatro  entradas  (todo  en  el
implementación  de  a).  Esta  solución  requiere  1  de  cuatro  entradas
compuerta  y  7  de  cada  una  de  las  compuertas  de  tres  y  dos  entradas.  utiliza
Machine Translated by Google

5.9  Problemas  Resueltos 331

un  7420,  dos  7430  (usando  la  puerta  adicional  de  cuatro  entradas  para  el
séptimo  de  tres  entradas  uno)  y  dos  7400  (costo  total  $1.25).
También  existe  una  solución  utilizando  compuertas  NOR,  basada  en  la
producto  de  sumas  soluciones.  Los  mapas  de  los  complementos
a  continuación  produce  una  solución  que  casi  funciona:

a b C
wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 X 1 1 00 11X 00 X 1 1

01 X X  1 01 X 1 X 01 X 1 X 1

11 1 1X 11 X 1 11 1 X

10 XX1 10 X 1 X 1 10 X 1 X

d mi

wx wx
00 01 11 10 00  01 11 10
yz yz

00 1X 00 1X  1

01 X X 1 01 X 1 X

11 1 1x1 11 11 X

10 X 1 X 10 X X  1

a  w(x  y  z)
b  (x  y)(w  y)(w  y  z)
c  (w  x)(w  y)(y  z)(w  y  z)
re  (w  z)(x  z)(x  y  z)
e  (x  z)(w  y)(w  z)
Esta  solución  requiere  1  puerta  de  cuatro  entradas,  5  puertas  de  tres  entradas,
y  11  puertas  de  dos  entradas  (utilizando  seis  paquetes).
Sin  embargo,  si  no  nos  restringimos  a  dos  niveles
soluciones,  podríamos  eliminar  la  puerta  de  cuatro  entradas,  reescribiendo
c  como

c  (w  x)(y  wz)(w  y  z)
Machine Translated by Google

332 Capítulo  5  Diseño  de  sistemas  combinacionales

Ahora,  el  conteo  de  puertas  se  convierte  en  6  puertas  de  tres  
entradas  y  10*  puertas  de  dos  entradas  (utilizando  cinco  paquetes).  
(Se  podría  realizar  una  manipulación  similar  en  e,  reemplazando  una  
puerta  de  tres  entradas  por  una  de  dos  entradas,  pero  eso  no  
cambiaría  el  conteo  de  paquetes).  A  continuación  se  muestra  un  
diagrama  de  bloques  del  circuito.

w
X a
y
z

y
w
b
y

wyz

z C
y
w

X
d
z

w
mi
y
w

d,  e.  La  implementación  con  una  ROM  y  un  PLA  son
bastante  sencillo.  Para  la  ROM,  todo  lo  que  necesitamos  son  los  
minterms;  los  don't  cares  son  ignorados.  Para  el  PLA,  se  puede  utilizar  
cualquiera  de  las  soluciones  de  suma  de  productos,  siempre  que  
tengamos  suficientes  términos.  Las  dos  soluciones  se  muestran  a  
continuación.

*
Al  hacer  esto,  hemos  salvado  una  puerta  de  dos  entradas,  ya  que  el  término  wz  usa  la  misma  
puerta  NOR  que  el  término  wz .
Machine Translated by Google

5.9  Problemas  Resueltos 333

d. w X y z

6
7

10

11

12

13

14

15

a b C d mi

mi. w X y z

wx

X yz
wz

xy

xyz

wyz

wy
wz

wz

wx

wyz

a b C d mi

17.  Diseñe  un  controlador  para  mostrar  un  dado  electrónico  de  nueve  puntos  como
se  muestra  a  continuación.  Un  conjunto  de  estos  podría  usarse  para  mostrar  decimales
números  y  algunas  ecuaciones  matemáticas.
Machine Translated by Google

334 Capítulo  5  Diseño  de  sistemas  combinacionales

Las  entradas  al  controlador  representan  un  número  de  4  bits,  W,  X,
Y,  Z,  que  indica  lo  que  se  va  a  mostrar.  Todos  ellos  están  disponibles  tanto  
sin  complementar  como  complementados.  Hay  nueve  salidas,  A,  B,  C,  D,  E,  F,  
G,  H,  J,  una  para  cada  uno  de  los  puntos.

A B C

D mi F

GRAMO H j

La  pantalla  viene  en  dos  tipos.  El  primer  tipo  requiere  un  1  para  encender  la  
pantalla.  El  segundo  tipo  requiere  un  0  para  iluminar  la  pantalla.
Para  la  segunda  versión,  las  salidas  del  controlador  son  el  complemento  de  
las  salidas  requeridas  para  el  primer  tipo  de  pantalla.
El  siguiente  diagrama  muestra  cada  una  de  las  entradas  y  la  pantalla  
resultante.  Un  punto  negro  indica  que  el  bit  está  encendido;  un  círculo  indica  
que  no  está  encendido.  Tenga  en  cuenta  que  0  no  enciende  ninguna  de  las  
luces;  9  luces  todos  ellos.

0000   0101   1010


0 5

0001   0110   1011


1 6

1100
0010   0111   .
2 7
punto  
decimal

0011   1000   1101


3 8

Otras  combinaciones  
0100 1001
(1110,  1111)  
4 9
nunca  ocurrirán.

a.  Muestre  la  tabla  de  verdad  para  el  controlador.

b.  Escriba  una  expresión  de  suma  mínima  de  productos  para  cada  una  de  las  
salidas,  tratando  cada  salida  como  un  problema  separado.  Muestra  tanto  
mapas  como  expresiones  algebraicas.  Para  cada  expresión,
Machine Translated by Google

5.9  Problemas  Resueltos 335

todos  los  términos  deben  ser  implicantes  primos  de  esa  función.  Intercambio
sólo  es  posible  si  un  término  producto  es  un  implicante  primo  de
más  de  una  función.

C.  Suponga  que  las  funciones  encontradas  en  la  parte  b  deben  ser
implementado  con  un  circuito  de  puerta  NAND  de  dos  niveles.  No
construir  dos  puertas  con  las  mismas  entradas.  cuantos  de  dos  entradas
y  ¿cuántas  puertas  de  tres  entradas  se  utilizan?  (No  se  pueden  abrir  puertas
utilizados  como  puertas  NOT;  no  hay  necesidad  de  ninguna  puerta  con  más
de  tres  entradas.)  Si  el  circuito  integrado  7400  y  7410
se  usaron  paquetes,  ¿cuántos  de  cada  uno  se  usaron?

d.  Muestre  las  ecuaciones  y  un  diagrama  de  bloques  de  un  costo  mínimo
Implementación  de  puerta  NAND  de  dos  niveles.  (Por  supuesto,  habrá
compartir,  y  algunos  de  los  términos  no  serán  implicantes  primarios
de  una  o  más  de  las  funciones  para  las  que  se  utilizan.)  No
Las  puertas  pueden  usarse  como  puertas  NOT.  cuantos  circuitos  integrados
se  necesitan  paquetes?

mi.  Fuimos  a  implementar  esto  pero  nos  encontramos  con  un  problema.  Todos  nosotros
pude  encontrar  fue  un  paquete  7410  de  puertas  NAND  de  tres  entradas
(tres  puertas  en  el  paquete).  Había  un  montón  de  7400
Paquetes  de  compuertas  de  dos  entradas.  Mostrar  las  ecuaciones  y  un  bloque
diagrama  para  una  implementación  de  esta  manera.  No  se  pueden  abrir  puertas
utilizado  como  NO  puertas.  (Es  posible  comenzar  con  el
solución  a  la  parte  b  o  d  anterior,  o  algún  otro  conjunto  de  ecuaciones.)
Utilice  la  menor  cantidad  posible  de  7400.

a.  La  tabla  de  verdad  para  el  controlador  con  salidas  altas  activas  es
mostrado  a  continuación.  (En  las  columnas  de  salida  de  la  versión  con
salidas  bajas  activas,  habría  0  donde  este  tiene  1
y  1  donde  esto  tiene  0.  El  no  importa  sería  el
mismo.)

WX  YZABCDEFG  HJ
0 0 0 0 0 0 0 0 0 0 0  00
0 0 0 1 0 0 0 0 1 0 0  00
0 0 1 0 1 0 0 0 0 0 0  01
0 0 1 1 1 0 0 0 1 0 0  01
0 1 0 0 1 0 1 0 0 0 1  01
0 1 0 1 1 0 1 0 1 0 1  01
0 1 1 0 1 0 1 1 0 1 1  01
0 1 1 1 1 0 1 1 1 1 1  01
1 0 0 0 1 1 1 1 0 1 1  11
1 0 0 1 1 1 1 1 1 1 1  11
1 0 1 0 0 1 0 1 1 1 0  10
1 0 1 1 0 0 0 1 1 1 0  00
1 1 0   0  0  0  1  1  0  1 0   0   0   0   0  01
1 0 0 0 1 1 1  11
1110  XXXXXXX  XX
1111  XXXXXXX  XX
Machine Translated by Google

336 Capítulo  5  Diseño  de  sistemas  combinacionales

Podemos  ver  en  la  tabla  de  verdad  (o  en  los  mapas  a  continuación)
que  D  y  F  son  idénticos;  obviamente,  solo  necesitamos  construir
la  función  una  vez.

b.  Construimos  los  nueve  mapas  (aunque  solo  simplificaremos
los  ocho  únicos).  En  B,  donde  hay  dos  igualmente
buenas  soluciones,  elegimos  la  que  podría  compartir  un  término
con  h

WX WX WX
YZ 00 01 11 10 YZ 00  01 11 10 YZ 00 01 11 10

00 1 1 00 1 00 1 1

01 1 1 01 1 01 1 1

11 1 1 X 11 X 11 X1

10 1 1 X 10 1X 10 1 X

A B C

WX WX WX
YZ 00 01 11 10 YZ 00  01 11 10 YZ 00 01 11 10

00 1 00 00 1

01 1 1 01 1 1 1 1 01 1 1

11 1 X 1 11 1 1 1 1 11 1 X 1

10 1 X 1 10 1X 10 1 1X

D mi F

WX WX WX
YZ 00 01 11 10 YZ 00  01 11 10 YZ 00 01 11 10

00 1 1 00 1 00 1 1 1

01 1 1 1 01 1 1 01 1 1 1

11 X1 11 X 11 1 1 X

10 X1 10 1X 10 1 1 X

GRAMO H j
Machine Translated by Google

5.9  Problemas  Resueltos 337

Las  ecuaciones  para  las  ocho  funciones  son

A  WX  WY  WXY
B  WXY  WXZ
C  WX  WXY
D  XY  WX  WZ
EZ  WY
G  WX  WXY  XZ
H  WXZ  WYZ
JX  WY  WY
C.  Tenga  en  cuenta  que  hay  cuatro  términos  que  se  comparten.  Esta  
solución  requiere  12  puertas  de  dos  entradas  y  7  puertas  de  tres  
entradas  (tres  7400  y  tres  7410).
antes  de  Cristo.  Los  mapas  de  las  salidas  complementarias  se  muestran  a  continuación.
Las  ecuaciones  para  este  controlador  bajo  activo  (donde  estamos  
implementando  los  complementos)  son

A  WXY  WX  WY
BWX  YZ
C  WX  WY  WX
D  WX  WY  WXZ
E  YZ  WZ
G  WY  WX  WXZ
HW  YZ  XZ
J  WXY  WY

Requieren  10  puertas  de  dos  entradas  y  8  puertas  de  tres  
entradas  (tres  7400  y  tres  7410).  Se  comparte  mucho  más,  
pero  aún  se  requieren  seis  paquetes  de  circuitos  integrados.
Machine Translated by Google

338 Capítulo  5  Diseño  de  sistemas  combinacionales

WX WX WX
YZ 00 01 11 10 YZ 00  01 11 10 YZ 00 01 11 10

00 1 1 00 111 00 1 1

01 1 1 01 111 01 1 1

11 X 1 11 11  1 X 11 1 X 1

10 X 1 10 11X 10 1x1

A B C

WX WX WX
YZ 00 01 11 10 YZ 00  01 11 10 YZ 00 01 11 10

00 1 1 1 00 1111 00 1 1 1

01 1 1 01 01 1 1

11 1 X 11 X 11 1 X

10 1 X 10 11X 10 1 X

D mi F

WX WX WX
YZ 00 01 11 10 YZ 00  01 11 10 YZ 00 01 11 10

00 1 1 00 111 00 1

01 1 01 1 1 01 1

11 1 X 1 11 1 1 X 1 11 X 1

10 1 X 1 10 1 1 X 10 1X

GRAMO H j

d.  Ambas  versiones  se  pueden  reducir  a  cinco  paquetes  tratando
esto  como  un  problema  de  salida  múltiple.  La  versión  baja  activa  tiene
solo  un  pequeño  ajuste.  En  la  ecuación  para  H,  podemos
utilice  el  término  WXZ,  que  ya  se  ha  implementado  para
D  y  G,  en  lugar  de  XZ.  Eso  ahorra  una  puerta  de  dos  entradas,
reduciendo  la  cuenta  a  nueve.  Ahora  la  novena  puerta  de  tres  entradas  en
Machine Translated by Google

5.9  Problemas  Resueltos 339

los  paquetes  7410  se  pueden  usar  como  una  puerta  de  dos  entradas  y  solo
se  necesitan  dos  7400.
Para  la  versión  alta  activa,  una  cantidad  considerable  de
se  puede  lograr  compartir.  Los  mapas  para  una  solución  mínima
se  muestran  a  continuación.

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 1 00 1 1

01 1 1 01 1 01 1 1

11 X11 11 X 11 X1

10 X11 10 X  1 10 X1

A B C

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 00 00 1

01 1 1 01 111  1 01 11

11 1 1X 11 1 1x1 11 1 1X

10 1 1X 10 X  1 10 1 1X

D mi F

WX WX WX
YZ 00 01 11 10 YZ 00 01 11 10 YZ 00 01 11 10

00 1 1 00 1 00 111

01 11  1 01 1 1 01 111

11 X1 11 X 11 X11

10 X1 10 X  1 10 X11

GRAMO H j
Machine Translated by Google

340 Capítulo  5  Diseño  de  sistemas  combinacionales

Como  puede  verse  en  los  mapas,  se  utilizan  una  serie  de  términos
que  no  son  implicantes  primos  de  una  función  particular.  También,
se  utilizan  tres  términos  para  H,  en  lugar  de  dos,  para  evitar  construir
una  nueva  puerta  para  ese  término.  La  solución  se  muestra  en  forma  de  tabla.
formulario  a  continuación.  Cada  fila  corresponde  a  un  término  de  producto;  cada
columna  a  una  de  las  funciones.  También  se  muestra  el  tamaño  de  la
gate  para  crear  el  término  en  cada  fila  y  combinar  los  términos
en  cada  columna.

ABCD,  FEGHJ
WX  2  XX  X
WY  2  X X
WXY  3  XXX XXX
WYZ  3 X  XX
XY  2 X
WYZ  3 X  XX
WX  2 X
Z  0 X
x0  _ X

Entradas 3 2 2 3 2 3 3 3

Hay  8  puertas  de  tres  entradas  y  7  puertas  de  dos  entradas,  que  requieren
5  módulos.
mi.  Necesitamos  volver  a  la  solución  de  la  parte  b,  ya  que  tiene
menos  términos  y  menos  términos  de  tres  literales.  Un  subidón  activo
la  solución  es

A  W(X  Y)  WXY
B  WXY  WXZ
C  WX  WXY
D  W(X  Z)  XY
EZ  WY
G  WXY  X  (W  Z)
H  WXZ  WYZ
JX  (W  Y)(W  Y)

De  las  3  puertas  de  tres  entradas,  dos  son  compartidas.  Tenga  en  cuenta  que  en  el
La  realización  de  la  puerta  NAND  que  se  muestra  a  continuación,  que  WY  y  (W  Y)
son  implementados  por  la  misma  puerta.  Además  del  paquete
de  compuertas  de  tres  entradas,  esta  realización  utiliza  19  compuertas  de  dos  entradas.
La  solución  baja  activa  es

A  WXY  W(X  Y)
BWX  YZ
C  W(X  Y)  WX
Machine Translated by Google

5.9  Problemas  Resueltos 341

D  WX  (W  XZ)(W  Y)
E  YZ  WZ
G  W(Y  XZ)  WX
HW  (X  Z)(Y  Z)
J  WXY  WY

Utiliza  siete  módulos.  Los  circuitos  se  muestran  a  continuación.

X X
Y Y
W A W A
W W
X X
Y Y

W B
X W
Z Y X B

Z
W C

X
W C
X
X
Z
W D
X W
X
Y D
Z
W W

Y mi Y
Z
Y

X GRAMO Z
W mi
W
Z
Z
W H
Y
Z GRAMO

Y
W
W X
j
Y X Z

Y H
W
Z

W j

Y
Machine Translated by Google

342 Capítulo  5  Diseño  de  sistemas  combinacionales

18.  Debes  diseñar  un  controlador  para  una  pantalla  de  ocho  segmentos  como
descrito  abajo.  Tiene  cuatro  entradas,  a,  b,  c,  d  y  ocho  salidas,
X1,...,  X8.
X1

X6 X2
X8 X7

X5 X3

X4

Esto  es  para  mostrar  el  equivalente  decimal  de  un  binario  de  4  bits
número  que  está  en  formato  de  complemento  a  uno.  en  uno
complemento,  se  codifican  los  siguientes  valores:

0000  0   1000  7
0001  1   1001  6
0010  2   1010  5
0011  3   1011  4
0100  4   1100  3
0101  5   1101  2
0110  6   1110  1
0111  7 1111  0

(Tenga  en  cuenta  que  el  signo  menos  (X8)  se  enciende  para  1  a  7,  pero  no  para
0  o  del  1  al  7.)  El  segmento  X1  puede  o  no  estar  encendido  para  el
dígito  6;  el  segmento  X6  no  está  encendido  para  el  dígito  7.  Todas  las  entradas  están  disponibles

tanto  complementadas  como  no  complementadas.

a.  Muestre  los  mapas,  las  ecuaciones  y  un  diagrama  de  bloques  para  un
solución  de  puerta  NAND  mínima  de  dos  niveles  que  trata  esto  como
ocho  problemas  separados  y  usa  solo  implicantes  primos  de
cada  una  de  las  funciones.  Sin  embargo,  la  implementación  de  la  puerta
deben  compartir  las  puertas  siempre  que  sea  posible.  (El  mínimo  es  36  puertas,
107  entradas.)

b.  Muestre  los  mapas,  las  ecuaciones  y  un  diagrama  de  bloques  para  un
solución  de  compuerta  NAND  mínima  de  dos  niveles,  pero  esta  vez  compuertas
deben  compartirse  siempre  que  sea  posible.  Restricción:  No  hay
puertas  con  más  de  ocho  entradas.  Además,  indique  cuántos
módulos  que  ha  utilizado.  C.  

X4  requiere  al  menos  ocho  términos  y,  por  lo  tanto,  una  entrada  de  ocho
Puerta  NAND  para  una  solución  de  dos  niveles.  Encuentra  un  mínimo
solución  para  X4  que  usa  solo  puertas  de  dos  entradas.  (Esto  debe,
por  supuesto,  ser  más  de  dos  niveles.)  Nota:  Esta  parte  tiene
nada  que  ver  con  la  parte  b.  Ninguna  puerta  puede  usarse  como  NOT.
Machine Translated by Google

5.9  Problemas  Resueltos 343

d.  Implemente  estas  funciones  usando  un  PLA  con  tan  pocos  términos  como
posible.  Muestre  un  diagrama  PLA.

a.  Todos  menos  X3  y  X7  tienen  soluciones  únicas.  Hay  seis
soluciones  para  X3,  las  tres  primeras  de  las  cuales  pueden  compartir  dos  términos
con  otras  soluciones.  Los  mapas  para  una  de  las  mejores  soluciones,
que  requieren  36  puertas  y  107  entradas  de  puerta,  se  muestran  en  la  siguiente
página.  Los  términos  compartidos  están  en  marrón.  La  lista  de  soluciones  se  da
abajo.  Los  términos  subrayados  en  subíndice  se  comparten  en  este
solución.  Otros  términos  que  podrían  ser  compartidos  en  un  diferente
solución  están  subrayadas:

X1  bd  bd  ca 7 C.A

X2  ab  ab  cd 6 cd
X3  ab 5 cd 6 anuncio  bc
ab  bd  cd  ac
ab  cd  ad  bc
bd  cd  ab  ac
ac  anuncio  bd  bc
bc  ac  bd  anuncio
X4  abd 4 bcd  abc  acd 3 abc  abd2
bcd  acd1
X5  acd1  abd2  acd 3 abd 4

X6  acd  abc  abd  abc  acd
X7  bc  bc  {acd 3 o  abd}  {acd1  o  abd}
X8  ab 5 C.A 7 anuncio'

El  conteo  de  puertas  para  esta  solución  es

X1:2222 4
X2:2222 4
X3: 2(2) 2 2 4
X4:3333  3333  8
X5: (3)   (3)   (3)   (3)   4
X6: 3 3 3 3  33 6
X7: 2 2  (3)  (2) (3) 4
X8: (2) 2 3

2s: 14 7430: 2 36  puertas/107  entradas


3s: 15 7420: 3
4s: 5 7410: 5
6s: 1 7400s:  4
8s: 1
14  fichas
Machine Translated by Google

344 Capítulo  5  Diseño  de  sistemas  combinacionales

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 1 1 1 00 1 1 1 1

01 1 1 X 01 1 1
X1 X2
11 1 1 1 11 1 1 1 1

10 1 X 1 10 1 1

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 111  1 00 1 1

01 1 1 1 01 1 1 1
X3 X4
11 1 1 1 1 11 1 1

10 1 1 1 10 1 1 1

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 1 00 1 1

01 1 1 01 1 1
x5 X6
11 1 11 1 1

10 1 1 10 1 1

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 1 1 00 11

01 1 1 1 01 1 1
x7 X8
11 1 1 11 1

10 1 1 1 10 1 1
Machine Translated by Google

5.9  Problemas  Resueltos 345

b.  La  mejor  solución  se  muestra  en  la  siguiente  tabla  y  mapas.  Él
requiere  24  puertas  con  95  entradas  y  solo  13  chips.

X1  X2  X3  X4  X5  X6  X7  X8
a  B  C  D X  XXX  4
abc  XX  X XX3
abc  XX  X x3
bd  2 X
abd X X x3
abc  3 X X
abd X X x3
disco  compacto  2 X
cd X 2x2
abd X x3 X
a  B  C  D XX  XX  4
abd X X X x3
ac X x3
ac X x3
a  B  C  D XXX  4
a  B  C  D X  XX  4

5 6 7 8 4 6  64

8  pulgadas 1 1

7  pulgadas 1 1

6  pulgadas 3 3

5  pulgadas 1 1

4  pulgadas 6 3

3  en 9 3
2  pulgadas 3 1

Total 24 13 95  entradas
Machine Translated by Google

346 Capítulo  5  Diseño  de  sistemas  combinacionales

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 1 1 1 00 111  1

01 1 1 X 01 1 1
X1 X2
11 1 1 1 11 1 1 1 1

10 1 X 1 10 1 1

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 111  1 00 1 1

01 1 1 1 01 1 1 1
X3 X4
11 1 1 1 1 11 1 1

10 1 1 1 10 1 1 1

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 1 00 1 1

01 1 1 01 1 1
x5 X6
11 1 11 1 1

10 1 1 10 1 1

a b a b
C d 00  01 11 10 C d 00 01 11 10

00 1 1 00 11

01 1 1 1 01 1 1
x7 X8
11 1 1 11 1

10 1 1 1 10 1 1
Machine Translated by Google

5.9  Problemas  Resueltos 347

C.

X4  abd  bcd  abc  acd  abc  abd  bcd  acd
ab(c  d)  ab(c  d)  cd(a  b)  cd(a  b)  [a  b(c  d)][a  b(c  d)]

[c  d(a  b)][c  d(a  b)]

C a

a a
X4
b

a C

d.  La  solución  a  la  parte  b  se  traduce  directamente  en  un  PLA  con  16
términos  de  producto  (donde  cada  fila  corresponde  a  un  término  de  producto).
Una  solución  igualmente  buena  sería  diseñar  el  PLA  como  una  
ROM.  También  tendría  16  términos.  (Nota:  la  solución  ROM  no  
funciona  para  la  parte  b,  ya  que  requeriría  una  puerta  de  14  
entradas  para  X3).
Machine Translated by Google

348 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

5.10  EJERCICIOS
1.  Para  el  siguiente  circuito:

mi
C

B
D

mi GRAMO

C D

mi

a.  Calcule  el  retraso  máximo,  i.  Asumiendo  

que  todos  los  insumos  están  disponibles  tanto  sin  complementar  
como  complementados  ii.  Asumiendo  que  solo  

hay  entradas  no  complementadas  disponibles  y  se  debe  agregar  una  puerta  
adicional  para  complementar  cada  entrada  b.  Calcule  el  retraso  máximo  
desde  

la  entrada  C  hasta  la  salida,
asumiendo  que  todas  las  entradas  están  disponibles  tanto  sin  complementar  
como  complementadas.

2.  Estamos  construyendo  un  sumador  para  sumar  la  constante  de  32  bits

10101010101010101010101010101010

a  un  número  arbitrario  de  32  bits.  Implementaremos  esto  con  16  módulos  
sumadores  idénticos,  cada  uno  de  los  cuales  agregará  2  bits  del  número  a  la  
constante  (10)  y  un  acarreo  del  siguiente  par  de  bits  inferior  y  producirá  2  bits  de  la  
suma  y  el  acarreo  a  los  siguientes  bits. .  Un  diagrama  de  bloques  de  parte  de  esto  
se  muestra  a  continuación:

a b
C

sumador  

de  2  bits

y
s t
Machine Translated by Google

5.10  Ejercicios 349

El  problema  que  resuelve  cada  sumador  de  2  bits  es

abdominales

1 0
sí  t

a.  Muestre  una  tabla  de  verdad  para  ese  sumador  de  2  bits  (tiene  tres  entradas,  a,  b,
y  c,  y  tiene  tres  salidas,  y,  s  y  t),  y  encuentre  el  mínimo
Expresiones  SOP  para  cada  salida.
b.  Calcule  el  retraso  desde  la  entrada  c  de  cada  módulo  hasta  la  salida  y  
de  ese  módulo  y  el  retraso  total  para  los  32  bits.
3.  Queremos  construir  un  circuito  para  calcular  el  complemento  a  dos  de
un  número  de  n  bits.  Haremos  esto  con  n  módulos,  cada  uno  de  los  cuales
complementa  ese  bit  y  luego  agrega  el  acarreo  del  siguiente  inferior
poco.  Por  lo  tanto,  los  primeros  tres  bits  de  un  diagrama  de  bloques  del  circuito  serán
parece

a2 a1 a0

C
2 1
C C
1 0

b2 b1 b0

a.  Muestre  un  diagrama  de  bloques  para  cada  una  de  las  cajas  usando  NAND
puertas  (Diseñe  especialmente  el  primer  cuadro,  a  la  derecha).  
b.  Calcule  el  retraso  para  n  bits.
C.  Mejore  la  velocidad  diseñando  2  bits  a  la  vez.  Mostrar  un
circuito  de  puerta  NAND  y  calcule  el  retardo  total.
4.  Queremos  construir  un  sumador  para  sumar  simultáneamente  tres  dígitos
numeros  binarios.  Diseña  un  solo  bit  de  ese  sumador.  tiene  tres
entradas  para  ese  dígito,  x,  y,  y  z,  más  dos  entradas  de  acarreo,  u  y  v
(ya  que  puede  tener  un  acarreo  de  0,  1  o  2).  Hay  tres  salidas,
una  suma,  s,  y  dos  acarreos,  f  y  g.  Muestra  una  tabla  de  verdad  y  encuentra  el
expresiones  de  suma  mínima  de  productos  para  las  tres  salidas.
5.  Diseñe  un  circuito  para  multiplicar  dos  números  de  2  bits:  a,  b  y  c,  d  y
producir  un  producto  de  4  bits:  w,  x,  y,  z.  Muestre  una  tabla  de  verdad  y  la
ecuaciones
Machine Translated by Google

350 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

6.  Necesitamos  determinar  si  un  número  de  tres  bits,  a3,  a2,  a1,  es  
igual  a  otro  número,  b3,  b2,  b1,  o  si  es  mayor  que  ese  número.  
(No  necesitamos  una  salida  por  menos  de.)  a.  
Muestre  cómo  se  conectaría  el  7485  para  lograr  esto.  b.  Implemente  
esto  con  puertas  AND  y  OR.  C.  Suponiendo  
que  el  7485  cuesta  $1,  ¿cuánto  deben  costar  los  paquetes  de  
compuertas  AND  y  OR  de  la  serie  7400  para  que  la  
implementación  AND/OR  sea  menos  costosa?
7.  Considere  el  siguiente  circuito  con  un  decodificador  activo  de  salida  alta.
Dibuje  una  tabla  de  verdad  para  X  e  Y  en  términos  de  a,  b  y  c.

0
a 1 X
2
3
b
4
5 Y
C 6
7

8.  Deseamos  diseñar  un  decodificador,  con  tres  entradas,  x,  y,  z,  y  ocho
salidas  altas  activas,  etiquetadas  como  0,  1,  2,  3,  4,  5,  6,  7.  No  se  requiere  entrada  de  
habilitación.  (Por  ejemplo,  si  xyz  011,  la  salida  3  sería  1  y  todas  las  demás  salidas  serían  0).

El  único  bloque  de  construcción  es  un  decodificador  de  dos  entradas  y  cuatro  salidas.
(con  una  habilitación  alta  activa),  cuya  tabla  de  verdad  se  muestra  a  continuación.

0
ES  AB0123 A
1
0 XX  0000  1  001000  1  010100   2
1  100010  1  110001 B
3

ES

Dibuje  un  diagrama  de  bloques  del  sistema  usando  tantos  de  estos  bloques  de  
construcción  como  sean  necesarios.

9.  Queremos  implementar  un  sumador  completo;  llamaremos  a  las  entradas  a,  b  y  c  ya  las  salidas  
s  y  cout.  Como  siempre,  el  sumador  se  describe  mediante  las  siguientes  ecuaciones:

s(a,  b,  c)   m(1,  2,  4,  7)  m(3,  

cout(a,  b,  c) 5,  6,  7)

Para  implementar  esto,  todo  lo  que  tenemos  disponible  son  dos  decodificadores  (como  
se  muestra  a  continuación)  y  dos  puertas  OR.  Las  entradas  ayb  están  disponibles  tanto  
sin  complementar  como  complementadas ;  c  solo  está  disponible
Machine Translated by Google

5.10  Ejercicios 351

sin  complementar  Muestre  un  diagrama  de  bloques  para  este  sistema.  Asegúrese  
de  etiquetar  todas  las  entradas  a  los  decodificadores.

0
A ES  AB0123
1
2 1  XX  0000  0  001000  0  010100  0  
B 100010  0  110001
3

ES

10.  Muestre  el  diagrama  de  bloques  de  un  decodificador,  cuya  tabla  de  verdad  se  
muestra  a  continuación.  Los  componentes  disponibles  son  puertas  NAND  de  
una,  dos  y  tres  entradas.  (Un  NAND  de  una  entrada  es  un  inversor).

Entradas Salidas
E1  E2  ab123
0  XXX  111
X  0  XX  111  1  100111  1  101011  
1  110101  1  111110

11.  Diseñe,  usando  compuertas  AND,  OR  y  NOT,  un  codificador  de  prioridad  con  siete  
entradas  bajas  activas,  1, . . . ,  7  y  tres  salidas  activas  altas,  CBA  que  indican  cuál  
es  la  línea  activa  de  mayor  prioridad.  La  entrada  1  tiene  la  máxima  prioridad;  7  es  el  
más  bajo.  Si  ninguna  de  las  entradas  está  activa,  la  salida  es  000.  Hay  una  cuarta  
línea  de  salida,  M,  que  es  1  si  hay  varias  entradas  activas.

12.  Implementar  la  función

f(x,  y,  z) m(0,  1,  3,  4,  7)

utilizando  multiplexores  de  dos  vías.

13.  En  el  siguiente  circuito,  el  decodificador  (DCD)  tiene  dos  entradas  y  cuatro  salidas  
(activas  altas)  (de  modo  que,  por  ejemplo,  la  salida  0  es  1  si  y  solo  si  las  entradas  
A  y  B  son  ambas  0 ) .  Cada  uno  de  los  tres  multiplexores  tiene  dos  entradas  de  
selección  (que  se  muestran  en  la  parte  superior  de  la  caja),  cuatro  entradas  de  
datos  (que  se  muestran  a  la  izquierda)  y  una  entrada  de  habilitación  alta  activa  
(que  se  muestra  en  la  parte  inferior).  Las  entradas  A,  B,  C  y  D  son  entradas  
seleccionadas;  las  entradas  N  a  Z  son  entradas  de  datos.  Complete  una  verdad  
dando  el  valor  de  F  para  cada  una  de  las  16  posibles  combinaciones  de  entrada  seleccionadas.
(Comentario:  para  algunos  valores,  F  0;  para  un  valor,  F  W.)
Machine Translated by Google

352 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

C D

norte

PAG

q
R

C D

S
T
F
0 tu
A 1 V
DCD
B 2
3 C D

W
X
Y
Z

14.  El  siguiente  circuito  incluye  un  multiplexor  con  entradas  seleccionadas,
A  y  B,  y  entradas  de  datos,  W,  X,  Y  y  Z:

A B

W
X
F
Y
Z

Escribe  una  ecuación  algebraica  para  F.

15.  Para  los  siguientes  conjuntos  de  funciones,  diseñe  un  sistema

i.  Usando  una  ROM

ii.  Uso  de  un  PLA  con  la  cantidad  de  términos  de  productos  que  se  muestra

iii.  Usando  un  PAL

a.  F(A,  B,  C)  m(3,  4,  5,  7)

G(A,  B,  C)  m(1,  3,  5,  6,  7)

H(A,  B,  C)  m(1,  4,  5)  b.  W(A,  B,   (4  términos  de  productos)

C)  m(0,  1,  4)

X(A,  B,  C)  m(0,  3,  4,  7)

Y(A,  B,  C)  m(1,  2,  6)

Z(A,  B,  C)  m(2,  3,  6,  7) (4  términos  de  productos)
Machine Translated by Google

5.10  Ejercicios 353

C.  f(a,  b,  c,  d)   m(3,  5,  6,  7,  8,  11,  13,  14,  15)  
g(a,  b,  c,  d) m(0,  1,  5,  6,  8,  9,  11,  13,  14)  (6  
términos  de  producto)
d.  F(A,  B,  C,  D)  m(1,  2,  6,  7,  8,  9,  12,  13)
G(A,  B,  C,  D)  m(1,  8,  9,  10,  11,  13,  15)
H(A,  B,  C,  D)  m(1,  6,  7,  8,  11,  12,  14,  15)  (8  
términos  de  producto)
16.  Hemos  encontrado  una  expresión  de  suma  mínima  de  productos  para  cada  
una  de  las  dos  funciones,  F  y  G,  minimizándolas  individualmente  (sin  
compartir):

F  WXY  XYZ  WZ
G  WYZ  XY

a.  Implementarlos  con  una  ROM.  b.  
Implementarlos  con  un  PLA  con  cuatro  términos.  C.  Para  las  
mismas  funciones,  tenemos  disponibles  tantos  decodificadores  de  los  
descritos  a  continuación  como  sean  necesarios  más  2  compuertas  OR  
de  ocho  entradas.  Muestre  un  diagrama  de  bloques  para  esta  
implementación.  Todas  las  entradas  están  disponibles  tanto  sin  complementar  como  complementadas.

A 0
EN1  EN2  AB0123
B 1
EN1 2 X   0  XX  0000
X  XX  0000  1  001000  1  010100  1  
EN2 3
1   100010  1  110001
0  

0  

0  0

Tenga  en  cuenta  que  este  chip  está  habilitado  solo  cuando  EN1  
0  y  EN2  1.

17.  Considere  las  siguientes  tres  funciones,  f,  g  y  h  de  los  cuatro
variables,  a,  b,  c  y  d,  cuyas  soluciones  mínimas  (tratando  cada  una  como  un  
problema  separado)  se  enumeran  a  continuación.  En  todo  momento,  todas  las  
variables  están  disponibles  solo  sin  complementar:

f  bcd  bd  acd  g  cd  bc  bd  
abcd  h  bd  cd  abd

a.  Implementarlos  con  una  ROM.  b.  
Implementarlos  en  un  PLA  con  seis  términos.  C.  
Impleméntelos  usando  solo  decodificadores  del  tipo  que  se  muestra  a  
continuación  (tantos  como  sea  necesario)  y  tres  puertas  OR  (cada  
una  con  tantas  entradas  como  necesite).  (No  se  permiten  otras  puertas).  
La  lógica  0  y  la  lógica  1  están  disponibles.
Machine Translated by Google

354 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

A 0
EN1  EN2  AB0123
B 1
EN1 2 0 X  XX  0000
X 1 XX  0000
EN2 3
0 1 0  01000
0 1 0  10100
0 1 1  00010
0 1 1  10001

18.  Tenemos  tres  funciones,  X,  Y,  Z  de  las  cuatro  variables,  A,  B,  C,  D.
Nota:  Cada  parte  se  puede  resolver  sin  la  otra:

X(A,  B,  C,  D)  m(0,  2,  6,  7,  10,  13,  14,  15)
Y(A,  B,  C,  D)  m(2,  6,  7,  8,  10,  12,  13,  15)
Z(A,  B,  C,  D) m(0,  6,  8,  10,  13,  14,  15)

a.  Implementar  con  un  circuito  de  puerta  NAND  de  dos  niveles.  Esto  puede  ser
hecho  usando  solo  implicantes  primos  de  las  funciones  individuales
con  13  puertas.  Con  compartir,  se  puede  hacer  con  10  puertas.
Suponga  que  todas  las  variables  están  disponibles  tanto  complementadas  como
sin  complementar
b.  Implemente  estas  funciones  usando  una  ROM.
C.  Implemente  esto  con  2  de  tres  entradas  (más  habilitación  baja  activa)
decodificadores  como  se  muestra  a  continuación,  más  un  número  mínimo  de  AND,
O,  y  NO  puertas.

0
1
a
2
3
b
4
5
C
6
ES 7

d.  Implementarlo  con  un  PLA  con  ocho  términos.  (Es  posible  que  no  necesite
para  usarlos  todos.)  e.  
Implementarlos  con  el  PAL  que  se  muestra  en  el  texto.
19.  Implemente  el  sumador  de  2  bits  de  la  Sección  5.1.2  usando  el  PAL  de
Sección  5.6.3.  El  problema  es  que  una  de  las  funciones  de  salida
requiere  7  términos  y  otros  12.  Esto  se  puede  superar  construyendo
el  acarreo  entre  los  2  bits  y  usar  esa  salida  como  otra  entrada
para  calcular  s1  y  cout.
20.  En  el  Problema  resuelto  16,  diseñamos  un  convertidor  de  3  en  exceso  a  2  de  5  
código.  En  este  ejercicio,  queremos  hacer  lo  contrario,  es  decir
Machine Translated by Google

5.10  Ejercicios 355

diseñe  un  convertidor  de  2  de  5  códigos  a  3  en  exceso.  Habrá  cuatro  funciones  de  cinco  variables.  
Asumiremos  que  solo  se  ingresan  códigos  de  dígitos  legítimos;  por  lo  tanto,  habrá  22  no  
importa  en  cada  mapa.  Todas  las  entradas  están  disponibles  tanto  sin  complementar  como  
complementadas.  a.  Mapee  cada  una  de  las  cuatro  funciones  y  encuentre  todas  
las  soluciones  de  

suma  mínima  de  productos  y  producto  de  sumas  para  cada  una  de  las  cuatro  funciones  
individualmente.  b.  Nuestros  bloques  de  construcción  consisten  en  chips  de  circuitos  
integrados.  Podemos

compra  cualquiera  de  las  siguientes  fichas:

7404:  6  inversores  7400:  

4  compuertas  NAND  de  dos  entradas  7402:  4  compuertas  NOR  de  dos  entradas  7410:  3  
compuertas  NAND  de  tres  entradas  7427:  3  compuertas  NOR  de  tres  entradas  7420:  2  compuertas  
NAND  de  cuatro  entradas  7425:  2  compuertas  de  cuatro  entradas  Puertas  NOR

Todas  las  fichas  cuestan  lo  mismo,  25¢  cada  una.
Encuentre  una  de  las  implementaciones  menos  costosas  ($1.00)
de  las  cuatro  salidas.  (Las  puertas  de  cualquier  chip  pueden  usarse  como  parte  de  la  
implementación  de  más  de  una  de  las  salidas).
Muestre  la  expresión  algebraica  y  el  diagrama  de  bloques  para  la  solución.

C.  Encuentre  dos  soluciones,  una  de  las  cuales  use  solo  paquetes  7400  y  7410,  y  una  
solución  que  use  solo  puertas  NOR.  Cada  uno  de  estos  debe  costar  no  más  de  $1.00.  
(Por  supuesto,  uno  de  estos  es  la  solución  a  la  parte  b.)  d.  Implemente  esto  con  una  ROM.  
mi.  Implemente  esto  con  un  

PLA.  F.  Implemente  esto  con  el  PAL  descrito  en  

el  texto.

21.  Tenemos  una  pantalla  especial  de  ocho  segmentos,  como  se  muestra  a  continuación.

X1

X6 X2
X7
X8

X5 X3

X4

Queremos  mostrar  los  números  del  0  al  15,  como  se  muestra  en  la  siguiente  figura,  donde  una  
línea  discontinua  significa  un  segmento  no  iluminado  y  una  línea  sólida  uno  iluminado.  Tenga  en  
cuenta  que  para  6  y  9,  un  segmento  puede  estar  encendido  o  apagado,  como  desee.
Machine Translated by Google

356 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

Diseñe  tres  versiones  de  un  sistema  que  acepte  como  entrada  un
número  de  4  bits,  A,  B,  C,  D  y  produce  las  ocho  salidas,  X1,  X2,...,  X8  
bajo  cada  una  de  las  siguientes  restricciones.  (Todas  las  entradas  están  
disponibles  tanto  complementadas  como  sin  complementar).  a.  Cada  
salida  se  minimiza  de  forma  independiente  utilizando  un  circuito  de  compuerta  
NAND  de  dos  niveles,  donde  el  mínimo  es  el  número  mínimo  de  
compuertas,  y  entre  aquellos  con  el  mismo  número  de  compuertas,  el  
número  mínimo  de  entradas  de  compuerta.  (Cada  función  debe  ser  una  
suma  de  implicantes  primos  de  esa  función.  Una  puerta  se  puede  compartir  
entre  funciones  solo  si  implementa  un  implicante  primo  de  cada  función).  
(Solución  mínima:  32  puertas,  95  entradas).  b.  Puertas  NAND  de  dos  
niveles,  utilizando  un  número  mínimo  de  los  siguientes  módulos:

Tipo  7400:  4  puertas  NAND  de  dos  entradas
Tipo  7410:  3  puertas  NAND  de  tres  entradas
Tipo  7420:  2  puertas  NAND  de  cuatro  entradas
Tipo  7430:  1  puerta  NAND  de  ocho  entradas

(Hay  una  solución  que  usa  11  módulos).  (Nota:  La  solución  de  la  parte  a  usa  
13  módulos).  c.  Un  PLA  con  el  
número  mínimo  de  términos.
Para  las  partes  a  y  b,  muestra  los  mapas,  las  ecuaciones  y  un  diagrama  
de  bloques.
22.  Tenemos  un  dígito  decimal  almacenado  en  exceso  de  3  códigos.  Los  bits  del  
código  están  etiquetados  con  w,  x,  y,  z  (de  izquierda  a  derecha).  Deseamos  
mostrar  ese  dígito  en  una  pantalla  de  siete  segmentos.  El  diseño  sigue.  Tenga  en  
cuenta  que  hay  dos  formas  de  mostrar  un  6,  un  7  y  un  9;  elige  lo  que  sea  más  
conveniente.  La  pantalla  requiere  un  1  para  encender  un  segmento  y  un  0  para  
que  no  se  encienda.
Machine Translated by Google

5.10  Ejercicios 357

a a
W b
F b
X C
Mostrar d
gramo

Conductor
Y
mi
mi C
Z F
gramo
d

Diseñe  el  dispositivo  de  cuatro  entradas  y  siete  salidas  que  toma  el  código  
del  dígito  y  produce  las  señales  para  controlar  la  pantalla.  Si  alguna  de  las  
combinaciones  de  entrada  no  utilizadas  se  aplica  a  su  dispositivo,  la  pantalla  
debe  estar  en  blanco,  es  decir,  todas  las  salidas  del  dispositivo  deben  ser  0.
Suponga  que  las  cuatro  entradas  están  disponibles  tanto  sin  complementar  
como  complementadas.
Estamos  buscando  tres  diseños  diferentes  para  esto.  Para  cada,
mostrar  los  mapas,  las  ecuaciones  algebraicas  y  un  diagrama  de  bloques.
Utilice  colores  para  que  sus  soluciones  sean  legibles.  Para  las  dos  primeras  
partes,  indique  cuántos  paquetes  de  cada  tipo  necesita  (7400,  7410,  7420,  
7430).  Pero  el  mínimo  se  define  como  el  número  mínimo  de  puertas,  y  entre  
aquellos  con  el  mismo  número  de  puertas,  el  número  mínimo  de  entradas  de  
puertas.  a.  Primero,  
encuentre  una  solución  de  compuerta  NAND  de  dos  niveles  de  costo  mínimo  tal  
que  todos  los  términos  sean  implicantes  principales  de  las  funciones  individuales.
Solo  se  compartirán  los  términos  que  sean  implicantes  primos  de  cada  
función.  Cuando  hay  múltiples  soluciones,  una  respuesta  a  menudo  
conducirá  a  compartir  más  que  otras.
b.  En  segundo  lugar,  reduzca  el  número  de  puertas  compartiendo  más  
(incluidos  los  términos  que  no  son  implicantes  principales).  
C.  Tercero,  implemente  esto  con  un  PLA,  que  tiene  cuatro  entradas,  siete  
salidas  y  12  términos  de  productos.
23.  Para  las  siguientes  tres  funciones  (de  cinco  variables)

f(a,  b,  c,  d,  e) m(0,  2,  5,  7,  8,  10,  13,  15,  16,  21,  23,  
24,  29,  31)
Machine Translated by Google

358 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

g  ( un , b, c , d, mi ) m(2,  5,  7,  10,  13,  15,  16,  18,  20,  


21,  22,  23,  25,  27)  m(2,  9,  
h  ( un, b, c , d, mi ) 10,  12,  13,  14,  16,  18,  20 ,  22,  28,  
29,  30,  31)

a.  Encuentre  una  solución  de  suma  mínima  de  productos  para  cada  uno.  
Muestre  los  mapas  y  las  ecuaciones  algebraicas  
para  cada  uno.  b.  Encuentre  una  solución  mínima,  suponiendo  un  circuito  de  
puerta  NAND  de  dos  niveles.  Todas  las  variables  están  disponibles  tanto  
sin  complementar  como  complementadas.  Muestre  los  mapas,  las  
ecuaciones  y  un  diagrama  de  bloques  del  circuito.  Además,  indique  
cuántos  paquetes  de  la  serie  7400  necesita  (es  decir,  7400,  7410,  7420,  
7430).  (Se  puede  hacer  con  no  más  de  
12  puertas).  c.  Encuentre  una  implementación  que  use  la  menor  cantidad  
posible  de  puertas  NAND  de  dos  entradas.  Ninguna  puerta  puede  
usarse  como  NOT.  Muestre  las  ecuaciones  y  un  diagrama  de  bloques  
del  circuito.  (Comentario:  La  solución  puede  derivarse  de  la  parte  a  o  
de  la  parte  b  o  alguna  
combinación  de  las  mismas.)  d.  Muestre  una  implementación  con  un  PLA  con  cinco  entradas,  tres
productos  y  10  términos  de  productos.
24.  Considere  las  siguientes  tres  funciones:

f(a,  b,  c,  d,  e)   m(2,  3,  4,  5,  8,  9,  12,  20,  21,  24,  25,  31)  m(2,  3,  
g(a,  b,  c,  d,  e) 4,  5,  6,  7,  10,  11,  12,  20,  21 ,  26,  
27,  31)  m(0,  2,  3,  4,  
h  ( un, b, c , d, mi ) 5,  8,  10,  12,  16,  18,  19,  20,  21,  22,  23,  
24,  28,  31)

Todas  las  variables  están  disponibles  tanto  sin  complementar  
como  
complementadas.  a.  Considere  cada  uno  como  un  problema  separado  y  
encuentre  todas  las  expresiones  SOP  mínimas.  Tanto  f  como  h  tienen  múltiples  soluciones.
b.  Suponga  que  los  paquetes  7400,  7410,  7420  y  7430  están  
disponibles  a  25¢  cada  uno.  Muestre  el  número  de  compuertas  
de  cada  tamaño,  cuántos  de  cada  paquete  se  requieren  y  el  costo  
total  para  una  solución  de  dos  niveles.  (Aproveche  la  posibilidad  de  
compartir  SOLO  si  el  mismo  término  es  un  implicante  primo  de  más  
de  una  función).  
c.  Para  cada  función  (usando  nuevamente  las  soluciones  de  la  parte  a),  
encuentre  una  solución  que  solo  use  los  paquetes  7400  y  7410  (25¢  
cada  uno)  (sin  compuertas  de  cuatro  u  ocho  entradas).  Mostrar  los  mapas,  las  ecuaciones,
Machine Translated by Google

5.10  Ejercicios 359

indicando  compartir,  y  un  diagrama  de  bloques.  Muestre  el  número  de  
puertas  de  cada  tamaño,  cuántos  de  cada  paquete  se  requieren  y  el  costo  
total  para  una  solución  de  dos  niveles.

d.  Aprovecha  al  máximo  compartir  para  intentar  reducir  el  coste  de  una  
solución  de  dos  niveles.  Use  los  paquetes  7400,  7410,  7420  y  7430  
(25¢  cada  uno).  Muestre  los  mapas,  las  ecuaciones,  indicando  compartir  
y  un  diagrama  de  bloques.  Muestre  el  número  de  compuertas  de  cada  
tamaño,  cuántos  de  cada  paquete  se  requieren  y  el  costo  total  para  una  
solución  de  dos  niveles.

mi.  Implemente  esto  usando  una  ROM  y  también  usando  un  PLA  con  cinco  
entradas,  12  términos  de  productos  y  tres  salidas.
25.  Diseñe  un  sistema  que  tenga  como  entradas  un  número  del  1  al  10  y
proporciona  como  sus  salidas  (ocho  de  ellas)  las  señales  para  controlar  la  pantalla  
que  se  describe  a  continuación.  Las  entradas  están  etiquetadas  como  W,  
X,  Y  y  Z  y  son  binarias  normales.  Las  combinaciones  de  entrada  0000,  1011,  
1100,  1101,  1110  y  1111  nunca  ocurrirán;  deben  ser  tratados  como  si  no  les  
importara.  Los  bloques  de  construcción  disponibles  son  los  circuitos  
integrados  7400,  7410  y  7420.  El  diseño  debe  utilizar  el  número  mínimo  de  
paquetes  (que  es  cinco  para  todos  los  casos).  La  solución  debe  incluir  los  
mapas  para  cada  una  de  las  funciones  y  un  diagrama  de  bloques  del  circuito.
La  pantalla  permite  la  representación  de  números  romanos
(excepto  que  IIX  se  usa  para  representar  8,  mientras  que  normalmente  se  
escribe  como  VIII).
Hay  un  total  de  ocho  segmentos  en  la  pantalla,  etiquetados  de  la  A  a  la  
H,  como  se  muestra  a  continuación.

CB
A D H

mi
GRAMO

Versión  alta:  para  iluminar  un  segmento,  se  coloca  un  1  en  la  entrada  de  pantalla  
adecuada  (A,  B, . . . ,  H).
Versión  Baja:  Para  iluminar  un  segmento,  se  coloca  un  0  en  la  entrada  de  
pantalla  apropiada  (A,  B, . . . ,  H).  Tenga  en  cuenta  que  para  esta  versión,  cada  
entrada  es  solo  el  complemento  de  la  versión  High.

Hay  dos  formas  de  representar  un  5  en  esta  pantalla.
Izquierda:  Segmentos  de  luz  A  y  C  (o  E  y  G).
Derecha:  Segmentos  de  luz  B  y  D  (o  F  y  H).
Machine Translated by Google

360 Capítulo  5  Diseño  de  sistemas  combinacionales
SOICICREJE

La  siguiente  ilustración  muestra  todos  los  dígitos  como  deberían  ser
codificado  para  cada  uno  de  estos,  con  un  segmento  iluminado  representado  por  una  negrita
línea  y  un  segmento  apagado  representado  por  una  línea  discontinua.

Izquierda

1  2345

6 7 8  910

Bien
1  2345

6 7 8  910

Estos  son  realmente  cuatro  problemas  separados,  uno  para  cada  versión  de
el  diseño.

5.11  PRUEBA  DEL  CAPITULO  5  (60  MINUTOS)
1.  Implemente  las  siguientes  funciones  usando  solo  dos  de  los  decodificadores
se  describe  a  continuación  y  dos  puertas  OR  de  8  entradas.

f(w,  x,  y,  z)  g(w,   m(0,  4,  5,  6,  7,  12,  15)

x,  y,  z) m(1,  3,  12,  13,  14,  15)
LA
BTE I U
O  LAU P RC
E D
P
Machine Translated by Google

5.11  Capítulo  5  Prueba 361

EN1  EN2  a bc01234567
0 X  XXX  00000000
X  1   1  XXX  00000000 0
1   0  0  010000000
0   a 1
1   1
0  0  0  0  00    1  000100000 1 0 0  0 0 0 b 2
1   0  
C 3
1   0  0  100010000
0  
4
1   0  0  000001000
1  
5
1   0  0  100000100
1  

1 0  1  000000010
1  
EN1 6
0  0  100000001
1 EN2 7

2.  Considere  las  tres  funciones,  cuyos  mapas  se  muestran  a  continuación:

wx wx wx
00 01 11 10 00 01 11 10 00 01 11 10
yz yz yz

00 1 00 111 00 1 1

01 11 01 01 11

11 111 1 11 1 11 1 11

10 11 1 10 1 1 1 10 1

F gramo
h

Implementarlos  en  el  PLA  que  se  muestra  aquí.  Asegúrese  de  etiquetar  el
entradas  y  las  salidas.  Crédito  completo  si  usa  ocho  términos  o  menos.
Machine Translated by Google

362 Capítulo  5  Diseño  de  sistemas  combinacionales

3.  Para  el  mismo  conjunto  de  funciones,  impleméntelas  con  la  ROM  que  se  
LA
BTE I U
O  LAU PERC
D
P

muestra.  Asegúrese  de  etiquetar  las  entradas  y  las  salidas.
Machine Translated by Google

5.11  Capítulo  5  Prueba 363

4.  Para  el  mismo  conjunto  de  funciones,  impleméntelas  con  el  PAL  que  
sigue.  Asegúrese  de  etiquetar  las  entradas  y  las  salidas.
Machine Translated by Google

364 Capítulo  5  Diseño  de  sistemas  combinacionales

5.  Para  el  mismo  conjunto  de  funciones,  tenemos  disponibles  como  componentes
LA
BTE I U
O  LAU PERC
D
P

tres  puertas  NAND  (tantas  entradas  como  necesite)  y  algunas  activas
entrada  baja,  decodificadores  activos  de  habilitación  baja,  como  se  muestra  a  continuación  (tantos

como  necesites).

0
ES  un b 0 1 2 3 a
1
X X1111
2
1   0  00111 b
3
0   1
0  1  1  01101 1 0 1
0  

0  0 1  11110
ES

Muestre  un  diagrama  de  un  circuito  para  implementar  estas  funciones  con  solo
estos  componentes.

5  puntos  de  crédito  extra:  Muestre  un  diagrama  que  use  solo  3  ocho  entradas
Puertas  NAND  y  4  de  estos  decodificadores.
Machine Translated by Google

CAPÍTULO

Análisis  de
Sistemas  Secuenciales
6
en  cualquier  instante  de  tiempo  depende  sólo  de  cuáles  son  las  entradas  en  ese
Hasta  ahora  
todo  
tiempo.   ha  siido  
(Esto   combinacional,  
gnora   es  decir,  
la  pequeña  demora   la  esl  
entre   alida
momento  en  que  
cambia  la  entrada  de  un  circuito  y  cuando  cambia  la  salida).
Ahora  nos  centraremos  en  los  sistemas  que  tienen  memoria,  denominados  
sistemas  secuenciales  o  máquinas  de  estados  finitos.  Por  lo  tanto,  la  salida  
dependerá  no  solo  de  la  entrada  presente  sino  también  de  la  historia  pasada,  
lo  que  sucedió  antes.
Nos  ocuparemos  principalmente  de  los  sistemas  sincronizados  (a  veces  
denominados  sincrónicos).  Un  reloj  es  simplemente  una  señal  que  alterna  (con  el  
tiempo)  entre  0  y  1  a  un  ritmo  regular.*  En  la  figura  6.1  se  muestran  dos  versiones  
de  una  señal  de  reloj.  En  el  primero,  la  señal  del  reloj  es  0  la  mitad  del  tiempo  y  1  
la  mitad  del  tiempo.  En  el  segundo,  es  1  para  una  parte  más  corta  del  ciclo.  El  
mismo  reloj  normalmente  está  conectado  a  todos  los  flip  flops.
El  período  de  la  señal  (T  en  el  diagrama)  es  la  duración  de  un  ciclo.  La  
frecuencia  es  la  inversa  (1/T).  Una  frecuencia  de  200  MHz  (megahertz,  
millones  de  ciclos  por  segundo)  corresponde  a  un  período  de  5  nsec†  (5  
nanosegundos,  5  milmillonésimas  de  segundo).  Los  valores  exactos  no  son  
importantes  en  la  mayor  parte  de  la  discusión  que  sigue.

Figura  6.1  Señales  de  reloj.

*Aunque  el  reloj  suele  tener  una  forma  de  onda  regular,  como  se  muestra,  la  regularidad  del  reloj  
no  es  crucial  para  el  funcionamiento  de  la  mayoría  de  los  
sistemas  secuenciales.  †1/(200  106 )  (1000/200)  109  5  109  5  nseg.

365
Machine Translated by Google

366 Capítulo  6  Análisis  de  sistemas  secuenciales

En  la  mayoría  de  los  sistemas  síncronos,  el  cambio  ocurre  en  la  transición  del
señal  de  reloj  Veremos  esto  con  más  detalle  cuando  presentemos  los  varios  tipos  de  
flip  flops,  dispositivos  de  almacenamiento  binario  con  reloj.
El  diagrama  de  bloques  de  la  figura  6.2  es  una  vista  conceptual  de  un  sistema  
secuencial  síncrono.  Un  sistema  secuencial  consta  de  un  conjunto  de  memoria
dispositivos  y  algo  de  lógica  combinacional.  Este  diagrama  representa  un  sistema

. . .
. . .
con  n  entradas  (x's),  además  del  reloj,  k  salidas  (z's),  y  m  binarias
dispositivos  de  almacenamiento  (q's).  Cada  dispositivo  de  memoria  puede  necesitar  una  o  dos  entradas

. . .
. . .
señales  Muchos  sistemas  tienen  solo  una  entrada  y  una  salida,  aunque
veré  ejemplos  con  varios  de  cada  uno,  y  algunos  donde  no  hay  entrada,
aparte  del  reloj.  Muchos  dispositivos  de  memoria  proporcionan  el  complemento
salida  (q)  así  como  q.

Figura  6.2  Vista  conceptual  de  un  sistema  secuencial.
Reloj

q1
z1

X1 Memoria
q  m

xn combinacional Lógica zk

Las  entradas  a  la  lógica  combinacional  son  las  entradas  del  sistema  y  las
contenido  de  la  memoria;  las  salidas  lógicas  combinacionales  son  las  salidas  del  
sistema  y  las  señales  para  actualizar  la  memoria.
En  la  Sección  6.2,  presentaremos  el  dispositivo  de  almacenamiento  más  simple,  el
pestillo.  Es  un  dispositivo  estático  construido  con  puertas.  La  salida  cambia
inmediatamente  cada  vez  que  cambia  la  entrada;  no  hay  ningún  reloj  involucrado.
Los  pestillos  se  utilizan  principalmente  para  el  almacenamiento  temporal  (búfer).
En  la  Sección  6.3,  desarrollaremos  el  almacenamiento  binario  más  común.
dispositivo,  el  flip  flop.  Un  flip  flop  casi  siempre  tiene  dos  salidas,  q  y  q;
es  decir,  tanto  el  bit  almacenado  como  su  complemento.  Puede  tener  uno  o  dos
insumos  (de  hecho,  solían  hacer  uno  con  tres);  describiremos  varios  tipos  de  chancletas.

En  la  Sección  6.1,  presentaremos  la  tabla  de  estados,  los  diagramas  de  estados  y
huellas  de  tiempo.  En  la  Sección  6.4,  discutiremos  el  análisis  de  secuencial
sistemas

6.1  TABLAS  Y  DIAGRAMAS  DE  ESTADOS
Un  ejemplo  simple  de  un  sistema  secuencial  es  el  primero  de  un  conjunto  de  ejemplos  
continuos  de  sistemas  secuenciales.  (Otros  se  introducirán  en
Capítulo  7.)
Machine Translated by Google

6.1  Tablas  y  diagramas  de  estado 367

CE6.  Un  sistema  con  una  entrada  x  y  una  salida  z  tal  que  z  1
iff  x  ha  sido  1  durante  al  menos  tres  horas  de  reloj  consecutivas.*

Para  este  ejemplo,  el  sistema  debe  almacenar  en  su  memoria  información  
sobre  las  últimas  tres  entradas  y  producir  una  salida  basada  en  eso.  Lo  que  se  
almacena  en  la  memoria  es  el  estado  del  sistema.  La  memoria  consta  de  un  conjunto  
de  dispositivos  binarios.  Es  posible  que  solo  almacenen  las  últimas  entradas,  pero  a  
menudo  es  más  económico  codificar  la  información  de  una  manera  diferente.  A  
veces,  un  número  finito  de  entradas  recientes  no  es  adecuado.
Una  traza  de  tiempo  es  un  conjunto  de  valores  para  la  entrada  y  la  salida  (ya  
veces  también  el  estado  u  otras  variables  del  sistema)  en  tiempos  de  reloj  
consecutivos.  A  menudo  se  utiliza  para  aclarar  la  definición  de  comportamiento  del  
sistema  o  para  describir  el  comportamiento  de  un  sistema  dado.  Las  entradas  son  
un  conjunto  arbitrario  de  valores  que  pueden  aplicarse  al  sistema,  elegidos  para  
demostrar  el  comportamiento  del  sistema.  Para  CE6,  la  traza  de  tiempo  se  muestra  
en  la  Traza  6.1.

Traza  6.1  Tres  1  consecutivos.

x  011011100101111100  z ?00000010000001110000

Para  CE6,  la  salida  depende  solo  del  estado  del  sistema  (no  de  la  entrada  actual)  y,  
por  lo  tanto,  ocurre  después  de  que  se  haya  producido  el  patrón  de  entrada  deseado.  
Tal  sistema  se  llama  modelo  de  Moore,  llamado  así  por  EF  Moore.  La  salida  de  la  
primera  entrada  se  muestra  como  desconocida  porque  no  tenemos  un  historial  de  lo  
que  sucedió  antes.  (Si  el  sistema  se  inicializó  para  indicar  que  aún  no  se  habían  
producido  1,  entonces  la  salida  sería  0).  Después  de  que  tres  entradas  consecutivas  
son  1,  el  sistema  pasa  a  un  estado  en  el  que  la  salida  es  1  y  permanece  allí  mientras  
la  salida  sea  1.  la  entrada  sigue  siendo  1.

Varios  diseños  son  posibles  para  este  sistema.  Aplazaremos  hasta  el  Capítulo  
7  nuestra  discusión  de  las  técnicas  para  diseñar  un  sistema  a  partir  de  una  
descripción  verbal.  En  este  punto,  presentaremos  dos  herramientas  para  describir  
sistemas  secuenciales.
Una  tabla  de  estado  muestra,  para  cada  combinación  de  entrada  y  cada  estado,  
cuál  es  la  salida  y  cuál  es  el  siguiente  estado ,  es  decir,  qué  se  almacenará  en  la  
memoria  después  del  próximo  reloj.
Un  diagrama  de  estado  (o  gráfico  de  estado)  es  una  representación  gráfica  del  
comportamiento  del  sistema,  que  muestra  para  cada  combinación  de  entrada  y  cada  
estado  cuál  es  la  salida  y  cuál  es  el  siguiente  estado ,  es  decir,  qué  se  almacenará  
en  la  memoria  después  de  la  próximo  reloj.
La  tabla  6.1  muestra  un  ejemplo  de  una  tabla  de  estado,  una  que  describe
CE6,  aunque  eso  no  es  obvio  en  este  punto.

*En  la  Sección  6.3,  definiremos  exactamente  en  qué  momento  del  reloj  importa  la  entrada.
Machine Translated by Google

368 Capítulo  6  Análisis  de  sistemas  secuenciales

Tabla  6.1  Una  tabla  de  estados.

Presente siguiente  estado Presente


estado x  0  x  1 producción

AB  0
B  CA  0
CAD  0
DA  1

Nos  referiremos  al  estado  actual  como  q  y  al  próximo  estado  como  q .  (Algunos  
libros  usan  Q  o  q  o  q(t )  para  representar  el  siguiente  estado).  El  siguiente  estado  es  
lo  que  se  almacenará  en  la  memoria  después  de  esta  transición  de  reloj.  Ese  se  
convertirá  en  el  estado  actual  en  la  próxima  hora  del  reloj.  El  siguiente  estado  es  una  
función  del  estado  actual  y  la  entrada,  x.  La  salida,  en  este  ejemplo,  depende  del  
estado  actual,  pero  no  de  la  entrada  actual.  La  salida  solo  cambia  cuando  cambia  el  
estado,  en  el  momento  de  una  transición  de  reloj.  La  primera  fila  de  la  tabla  significa  
que  si  el  sistema  está  en  el  estado  A,  es  decir,  el  hecho  A  está  almacenado  en  la  
memoria  y  la  entrada  es  un  0,  entonces  el  siguiente  estado  es  A  (es  decir,  A  debe  
almacenarse  en  la  memoria  nuevamente). );  y  si  el  hecho  A  está  almacenado  en  la  
memoria  y  la  entrada  es  un  1,  entonces  el  siguiente  estado  es  B.  Siempre  que  el  
sistema  esté  en  el  estado  A  (o  B  o  C),  la  salida  es  0.
El  diagrama  de  estados  que  corresponde  a  esta  tabla  de  estados  se  muestra  
en  la  Figura  6.3.  Cada  estado  está  representado  por  un  círculo.  También  se  incluye  
en  el  círculo  la  salida  para  ese  estado.  Cada  línea  que  sale  de  un  círculo  representa  
una  posible  transición.  La  etiqueta  en  la  línea  indica  la  entrada  que  provoca  esa  
transición.  Debe  haber  una  ruta  desde  cada  estado  para  cada  combinación  de  
entrada  posible.  (En  este  ejemplo,  solo  hay  una  entrada;  por  lo  tanto,  hay  dos  rutas).  
A  veces,  se  alcanza  el  mismo  estado  siguiente  para  ambas  combinaciones  de  
entrada  y  se  muestra  una  sola  línea  con  dos  etiquetas  o  con  un  no  importa  (X ).  Este  
diagrama  de  estado  contiene  la  misma  información  que  la  tabla  de  estado.

Figura  6.3  Diagrama  de  estado.
0

A
0
1
0
0
0
B C D
1
0 1 0 1 1

Si  nos  dieron  la  tabla  o  el  diagrama  de  estado,  podemos  construir  la  traza  de  
tiempo.  En  la  Traza  6.2,  repetimos  la  traza  anterior  pero  incluimos  el  estado.
Machine Translated by Google

6.1  Tablas  y  diagramas  de  estado 369

Seguimiento  6.2  Seguimiento  con  estado.

x011011100101111100  _
q ?  ABCABCDAABABCDDDAA ?
z ?00000010000001110000

Ya  sea  que  conozcamos  el  estado  inicial  o  no,  la  tabla  de  estado  y  el  estado
ambos  diagramas  muestran  que  una  entrada  0  lleva  el  sistema  al  estado  A  de  todos
estados  Desde  el  estado  A,  una  entrada  de  1  lleva  el  sistema  al  estado  B;  de  B,  va
a  C;  de  C,  va  a  D;  y  de  D,  permanece  en  D.
En  algunos  sistemas,  la  salida  depende  no  sólo  del  estado  actual  de
la  máquina,  sino  también  en  la  entrada  actual.  Este  tipo  de  sistema  se  refiere
como  un  modelo  Mealy  (después  de  GB  Mealy).  La  tabla  de  estados  tiene  tantas  columnas  
de  salida  como  la  siguiente  porción  de  estado  (una  para  cada  combinación  de  entrada  
posible).  Un  ejemplo  (al  que  volveremos  en  el  próximo  capítulo)  es
se  muestra  en  la  Tabla  6.2.

Tabla  6.2  Tabla  de  estados  para  un  sistema  modelo  Mealy.

q z
q x0  _ x1  _ x0  _ x1  _

AA  B 0 0
bachillerato  c 0 0
CAC 0 1

El  diagrama  de  estado  del  modelo  de  Mealy  es  diferente  del  modelo  de  Moore.
La  salida  está  asociada  con  la  transición,  en  lugar  del  estado,  como
se  muestra  en  la  Figura  6.4.  Cada  ruta  tiene  una  doble  etiqueta:  la  entrada  que  causa  la
transición,  seguida  de  una  barra  oblicua  y  la  salida  que  se  produce  cuando  el  sistema  está  
en  ese  estado  y  esa  es  la  entrada.  Así,  desde  el  estado  A,  el  camino  a
el  estado  B  está  etiquetado  como  1/0,  lo  que  significa  que  ese  camino  se  sigue  cuando  x  1,  y
la  salida  producida  es  0.

Figura  6.4  Diagrama  de  estados  para  el  sistema  Mealy  de  la  Tabla  6.2.
0/0

A números  1

1/0
0/0
0/0
dos  o más  1

B C
1/0
uno  1
1/1
Machine Translated by Google

370 Capítulo  6  Análisis  de  sistemas  secuenciales

La  traza  de  tiempo  (Traza  6.3)  se  construye  de  la  misma  manera  que  para  
un  modelo  de  Moore,  excepto  que  la  salida  actual  depende  de  la  entrada  
actual  así  como  del  estado  actual.

Traza  6.3  Traza  de  tiempo.

x  01101110010101111100  q ?  ABCABCCAABABAB  CCCCAA  z  
0000001000000000110000

El  proceso  de  análisis  y  diseño  de  las  máquinas  de  Moore  y  Mealy  es  
muy  similar.  Volveremos  a  ese  tema  en  la  Sección  6.4  y  nuevamente  en  el  
[ES  1;  EJ  1] Capítulo  7.

6.2  PESTILLOS
Un  pestillo  es  un  dispositivo  de  almacenamiento  binario,  compuesto  por  dos  o  más  puertas,  
con  retroalimentación;  es  decir,  para  el  pestillo  de  dos  puertas  más  simple,  la  salida  de  
cada  puerta  está  conectada  a  la  entrada  de  la  otra  puerta.  La  figura  6.5  muestra  un  pestillo  
Figura  6.5  Un  pestillo  de  puerta  NOR.
de  este  tipo,  construido  con  dos  puertas  NOR.
S Podemos  escribir  las  ecuaciones  para  este  sistema:
PAG

P  ( SQ)
Q  (RP )
El  estado  de  almacenamiento  normal  es  ambas  entradas  0  (inactivas).  Si  S  y  R  son  0,  
q entonces  ambas  ecuaciones  establecen  que  P  es  el  opuesto  de  Q,  es  decir,
R
PQQP
El  pestillo  puede  almacenar  un  0  (Q  0  y  P  1)  o  un  1  (Q  1  y  P  0).
Por  lo  tanto,  la  salida  P  generalmente  se  etiqueta  como  Q.  La  letra  S  se  usa  para  
indicar  set,  es  decir,  almacenar  un  1  en  el  pestillo.  Si  S  1  y  R  0,  entonces

P  (1  Q)  1 0
Q  (0  0)  0 1

Por  lo  tanto,  se  almacena  un  1  en  el  pestillo  (en  la  línea  Q).  De  manera  similar,  si  la  línea  de  
reinicio ,  R,  se  hace  1  y  S  0,

P  (1  P)  1 0
P  (0  0)  0 1

Finalmente,  el  pestillo  no  se  acciona  con  S  y  R  activas,  ya  que,  si
S  1  y  R  1,

P  (1  P)  1 0
P  (1  P)  1 0
Machine Translated by Google

6.3  Chanclas 371

Ambas  salidas  serían  0  (no  el  complemento  de  la  otra).  Además,  si  tanto  S  como  R  se  
volvieran  inactivos  (fueran  a  0)  simultáneamente,  no  está  claro  a  qué  estado  iría  el  pestillo  
(ya  que  Q  0  o  Q  1  satisfarían  las  ecuaciones  lógicas).  Lo  que  suceda  dependería  de  
cuestiones  tales  como  si  van  a  0  exactamente  al  mismo  tiempo  o  si  una  entrada  va  a  0  
antes  que  la  otra,  en  cuyo  caso  dominará  el  último  1.  De  lo  contrario,  los  factores  que  
están  más  allá  del  interés  normal  del  diseñador  lógico  (como  la  capacitancia  parásita  o  la  
ganancia  de  los  transistores  individuales)  determinarán  el  estado  final.  Para  evitar  este  
problema,  nos  aseguramos  de  que  ambas  entradas  no  estén  activas  simultáneamente.

También  se  pueden  construir  pestillos  más  complejos.  Veremos  un  pestillo  cerrado,  
como  se  muestra  en  la  Figura  6.6.  Cuando  la  señal  Gate  está  inactiva  (0),  SG  y  RG  están  
ambos  en  0  y  el  latch  permanece  sin  cambios.  Solo  cuando  Gate  va  a  1,  se  puede  
almacenar  un  0  o  un  1  en  el  pestillo,  exactamente  como  en  el  pestillo  más  simple  de  la  figura  6.5.

Figura  6.6  Un  pestillo  cerrado.

S SG
q

Puerta

q
R RG [ES  2;  EJ  2]

6.3  CHANCLAS
Un  flip  flop  es  un  dispositivo  de  almacenamiento  binario  sincronizado,  es  decir,  un  
dispositivo  que  almacena  un  0  o  un  1.  En  condiciones  normales,  ese  valor  solo  cambiará  
en  la  transición  adecuada  del  reloj.*  El  estado  del  sistema  (es  decir, ,  lo  que  está  en  la  
memoria)  cambia  en  la  transición  del  reloj.  Para  algunas  chanclas,  ese  cambio  se  produce  
cuando  el  reloj  pasa  de  1  a  0;  que  se  conoce  como  desencadenado  por  el  borde  posterior.  
Para  otros,  ese  cambio  se  produce  cuando  el  reloj  pasa  de  0  a  1;  que  se  conoce  como  
activado  por  el  borde  de  ataque.  Lo  que  se  almacena  después  de  la  transición  depende  
de  las  entradas  de  datos  del  flip  flop  y  de  lo  que  se  almacenó  en  el  flip  flop  antes  de  la  
transición.
Los  flip  flops  tienen  una  o  dos  salidas.  Una  salida  es  el  estado  del  flip  flop.  Si  hay  
dos,  la  otra  salida  es  el  complemento  del  estado.

*Muchos  flip  flops  también  tienen  entradas  claras  y/o  preestablecidas  asincrónicas  que  anulan  el  reloj  
y  colocan  un  0  (borrado)  o  un  1  (preestablecido)  en  el  flip  flop  inmediatamente,  de  la  misma  manera  
que  en  el  latch  SR  simple .  Abordaremos  ese  tema  en  breve.
Machine Translated by Google

372 Capítulo  6  Análisis  de  sistemas  secuenciales

Las  chanclas  individuales  casi  siempre  tienen  ambas  salidas.  Sin  embargo,  cuando  
varios  flip­flops  están  contenidos  en  un  paquete  de  circuito  integrado,  las  limitaciones  
de  los  pines  pueden  hacer  que  solo  esté  disponible  la  salida  no  complementada.
Se  puede  construir  un  flip­flop  SR  maestro/esclavo  simple  con  dos  pestillos  
cerrados,  como  se  muestra  en  la  figura  6.7.  Cuando  el  reloj  es  1,  las  entradas  S  y  R  
establecen  los  valores  para  el  primer  flip  flop,  el  maestro.  Durante  ese  tiempo,  el  
esclavo  no  está  habilitado.  Tan  pronto  como  el  reloj  llega  a  0,  el  maestro  se  deshabilita  
y  el  esclavo  se  habilita.  Los  valores  de  las  salidas  del  maestro,  X  y  X,  están  
determinados  por  el  valor  de  S  y  R  justo  antes  del  borde  posterior.  Estas  son  las  
entradas  del  esclavo.  Por  lo  tanto,  el  esclavo  (y  la  salida  del  flip  flop)  cambia  cuando  
el  reloj  llega  a  0  (en  el  borde  posterior)  y  permanece  así  hasta  el  próximo  ciclo  de  
reloj.  Podríamos  obtener  un  flip  flop  disparado  de  última  generación  conectando  el  
reloj  al  esclavo  y  su  complemento  al  maestro.  El  cambio  en  la  salida  del  flip  flop  se  
retrasa  desde  el  borde  del  reloj  (un  retraso  un  poco  más  largo  que  a  través  de  una  
puerta).  Las  chancletas  comerciales  usan  un  circuito  más  complejo  pero  más  rápido.

Nos  concentraremos  en  dos  tipos  de  chanclas,  la  D  y  la  JK.  El  flip  flop  D  es  el  
más  sencillo  y  se  encuentra  comúnmente  en  dispositivos  lógicos  programables  
(Capítulo  8).  El  flip  flop  JK  casi  siempre  produce  la  lógica  combinacional  más  simple.  
También  presentaremos  las  chanclas  SR  y  T ,  entre  la  discusión  de  la  D  y  la  JK,  ya  
que  naturalmente  conducen  a  la  JK.

Figura  6.7  Flip  flop  maestro/esclavo.
S

X q

X q

Reloj

Maestro Esclavo

El  flip  flop  más  simple  es  el  flip  flop  D.  El  nombre  proviene  de  Delay,  ya  que  la  
salida  es  solo  la  entrada  retrasada  hasta  la  siguiente  transición  de  reloj  activa.  El  
siguiente  estado  del  flip  flop  D  es  el  valor  de  D  antes  de  la  transición  del  reloj.  En  la  
figura  6.8  se  muestran  diagramas  de  bloques  de  flip  flops  D ,  tanto  activados  por  el  
borde  de  salida  como  por  el  borde  de  ataque.  El  triangulo  se  usa
Machine Translated by Google

6.3  Chanclas 373

para  indicar  qué  entrada  es  el  reloj.  Por  lo  general,  se  muestra  un  círculo  en  la
entrada  de  reloj  de  un  flip  flop  activado  por  el  borde  de  salida.  (Lo  haremos  de  
manera  consistente.)  Sin  embargo,  se  debe  tener  cuidado,  ya  que  algunas  
publicaciones  no  diferencian  en  el  diagrama.

Figura  6.8  Diagramas  de  flip  flop  D.
q q
D D
q q

Desencadenado  por   Reloj Reloj vanguardista


el  borde  de  fuga motivado

Usaremos  dos  formas  de  una  tabla  de  verdad  (Tabla  6.3)  y  un  diagrama  de  
estado  para  describir  el  comportamiento  de  cada  tipo  de  flip  flop.  Aunque  estos
son  particularmente  simples  para  el  flip  flop  D ,  los  mostraremos  aquí  como
Bueno.  En  la  primera  forma  de  la  tabla  de  verdad,  la(s)  entrada(s)  del  flip  flop  y  el
estado  actual  están  en  las  columnas  de  entrada;  en  el  segundo,  solo  el  flip
se  necesitan  entradas  flop.  El  diagrama  de  estado  para  un  flip  flop  D  se  muestra  en
Figura  6.9.  Tiene  dos  estados  (para  todo  tipo  de  chanclas).  La  transición Figura  6.9  Estado  del  flip­flop  D
las  rutas  están  etiquetadas  con  la  entrada  que  causa  esa  transición.  la  salida  es diagrama.
no  se  muestra  en  el  círculo  ya  que  es  el  mismo  que  el  estado. 1

0 0 D 1 1
Tabla  6.3  Las  tablas  de  comportamiento  del  flip­flop  D.
0
Dqq  D  q
0  0  0  0  10  
0  1 00
1 11

11  1

El  siguiente  estado  de  un  flip­flop  se  puede  describir  algebraicamente  como  
una  función  de  sus  entradas  y  estado  actual  (obteniendo  una  ecuación  directamente
de  la  primera  tabla  de  verdad).  En  el  caso  del  flip  flop  D ,  la  ecuación  es

q  D

El  comportamiento  de  un  flip­flop  D  disparado  por  el  borde  de  salida  se  ilustra  en
el  diagrama  de  tiempos  de  la  figura  6.10a.  A  menos  que  conozcamos  el  valor  inicial  de
q,  es  decir,  lo  que  estaba  almacenado  en  el  flip  flop  antes  de  que  empezáramos  a  mirar,  entonces
q  se  desconoce  hasta  después  de  la  primera  transición  de  reloj  negativa.  Eso  es
indicado  por  la  sección  rayada  en  el  diagrama  de  tiempo.  cuando  el  primero
se  produce  el  borde  de  salida  del  reloj,  se  establece  el  estado  del  flip­flop.
Machine Translated by Google

374 Capítulo  6  Análisis  de  sistemas  secuenciales

Figura  6.10  Diagrama  de  temporización  del  flip  flop  D.

Reloj

(a)

Reloj

(b)

Dado  que  D  es  0  en  ese  momento,  q  tiende  a  0  (y,  por  supuesto,  q  tiende  a  1).  Tenga  
en  cuenta  que  hay  un  ligero  retraso  en  la  salida.  La  entrada,  D,  generalmente  cambia  
poco  después  de  la  transición,  como  se  muestra  para  el  primer  cambio,  pero  puede  
cambiar  en  cualquier  momento,  siempre  que  haya  alcanzado  el  valor  correcto  mucho  
antes  de  la  siguiente  transición  activa.  (Tenga  en  cuenta  que  los  cambios  segundo  y  
tercero  en  D  vienen  más  tarde  en  el  ciclo  del  reloj).  Como  se  muestra,  la  salida  q  es  
(como  su  nombre  lo  indica)  lo  opuesto  a  la  salida  q .  En  el  segundo  borde  posterior,  
D  es  1;  por  lo  tanto,  q  es  1  para  el  siguiente  período  de  reloj.  En  el  tercer  borde  
posterior,  D  sigue  siendo  1  y  q  permanece  en  1  durante  otro  período  de  reloj.  Tenga  
en  cuenta  que  si  la  entrada  D  tuviera  que  ir  y  venir  entre  transiciones  de  reloj,  como  
se  muestra  en  la  figura  6.10b,  la  salida  no  se  vería  afectada,  ya  que  el  valor  de  D  solo  
es  relevante  cerca  del  tiempo  de  un  borde  posterior.  Sería  lo  mismo  que  en  la  Figura  6.10a.*
A  continuación,  veremos  el  comportamiento  de  una  versión  disparada  de  
vanguardia  de  ese  flip  flop.  No  es  necesario  modificar  las  tablas  que  describen  el  flip  
flop;  la  única  diferencia  es  cuando  la  salida  cambia  en  relación  con  el  reloj.
En  la  figura  6.11  se  muestra  un  diagrama  de  tiempo  para  un  flip­flop  D  activado  por  el  
borde  de  ataque ,  que  utiliza  la  misma  entrada  que  antes.  La  salida  (el  estado  del  flip

*En  algunos  flip  flops,  la  entrada  debe  ser  establecida  por  el  borde  de  ataque  anterior.  No  
discutiremos  más  sobre  eso.
Machine Translated by Google

6.3  Chanclas 375

flop)  cambia  poco  después  de  que  el  reloj  pasa  de  0  a  1  (basado  en  la  entrada  
justo  antes  de  esa  transición).

Figura  6.11  Flip­flop  D  activado  por  el  borde  de  ataque .

Reloj

Dado  que  el  comportamiento  del  flip  flop  en  una  transición  de  reloj  depende  
del  valor  de  las  entradas  del  flip  flop  antes  de  esa  transición,  podemos  conectar  
la  salida  de  un  flip  flop  a  la  entrada  de  otro,  como  se  muestra  en  la  figura  6.12   Figura  6.12  Dos  chancletas.
(con  borde  de  salida).  chanclas  activadas)  y  cronometrarlos  simultáneamente.
q r
En  una  transición  de  reloj  cuando  cambia  el  flip  flop  q ,  el  valor  anterior  de  q  se  
X D D
usa  para  calcular  el  comportamiento  de  r,  como  se  indica  en  el  diagrama  de  
tiempos  de  la  figura  6.13.  La  entrada  al  primer  flip  flop  no  ha  cambiado  desde  el   q r

último  ejemplo  y,  por  lo  tanto,  q  es  igual  que  antes.  (No  hemos  mostrado  q  en  
este  diagrama.)  En  el  primer  borde  posterior,  la  entrada  a  r  (la  salida  del  biestable  
Reloj
q )  es  desconocida;  por  lo  tanto,  la  salida  permanece  desconocida  después  de  
ese  reloj.  En  el  segundo  borde  posterior,  la  entrada  a  r  es  0  y,  por  lo  tanto,  r  tiende  a  0.
Ese  flip  flop  q  cambia  de  0  a  1  como  resultado  de  este  borde  del  reloj  no  es  
relevante;  es  el  valor  de  la  entrada  antes  del  borde  del  reloj  lo  que  determina  el  
comportamiento  de  r.  El  nuevo  valor  de  q  se  utilizará  para  determinar  la

Figura  6.13  Temporización  para  dos  flip  flops.

Reloj

r
Machine Translated by Google

376 Capítulo  6  Análisis  de  sistemas  secuenciales

comportamiento  de  r  en  la  siguiente  transición  de  reloj.  La  salida  del  flip  flop  r  es  un
réplica  de  la  de  q,  retrasada  por  un  período  de  reloj.
Este  tipo  de  comportamiento  es  común  en  todos  los  sistemas  secuenciales.
Por  lo  general,  todos  los  flip  flops  del  sistema  se  activan  con  el  mismo  reloj.
A  menudo,  las  entradas  de  los  flip  flops  son  una  función  del  contenido  del  flip
los  fracasos  del  sistema,  como  se  mostró  en  la  vista  global  de  un  sistema  secuencial  al  comienzo  
de  este  capítulo.
Antes  de  pasar  a  ver  otros  tipos  de  chanclas,  examinaremos
el  comportamiento  de  flip  flops  con  estático  (asincrónico)  claro*  y  preestablecido
entradas.  Cualquier  tipo  de  flip  flop  puede  tener  uno  o  ambos  disponibles.  un  re
flip  flop  con  entradas  activas  bajas  (el  arreglo  más  común)  claras  y  preestablecidas  se  muestra  
en  la  Figura  6.14.  La  versión  de  la  izquierda  usa  barras  superiores
para  el  complemento  (la  notación  más  común  en  el  circuito  integrado
literatura);  continuaremos  usando  números  primos,  como  a  la  derecha,  donde  el
el  comportamiento  del  flip  flop  se  describe  mediante  la  tabla  de  verdad  de  la  tabla  6.4.  El
las  entradas  claras  y  preestablecidas  actúan  inmediatamente  (excepto  por  el  retardo  del  circuito)  y
anulan  el  reloj,  es  decir,  fuerzan  la  salida  a  0  y  1,  respectivamente.
Solo  cuando  ambas  entradas  estáticas  son  1,  el  flip  flop  se  comporta  como
antes,  con  la  transición  del  reloj  y  la  entrada  D  determinando  el  comportamiento.  En  la  figura  6.15  
se  muestra  un  ejemplo  de  temporización.  La  entrada  clara  se  convierte  en
activo  cerca  del  comienzo  del  tiempo  mostrado,  forzando  a  q  a  0.  Mientras
esa  entrada  permanece  en  0,  el  reloj  y  D  se  ignoran;  por  lo  tanto,  nada  cambia
en  el  primer  borde  posterior  del  reloj  que  se  muestra.  Una  vez  que  vuelve  el  claro
a  1,  luego  el  reloj  y  D  toman  el  relevo;  pero  no  tienen  efecto  hasta  el  siguiente
borde  posterior  del  reloj.  La  entrada  D  determina  el  comportamiento  del  flip
flop  en  los  siguientes  cuatro  bordes  posteriores.  Cuando  la  entrada  preestablecida  va  a  0,  el
La  salida  del  flip  flop  pasa  a  1.  Cuando  la  entrada  preestablecida  vuelve  a  1,  el  reloj
y  D  una  vez  más  toman  el  relevo.

Figura  6.14  Flip  flop  con  entradas  claras  y  preestablecidas. Tabla  6.4  Flip  flop  D  con  entradas  claras  y  preestablecidas
tabla  de  comportamiento

PRE PRE PRE  CLR  Dqq


D q D q 0   X 1  estático
1   X X  0  inmediato
1  0 0  0 X X:  no  permitido
Reloj q Reloj q 1  100  0
CLR CLR
1  1  0  1  0  1  1  1  0  1  1  111  1 registrado
(como  antes)

*Preset  a  veces  se  denomina  set,  en  cuyo  caso,  clear  puede  denominarse  reset.
Machine Translated by Google

6.3  Chanclas 377

Figura  6.15  Temporización  para  flip  flop  con  claro  y  preestablecido.

Reloj

CLR

PRE

Tabla  6.5  Tablas  de  comportamiento  de  flip  flop  SR .

Figura  6.16  Estado  del  flip­flop  SR
SRq  q  SRq
diagrama.
000  0  001  1  010  0  0  0  100  1 0  0  q 10
01  0
10  1 00 00
0 RS 1
1 1 1 1  —  no  permitido 01 10

01
101  1
1  0  —  no1
1 1 1  —  permitido

A  continuación,  veremos  el  flip  flop  SR  (Set­Reset) .  Tiene  dos  entradas,
S  y  R,  que  tienen  el  mismo  significado  que  los  del  pestillo  SR .  Es
comportamiento  se  describe  mediante  las  tablas  de  verdad  de  la  tabla  6.5  y  el  diagrama  de  estado  de
Figura  6.16.  La  entrada  Set  (S)  hace  que  se  almacene  un  1  en  el  flip  flop  en  el
siguiente  flanco  de  reloj  activo;  la  entrada  Reset  (R)  hace  que  se  almacene  un  0.  la  s
y  las  entradas  R  nunca  se  hacen  1  al  mismo  tiempo.  Aunque  eso  no  sería
dañar  el  flip  flop,  como  en  el  caso  del  pestillo,  no  es  seguro  qué  sucede  cuando  S   Mapa  6.1  Comportamiento  de  flip  flop  SR
y  R  vuelven  a  0.  Tenga  en  cuenta  que  en  el  diagrama,  cada  etiqueta mapa.
RS
es  de  dos  dígitos;  el  primero  es  el  valor  de  S  y  el  segundo  el  valor  de  R.
00 01 11 10
Hay  dos  etiquetas  en  la  ruta  de  0  a  0,  ya  que  00  o  01  harán  que  el q
flip  flop  para  volver  al  estado  0.  (También  hay  dos  combinaciones  de  entrada  que 0 X 1
hacer  que  el  flip  flop  pase  del  estado  1  al  1).
En  el  Mapa  6.1,  mapeamos  q  (de  la  primera  tabla  de  verdad).  Note  que  dos  de 1 1 X 1
los  cuadrados  no  importan,  ya  que  nunca  haremos  que  S  y  R  sean  iguales
a  1  al  mismo  tiempo.  Esto  nos  permite  escribir  una  ecuación  para  la  siguiente q
Machine Translated by Google

378 Capítulo  6  Análisis  de  sistemas  secuenciales

estado  del  flip  flop,  q,  en  términos  del  estado  actual,  q,  y  las  entradas,
S  y  R:

q  S  Rq

La  ecuación  dice  que  después  del  reloj  habrá  un  1  en  el  flip  flop  si  lo  
ponemos  (S  1)  o  si  ya  había  un  1  y  no  lo  ponemos  a  cero  (R  0).
En  la  Figura  6.17  se  da  un  ejemplo  de  temporización  (donde  solo  hay  una  entrada  
clara,  no  una  predeterminada).  Tenga  en  cuenta  que  nunca  hicimos  que  S  y  R  sean  
iguales  a  1  al  mismo  tiempo.  Además,  cuando  tanto  S  como  R  son  0,  q  no  cambia.

Figura  6.17  Diagrama  de  temporización  del  flip­flop  SR .

Reloj

CLR

El  tercer  tipo  de  flip  flop  es  el  flip  flop  T  (Toggle).  Tiene  una  entrada,  T,  
de  modo  que  si  T  1,  el  flip  flop  cambia  de  estado  (es  decir,  se  alterna),  y  si  
T  0,  el  estado  permanece  igual.  Las  tablas  de  verdad  que  describen  el  
comportamiento  del  flip  flop  T  se  dan  en  la  tabla  6.6  y  el  diagrama  de  estado  
se  muestra  en  la  figura  6.18.

Tabla  6.6  Tablas  de  comportamiento  de  flip  flop  T. Figura  6.18  Diagrama  de  estado  del  
flip­flop  T.
Tqq  Tq 1
00  0  01  1  10  1  11   0  
0 1 qq 0 0 T 1 0

La  ecuación  de  comportamiento  es

q T  q

y  un  ejemplo  de  tiempo  se  muestra  en  la  Figura  6.19.*

*El  flip  flop  T  debe  tener  static  clear  o  preset,  ya  que  el  siguiente  estado  siempre  depende  del  
anterior.  Para  cada  uno  de  los  otros  tipos  de  flip­flops,  hay  al  menos  una  combinación  de  entrada  
que  forzará  al  flip­flop  al  estado  0.
Machine Translated by Google

6.3  Chanclas 379

Figura  6.19  Diagrama  de  temporización  del  flip­flop  T.

Reloj

CLR

El  último  tipo  de  flip  flop  que  presentaremos  es  el  JK  (donde  las  letras  no  
son  un  acrónimo),  que  es  una  combinación  de  SR  y  T,  en  el  sentido  de  que  se  
comporta  como  un  flip  flop  SR ,  excepto  que  JK  1  provoca  el  flip  flop  cambiar  
de  estado  (como  en  T  1).  Las  tablas  de  verdad  se  dan  en  la  tabla  6.7  y  el  
diagrama  de  estado  se  muestra  en  la  figura  6.20.

Tabla  6.7  Tablas  de  comportamiento  de  flip  flop  JK . Figura  6.20  Diagrama  de  estado  del  flip  flop  JK .
10  
JKq  q  JKq 11
000  0  00  q  001  1  01  0  010  0  10  1  011  0  11  q  
100  1  101  1  110  1  111  0 00   00  
0 JK 1
01 10

01  
11

De  la  primera  tabla  de  verdad,  podemos  derivar  el  Mapa  6.2  y  la  ecuación   Mapa  6.2  Mapa  de  comportamiento  de  flip  

para  q: flop  JK .
JK
q  jq  kq q
00 01 11 10

En  la  figura  6.21  se  muestra  un  ejemplo  de  tiempo  para  el  flip  flop  JK .  Tenga  en   0 11
cuenta  que  hay  momentos  en  que  tanto  J  como  K  son  1  simultáneamente;  el  flip  flop  
simplemente  cambia  de  estado  en  esos  momentos. 1 1 1
Ahora  tenemos  los  aspectos  de  comportamiento  de  todos  los  biestables  
y  podemos  comenzar  a  analizar  sistemas  más  complejos.  Antes  de  continuar   q
con  eso,  veremos  algunos  de  los  paquetes  de  flip  flop  disponibles  
comercialmente.  Las  chanclas  D  y  JK  son  las  más  comunes.  Veremos  cuatro  
paquetes,  todos  los  cuales  están  disponibles  en  LogicWorks  y  en  el  simulador  
Breadboard  (aunque  los  dos  últimos  se  enumeran  en  los  registros  del  simulador).
Machine Translated by Google

380 Capítulo  6  Análisis  de  sistemas  secuenciales

Figura  6.21  Diagrama  de  tiempo  para  flip  flop  JK .

Reloj

CLR

El  7473  es  un  paquete  dual  de  flip  flop  JK .  Contiene  dos  flip  flops  JK  
independientes ,  cada  uno  de  los  cuales  tiene  una  entrada  clara  baja  activa  y  salidas  
q  y  q .  Se  activa  en  el  borde  posterior  (con  entradas  de  reloj  separadas  para  cada  uno  
de  los  flip  flops).  (Cada  flip  flop  tiene  cuatro  entradas,  J,  K,  claro  y  reloj,  y  dos  salidas,  
q  y  q;  cabe  en  un  paquete  de  circuito  integrado  de  14  pines).

El  7474  es  un  flip  flop  dual  D ,  también  en  un  paquete  de  14  pines.  Dado  que  
solo  hay  una  entrada  de  datos  por  flip­flop,  hay  dos  pines  disponibles;  se  utilizan  para  
entradas  preestablecidas  bajas  activas.  Se  activa  por  el  borde  de  ataque  (con  
entradas  de  reloj  separadas  para  cada  uno  de  los  biestables).
Hay  paquetes  de  chanclas  D  con  cuatro  o  seis  chanclas.  El  74174  es  un  paquete  
de  flip  flop  hexadecimal  (seis)  D ,  con  solo  una  salida  q  para  cada  flip  flop  y  un  reloj  
disparado  de  vanguardia  común.  Hay  un  borrado  bajo  activo  común  (a  veces  
denominado  reinicio  maestro).  Este  es  un  paquete  de  16  pines.

Por  último,  tenemos  el  74175,  un  paquete  de  flip  flop  cuádruple  (cuatro)  D.  Cada  
flip  flop  tiene  una  salida  q  y  q .  Hay  un  reloj  disparado  de  vanguardia  común  y  un  
borrado  bajo  activo  común.  Una  vez  más,  este  es  un  paquete  de  16  pines.  Las  
[ES  3,  4;  EX  3,  4,  5,  6;  LABORATORIO] conexiones  de  pines  para  estos  se  muestran  en  el  Apéndice  A.6.

6.4  ANÁLISIS  DE  SISTEMAS  
SECUENCIALES
En  esta  sección,  examinaremos  algunas  máquinas  de  estados  pequeñas  (que  
consisten  en  flip­flops  y  compuertas)  y  analizaremos  su  comportamiento,  es  decir,  
produciremos  diagramas  de  tiempo,  trazas  de  tiempo,  tablas  de  estado  y  diagramas  
de  estado.  También  veremos  la  relación  entre  la  tabla  de  estado  y  el  tiempo.
El  primer  ejemplo,  el  circuito  de  la  figura  6.22,  es  un  circuito  con  dos  flip  flops  D  
activados  en  el  borde  de  salida .  (Llamaremos  a  los  flip  flops  q1  y  q2;  a  veces  
usaremos  nombres,  como  A  y  B).
Machine Translated by Google

6.4  Análisis  de  Sistemas  Secuenciales 381

Figura  6.22  Un  circuito  modelo  D  flip­flop  de  Moore.
X

D q1 D q2

q1 q2 z

Reloj

Del  circuito,  encontramos

D1  q1  q2  x  q1
D2  ×  q1
zq2  _

Primero  construiremos  la  tabla  de  estado.  Como  este  es  un  modelo  de  Moore,
solo  hay  una  columna  de  salida.  La  siguiente  parte  del  estado  es  particularmente  fácil.
para  un  flip  flop  D  q  D.  Primero  completamos  la  columna  de  salida  (z)  y  la
q1  ( D1)  parte  de  la  tabla  como  se  muestra  en  la  Tabla  6.8a.
Finalmente,  sumamos  q2  (D2)  para  producir  la  tabla  de  estado  completa  de
Tabla  6.8b. Figura  6.23  Un  estado  de  Moore
diagrama.

Tabla  6.8a  Tabla  de  estados  parciales. 0
Tabla  6.8b  Tabla  de  estado  completa.
00
q1  q2 q1  q2 1
q1q2x0x1  _  _  _  _ z q1q2x0x1  _  _  _  _ z

00  0  01  0   1   1 00  00  01  00   10  1 1


10  1  11  0 1   0 10  10  11  00 10  0 0 0
1   1 11  1 10
0 0 01  0 1 1 1

01 0 11
El  diagrama  de  estado  correspondiente  se  muestra  en  la  figura  6.23. 0 0
Ahora  veremos  un  circuito  modelo  de  Moore  con  flip  flops  JK  (Ver
Figura  6.24). 1

Figura  6.24  Un  circuito  modelo  de  Moore.

X j A j B

k A k B

Reloj
Machine Translated by Google

382 Capítulo  6  Análisis  de  sistemas  secuenciales

Este  es  un  modelo  de  Moore,  ya  que  la  salida  z,  que  es  igual  a  A  B,  es  una  función  
del  estado  (es  decir,  el  contenido  de  los  flip  flops)  y  no  del
entrada  x.
Ahora  escribiremos  ecuaciones  para  las  entradas  y  la  salida  del  flip  flop,
y,  a  partir  de  ellos,  construir  una  tabla  de  estados:

JA  x KA  xB
JB  KB  x  A
z  AB

La  columna  de  salida  proviene  directamente  de  la  ecuación  z .  Ahora  podemos  llenar
en  la  siguiente  sección  de  estado  una  entrada  a  la  vez.  Para  la  primera  entrada,  
ya  que  x  AB  0,  JA  KA  0  y  JB  KB  1.  Del  flip  flop  conductual
tabla  de  la  Tabla  6.7  (Sección  6.3),  podemos  ver  que  A  no  cambia  de  estado,
pero  B  sí.  Por  lo  tanto,  el  siguiente  estado  es  0  1.  Luego,  para  x  A  0  y  B  1
(la  segunda  fila  de  la  primera  columna),  JA  KA  0  y  JB  KB  1.
Nuevamente,  A  no  cambia  de  estado,  pero  una  vez  más  B  sí.  El  resultado  siguiente
state  es  00.  En  este  punto,  tenemos  la  tabla  de  estados  de  la  tabla  6.9a.

Tabla  6.9a  Tabla  de  estados  con  primera
dos  entradas.

AB
AB  x  0  x  1 z
00 01 0
01 00 1
1  0 1
1  1 1

Podemos  continuar  a  través  de  las  entradas  restantes,  o  podemos  mirar
las  ecuaciones  para  una  chancleta  a  la  vez  (como  hicimos  con  las  chanclas  D ).
Cuando  x  0  (sin  importar  lo  que  sean  A  y  B ),  JA  KA  0  y  flip  flop  A
no  cambia  de  estado.  Por  lo  tanto,  podemos  completar  A  para  x  0,  como  en
Tabla  6.9b.  Cuando  x  1,  JA  1  y  KA  B.  Para  las  dos  filas  donde
B  0  (el  primero  y  el  tercero),  JA  y  KA  son  ambos  1  y  A  alterna.  Para  el
dos  filas  donde  B  1  (la  segunda  y  la  cuarta),  JA  1  y  KA  0,
poniendo  un  1  en  el  flip  flop  A.  Eso  da  como  resultado  la  tabla  parcial  (donde  A  tiene
rellenado)  de  la  Tabla  6.9b.

Tabla  6.9b  Tabla  de  estados  con  A
ingresó.

AB
AB  x  0  x  1 z
00  0 1 0
01 0 1 1
10 1 0 1
11 1 1 1
Machine Translated by Google

6.4  Análisis  de  Sistemas  Secuenciales 383

Ahora  podemos  completar  la  sección  B  de  la  tabla.  Cuando  A  0  (el  primero
dos  filas  de  ambas  columnas),  JB  KB  1  y  B  cambia  de  estado.  Cuando
A  1,  JB  KB  x.  Para  x  0  (la  primera  columna,  las  dos  últimas  filas),  B
permanece  sin  cambios.  Finalmente,  para  A  1  y  x  1,  JB  KB  1  y  B
cambios,  produciendo  la  Tabla  6.9c  completa.

Tabla  6.9c  Tabla  de  estado  completa.

AB
AB  x  0 x1  _ z
00 01 11 0
01 00 10 1
10 10 01  1
11 11 10 1

Otra  técnica  para  construir  la  tabla  de  estado  es  usar  las  ecuaciones
desarrollamos  en  la  última  sección  para  el  siguiente  estado,  a  saber,

q  jq  kq

Usando  los  valores  de  este  problema,  obtenemos

A  JAA  K A A  xA  (xB)A  xA  xA  AB

B  JBB  K B B  (xA )B  (xA )B
xB  AB  xAB

Ahora  podemos  construir  la  tabla  de  estado  como  lo  hicimos  con  los  flip  flops  D.  Estos
Las  ecuaciones  dan  exactamente  los  mismos  resultados  que  antes.
Para  este  ejemplo,  produciremos  una  traza  de  tiempo  y  un  diagrama  
de  tiempo  si  nos  dan  la  entrada  x  y  el  estado  inicial.*  Los  valores  de  x  y
se  dan  los  valores  iniciales  de  A  y  B  en  la  Traza  6.4.

Traza  6.4  Traza  para  la  Tabla  6.9.

X 0  010110
Un  0  → 0  011100

segundo  0 1  0110101

z 0  10111101

*El  proceso  es  realmente  una  repetición  de  lo  que  hicimos  en  Trace  6.2.  Las  principales  diferencias  
son  que  allí  teníamos  nombres  de  estado  y  aquí  tenemos  los  valores  de  las  variables  de  estado  (voltear
fracasos).
Machine Translated by Google

384 Capítulo  6  Análisis  de  sistemas  secuenciales

En  el  primer  borde  del  reloj,  los  valores  en  el  cuadro  sombreado  determinan  el  
siguiente  estado  (el  cuadro  de  la  derecha)  y  la  salida  actual  (el  cuadro  de  abajo).  
El  siguiente  estado  se  obtiene  de  la  primera  fila  (AB  00)  y  la  primera  columna  (x  
0),  el  cuadrado  sombreado  de  la  tabla  6.9c.  La  salida  es  solo  el  valor  de  z  en  la  
primera  fila.  (Solo  se  necesita  el  estado  para  determinar  la  salida).  Para  la  
siguiente  columna  de  la  traza  de  tiempo,  comenzamos  el  proceso  nuevamente;  
esto  es  efectivamente  un  problema  nuevo.  El  estado  es  01  (segunda  fila  de  la  
tabla  de  estados)  y  la  entrada  es  0,  dando  un  siguiente  estado  de  00.  Esto  
continúa  a  través  de  entradas  sucesivas.  La  última  entrada  que  se  muestra,  un  0  
cuando  el  sistema  está  en  el  estado  01,  lleva  el  sistema  al  estado  00.  Conocemos  
ese  estado  y  esa  salida,  aunque  ya  no  conocemos  la  entrada.  Finalmente,  para  
este  ejemplo,  podemos  determinar  la  salida  y  el  valor  de  B  para  un  tiempo  de  
reloj  más,  ya  que,  desde  el  estado  00,  el  siguiente  estado  es  01  u  11,  los  cuales  
tienen  B  1  y  una  salida  1.  (No  podemos  ir  más  lejos).
En  la  Figura  6.25,  veremos  a  continuación  un  diagrama  de  tiempo  para  el  
mismo  sistema  con  la  misma  secuencia  de  entrada.  Debemos  mirar  el  valor  de  
las  variables  (A,  B  y  x)  justo  antes  del  borde  posterior.  A  partir  de  eso,  conocemos  
el  estado  actual  y  la  entrada,  y  podemos  determinar  cuáles  deben  ser  los  valores  
de  A  y  B  durante  el  próximo  período  de  reloj.  En  cualquier  momento  que  
conozcamos  A  y  B,  podemos  determinar  z.

Figura  6.25  Diagrama  de  tiempos  para  la  Tabla  6.9.

Reloj

No  necesitábamos  construir  la  tabla  de  estados  para  obtener  el  diagrama  
de  tiempo  o  la  traza.  Podríamos,  en  cada  borde  posterior  del  reloj,  determinar  el  
comportamiento  de  cada  flip  flop.  La  salida  se  puede  construir  en  último  lugar,  ya  
que  es  solo  el  OR  de  las  dos  variables  de  estado  (A  y  B).  Por  lo  tanto,  cuando  
llega  el  primer  flanco  del  reloj,  AB  x  0  y,  por  lo  tanto,  JA  KA  0,  dejando  A  en  0.  Al  
mismo  tiempo,  JB  KB  1  y,  por  lo  tanto ,  B  cambia,  es  decir,  pasa  a  1.  Ahora  
podemos  cambiar  nuestro  atención  a  la  siguiente  hora  del  reloj  y  repita  los  
cálculos.
En  este  punto,  una  palabra  está  en  orden  sobre  el  valor  inicial.  Para  este  
ejemplo,  asumimos  que  sabíamos  lo  que  estaba  almacenado  en  A  y  B  cuando  el
Machine Translated by Google

6.4  Análisis  de  Sistemas  Secuenciales 385

llegó  el  primer  reloj.  Eso  puede  haberse  logrado  utilizando  una  entrada  clara  estática,  
que  no  se  mostró  para  simplificar  este  problema.  En  algunos  casos,  podemos  
determinar  el  comportamiento  del  sistema  después  de  uno  o  dos  períodos  de  reloj  
incluso  si  no  conocemos  el  valor  inicial.  (Ese  será  el  caso  en  el  siguiente  ejemplo).  
Pero,  en  este  problema,  debemos  inicializar  el  sistema.  (Pruebe  los  otros  estados  
iniciales  y  observe  que  cada  uno  sigue  una  secuencia  completamente  diferente  
durante  el  período  de  tiempo  que  se  muestra).  Finalmente,  para  este  problema  (un  
modelo  de  Moore),  el  diagrama  de  estado  se  muestra  en  la  figura  6.26.

Figura  6.26  Diagrama  de  estado  para  
la  Tabla  6.9.

0  0  
0
0
1
0

0  1   1  
0
1 1  1
1
1
1

1  
0  1

En  algunos  sistemas,  la  salida  depende  de  la  entrada  actual,  así  como  del  
estado.  Desde  el  punto  de  vista  del  circuito,  eso  solo  significa  que  z  es  una  función  
de  x,  así  como  las  variables  de  estado.  Este  tipo  de  circuito  se  conoce  como  modelo  
de  Mealy.  Un  ejemplo  de  tal  sistema  se  muestra  en  la  figura  6.27.

Figura  6.27  Un  modelo  de  Mealy.
X
z

q1 q2
D D

q1 q2

Reloj
Machine Translated by Google

386 Capítulo  6  Análisis  de  sistemas  secuenciales

Las  ecuaciones  de  entrada  y  salida  del  flip  flop  son

D1  xq1  xq2
D2  xq  1q  2
z  xq1

Por  supuesto,  con  D  flip  flops,  q  D.  Por  lo  tanto,

q1  xq1  xq2
q2  xq  1q  2

A  partir  de  ahí,  obtenemos  la  tabla  de  estados  de  la  Tabla  6.10.  Fíjate  que  necesitamos
dos  columnas  de  salida,  una  para  x  0  y  otra  para  x  1.

Tabla  6.10  Tabla  de  estados  para  el  sistema  Mealy.

z
q qx  0  x  1  x  0  x  1

00  00  01  00   01   0   0


10  00  11  00 10   0   0
10   0   1
10 0 1

Tenga  en  cuenta  que  el  estado  11  nunca  se  alcanza;  este  problema  realmente  solo  tiene  3  estados
(aunque  cuando  el  sistema  se  enciende  por  primera  vez,  podría  comenzar  en  el  estado  11).
Pero  después  del  primer  reloj,  dejará  ese  estado  y  nunca  volverá.  Eso
se  vuelve  obvio  a  partir  del  diagrama  de  estado  de  la  figura  6.28.

Figura  6.28  Diagrama  de  estado  para
un  modelo  harinoso.
0/0

0/0
0  0 1  1

1/0
0/0 1/1
0/0

0  1 1  0
1/0
1/1

Tenga  en  cuenta  que  no  hay  camino  hacia  el  estado  11.  También  tenga  en  cuenta  que  siempre  que  haya
una  entrada  0,  volvemos  al  estado  00.  Por  lo  tanto,  incluso  si  no  inicializamos  este  sistema,  
se  comportará  correctamente  después  de  la  primera  entrada  0.
A  continuación,  veremos  la  traza  de  tiempo  (ver  Traza  6.5,  donde  la  entrada
se  da  y  se  muestra  en  color  canela)  y  luego  en  el  diagrama  de  tiempo  para  este  sistema.
Machine Translated by Google

6.4  Análisis  de  Sistemas  Secuenciales 387

Trace  6.5  Temporización  del  modelo  harinoso.

x  0  11011110
q1 ?  0  0  1  0  →
0  1  q2 ?  010010000 1 1 0


z  0  0000011000

Aunque  no  conocemos  el  estado  inicial  (el ?  para  q1  y  q2),  el  0
La  entrada  obliga  al  sistema  a  indicar  00  en  la  siguiente  hora  del  reloj  y  podemos  completar  el  
seguimiento.  Tenga  en  cuenta  que  la  salida  se  conoce  durante  dos  períodos  de  reloj  después  de
la  entrada  no  lo  es,  ya  que  el  sistema  no  puede  alcanzar  el  estado  10  (el  único  estado  para
que  hay  una  salida  1)  antes  de  eso.  Una  palabra  de  advertencia:  El
El  estado  actual  y  la  entrada  actual  determinan  la  salida  actual  y  la
siguiente  estado,  como  se  indica.

El  diagrama  de  tiempo  para  este  ejemplo  se  muestra  en  la  figura  6.29.  Él
ilustra  una  peculiaridad  de  los  sistemas  Mealy.*  Tenga  en  cuenta  que  hay  una  salida  falsa  (a  
veces  denominada  falla),  es  decir,  la  salida  va  a  1  para  un
período  corto  a  pesar  de  que  eso  no  está  indicado  en  la  traza  de  tiempo  ni  en
la  tabla  de  estados

Figura  6.29  Ilustración  de  salida  falsa.
Reloj

q1

q2

salida  falsa

La  salida  proviene  de  la  lógica  combinacional;  es  solo  xq1.  Si  la  entrada  x
no  cambia  simultáneamente  con  el  borde  posterior  del  reloj  (como  es
el  caso  aquí),  y  sigue  siendo  1  después  de  q1  va  a  1,  la  salida  irá  a  1.
Pero  la  salida  indicada  por  la  tabla  de  estado  o  la  traza  de  tiempo  se  basa
en  el  valor  de  q1  en  el  momento  del  próximo  reloj.  La  salida  falsa  no  es
suele  ser  importante,  ya  que  la  salida  de  un  sistema  Mealy  es  principalmente  de  interés  en  
tiempos  de  reloj  (es  decir,  justo  antes  del  borde  en  el  que  podrían  cambiar  los  flip­flops).
cambian  de  estado).  Además,  a  menudo  sucede  que  las  entradas  del  sistema  cambian

*En  el  diagrama  de  temporización,  el  retardo  a  través  de  la  puerta  AND  de  salida  se  ignora  ya  que  es
típicamente  más  corto  que  el  de  la  chancleta.
Machine Translated by Google

388 Capítulo  6  Análisis  de  sistemas  secuenciales

simultáneamente  con  el  borde  posterior  del  reloj.*  La  falla  ocurrió  solo  
porque  x  cambió  mucho  después  del  cambio  de  flip  flop.  A  medida  que  
el  cambio  en  x  se  acerca  (en  el  tiempo)  a  los  cambios  en  q  (es  decir,  el  
borde  del  reloj),  la  falla  se  estrecha  y  si  x  va  a  0  al  mismo  tiempo  que  q1  
va  a  1,  la  salida  falsa  desaparece.

EJEMPLO  6.1a Considere  el  siguiente  circuito  con  un  JK  y  un  flip  flop  D :

j q1 q2
X
D

k q1 q2

Reloj

La  salida,  z  q1q2,  no  depende  de  la  entrada  x;  por  lo  tanto,  este  es  un  modelo  de  
Moore.  (Este  sistema  también  produce  una  salida  de  1  si  la  entrada  es  1  durante  
tres  o  más  períodos  de  reloj  consecutivos  [CE  6]).
Las  ecuaciones  de  entrada  para  el  sistema  son

J1  xq2 K1  x
D2x  ( q1q2 )
Observe  que  cuando  x  0,  J1  es  0,  K1  es  1  y  D2  es  0;  por  tanto,  el  sistema  pasa  
al  estado  00.  Cuando  x  1,

J1  q2 K1  0  D2  q1  q  2
Flip  flop  q1  va  a  1  cuando  q2  1  y  no  cambia  de  lo  contrario.  (Por  supuesto,  
q1  permanece  en  1  en  el  estado  10).  Flip  flop  q2  va  a  1  cuando  q1  1  o  q2  0  
y  a  0  solo  si  q1  0  y  q2  1.
También  podríamos  usar,  para  q1,  la  ecuación

q  jq  kq
y  obtener

q1  xq2q  1  xq1  x(q2  q1)
Desde  cualquier  enfoque,  obtenemos  la  siguiente  tabla  de  estado:

  
q1  q2   q1  x  0 q2  x  1z  _

00  00  01  0  01  00  10  0  10  00  
11  0  11  00  11  1

*A  veces,  se  agregan  circuitos  para  sincronizar  los  cambios  de  entrada  con  el  borde  del  reloj.
Machine Translated by Google

6.4  Análisis  de  Sistemas  Secuenciales 389

Esta  es  la  misma  tabla  de  estado  que  en  la  Tabla  6.1  si  notamos  que  A  ha  sido  codificado
como  00,  B  como  01,  C  como  10  y  D  como  11.
Este  sistema  produce  el  siguiente  diagrama  de  tiempo:

Reloj

q1

q2

Nunca  hay  una  salida  falsa  en  un  modelo  de  Moore,  ya  que  la  salida  depende
sólo  en  el  estado  de  las  chanclas,  y  todas  cambian  simultáneamente,  en  el
borde  posterior  del  reloj.  La  salida  es  válida  para  un  período  de  reloj  completo,  desde
justo  después  de  una  transición  negativa  a  justo  después  de  la  siguiente.

EJEMPLO  6.1b
Si  la  compuerta  AND  del  ejemplo  6.1a  tuviera  una  tercera  entrada,  x,  entonces  z  xq1q2  y
este  sería  un  modelo  de  Mealy.  La  siguiente  porción  de  estado  de  la  tabla  de  estado  y
del  diagrama  de  tiempo  no  cambiaría.  Habría  dos  columnas  en
la  tabla  de  estados

  q1   q2 z
q1  q2  x  0 x  1  x  0  x  1

00  00  01  00  10   01   0   0


00  11  00 10   0   0
11   0   0
11 1 0

La  z  en  el  diagrama  de  tiempo  permanecería  en  0  hasta  que  x  llegue  a  0  (un  reloj
tiempo  más  tarde  que  en  el  ejemplo  6.1a).

EJEMPLO  6.2

j q1 T  q 2 S  q 3 re  q 4


X

k q1 q2 R q3 q4

Reloj
Machine Translated by Google

390 Capítulo  6  Análisis  de  sistemas  secuenciales

Complete  la  traza  de  tiempo  en  la  medida  de  lo  posible.  Suponga  que  el  sistema  es
inicialmente  en  el  estado  0000.  Los  valores  dados  se  muestran  en  marrón.

J1  K1  xq4
T2  q1
S2  q2 R2  q2
D4  q3

Por  lo  tanto,

q1  cambia  de  estado  solo  cuando  xq4  1
q2  cambia  de  estado  solo  cuando  q1  0
q3  q2
q4  q3

x111011  _

q1  0  00110000
q2  0  101110110
q3  0  1010001001
q4  0  01010001001

Después  del  primer  reloj,  q1  permanece  en  0,  q2  alterna,  q3  se  carga  con  1  (q2 ),
y  q4  va  a  0  (desde  q3).  Después  de  conocer  la  última  entrada  para  este  circuito,
puede  determinar  el  siguiente  valor  de  q1  siempre  que  el  valor  actual  de  q4  sea  0
(ya  que  xq4  será  0).  El  siguiente  estado  de  cada  uno  de  los  otros  flip  flops  depende
sólo  en  el  estado  actual  del  que  está  a  su  izquierda.  Por  lo  tanto,  podemos  encontrar  un  valor  para
q2  se  conoce  una  hora  de  reloj  después  de  q1 ,  para  q3  una  hora  de  reloj  después  de  eso,  y  para
q4  una  hora  de  reloj  adicional  más  tarde.

[ES  5,  6,  7,  8;  Ej.  7,  8,  9;  LABORATORIO]

6.5  PROBLEMAS  RESUELTOS

1.  Para  cada  una  de  las  siguientes  tablas  de  estado,  muestre  un  diagrama  de  estado  y
completar  el  seguimiento  de  tiempo  en  la  medida  de  lo  posible  (incluso  después  de  la  entrada
ya  no  se  sabe).

a.
q1 q2 z
q1q2  x  0  x  1  x  0  x  1
0  0 0  0 1  0 0 1
0  1 0  0 0  0 0 0
1  0 1  1 0  1 1 1
1  1 1  0 1  0 1 0
Machine Translated by Google

6.5  Problemas  Resueltos 391

X  0  1  0  0  1  1  1  0  q1  
0  q2  0

b.
q   qx  0  x  1  z
AA  B  1
BD  C  1
CD  C  0
DA  B  0

x  0  1  0  1  0  1  1  1  0  1  0  0  0  0  q  A

a. b.
0/0 0

A
00 11
1
1/0  
0/1 1
X/0 1/1 0
0/1 0
B D
01 10
1/1 1 1 0

1
0

C
0

Tenga  en  cuenta  que  en  la  parte  a,  el  estado  01  siempre  va  a  00  (la  
entrada  no  importa),  y  la  salida  siempre  es  0.  El  estado  11  siempre  va  a  
10,  pero  las  salidas  son  diferentes  para  las  dos  entradas  diferentes;  por  lo  
tanto,  se  muestran  dos  etiquetas  en  ese  camino.

Los  trazos  de  tiempo  son  los  
siguientes:  a.  x01001110  _
q1  0011100111  q2  000101001010z  
01111011 ?1
Machine Translated by Google

392 Capítulo  6  Análisis  de  sistemas  secuenciales

Dado  que  el  estado  11  siempre  pasa  al  estado  10  (independientemente  
de  la  entrada),  podemos  determinar  el  siguiente  estado  para  el  segundo  
reloj  después  de  que  ya  no  se  conozca  la  entrada.  En  el  primer  reloj  
después  de  la  última  entrada,  la  salida  es  desconocida,  pero  en  el  siguiente,  
sabemos  que  debe  ser  1,  ya  que  la  salida  es  1  desde  el  estado  10,  sin  
importar  cuál  sea  la  entrada.  Tenga  en  cuenta  que  podemos  
determinar  q2  para  dos  tiempos  de  reloj  adicionales.
b.  x01010111010000  _
q  AABDBDBCCDBDAAA  z  1110101000101111

Dado  que  el  estado  A  va  a  A  o  B,  y  la  salida  en  cada  uno  de  esos  
estados  es  1,  podemos  determinar  la  salida  para  un  tiempo  de  
reloj  adicional.

2.  Analice  el  siguiente  pestillo;  dar  a  las  entradas  y  salidas  
apropiadas  etiquetas  significativas.

A
PAG

q
B

P  (AQ)  Q  (BP)
Si  AB  0,

PQ  1
Si  AB  1,

PQQP
Si  A  0  y  B  1,

P  1  P  0
Si  A  1  y  B  0,

P  1  P  0
Este  es  un  latch  de  entrada  baja  activa,  donde  ambas  entradas  están  activas
(AB  0)  no  está  permitido.  El  estado  de  almacenamiento  
es  AB  1  (inactivo),  donde  las  salidas  se  complementan  entre  sí.
Cuando  A  está  activo,  P  se  hace  1  (y  Q  0).  Cuando  B  está  activo,  Q  
1  y  P  0.  Así,  podríamos  etiquetar  el  pestillo  de  la  siguiente  manera:
Machine Translated by Google

6.5  Problemas  Resueltos 393

R
q

q
S

3.  Considere  las  chancletas  disparadas  del  borde  posterior  que  se  muestran.
a. b. C.

PRE
D q S q

Reloj
j q
Reloj q R q
Reloj

k q
CLR

CLR

a.  Muestre  un  diagrama  de  tiempo  para  Q.

Reloj

b.  Muestre  un  diagrama  de  tiempo  para  Q  si

i.  no  hay  entrada  CLR .  ii.  la  

entrada  CLR  es  como  se  muestra.

Reloj

CLR

C.  Muestre  un  diagrama  de  tiempo  para  Q  si  i.  

no  hay  entrada  PRE .  ii.  la  entrada  

PRE  es  como  se  muestra  (además  de  la  entrada  CLR ).
Machine Translated by Google

394 Capítulo  6  Análisis  de  sistemas  secuenciales

Reloj

CLR

PRE

a.

Reloj

El  estado  del  flip  flop  no  se  conoce  hasta  el  primer  borde  de  
fuga.  En  ese  punto,  D  determina  qué  se  va  a  almacenar.  Así,  
la  primera  vez,  Q  va  a  1;  la  segunda  vez,  Q  va  a  0;  la  tercera  
vez,  Q  va  a  (permanece  en)  0.  Cuando  D  cambia  entre  horas  
de  reloj,  eso  no  afecta  el  comportamiento;  lo  que  importa  es  
el  valor  justo  antes  del  borde  de  fuga.

b.

Reloj

i.
q

ii.
CLR

q
Machine Translated by Google

6.5  Problemas  Resueltos 395

Sin  el  claro,  no  sabemos  qué  es  Q  hasta  después  del  primer  borde  de  
fuga.  En  ese  punto,  dado  que  S  1,  Q  pasa  a  1.  En  el  siguiente  reloj,  tanto  
S  como  R  son  0;  por  lo  tanto,  Q  no  cambia.
Dado  que  R  1  durante  los  siguientes  dos  tiempos  de  reloj,  Q  tiende  a  0.  
Luego  S  1,  lo  que  hace  que  Q  sea  1;  ambos  son  0  dejando  Q  en  1;  y  
finalmente  R  1,  devolviendo  Q  a  0.  Con  el  borrado,  Q  va  a  0  antes  y  se  
ignora  el  primer  borde  del  reloj.  Por  lo  tanto,  Q  permanece  en  0  durante  
los  próximos  tres  tiempos  de  reloj.  Entonces,  esta  parte  se  comporta  
como  la  primera  parte.  (Una  vez  que  la  Q  de  la  segunda  parte  es  la  
misma  que  la  de  la  primera,  el  comportamiento  es  idéntico).

C.

Reloj

i.
CLR

ii.

PRE

Las  dos  partes  son  iguales  hasta  el  momento  de  la  entrada  preestablecida  
activa.  En  el  segundo  caso,  el  preajuste  anula  el  reloj  y  mantiene  la  salida  en  
1.  Luego,  cuando  las  salidas  comienzan  a  alternar  (ya  que  J  y  K  son  1),  las  
dos  imágenes  de  tiempo  son  opuestas  entre  sí.

4.  Tenemos  un  flip  flop  nuevo  con  tres  entradas,  S,  R  y  T  (además  de  una  
entrada  de  reloj  activada  por  el  borde  de  salida).  No  más  de  una  de  
estas  entradas  puede  ser  1  en  cualquier  momento.  Las  entradas  S  y  R  
se  comportan  exactamente  como  lo  hacen  en  un  flip  flop  SR  (es  decir,  
S  pone  un  1  en  el  flip  flop  y  R  pone  un  0  en  el  flip  flop).  La  entrada  T  se  
comporta  como  lo  hace  en  un  flip  flop  T  (es  decir,  hace  que  el  flip  flop  cambie  
de  estado).  a.  Muestre  un  gráfico  de  estado  
para  este  flip  flop.  b.  Escribe  una  ecuación  para  Q   en  términos  de  S,  R,  T  y  Q.
Machine Translated by Google

396 Capítulo  6  Análisis  de  sistemas  secuenciales

a. b.
001 QS
100 RT 00 01 11 10

010 100
0 S RT 1 00 1 1 1
000 000

010
01 1 X X
001

11 X X X X

10 XX

Q   S  QT  QRT

5.  Para  el  siguiente  circuito,

D q1 D q2

q1 q2

Reloj
CLR

a.  Ignore  la  entrada  CLR .  Encuentre  un  diagrama  de  estado  y  una  tabla  de  estado.

b.  Suponga  que  los  flip  flops  están  inicialmente  en  el  estado  0  (y
no  hay  CLR),  complete  el  seguimiento  de  tiempo  para  los  estados  de
las  chanclas  en  la  medida  de  lo  posible.
x101110  _

C.  Para  las  siguientes  entradas  (tanto  x  como  CLR),  complete  el
diagrama  de  tiempo  para  el  estado  de  cada  flip  flop.

Reloj

CLR
Machine Translated by Google

6.5  Problemas  Resueltos 397

a.  Para  este  circuito,

D1  q1q2  xq  1  D2  xq1  q  1q  2
La  tabla  de  estados  es

  q1q2
q1  q2  x  0  x  1
0  0   0  1   1  1
0  1   0  0   1  0
1  0   0  0   0  1
1  1 1  0 1  1

Dado  que  no  se  muestran  salidas,  supondremos  que  el  estado  es
la  única  salida.  El  diagrama  de  estado  se  convierte  en

00

0
1
0

01 0 11 1

1
0
1

10

b.  La  traza  de  tiempo  para  la  cadena  dada  es
x101110  _

q1  0110100
q2  01010101
C.  El  diagrama  de  tiempos  es

Reloj

CLR

q1

q2
Machine Translated by Google

398 Capítulo  6  Análisis  de  sistemas  secuenciales

Los  contenidos  del  flip  flop  son  desconocidos  hasta  que  la  señal  CLR  va  a  
0.  La  primera  transición  del  reloj  no  tiene  efecto.  en  el  segundo
transición  negativa  del  reloj,  x  1.  Ambos  flip  flops  van  a  1.  Podemos  evaluar  
las  entradas  de  flip  flop  en  los  siguientes  tres  relojes
bordes  posteriores  y  producir  el  equilibrio  de  la  sincronización,  hasta  que  CLR
vuelve  a  0.  En  ese  momento,  q1  y  q2  van  a  0.  El  reloj  toma
de  nuevo  en  la  última  transición.

6.  Para  cada  uno  de  los  siguientes  circuitos,  complete  el  diagrama  de  tiempo
para  el  estado  de  cada  flip  flop  y  la  salida,  donde  se  muestra.  Todo
las  chanclas  se  activan  en  el  borde  posterior.

a.

j q 1 j q 2

k q 1 k q 2

CLR

Reloj

Reloj

CLR
Machine Translated by Google

6.5  Problemas  Resueltos 399

b.  Suponga  que  los  tres  flip  flops  son  todos  inicialmente  0.

A S B j C

T
X
A R B k C

Reloj

Reloj

a.  Para  este  circuito,

J1xQ  _ 1  K1  Q 2  J2  K2  x  Q 1 z  Q1Q2


La  salida  z  es  solo  una  función  del  estado  de  los  flip  flops.  Se  puede  
determinar  en  último  lugar  (después  de  completar  las  salidas  de  flip  flop).
En  la  última  transición  de  reloj,  la  entrada  no  se  conoce  y,  por  lo  tanto,  
J1  es  desconocido  (desde  1 Q  1).  Por  lo  tanto,  no  podemos  determinar  
el  siguiente  valor  de  Q1.  Pero,  J2  K2  1  (no  importa  lo  que  sea  x )  y  
así  podemos  determinar  el  valor  de  Q2.

Reloj

CLR

q1

q2

b.  Para  este  circuito,

T  x  CSARAJKB
Machine Translated by Google

400 Capítulo  6  Análisis  de  sistemas  secuenciales

Realmente  no  necesitamos  pensar  en  S  y  R,  ya  que  B  A.  El
el  diagrama  de  tiempo  resultante  es  por  lo  tanto

Reloj

Después  de  que  ya  no  sepamos  x,  todavía  podemos  determinar  el  valor
para  A  por  un  reloj  más,  ya  que

T  x  C ?  1 1

Pero,  una  vez  que  C  tiende  a  0,  entonces  T  es  desconocido.  Dado  que  las  entradas  a
B  solo  depende  de  A,  podemos  determinar  B  para  un  reloj  más
que  A.  De  manera  similar,  la  entrada  a  C  depende  solo  de  B  y,  por  lo  tanto,  C
es  conocido  por  otro  tiempo  de  reloj.

7.  Para  cada  uno  de  los  siguientes  circuitos  y  cadenas  de  entrada,
i.  Construya  una  tabla  de  estados  (llame  a  los  estados  00,  01,  10,  11).
ii.  Muestre  una  traza  de  tiempo  para  los  valores  de  los  flip  flops  y  el
salida  en  la  medida  de  lo  posible.  Suponga  que  todas  las  chanclas  son  inicialmente
en  el  estado  0.

a.

S q1 T  q 2

R q1 q2

Reloj
X 0  0  1  1  0  0  1  0  0
Machine Translated by Google

6.5  Problemas  Resueltos 401

b.

q1 j

1 k q2

Reloj

X 1  1  0  0  1  0  0  0  1

a.  S  x  R  xq2  T  q  1 xz  xq1  q  1q  2
Para  x  0,  S  0  y  R  q2.  Por  lo  tanto,  q1  no  cambia  cuando
q2  0  y  borrado  de  lo  contrario.  Para  x  1,  se  establece  q1 .  cuando  x  1
o  q1   0,  q2  alterna;  de  lo  contrario,  permanece  sin  cambios.  Eso
produce  la  siguiente  tabla  de  estado:

q1  q2 z
q1q2  x  0  x  1  x  0  x  1
00  01  11  01  00  10  10   1
10  11  11  01  10 1   0
0   1
0  0 1

x  00  1 1  0  0  1  0  0
q1  00  0  1  q2  01   1 1 1 1  0  0
0  1  0  0  0  1  z  10  1  1  0  0  1  0  0  1 1  0  1

Tenga  en  cuenta  que  en  la  primera  hora  del  reloj  cuando  se  desconoce  la  entrada,
puede  determinar  la  salida  aunque  no  sepamos  el
entrada,  ya  que  z  1  en  el  estado  00,  tanto  para  x  0  como  para  x  1.
sabe  q2  una  hora  de  reloj  adicional,  ya  que  00  pasa  a  los  estados  01
o  11,  ambos  dan  q2  1.
b.  Txq  2 J  q1  K  1  z  xq1  xq  2
Tenga  en  cuenta  que  q1  cambia  solo  cuando  x  1  y  q2  0;  y  que  q2
cambia  cuando  q1  1,  y  va  a  0,  de  lo  contrario.
Machine Translated by Google

402 Capítulo  6  Análisis  de  sistemas  secuenciales

q1  q2 z
q1q2  x  0  x  1  x  0  x  1
00  00  10  01  00  00  10   0   1
11  01  11  10  10 0   0
1 1
1 0

X  1  1  00  1  0  0  0  1 1
q1  0  1  00  0  1  q2  0  0  10   1  1  1 1  0  0
0  0  1  0  1  0  1  0  0
z  1  1  00  1  1 1  1  0  1  0

En  este  ejemplo,  podemos  determinar  el  estado  de  dos  relojes
después  de  que  ya  no  se  conoce  la  entrada,  el  valor  de  q2  para  una  tercera
(ya  que  del  estado  00,  vamos  o  al  00  o  al  10)  y  la  salida
para  un  reloj  después  de  la  última  entrada  conocida.

8.  Para  los  siguientes  circuitos,  complete  la  traza  de  temporización  hasta  donde
posible.  El  estado  de  algunas  chanclas  se  puede  determinar  tantos
como  cinco  o  seis  relojes  después  de  que  la  entrada  ya  no  se  conoce.  Asumir
que  todos  los  flip  flops  son  inicialmente  0.

a.

X j A  TB  D C

ka B C

Reloj

X 0  1  1  1
b.
X

re  q 1 S q2 j q4

T
R q2 K  q 3

Reloj

X 0  1  1  1  0  0  1
Machine Translated by Google

6.6  Ejercicios 403

EJERCI
a.  J  x  KBCTADCB
X  0  1  11
0  0  10  1  1  0
segundo  0  0  01  1  0  1  1
0  1  11  0  0  1  0  0

Dado  que  el  flip  flop  B  depende  solo  de  A,  y  C  depende  solo  de  B,
sabemos  el  valor  de  C  una  vez  después  de  B,  y  B  uno
tiempo  de  reloj  después  de  A.  En  el  primer  tiempo  de  reloj  cuando  x  (y,  por  lo  tanto,  J)
es  desconocido,  A  contiene  un  1.  Si  K  es  0  (independiente  de  J),  voltea
el  flop  A  todavía  tendrá  un  1;  si  K  es  1,  irá  a  0.  Así,  para  este
secuencia,  podemos  determinar  A  para  dos  tiempos  de  reloj
cuando  x  es  desconocido.

b.  D  xq4  S  x  R  xq1  q3  q  2 T  q  3
X  0  1  11  0  0  1
q1  0  0  11  1  0  0  0  0  0
q2  0  0  11  1  0  0  1  1  1  q3  0  1  10  0  0  1   1
1  0  0  0  0
q4  0  1  1  1  0  1  0  0  0  1  0  1  0

6.6  EJERCICIOS
1.  Para  cada  una  de  las  siguientes  tablas  de  estado,  muestre  un  diagrama  de  estado  y
completar  el  seguimiento  de  tiempo  en  la  medida  de  lo  posible  (incluso  después  de  la  entrada
ya  no  se  sabe).
a.
q1 q2 z
q1q2  x  0  x  1  x  0  x  1
0  0   0  1   0  0   0   1
0  1   1  0   1  1   0   0
1  0   0  0   0  0   1
1  1 0  1 0  1 1  1 0

x10110001  _

q1  0
q2  0
z
Machine Translated by Google

404 Capítulo  6  Análisis  de  sistemas  secuenciales
SOICICREJE

b.
q
qx  0x1  _  _ z
AA  B 0
BC  B 0
CA  D 0
CC  B 1

x11010101001011  _

q  un
z

C. q z
qx  0  x  1  x  0  x  1
A  B  C 0 1
BC  A 0 0
TAXI 1 0

x001110000010  _

q  un
z

d.
q z
qx  0  x  1  x  0  x  1
AA  B 0
BC  D 1   0
TAXI 0   0
CC  D 0  1 0

x01000111101  _

q  un
z

2.  Muestre  el  diagrama  de  bloques  de  un  cerrojo  cerrado  que  se  comporte  de  manera  similar
a  la  de  la  Figura  6.6,  pero  usa  solo  puertas  NAND.
Machine Translated by Google

6.6  Ejercicios 405

3.  Para  la  entrada  que  se  muestra  a  continuación,  muestre  las  salidas  de  flip  flop.

a.  Suponga  que  el  flip  flop  es  un  flip  flop  D  sin  un  claro  o
Preestablecido.

b.  Suponga  que  el  flip  flop  es  un  flip  flop  D  con  un  bajo  activo
claro.

C.  Suponga  que  el  flip  flop  es  un  flip  flop  D  con  entradas  preestablecidas  y  claras  bajas  
activas.  d.  Suponga  que  

el  flip  flop  es  un  flip  flop  T  con  la  misma  entrada  que  la  parte  a,  y  que  Q  es  inicialmente  0.  e.  
Suponga  que  el  flip  flop  es  un  flip  flop  en  T  

con  un  claro  bajo  activo  y  las  mismas  entradas  que  en  la  parte  b.

Reloj

D o T

b.  y  mi. CLR

C. CLR

PRE

4.  Para  las  siguientes  chancletas  JK ,  complete  cada  uno  de  los  diagramas  de  tiempos.  
Primero,  suponga  que  CLR  y  PRE  están  inactivos  (1).
Luego,  use  los  valores  que  se  muestran.

PRE

j q

Reloj

k q

CLR
Machine Translated by Google

406 Capítulo  6  Análisis  de  sistemas  secuenciales
SOICICREJE

Reloj

a. j

CLR

j
b.

CLR
q

  c.
PRE

CLR

5.  Considere  el  siguiente  circuito  flip  flop

EN q

Reloj

Complete  el  siguiente  diagrama  de  tiempo  si  ese  flip  flop  
es  a.  un  flip­flop  
D  b.  un  flip  flop  T  
En  ambos  casos,  el  flip  flop  comienza  con  un  0.

Reloj

X
Machine Translated by Google

6.6  Ejercicios 407

6.  Tenemos  un  nuevo  tipo  de  flip  flop,  con  entradas  A  y  B.  Si  A  0,
luego  Q   B;  si  A  1,  Q   B.  a.  Muestre  
un  diagrama  de  estado  para  este  flip  flop.  b.  
Escribe  una  ecuación  para  Q   en  términos  de  A,  B  y  Q.

7.  Para  cada  uno  de  los  siguientes  circuitos,  complete  el  diagrama  de  tiempo  
para  el  estado  de  cada  biestable  y  la  salida,  donde  se  muestra.  Todas  las  
chanclas  se  activan  en  el  borde  de  fuga.  Para  aquellos  circuitos  en  los  que  
no  hay  una  entrada  clara,  suponga  que  cada  flip  flop  comienza  en  0.
a.

A A B B

D D

Reloj

Reloj

X
Machine Translated by Google

408 Capítulo  6  Análisis  de  sistemas  secuenciales
SOICICREJE

b.

re  q 1 j q2 z

q1 k q2

Reloj

Reloj

C.

X T q1 S q2 z

q1
R q2

Reloj

Reloj

d.

S q1 D q2 j q3
X

R q1 q2 k q3

Reloj

CLR

Reloj

CLR
Machine Translated by Google

6.6  Ejercicios 409

8.  Para  cada  uno  de  los  siguientes  circuitos  y  cadenas  de  entrada
i.  Construya  una  tabla  de  estados  (llame  a  los  estados  00,  01,  10,  11).
ii.  Muestre  una  traza  de  tiempo  para  los  valores  de  los  flip  flops  y  el
salida  en  la  medida  de  lo  posible.  Suponga  que  el  valor  inicial  de
cada  flip  flop  es  0.

a.

re  q 1 re  q 2
X

q1 q2

Reloj

X 0  0  1  1  0  0  1  1  0

b.

j A j B

ka KB

Reloj

X 0  0  1  1  0  0  1  1  0
Machine Translated by Google

410 Capítulo  6  Análisis  de  sistemas  secuenciales
SOICICREJE

C.

X j q1 j q2

k q1 k

Reloj

X 0  1  1  0  1  1  1  1  1

d.

q1 q1 q2 q2

S R T

Reloj

X 0  0  1  1  0  0  1  1  0
Machine Translated by Google

6.6  Ejercicios 411

9.  Para  los  siguientes  circuitos,  complete  la  traza  de  temporización  hasta  donde
posible.  El  estado  de  algunos  flip  flops  y  la  salida  se  pueden  determinar  
hasta  tres  relojes  después  de  que  la  entrada  se  desactive.
más  conocido.  Suponga  que  todos  los  flip  flops  son  inicialmente  0.

a.

X j A T B S C

k B RC

Reloj

X 0  1  1  0  1  0  1

b.

D A T B S C
X

B R

Reloj

X 0  1  0  1  0  1  0
Machine Translated by Google

412 Capítulo  6  Análisis  de  sistemas  secuenciales
SOICICREJE

  c.

T A j B S C

A k B R C

X
Reloj

X 0  1  1  0  0  1  1  1  0

d.

X j q1 S q2 re  q 3

k q1 R q2 q3

Reloj

X 0  0  1  0  0  0

6.7  PRUEBA  DEL  CAPITULO  6  (50  MINUTOS)

1.  Para  la  siguiente  tabla  de  estado,  complete  el  seguimiento  de  tiempo  hasta  donde
puede.

q z
qx  0  x  1  x  0  x  1
CA 0
LARC
E D
P

0  
BTE I U
O  LAU P

MALO 1
CB  C 1   1
DB  B 0  0 0

x0  0  1  1  0  0  0  1  0  1

q  un
z
Machine Translated by Google

6.7  Capítulo  6  Prueba 413

2.  Para  el  siguiente  flip  flop  disparado  por  el  borde  posterior  JK  con  un  
claro  bajo  activo,  muestre  el  diagrama  de  tiempo  para  
Q.  a.  Suponiendo  que  no  haya  
entrada  CLR .  b.  Con  la  entrada  CLR  mostrada.

j q

Reloj

k q

CLR

Reloj

a. q

CLR

b. q

3.  Para  el  siguiente  circuito,  construya  la  tabla  de  estados.

X z

A B
D T

A B

Reloj
Machine Translated by Google

414 Capítulo  6  Análisis  de  sistemas  secuenciales

4.  Para  el  siguiente  circuito,  complete  el  diagrama  de  tiempo.
LA
BTE I U
O  LAU PERC
D
P

X z

A B
D D

A B

Reloj

Reloj

z
Machine Translated by Google

CAPÍTULO

el  diseño  de
Sistemas  Secuenciales 7
comienza  con  un  enunciado  del  problema,  una  descripción  verbal  del
Como  en  
el  caso  de  los  spistemas  
comportamiento   combinacionales,  
revisto  del   el  e
sistema.  El  objetivo  ps  
roceso  de  diseño  
desarrollar   tipi
un  bloque.
diagrama  del  sistema  utilizando  los  componentes  disponibles  y  cumpliendo
los  objetivos  de  diseño  y  las  restricciones.
Primero  presentaremos  cinco  ejemplos  continuos  adicionales,  que
utilizará  a  lo  largo  del  capítulo  para  ilustrar  las  técnicas  de  diseño.

Ejemplos  continuos  (CE)
CE7.  Un  sistema  Mealy  con  una  entrada  x  y  una  salida  z  tal  que  z  1
en  un  tiempo  de  reloj  iff  x  es  actualmente  1  y  también  era  1  en  los  dos  relojes  anteriores
veces.*

CE8.  Un  sistema  de  Moore  con  una  entrada  x  y  una  salida  z,  la  salida  de
que  es  1  si  y  solo  si  tres  entradas  0  consecutivas  ocurrieron  más  recientemente  que  tres
1  entradas  consecutivas.
CE9.  Un  sistema  sin  entradas  y  tres  salidas,  que  representan  un  número
de  0  a  7,  de  manera  que  las  salidas  recorren  la  secuencia  0  3  2  4  1  5  7  y  se  repiten  
en  entradas  de  reloj  consecutivas.

CE10.  Un  sistema  con  dos  entradas,  x1  y  x2,  y  tres  salidas,  z1,  z2  y
z3,  que  representan  un  número  de  0  a  7,  tal  que  la  salida  cuenta  si
x1  0  y  baja  si  x1  1,  y  recicla  si  x2  0  y  satura  si  x2  1.
Por  lo  tanto,  se  pueden  ver  las  siguientes  secuencias  de  salida

0,  x2  0:  0,   0  1  2  3  4  5  6  7  0  1  2  3  4  5  6  7 . . .
x1
x2  1 :  1,  x2   0  1  2  3  4  5  6  7  7  7  7  7  7  7  7  7 . . .
x1
0:  1,  x2  1: 7  6  5  4  3  2  1  0  7  6  5  4  3  2  1  0 . . .
x1
7  6  5  4  3  2  1  0  0  0  0  0  0  0  0  0 . . .
x1

*Esto  es  muy  similar  a  CE6  (presentado  en  el  Capítulo  6),  excepto  que  la  salida  va  a  1
simultáneamente  con  el  tercer  1  consecutivo  (mientras  que  en  CE6,  el  sistema  pasó  a  un  estado
con  una  salida  1  cuando  recibió  el  tercer  1).
415
Machine Translated by Google

416 Capítulo  7  El  diseño  de  sistemas  secuenciales

(Por  supuesto,  x1  y  x2  pueden  cambiar  en  algún  momento  para  que  la  salida  cambie  de  una  
secuencia  a  otra).

CE11.  Un  controlador  de  bus  que  recibe  solicitudes  en  líneas  separadas,  R0  a  R3,  de  cuatro  
dispositivos  que  desean  usar  el  bus.  Tiene  cuatro  salidas,  G0  a  G3,  de  las  cuales  solo  una  
es  1,  lo  que  indica  a  qué  dispositivo  se  le  otorga  el  control  del  bus  durante  ese  período  de  
reloj.  (Consideraremos,  en  la  Sección  7.4,  el  diseño  de  un  controlador  de  prioridad  de  este  tipo,  
donde  el  dispositivo  de  número  bajo  tiene  la  prioridad  más  alta,  si  más  de  un  dispositivo  
solicita  el  bus  al  mismo  tiempo.  Observamos  ambos  controladores  de  interrupción,  donde  un  
dispositivo  de  número  alto  dispositivo  de  prioridad  puede  apropiarse  del  bus,  y  uno  en  el  
que  un  dispositivo  mantiene  el  control  del  bus  una  vez  que  obtiene  el  control  hasta  que  
ya  no  necesita  el  bus).

Además  de  estos  Ejemplos  continuos,  hay  tres  ejemplos  completos  adicionales  (desde  
la  descripción  verbal  hasta  el  diseño  final)  en  el  Apéndice  E.2.

A  continuación,  veremos  el  proceso  de  diseño  de  sistemas  similares  a  los  que  acabamos  
de  describir.  En  el  Capítulo  8,  veremos  algunas  otras  técnicas  que  son  adecuadas  para  
sistemas  más  grandes.

Paso  1:  a  partir  de  una  descripción  de  palabra,  determine  qué  debe  almacenarse  
en  la  memoria.  Es  decir,  ¿cuáles  son  los  estados  posibles?

A  veces  puede  haber  diferentes  formas  de  almacenar  la  información  necesaria.  Para  
CE7,  podríamos  simplemente  almacenar  los  dos  últimos  valores  de  la  entrada.  Si  sabemos  
eso  y  conocemos  la  entrada  actual,  entonces  sabemos  si  los  tres  han  sido  1.  Pero  también  
podríamos  almacenar  cuántos  1  consecutivos  ha  habido:  ninguno,  uno,  dos  o  más.  Podemos  
desarrollar  la  tabla  de  estados  de  cualquier  manera;  cada  uno  producirá  un  circuito  que  
funcione  correctamente.  Sin  embargo,  el  costo  puede  ser  bastante  diferente.  Solo  considere  
cuál  hubiera  sido  el  caso  si  quisiéramos  una  salida  de  1  si  la  entrada  fuera  ahora  1  y  también  
fuera  1  durante  los  últimos  27  relojes  consecutivos.  El  primer  enfoque  requeriría  que  
almacenáramos  las  últimas  27  entradas  en  27  flip  flops.  El  segundo  enfoque  requeriría  que  
llevemos  la  cuenta  de  solo  28  cosas,  0  1  consecutivos  hasta  27  o  más  1  consecutivos.  Pero  
se  pueden  almacenar  28  hechos  utilizando  solo  cinco  dispositivos  de  almacenamiento  binario,  
sin  codificar  ninguno  como  00000,  hasta  27  o  más  como  11011  (el  equivalente  binario  de  27).

Paso  2:  Si  es  necesario,  codifique  las  entradas  y  salidas  en  binario.

Este  es  el  mismo  problema  que  para  los  sistemas  combinacionales.  muchos  problemas
Los  problemas  se  establecen  de  tal  manera  que  este  paso  no  es  necesario.

Paso  3:  Obtenga  una  tabla  de  estados  o  un  diagrama  de  estados  para  describir  
el  comportamiento  del  sistema.
Machine Translated by Google

Capítulo  7  El  diseño  de  sistemas  secuenciales 417

En  los  sistemas  de  Moore,  como  CE6  y  CE8,  la  salida  depende  únicamente  del  estado  
actual  del  sistema.  (La  lógica  combinacional  que  produce  la  salida  es  sólo  una  función  del  
contenido  de  los  diversos  flip  flops).  (La  salida,  por  supuesto,  depende  de  la  entrada,  ya  que  el  
estado  depende  de  la  entrada,  pero  el  efecto  sobre  la  salida  se  retrasa  hasta  después  del  
siguiente  reloj).  En  otros  ejemplos,  como  CE7,  la  salida  depende  de  la  entrada  actual,  así  como  
del  contenido  de  la  memoria.

Paso  4:  Utilice  técnicas  de  reducción  de  estados  (vea  el  Capítulo  9)*  para  encontrar  una  
tabla  de  estados  que  produzca  el  mismo  comportamiento  de  entrada/salida  pero  que  
tenga  menos  estados.

Menos  estados  pueden  significar  menos  dispositivos  de  almacenamiento.  Al  reducir  el  
número  de  biestables,  también  reducimos  el  número  de  entradas  a  la  lógica  combinatoria.  Así,  
por  ejemplo,  un  sistema  con  una  entrada  y  tres  flip  flops  requiere  una  lógica  combinacional  de  
cuatro  variables,  mientras  que  uno  con  dos  flip  flops  usaría  solo  una  lógica  de  tres  variables.  
Esto  generalmente  significa  un  circuito  menos  costoso.  (Este  paso  podría  omitirse  y  diseñarse  
un  sistema  que  funcione  correctamente).

Paso  5:  Elija  una  asignación  de  estado,  es  decir,  codifique  los  estados  en  binario.

Cualquier  codificación  funcionará,  es  decir,  producirá  una  solución  correcta.  Sin  embargo,  
una  buena  elección  a  menudo  conducirá  a  una  lógica  combinacional  más  simple  (ver  Capítulo  9).

Paso  6:  elija  un  tipo  de  flip  flop  y  obtenga  los  mapas  o  tablas  de  entrada  de  flip  flop.

La  tabla  de  estados  y  la  asignación  de  estados  producen  una  tabla  que  indica  lo  que  se  
almacenará  en  cada  flip­flop  en  función  de  lo  que  hay  en  la  memoria  ahora  y  la  entrada  del  
sistema.  Esta  parte  del  problema  es  determinar  qué  entrada  se  debe  aplicar  a  cada  flip  flop  para  
que  se  produzca  la  transición.  En  este  capítulo,  veremos  la  técnica  que  se  requiere  para  los  
diversos  tipos  de  chanclas  que  se  usan  comúnmente.

Paso  7:  Produzca  la  ecuación  lógica  y  dibuje  un  diagrama  de  bloques  (como  en  el  caso  de  
los  sistemas  combinacionales).

*El  capítulo  9  está  disponible  en  el  lado  del  estudiante  del  sitio  web  del  
libro,  http://www.mhhe.com/marcovitz.
Machine Translated by Google

418 Capítulo  7  El  diseño  de  sistemas  secuenciales

En  este  capítulo,  nos  ocuparemos  primero  de  los  pasos  6  y  7;  entonces,
volveremos  al  Paso  1.  En  el  Capítulo  9,  desarrollaremos  técnicas  para
reducción  de  estado  (Paso  4)  y  asignación  de  estado  (Paso  5).
La  tabla  de  estados  de  la  tabla  6.1  y  el  diagrama  de  estados  de  la  figura  6.3  son
repetido  aquí  como  Figura  7.1.

Figura  7.1  Ejemplo  de  diseño.
0

q
A q x0  _ x1  _ z
0
1 AA  B 0
0
0 bachillerato  c 0
0
CA  D 0
B C D PAPÁ 1
1
0 1 0 1 1

Las  asignaciones  de  tres  estados  se  muestran  en  la  Tabla  7.1.*

Tabla  7.1  Asignaciones  de  estados.

q q1  q2 q q1  q2 qq1  _ q2

un  0 0   un  0 0   un  0 0


segundo  0 B  1 segundo  0 1
C  1 1   C  1 1   C  1 1
D  1 0  1 D  0 0  1 D  1 0

(a) (b) (C)

Estas  asignaciones  fueron  elegidas  arbitrariamente.  No  está  claro  qué  opción
podría  conducir  a  la  lógica  menos  combinatoria.
A  partir  del  diagrama  de  estado  o  de  la  tabla  de  estado,  construimos  el

Tabla  7.2  Tabla  de  verdad  de  diseño. diseño  de  la  tabla  de  verdad  de  la  tabla  7.2  para  el  siguiente  estado.  Para  este  primer  ejemplo,
usaremos  la  asignación  de  estado  de  la  tabla  7.1a.
qxq1  q2 q1 q2
Aunque  la  columna  q  no  es  realmente  necesaria,  es  útil  en  el
un  00  0 0   0 desarrollo  de  la  tabla  de  verdad,  particularmente  si  los  estados  se  asignan  en
B  00  1 0   0 algún  orden  que  no  sea  numérico  (como  en  las  tablas  7.1b  y  7.1c).  El
C  01  0 0   0
primera  mitad  de  la  tabla  de  verdad  de  diseño  corresponde  a  la  primera  columna  de  la
D  01  1 0   0
un  10  0 0   1 tabla  de  estados  (x  0).  El  siguiente  estado  es  00  para  las  primeras  cuatro  filas,  ya  que  cada
B  10  1 0 de  los  estados  van  al  estado  A  en  una  entrada  0.  La  segunda  mitad  de  la  tabla  corresponde  
C  11  0 1 a  x  1.
D  11  1 1  1  1 1 Para  un  sistema  de  Moore,  construimos  una  tabla  separada  para  la  salida
(Cuadro  7.3),  ya  que  depende  únicamente  de  las  dos  variables  de  estado.  (Como  haremos

*Demostraremos  en  el  Capítulo  9  que  todas  las  demás  asignaciones  de  estados  posibles  dan  como  resultado
la  misma  cantidad  de  lógica  combinacional  que  uno  de  estos.  Cada  uno  se  puede  obtener  ya  sea  por  un
renumeración  de  los  flip  flops  o  sustitución  de  variables  por  su  complemento  o  ambas.
Machine Translated by Google

Capítulo  7  El  diseño  de  sistemas  secuenciales 419

ver  en  breve,  la  columna  z  se  incluiría  como  otra  columna  en  el Tabla  7.3  Tabla  de  verdad  de  salida.
tabla  de  verdad  de  diseño  para  un  sistema  
q q1 q2 z
Ahora  podemos  mapear  q1 ,  Mealy.)  y  z,  como  se  muestra  en  el  mapa  7.1.  preferimos
q2 ,  dibujar  los  mapas  de  Karnaugh  en  orientación  vertical  para  tales  problemas A 0  00
B 0  10
ya  que  las  columnas  corresponden  a  la  entrada  y  las  filas  a  los  estados.
C 1  00
D 1  11
Mapa  7.1  Estado  siguiente  y  mapas  de  salida.
X X
0 1 0 1
q1 q2 q1 q2
q1
00 00 1 0 1
q2

0
01 1 01

1 1
11 1 11 1
z
10 1 10 1

q1 q2

Así  tenemos  las  ecuaciones

q1  xq2  xq1
q2  xq  2  xq1
zq1q2  _

(Aunque  aprovechamos  el  intercambio  obvio  disponible  en  este
ejemplo,  no  enfatizaremos  compartir  en  el  desarrollo  de  flip  flop
ecuaciones  de  entrada).  Tenga  en  cuenta  que  esta  solución  de  suma  de  productos  requiere  4  
compuertas  AND  de  dos  entradas  y  2  compuertas  OR  de  dos  entradas  (o  6  compuertas  NAND  de  dos  entradas
más  un  NOT,  ya  que  z  proviene  de  un  AND,  lo  que  requiere  un  NAND  seguido  de
un  NO).*

Si  usamos  la  asignación  de  estado  de  la  tabla  7.1b,  obtenemos  el  siguiente  diseño EJEMPLO  7.1
mesa  de  la  verdad:

X q1 q2 q1 q2 q q1 q2z  _

un  00  0 0   0   un  0  00


D  00  1 0   0   D  0  11
C  01  0 0   0   C  1  00
B  01  1 0   0   B  1  10
un  10  0 1
D  10  1 1   1
C  11  0 0   1
B  11  1 0  1 0

*Asumimos  que  q1  y  q2  están  disponibles  tanto  complementados  como  no  complementados,  pero  x
solo  está  disponible  sin  complementar  (aunque  esto  último  es  irrelevante  en  este  ejemplo).
Machine Translated by Google

420 Capítulo  7  El  diseño  de  sistemas  secuenciales

Los  mapas  resultantes  para  q1  y  q2  son

X X
0 1 0 1
q1 q2 q1 q2

00 1 00 1

01 01 1

11 1 11

10 10 1

q1 q2

q1 xq1  q2  xq1q2

q2  xq1  xq2
z  q1  q2

Tenga  en  cuenta  que  esta  implementación  requiere  una  puerta  adicional  y  tres  entradas  de  puerta  
adicionales.

[ES  1]

Lo  que  hemos  hecho  hasta  ahora  no  depende  del  tipo  de  flip  flop  que  
usaremos  para  implementar  el  sistema.  Usaremos  estos  resultados  para  completar  
el  diseño  en  la  Sección  7.2.

7.1  TÉCNICAS  DE  DISEÑO  DE  FLIP  FLOP
Tabla  7.4  Tabla  de  diseño   La  tabla  de  verdad  de  diseño  que  desarrollamos  para  el  siguiente  estado  se  usará  
de  flip   junto  con  la  tabla  de  diseño  de  flip  flop  apropiada  para  obtener  una  tabla  de  verdad  
flop.
para  las  entradas  de  flip  flop.  Primero  presentaremos  este  enfoque  y  luego  
veremos  un  enfoque  de  mapa  que  no  requiere  la  tabla  de  verdad  y,  finalmente,  un  
qq Entradas
método  rápido  que  ahorra  una  gran  cantidad  de  trabajo  pero  se  aplica  solo  a  los  
0  0  0  1  
1  0  1  1 flip  flops  JK .
La  tabla  de  diseño  de  flip  flop  se  obtiene  más  fácilmente  a  partir  del  diagrama  
de  estado.  Su  forma  general  se  muestra  en  la  Tabla  7.4.  Para  cada  línea  de  la  
tabla  de  verdad  equivalente  a  la  tabla  de  estados,  y  para  cada  flip­flop,  conocemos  
su  valor  actual  y  el  próximo  estado  deseado.  Esta  tabla  nos  permite  luego  
determinar  las  entradas.
Figura  7.2  Diagrama  de  estado  del  
flip  flop  D. Aunque  el  flip  flop  D  es  trivial,  lo  usaremos  para  ilustrar  el  proceso.  El  
1 diagrama  de  estado  para  el  flip  flop  D  se  repite  como  en  la  figura  7.2.
El  diagrama  indica  que  si  el  flip  flop  está  en  el  estado  0  y  el  siguiente  estado  
0 0 D 1 1 deseado  también  es  0,  el  único  camino  es  D  0.  De  manera  similar,  para  pasar  de  
0  a  1,  D  debe  ser  1;  de  1  a  0,  D  debe  ser  0;  y  de  1  a  1,  D  debe  ser  1.  Eso  produce  
0
la  tabla  de  diseño  de  flip  flop  de  la  tabla  7.5  para  el  flip  flop  D.
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 421

Para  el  flip  flop  D ,  no  necesitamos  columnas  separadas  en  la  tabla  de   Mesa  de  diseño  flip  
verdad  para  D1  y  D2,  ya  que  son  idénticas  a  las  columnas  q1  y  q2 .  Usaremos   flop  7.5  D.
la  tabla  de  diseño  de  la  tabla  7.2  como  ejemplo  a  lo  largo  de  esta  sección.  Por   q q D
lo  tanto,  para  chanclas  D ,
00  0
D1  x  q2  x  q1 01  1
10  0
D2  x  q2  x  q1 11  1
En  la  figura  7.3  se  muestra  un  diagrama  de  bloques  de  la  solución,  usando  flip  
flops  D  y  compuertas  AND  y  OR.

Figura  7.3  Implementación  usando  flip  flops  D.
Reloj

D q1
z

q1

D q2

q2

Ahora  repetiremos  el  proceso  para  el  flip  flop  JK .  El  diagrama  de  estado   Figura  7.4  Diagrama  de  estado  del  
para  el  flip  flop  JK  se  repite  como  en  la  figura  7.4.  Para  pasar  del  estado  0  al   flip  flop  JK .
estado  0,  tenemos  dos  opciones;  podemos  hacer  J  0  y  K  0,  o  J  0  y  K  1.  En   10  
11
otras  palabras,  J  debe  ser  0  y  no  importa  lo  que  sea  K ,  es  decir,  K  es  un  don't  
care.  De  manera  similar,  para  pasar  de  1  a  1,  K  debe  ser  0  y  J  es  un  no  importa.   00   0 JK 1
00  
01 10
Para  pasar  de  0  a  1,  J  debe  ser  1  y  K  es  un  don't  care  y  para  pasar  de  1  a  0,  K  
debe  ser  1  y  J  es  un  don't  care.  Esto  da  como  resultado  la  tabla  de  diseño  de   01  
11
flip  flop  JK  de  la  tabla  7.6.  La  tabla  de  verdad  para  el  diseño  del  sistema  se  
muestra  en  la  Tabla  7.7.  Ahora,  la  tabla  de  verdad  para  el  diseño  requiere  
cuatro  columnas  más  para  las  cuatro  entradas  de  flip  flop.  ( Se  ha  omitido  la  
columna  q  con  los  nombres  de  los  estados  ya  que  las  primeras  cinco  columnas   Tabla  7.6  Tabla  de  
diseño  flip  flop  JK .
de  esta  tabla  son  idénticas  a  las  columnas  correspondientes  de  la  tabla  7.2.)  
Las  columnas  sombreadas,  q1  y  q1 ,  producen  las  columnas  de  entrada  flip   qq JK
flop  sombreadas,  utilizando  la  tabla  7.6.  Las  columnas  sin  sombrear  (para  el   00  0X
flip  flop  2)  producen  las  entradas  de  flip  flop  sin  sombrear.  En  cada  una  de  las   01  1  X  1  0
dos  primeras  filas,  q1  va  de  0  a  0;  así,  de  la  primera  fila  de  la  tabla  de  diseño  de  flip  flop,  J1  0  y  K1  X. X  1  1  1
x0
En  la  primera  fila,  q2  también  va  de  0  a  0,  produciendo  J2  0  y  K2  X.
Machine Translated by Google

422 Capítulo  7  El  diseño  de  sistemas  secuenciales

Tabla  7.7  Tabla  de  entrada  de  flip  flop.

xq1  _ q2 q1 q2 J1 K1 J2 K2
00  0  00  1  01  0   0   0   0   X 0  X
01  1  10  0  10  1   0   0   0 X   X  1
11  0  11  1 0   0   X 0  X
0   0   X   1  1 X  1
0   0   X 1X
1   1 X   X  1
X 0   1X
1  1  1 0  1  1 X 0 x0

En  la  segunda  fila,  q2  va  de  1  a  0;  así,  desde  la  tercera  fila  del  flip
mesa  de  diseño  flop,  J2  X  y  K2  1.  El  resto  de  la  mesa  se  puede  completar  de  
manera  similar.
Los  mapas  resultantes  se  muestran  en  el  Mapa  7.2.

Mapa  7.2  Mapas  de  entrada  JK .
X X X X
0 1 0 1 0 1 0 1
q1 q2 q1 q2 q1 q2 q1 q2

00 00 X X 00 1 00 X X

01 1 01 XX 01 X X 01 1 1

11 X X 11 1 11 XX 10 1

10 X X 10 1 10 1 10 XX

j1 k1 j2 k2

Las  ecuaciones  de  entrada  del  flip  flop  son

J1  xq2  K1  x zq1q2  _
J2x  _ K2  x  q  1
Esto  requiere  solo  2  puertas  AND  de  dos  entradas  (incluida  la  puerta  de  salida),
1  compuerta  OR  de  dos  entradas  y  NOT  para  x,  con  diferencia  la  menos  costosa
solución.  (Para  puertas  NAND,  necesitaríamos  3  puertas  de  dos  entradas  y
2  NO.)
Mirando  las  ecuaciones  de  entrada  del  flip  flop  JK ,  notamos  que  J1  y  K1
no  dependen  de  q1,  y  J2  y  K2  no  dependen  de  q2.  eso  no  es  solo
una  propiedad  de  este  problema  en  particular,  pero  siempre  hay  un  mínimo
solución  para  la  cual  esto  es  cierto  (sin  importar  cuán  grande  sea  el  sistema).  Esto  puede
puede  verse  mirando  los  mapas  para  J  y  K,  repetidos  en  el  Mapa  7.3.  Nota
esa  mitad  de  cada  mapa  contiene  no  importa  (mostrado  en  marrón).  (En  efecto,
a  veces,  cuando  no  se  utilizan  todas  las  combinaciones  de  variables  de  estado,
son  aún  más  no  les  importa.  Veremos  un  ejemplo  de  eso  más  adelante.)  Cada
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 423

de  los  1  en  el  mapa  tiene  un  no  importa  en  una  posición  tal  que  el  1  puede
combinarse  con  el  don't  care  para  eliminar  la  variable  involucrada.
Estos  se  muestran  en  un  círculo  en  los  mapas  y  los  términos  se  enumeran  a  continuación.  Estos
los  términos  no  son  necesariamente  implicantes  primos,  pero  los  de  J1  y  K1  sí  lo  son.
no  involucran  a  q1,  y  los  de  J2  y  K2  no  involucran  a  q2.

Mapa  7.3  Emparejamiento  de  1  y  no  importa  en  entradas  de  flip  flop  JK .
X X X X
0 1 0 1 0 1 0 1
q1 q2 q1 q2 q1 q2 q1 q2

00 00 XX 00 1 00 XX

01 1 01 XX 01 XX 01 1 1

11 X X 11 1 11 X X 10 1

10 XX 10 1 10 1 10 X X

j1 k1 j2 k2

xq 2 xq 2 xqxq1 x  qx  1
xq 2 1 qx  q 1
1

En  los  ejemplos  7.2  y  7.3,  repetiremos  este  proceso  para  el  SR  y
Chanclas  T.

EJEMPLO  7.2
El  diagrama  de  estado  para  el  flip  flop  SR  se  repite  a  continuación.

10

00 00
0 RS 1
01 10
01

Para  pasar  del  estado  0  al  estado  0  o  del  estado  1  al  estado  1,  tenemos  lo  mismo
dos  opciones  en  cuanto  al  JK.  Para  pasar  de  0  a  1,  S  debe  ser  1  y  R  debe  ser  0,
y  para  pasar  de  1  a  0,  R  debe  ser  1  y  S  debe  ser  0.  El  SR  resultante  cambia
la  mesa  de  diseño  flop  es

qq RS

0   0  0X
0   1  10
0  01
1  1 1X0

Tenga  en  cuenta  que  S  y  R  nunca  se  convertirán  en  1  (cualesquiera  que  sean  los  valores  que  elijamos
para  los  que  no  les  importa).  Siguiendo  la  misma  técnica  que  para  las  chanclas  JK ,  obtenemos
Machine Translated by Google

424 Capítulo  7  El  diseño  de  sistemas  secuenciales

xq1  _ q2 q1 q2 S1 R1 S2  R2
00  0  00  1  01   0   0   0   X 0   X
0  01  1  10  0   0   0   0   X   0   1
10  1  11  0  11  1 0   0   0   0   X
0   0   0   1  1 0   1
0   0   X   0
1   1 0   1   1
X 0   0  1 0
1  1  1 0  1  1 X 0 X 0

Los  mapas  para  las  entradas  de  los  flip  flops  (la  salida  z  sigue  siendo  q1q2)  se  vuelven
X X X X
0 1 0 1 0 1 0 1
q1 q2 q1 q2 q1 q2 q1 q2

00 00 X X 00 1 00 X

01 1 01 X 01 01 1 1

11 X 11 1 11 X 10 1

10 X 10 1 10 1 10 X

S1 R1 S2 R2

y  las  ecuaciones  de  entrada  son

S1  xq2 R1  x zq1q2  _


S2  x  q  2 R2xq  1q2  _

Esto  requiere  4  compuertas  AND  de  dos  entradas  (incluida  la  de  salida),  1  compuerta  
OR  de  dos  entradas  y  1  compuerta  NOT  para  x.  (La  solución  NAND  sería
requieren  3  puertas  NOT  adicionales,  para  S1,  S2  y  para  z.)
EJEMPLO  7.3 El  diagrama  de  estado  para  el  flip  flop  T  es
1

0 0 T 1 0

Solo  hay  una  forma  de  llegar  de  cualquier  estado  a  cualquier  otro  estado.  la  chancleta
mesa  de  diseño  es  así

qq T

000
011
101
110

y  la  tabla  de  verdad  para  el  diseño  del  sistema  se  convierte  en
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 425

xq1  _ q2 q1 q2 T1 T2

00  0  00  1  01  0   0   0   0   0


01  1  10  0  10  1   0   0   0   1
11  0  11  1 0   0   0
0   0   1
0   1   1
1   1
1   1
1  1  1 0  1  1 0  1  0  0 0

Los  mapas  para  T  y  las  ecuaciones  se  muestran  a  continuación.

X X
0 1 0 1
q1 q2 q1 q2

00 00 1

01 1 01 1 1

11 1 11 1

10 1 10 1

T1 T2

T1  xq1  xq  1q2
T2  xq2  xq  2  xq  1q2
zq1q2  _

Esto  requiere  4  compuertas  AND  de  dos  entradas,  1  compuerta  AND  de  tres  entradas,  1  compuerta  AND  de  dos  entradas

y  1  compuerta  OR  de  tres  entradas,  y  una  NOT  para  x.  este  es  el  mas  caro
solución  para  este  ejemplo.  (Pero,  hay  sistemas  para  los  cuales  la  T  resultará
en  un  circuito  menos  costoso  que  D  o  SR.)

La  solución  JK  nunca  requiere  más  lógica  que  la  SR  o  la
T.  Comparando  los  mapas  para  las  soluciones  SR  y  JK ,  vemos  que  ambos
los  mapas  tienen  1  exactamente  en  los  mismos  lugares.  Además,  todas  las  X  en  el  SR
solución  también  son  X  en  los  mapas  JK .  Los  mapas  JK  tienen  adicionales  no
se  preocupa  Siempre  podríamos  optar  por  hacer  esos  don't  cares  0  y  llegar  a
la  solución  RS .  Pero,  como  vimos  arriba,  algunas  de  esas  X  fueron  útiles  para
hacer  agrupaciones  más  grandes  y  así  simplificar  la  lógica.  Desde  un  punto  diferente
de  vista,  digamos  que  íbamos  a  diseñar  un  sistema  para  flip  flops  SR  y  construir  el
lógica  combinacional.  Si  luego  encontráramos  que  todo  lo  que  teníamos  disponible  con
que  para  construirlo  fueron  chanclas  JK ,  podríamos  usar  la  lógica  y  sería
trabajar.  De  manera  similar,  si  diseñamos  para  chanclas  T ,  podríamos  conectar  eso
lógica  tanto  para  J  como  para  K;  el  flip  flop  JK  se  comportaría  como  una  T.  (Como  en  el
En  el  caso  del  SR,  a  menudo  se  requiere  más  lógica  de  esta  manera).
Machine Translated by Google

426 Capítulo  7  El  diseño  de  sistemas  secuenciales

La  relación  entre  el  diseño  D  y  JK  no  es  tan  clara.  Sin  embargo,
si  la  lógica  para  D  está  conectada  a  J  y  el  complemento  de  eso  a  K,  el
funcionará  el  circuito.  (Nuevamente,  este  podría  no  ser  el  mejor  diseño  para  el  flip  JK
fracaso;  ciertamente  no  fue  en  este  ejemplo.)
Un  punto  importante  a  tener  en  cuenta  es  que  las  ecuaciones  de  entrada  para  cualquier  flip  flop
se  derivan  de  las  columnas  q  y  q  para  ese  flip  flop.  Así,  si  dos  (o
más)  se  usaron  diferentes  tipos  de  chanclas,  la  misma  tabla  de  verdad
desarrollarse  como  lo  acabamos  de  hacer.  Luego,  el  diseño  de  flip  flop  apropiado
se  utilizaría  la  tabla  para  cada  flip  flop.  Si,  por  ejemplo,  una  chancleta  JK  fuera
usado  para  q1  y  a  D  para  q2,  entonces  las  ecuaciones  lógicas  serían

J1  xq2 K1  x

D2  xq  2  xq1

zq1q2  _

Estas  son  las  mismas  ecuaciones  que  obtuvimos  para  J1,  K1  y  D2  anteriormente
en  esta  sección.

Ahora  volvamos  atrás  y  veamos  otro  enfoque  para  resolver  estos
problemas  sin  el  uso  de  la  tabla  de  verdad.  Si  los  estados  están  codificados  en
binario,  podemos  obtener  mapas  para  q1  y  q2  directamente  de  la  tabla  de  estado  como
se  muestra  en  la  Figura  7.5.
Las  columnas  de  la  tabla  de  estados  sombreadas  en  marrón  producen  el  mapa  para  q1
y  las  columnas  grises  de  la  tabla  de  verdad  producen  el  mapa  para  q2 . Una  palabra

la  precaución  está  en  orden  (aunque  no  entra  en  juego  en  este  problema).  La  tabla  de  
estados  tiene  el  estado  actual  numerado  en  orden  binario;  el
el  mapa,  por  supuesto,  los  tiene  numerados  apropiadamente.  Las  dos  últimas  filas  de
la  tabla  de  estado  debe  intercambiarse  cuando  se  copian  en  el  mapa.
(Algunas  personas  prefieren  dibujar  la  tabla  de  estado  en  el  orden  del  mapa  para  evitar  esto
problema,  es  decir,  00,  01,  11,  10;  eso  también  funciona.)

Figura  7.5  Tabla  de  estados  para  mapas.

q 1    q 2
q 1 q2 z X X
X 0 X 1 0 1 0 1
q1 q2 q1 q2

00 0 0 0 1 0 00 00 1

01 0 0 1 0 0 01 1 01

10 0 0 1 1 0 11 1 11 1

11 0 0 1 1 1 10 1 10 1

  q
1 q2
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 427

Para  los  flip  flops  D ,  hemos  terminado,  ya  que  los  mapas  para  q1  y  q2  también  son
los  mapas  para  D1  y  D2.  El  mapa  7.4a  contiene  los  mapas  para  q1 ,  J1  y  K1
(desde  antes  en  la  sección).

Mapa  7.4a  Primera  columna  de  J1  y  K1.
X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

0 0 00 00 XX

0 1 1 01 1 01 X X

1 1 1 11 XX 11 1

1 0 1 10 XX 10 1

q1 j1 k1

Las  columnas  sombreadas  en  el  mapa  q1 ,  junto  con  el  diseño  de  flip  flop  JK
tabla  (Tabla  7.6),  fila  por  fila,  para  producir  las  columnas  sombreadas  en
los  mapas  J1  y  K1 .  Por  ejemplo,  las  dos  primeras  filas  tienen  q1  yendo  de  0  a  0,  
produciendo  J  0,  K  X.  Las  últimas  dos  filas  tienen  q1  yendo  de  1  a  0,  produciendo  J  X,  K  
1.  Para  obtener  la  segunda  columna  de  J1  y
Mapas  K1 ,  usamos  la  segunda  columna  del  mapa  q1  pero  aún  la  columna  q1
(la  primera  columna)  como  se  muestra  sombreado  en  el  Mapa  7.4b.

Mapa  7.4b  Segunda  columna  de  J1  y  K1.
X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

0 0 00 00 XX

0 1 1 01 1 01 X X

1 1 1 11 XX 11 1

1 0 1 10 XX 10 1

q1 j1 k1

En  la  primera  fila,  0  va  a  0,  produciendo  JK  0X;  en  la  segunda  fila,
0  va  a  1,  produciendo  JK  1X;  en  la  tercera  y  cuarta  fila,  1  va  a  1,
produciendo  JK  X0.  Los  resultados  son,  por  supuesto,  los  mismos  que  antes.
Machine Translated by Google

428 Capítulo  7  El  diseño  de  sistemas  secuenciales

Para  encontrar  J  y  K  para  el  flip  flop  q2,  mapeamos  q2  y  usamos  la  columna  q2 ,  como
se  muestra  en  el  sombreado  de  la  primera  columna  de  J2  y  K2  en  el  Mapa  7.4c.  Nosotros
luego  use  la  misma  columna  de  q2  con  la  otra  columna  del  mapa  q2  para
forman  las  segundas  columnas  de  los  mapas  J2  y  K2 .
Esta  misma  técnica  se  puede  utilizar  con  el  otro  tipo  de  chanclas
(usando  la  tabla  de  diseño  de  flip  flop  apropiada).  Precaución:  La  entrada  q1  (la
primera  columna  de  entrada)  se  usa  con  la  primera  y  la  segunda  columna  de  q1
para  obtener  las  entradas  del  primer  flip  flop.  La  entrada  q2  (la  segunda  entrada
columna)  se  utiliza  con  la  primera  y  la  segunda  columna  de  q2  para  obtener
las  entradas  al  segundo  flip  flop.

Mapa  7.4c  Cálculo  de  J2  y  K2.
X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

0 0 1 00 1 00 X X

0 1 01 X X 01 1 1

1 1 1 11 X X 10 1

1 0 1 10 1 10 XX

q2 j2 k2

El  método  rápido  para  el  diseño  de  flip  flop  JK  (no  se  aplica  al
otros  tipos  de  flip  flop)  aprovecha  una  propiedad  del  flip  flop  JK
ecuaciones  de  entrada,  donde  J1  y  K1  no  dependen  de  q1,  y  J2  y  K2  sí
no  depende  de  q2.  Eso  no  es  solo  una  propiedad  de  este  problema  en  particular,
pero  siempre  hay  una  solución  mínima  para  la  cual  esto  es  cierto  (no  importa
qué  tan  grande  es  el  sistema).
Podemos  aprovechar  esta  propiedad  utilizando  la  ecuación  que
desarrollado  en  la  Sección  6.3,

q  jq  kq

Observe  que  cuando  q  0,

q  J  ∙  1  K  ∙  0  J

y  cuando  q  1,

q  J  ∙  0  K  ∙  1  K.

Así,  la  parte  del  mapa  de  q  (para  cada  variable)  para  la  cual  esa  variable  es  0  es  
el  mapa  para  J  y  la  parte  para  la  cual  esa  variable  es  1  es  el
mapa  para  K.  En  el  Mapa  7.5a,  mostramos  q1  con  la  sección  q1  0  sombreada  en
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 429

bronceado  y  la  sección  q1  1  sombreada  en  gris.  Los  dos  mapas  más  pequeños  son  entonces
copiado  por  separado  a  la  derecha.  (Eso  no  es  realmente  necesario;  podríamos
trabajar  en  las  secciones  separadas  del  mapa  más  grande.)

Mapa  7.5a  Cálculo  de  J1  y  K1  usando  el  método  rápido.
X X X
q1  q2 0 1 q2 0 1 q2 0 1

0 0 0 1 1

0 1 1 1 1 0 1

J1 k1
1 1 1

1 0 1

q1

El  mapa  de  tres  variables  se  ha  reducido  a  2  mapas  de  dos  variables,  uno  para
J  y  la  otra  para  K.  Se  ha  eliminado  la  variable  q1 ;  que  fue  usado
para  elegir  la  sección  del  mapa  original.  (Podríamos  haber  dibujado  el  mapa
para  K;  solo  requeriría  reemplazar  0  por  1  y  1  por  0).  De
estos  mapas,  vemos

J1  xq2K  _ 1 x  o  K1  x

Estas  son,  por  supuesto,  la  misma  respuesta  que  obtuvimos  usando  los  otros  
métodos  como  en  el  Mapa  7.2  y  los  Mapas  7.4ay  7.4b.  Tenga  cuidado  al  usar  el  mapa.
para  K1 ;  las  dos  filas  están  invertidas,  es  decir,  la  fila  q2  1  está  en  la  parte  superior.
Eso  no  afecta  este  problema  y  solo  requiere  cuidado  al  leer  el
mapa  en  otros  problemas.  (Podríamos  volver  a  dibujar  el  mapa  e  intercambiar  los
filas.)
Repetiremos  este  proceso  para  el  segundo  flip  flop  en  el  mapa  7.5b,
ya  que  la  geometría  del  mapa  es  algo  diferente.

Mapa  7.5b  Cálculo  de  J2  y  K2  utilizando  el  método  rápido.
X X X X
q1 q2 0 1 q1 0 1 q1 0 1 q1 0 1

0 0 1 0 1 0 0 11

0 1 1 1 1 1 1 1

j2 k2 k2
1 1 1

1 0 1

q2
Machine Translated by Google

430 Capítulo  7  El  diseño  de  sistemas  secuenciales

La  porción  q2  0  del  mapa  consta  de  la  primera  y  la  última  fila;  el
q2  1  porción  se  compone  de  las  dos  filas  del  medio.  Los  mapas  para  J2,  K2
y  luego  K2  se  muestran  en  el  Mapa  7.5b.  Como  encontramos  con  los  otros  métodos,

J2x  _ K2  x  q  1
Para  este  enfoque,  en  realidad  solo  es  necesario  trazar  mapas  de  q  para  cada
variable.  No  necesitamos  la  tabla  de  verdad  del  sistema  ni  mapas  para  cada  uno  de  los
entradas  de  flip  flop.

EJEMPLO  7.4
Ahora  veremos  un  ejemplo  completo.  La  tabla  de  estados  y  el  estado.
asignación  se  muestran  a  continuación.

q z
qx  0  x  1  x  0  x  1 q q1  q2

ABC  1 A 1  1

bebé  1 1   B 1  0


contrato  colectivo  de  trabajo  1 0  0 C 0  1

A  partir  de  estos,  creamos  la  siguiente  tabla  de  verdad,  que  incluye  una  columna  con  el
nombre  del  Estado.

x  q1  q2 q1  q2z  _

–0  0  0 XXX
C  00  1 1  01
B  01  0 1  11
A  01  1  –1  0  0 1  01
XXX
C  10  1 1  10
B  11  0 1  00
un  11  1 0  11

Se  muestran  los  mapas  resultantes  para  la  salida  y  para  las  entradas  del  flip  flop  D
abajo.

X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

00 X X 00 X X 00 XX

01 1 01 1 1 01 1

11 1 1 11 1 11 1

10 1 10 11 10 1

z 1
  q q2

Las  ecuaciones  resultantes  son

zx  q1q2
D1  x  q1  q2
D2  xq2  xq2
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 431

Observe  que  incluso  los  mapas  para  D  no  tienen  importancia,  ya  que  una  de  las  
combinaciones  de  variables  de  estado  no  se  usa.
Las  columnas  para  J  y  K  ahora  se  agregan  a  la  tabla  de  verdad,  produciendo

x  q1  q2 q1  q2z  _ J1  K1  J2  K2

–0  0  0 XXX XXXX


C  00  1 1  01  1  XX  1
B  01  0 1  11  X  0 1X
A  01  1  –1  0  0 1  01  X  0  X  1
XXX XXXX
C  10  1 1  10  1  XX  0
B  11  0 1  00  X  0 0  X
un  11  1 0  11  X  1  X  0

Incluso  sin  mapear  las  funciones,  podemos  ver  que  J1  1.  No  es
inusual  que  una  (o  ambas)  de  las  entradas  a  un  flip  flop  JK  sea  1.  También  vale  la  pena  
señalar  que  más  de  la  mitad  de  las  entradas  en  la  tabla  de  verdad  son  indiferentes.
A  continuación  se  muestran  las  ecuaciones  para  las  entradas  de  flip  flop.  (La  salida  es  la  misma  para  todos
tipos  de  chanclas).

J1  1 K1  xq2
J2x  _ K2  x

Podríamos  haber  utilizado  el  método  rápido  para  obtener  las  ecuaciones  de  JK .  Los  mapas
para  q1  y  q2  se  repiten,  con  el  sombreado  para  el  método  rápido.
X X
q1 q2 0 1 q1 q2 0 1

00 X X 00 XX

01 1 1 01 1

11 1 11 1

10 11 10 1

q1 q2
Por  supuesto,  obtenemos  las  mismas  respuestas.

EJEMPLO  7.5
Para  concluir  esta  sección,  veremos  un  ejemplo  más  grande.  deseamos
diseñar  el  siguiente  sistema:

q
qx  0  x  1  z

S1 S2 S1 0
S2 S3 S1 0
S3 S4 S1 0
S4 S4 S5 1
S5 S4 S6 1
S6 S4 S1 1
Machine Translated by Google

432 Capítulo  7  El  diseño  de  sistemas  secuenciales

La  primera  cuestión  es  hacer  una  asignación  de  estado.  Consideraremos  dos
diferentes,  como  se  muestra  a  continuación.

1.  q  ABC 2. q  ABC

S1  000 S1  000
S2  001 T2  101
S3  010 S3  100
S4  011 T4  111
S5  100 S5  011
S6  101 S6  010

La  primera  asignación  solo  usa  los  primeros  seis  números  binarios;  el  segundo  uso
una  tarea  destinada  a  reducir  la  lógica  combinacional  (basada  en  ideas  que
se  desarrollará  en  el  Capítulo  9).
Para  la  primera  tarea,  consideraremos  el  uso  de  flip  flops  D  y  JK .
Es  fácil  producir  los  mapas  para  los  siguientes  tres  estados,  A,  B  y  C,  sin  dibujar  
primero  la  tabla  de  verdad.  Los  cuadrados  en  cada  mapa  corresponden  a
el  estado  actual,  como  se  muestra  a  continuación  (S1  es  000;  S6  es  101;  110  y  111  son
no  se  usa.)  La  mitad  izquierda  del  mapa  corresponde  a  x  0,  y  la  mitad  derecha  a
x1  _
x  un
antes  de  Cristo
00 01 11 10

00 S1 S5 S5 S1

01 S2 S6 S6 S2

11 S4 — — S4

10 S3 — — S3

Ahora  podemos  completar  los  siguientes  mapas  de  estado  directamente  desde  la  tabla  de  estado.

Dado  que  S1  va  a  S2  cuando  x  0,  el  cuadrado  superior  izquierdo  de  los  mapas  se  convierte  en
0,  0  y  1.  Los  mapas  completos  se  muestran  a  continuación.

x  un x  un x  un


antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10

00 1 00 1 00 111

01 01 11 01 1

11 X X 1 11 1 X X 11 1 X X

10 X X 10 1 X X 10 1 X X

A B C
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 433

Estos  no  son  solo  los  mapas  del  siguiente  estado,  sino  también  las  entradas  D.  El
mapa  de  la  salida,  que  es  sólo  una  función  del  estado  (ya  que  este  es  un  Moore
modelo),  se  muestra  a  continuación.
A
antes  de  Cristo
0 1

00 1

01 1

11 1 X

10 X

Ahora  podemos  encontrar  las  ecuaciones  de  entrada  y  la  salida.

DA  xAC  xBC
DB  xA  xB  xC
CC  xA  xB  xC  CA
z  A  BC

El  uso  de  compuertas  AND  y  OR  requiere  13  compuertas  (incluida  la  NOT  para  x)  con
30  entradas  (incluyendo  1  puerta  de  cuatro  entradas  y  3  puertas  de  tres  entradas).
Para  implementar  esto  con  las  chanclas  JK ,  primero  usaremos  el  método  rápido.
En  los  mapas  a  continuación,  la  parte  del  mapa  utilizada  para  J  está  sombreada.

x  un x  un x  un


antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10

00 1 00 1 00 1 1 1

01 01 11 01 1

11 X X 1 11 1 X X 11 1 X X

10 X X 10 1 X X 10 1XX

A B C

De  las  partes  sombreadas,  podemos  encontrar  las  J:

JA  xBC  JB  xA  xC  JC  x  A
Para  JA,  A  determina  qué  parte  del  mapa  está  sombreada;  así,  la  primera  columna
es  sólo  x  y  el  último  x.  De  manera  similar,  para  B,  la  primera  fila  de  la  parte  sombreada
corresponde  a  C  y  el  segundo  a  C.  De  los  0  (y  X)  de  la
parte  no  sombreada,  podemos  encontrar  las  K,  o  de  los  1  y  las  X,  podemos  encontrar  K
y  luego  complementarlo:
KA  x  C  KB  x  KC  x  AB
Por  supuesto,  la  salida  no  depende  del  tipo  de  flip  flop  y,  por  lo  tanto,
z  A  BC
Machine Translated by Google

434 Capítulo  7  El  diseño  de  sistemas  secuenciales

Esto  requiere  11  puertas  (incluida  la  NOT  para  x)  y  22  entradas  (solo  1  puerta  de  tres  entradas).

A  continuación,  iremos  directamente  de  los  mapas  para  Q   de  cada  flip  flop  al
mapas  para  J  y  K.

x  un x  un x  un


antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10

00 1 00 X X 00 X 1 X

01 01 X X 01 X 1 1 X

11 X X 1 11 X X 1 11 X X X X

10 X X 10 X X 10 X X X X

A JA ka
x  un x  un x  un
antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10

00 1 00 1 00 XXX X

01 11 01 11 01 X X X X

11 1 X X 11 X X X X 11 X X 1

10 1 X X 10 X X X X 10 X X 1

B JB KB
x  un x  un x  un
antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10

00 1 1 1 00 1 1 1 00 XXXX

01 1 01 XX X X 01 1 11

11 1 X X 11 X X X X 11 X X 1

10 1 X X 10 1 X X 10 X X X X

C JC KC

Como  podemos  ver,  el  mapa  para  JA  no  se  preocupa  en  las  dos  columnas  para  las  cuales
A  es  1,  y  el  mapa  de  KA  tiene  X  en  las  dos  columnas  para  las  que  A  es  0.  Filas
de  no  me  importa  se  ven  en  los  mapas  para  B   y  C .  Por  supuesto,  las  ecuaciones
son  lo  mismo.

Antes  de  considerar  la  asignación  de  otro  estado,  veremos  una
problema  relacionado  con  este.  Digamos  que  diseñamos  el  sistema  como  arriba  y  encontramos
que  solo  teníamos  un  paquete  de  dos  chanclas  D  y  un  paquete  de  dos
Machine Translated by Google

7.1  Técnicas  de  diseño  de  flip  flop 435

Chanclas  JK .  Ya  hemos  hecho  todo  el  trabajo  de  diseño  necesario;  podemos
use  la  ecuación  que  encontramos  para  D  o  las  de  JK  para  cualquiera  de  las  chanclas.
La  siguiente  tabla  muestra  el  número  de  puertas  y  entradas  de  puerta  utilizadas  en  cada
de  estos  arreglos  (así  como  aquellos  que  usan  solo  chanclas  D  o  JK ),
incluyendo  las  puertas  de  salida.

A  B  C Entradas  de  puertas

DD  JK  13 28
D  JK  D  13 29
JK  DD  12 27
D  JK  JK  12 25
JK  D  JK  12 25
JK  JK  D  12 26
DDD  13 30
JK  JK  JK  11 22

Como  se  podría  suponer,  la  mejor  solución  utiliza  dos  chanclas  JK .  Incluso  el  uso  compartido  
proporcionado  por  el  uso  de  D  para  B  y  C  requiere  más  entradas  de  puerta.  La  D  puede
usarse  igualmente  bien  para  A  o  B;  otros  arreglos  requerirían  un  extra
puerta  y/o  entrada(s)  de  puerta.
A  continuación,  consideraremos  la  solución  usando  la  segunda  asignación  de  estado.
Para  ello,  utilizaremos  el  método  de  la  tabla  de  verdad.  Al  tratar  con  el  estado
asignaciones  que  no  están  en  orden  numérico,  es  mejor  enumerar  la  tabla  de  verdad
en  orden  binario,  sino  para  enumerar  el  nombre  del  estado  al  lado  del  nombre  binario.  En  eso
manera,  podemos  mapear  las  funciones  apropiadas  más  directamente.

x  ABC  z  ABC JA  KA  JB  KB  JC  KC
S1  0000  0 1  0  1 1  X  0  X  1  X
—0001X XXX  1  1  1  1  1  1   XXXXX
S6  0010  1 1  1  1  1  0  0 1  XX  0 1X
S5  0011  1 1  XX  0  X  0
S3  0100  0 x0 1  X  1  X
S2  0101  0 X  0  0  XX  1
—0110X XXX  1  1  0 XXXXX
S4  0111  1  1 X  0  X  0  X  0
S1  1000  0  0 0  X  0  X  0  X
—1001  XXX  0  0  0  0 XXXXX
S6  1010  0  0 0XX1 0  X
S5  1011  0  1 0  XX  0  X  1
S3  1100  0  0 X  1 0  X  0  X
S2  1101  0  0 X  1 0XX1
—1110  XXX  0  1  1 XXXXX
S4  1111 X  1  X  0  X  0

La  tabla  de  verdad  anterior  muestra  el  siguiente  estado  y  las  entradas  JK  para  cada
de  las  chanclas.  Tenga  en  cuenta  que  solo  se  completan  las  primeras  ocho  filas  para  la  
columna  de  salida  z,  ya  que  z  no  es  una  función  de  la  entrada  x.
Ahora  podemos  encontrar  expresiones  para  la  salida  (con  un  mapa  de  tres  variables)
y  para  las  entradas  D  (usando  las  columnas  A,  B  y  C )  o  para  la  JK
Machine Translated by Google

436 Capítulo  7  El  diseño  de  sistemas  secuenciales

entradas.  Primero,  se  muestran  el  mapa  de  salida  y  la  ecuación,  ya  que  se  aplican  a  un
solución  utilizando  cualquier  tipo  de  flip  flop  (con  esta  asignación  de  estado).

A
antes  de  Cristo
0 1

00

01 X
z  B
11 1 1

10 1 X

x  un x  un x  un


antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10 antes  de  Cristo
00 01 11 10

00 1 1 00 1 00 1 1

01 X 1 X 01 X X 01 X X

11 11 11 1111 11 111

10 1 X X 10 1 X X 10 1 X X

A B C

x  _
DB  xB  BC  xAC
CC  AB  xC  {xB  o  xA}

Esto  requiere  un  total  de  9  puertas  con  20  entradas  (incluido  el  NOT  para  x).
Podríamos  haber  resuelto  la  versión  JK  usando  el  método  rápido,  pero  por
este  ejemplo,  hemos  completado  la  tabla  de  verdad  para  J  y  K.  Dejaremos
los  mapas  como  ejercicio  para  el  lector;  las  ecuaciones  son

JA  x ka  x
JB  xAC  KB  xC
JC  x KC  B  x  A
z  B

Esto  requiere  5  puertas  con  10  entradas,  significativamente  mejor  que  la  solución  D.
Tanto  la  solución  D  como  la  JK  para  esta  tarea  son  considerablemente  menos
caros  que  los  correspondientes  a  la  primera  asignación  estatal.
[ES  2,  3,  4;  EX  1,  2,  3,  4;  LABORATORIO]
Machine Translated by Google

7.2  El  diseño  de  contadores  síncronos 437

7.2  EL  DISEÑO  DE  SYNCHRONOUS
CONTADORES
En  esta  sección,  veremos  el  diseño  de  un  tipo  de  síncrono
sistema  secuencial  denominado  contador.  En  la  siguiente  sección,  vamos  a
Veamos  brevemente  los  contadores  asincrónicos,  es  decir,  aquellos  que  no  requieren  un
entrada  de  reloj  En  el  próximo  capítulo,  discutiremos  algunos  de  los  contadores  disponibles  
comercialmente  y  la  aplicación  de  contadores  como  parte  de  un
sistema  más  grande.
La  mayoría  de  los  contadores  son  dispositivos  sin  entrada  de  datos  que  pasan  por  un  circuito  fijo.
secuencia  de  estados  en  relojes  sucesivos.  La  salida  es  a  menudo  solo  el  estado.
del  sistema,  es  decir,  el  contenido  de  todos  los  flip­flops.  (Por  lo  tanto,  no  se  requiere  ninguna  
columna  de  salida  en  la  tabla  de  estado).  También  investigaremos  contadores  con  una  o  dos  
entradas  de  control  que,  por  ejemplo,  determinarán
si  la  secuencia  es  hacia  arriba  (hasta  el  siguiente  número  mayor)  o  hacia  abajo.
Nuestro  primer  ejemplo,  un  contador  binario  de  4  bits,  tiene  cuatro  flip  flops  que
recorrer  la  secuencia

0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  0  1 . . .

Realmente  no  se  requieren  nuevas  técnicas  para  este  diseño.  El  estado
la  tabla  y  la  tabla  de  verdad  son  lo  mismo;  tienen  16  filas,  4  columnas  de  entrada,
y  4  columnas  de  salida,  como  se  muestra  en  la  Tabla  7.8.  Tenga  en  cuenta  que  las  chanclas  son
etiquetados  D,  C,  B  y  A,  que  es  la  práctica  común.
Como  puede  verse,  el  siguiente  estado  para  el  estado  0  (0000)  es  1  (0001),  para  1  es
2,  y  así  sucesivamente,  hasta  que  el  siguiente  estado  para  15  (1111)  sea  0  (0000).

Tabla  7.8  Un  contador  de  base  16.

DCBADCBA
0000  0  0001  0  0010  0  0011   0   0   1
0  0100  0  0101  0  0110  0   0   1   0
0111  1  1000  1  1001  1  1010   0   1   1
1  1011  1  1100  1  1101  1   1   0   0
1110  1  1111  0 1   0   1
1   1   0
1   1   1
0   0   0
0   0   1
0   1   0
0   1   1
1   0   0
1   0   1
1   1   0
1   1   1
0 0 0

Los  mapas  para  las  cuatro  siguientes  funciones  de  estado  se  muestran  en  el  Mapa  7.6.
Machine Translated by Google

438 Capítulo  7  El  diseño  de  sistemas  secuenciales

Mapee  7.6  Entradas  de  flip  flop  D  para  contador  de  16  estados.
corriente  continua corriente  continua corriente  continua corriente  continua

licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10

00 1 1 00 1 1 00 00 111 1

01 11 01 11 01 1 11 1 01

11 1 1 11 1 1 11 11

10 11 10 1 1 10 1111 10 1111

D C B A

que  produce

DD  DC  DB  DA  DCBA
CD  CB  CA  CBA
DB  BA  BA
DA  A

Esta  solución  requeriría  12  puertas  con  30  entradas  de  puerta.  si  tenemos
puertas  OR  exclusivas  disponibles,  podríamos  simplificar  las  expresiones  para

DD  D(C  B  A)  DCBA  D(CBA)  D(CBA)
CBA
CC  C(BA )  CBA  C(BA)  C(BA)  C  BA
DB  BA  BA  BA
DA  A

Esto  solo  requeriría  dos  compuertas  AND  y  tres  compuertas  OR  exclusivas.
A  continuación,  veremos  el  diseño  JK ,  usando  el  Mapa  7.7.  (El  diseño  SR
se  deja  como  ejercicio.)  Usando  el  método  rápido,  los  mapas  para  J  son  los
las  partes  sombreadas  de  los  siguientes  mapas  de  estado  (y  las  de  K  no  están  sombreadas).

Mapa  7.7  Mapas  para  el  diseño  de  flip  flop  JK .
corriente  continua corriente  continua corriente  continua corriente  continua

licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10

00 1 1 00 1 1 00 00 1111

01 11 01 11 01 11 1 01

11 1 1 11 11  1 11 11

10 11 10 1 1 10 1111 10 1111

D C B A
Machine Translated by Google

7.2  El  diseño  de  contadores  síncronos 439

Esto  produce  las  ecuaciones

JD  KD  CBA
JC  KC  BA
JB  KB  A
JA  KA  1
Tenga  en  cuenta  que,  dado  que  J  =  K  para  cada  uno  de  los  flip  flops,  se  utilizan  como  flip  
flops  T  (es  decir,  permanecen  sin  cambios  o  alternan).  Nosotros
podría  extender  el  diseño  a  5  chancletas,  contando  hasta  31  agregando  chancletas
E  con  entradas

JE  KE  DCBA
Un  circuito  para  implementar  este  sistema  usando  flip  flops  JK  se  muestra  en
Figura  7.6.

Figura  7.6  Un  contador  de  4  bits.*

VO

JD JC JB JA 1

k k k k

Reloj

La  puerta  AND  marrón  no  es  necesaria  si  se  trata  de  un  contador  independiente;  el
La  salida  del  flip  flop  A  se  conectaría  directamente  a  JB  y  KB.  El Tabla  7.9  Un  contador  ascendente/descendente.
La  salida  OV  es  1  cuando  el  contador  está  en  el  estado  15  (1111).  OV  podría  conectarse  
a  las  entradas  JK  de  otro  flip  flop  o,  si  construimos  dos  flip  flop  de  4
xCBA  CBA
circuitos  como  el  de  arriba,  podríamos  conectar  la  salida  OV  de  uno  al 0000  0  0001  0  0010  0   0   1
entrada  donde  ahora  se  conecta  un  1  para  construir  un  contador  de  8  bits. 0011  1  0100  1  0101  1   1   0
0110  1  0111  0  1000  1   1   1
A  continuación  veremos  un  contador  ascendente/descendente,  es  decir,  uno  que  puede  contar
1001  0  1010  0  1011  0   0   0
en  cualquier  dirección,  dependiendo  de  una  entrada  de  control.  vamos  a  etiquetar  eso 1100  0  1101  1  1110  1   0   1
entrada  de  control  x,  de  modo  que  el  contador  cuenta  hacia  arriba  cuando  x  0  y  hacia  abajo 1111  1 1   0
cuando  x  1.†  La  tabla  de  estado  para  dicho  contador  se  muestra  en  la  Tabla  7.9. 1   1
0   0
1   1
0   0
0   1
1   0
*Tenga  en  cuenta  que  la  lógica  combinacional  es  multinivel.  El  término  CBA  se  produce  usando  el
1   1
salida  de  la  puerta  BA  AND.  De  esta  manera,  podríamos  extender  el  contador  a  cualquier  número  de
0   0
bits  agregando  tantos  flip  flop/compuerta  AND  como  sean  necesarios.
0   1
†En  contadores  comerciales,  esta  entrada  a  menudo  se  etiqueta  como  DU,  donde  la  notación  implica  que
1 0
abajo  es  alto  activo  y  arriba  es  bajo  activo,  tal  como  definimos  x.
Machine Translated by Google

440 Capítulo  7  El  diseño  de  sistemas  secuenciales

Los  mapas  para  C,  B  y  A  se  muestran  en  el  Mapa  7.8,  con  q  0
sección  sombreada  para  el  método  rápido  con  chanclas  JK .

Mapa  7.8  Un  contador  arriba/abajo.
x  C x  C x  C
licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10

00 1 1 00 1 1 00 1111

01 1 1 01 11 01

11 1 1 11 11 11

10 11 10 11 10 1111

C B A

A  partir  de  estos  mapas,  podemos  ver  que

JA  KA  1
JB  KB  xA  xA
JC  KC  xBA  xBA
Al  igual  que  en  el  caso  de  los  contadores  ascendentes  de  4  y  5  bits,  este  patrón  continúa,
cediendo  (si  tuviéramos  dos  chanclas  más)

JD  KD  xCBA  xCBA
JE  KE  xDCBA  xDCBA
En  la  figura  7.7  se  muestra  un  diagrama  de  bloques  para  el  contador  de  3  bits.

Figura  7.7  Un  contador  ascendente/descendente.

JC JB JA 1

CK BK A k

Reloj
Machine Translated by Google

7.2  El  diseño  de  contadores  síncronos 441

Veremos  a  continuación  un  contador  decimal  o  de  décadas,  uno  que  pasa  por  el EJEMPLO  7.6

secuencia

0  1  2  3  4  5  6  7  8  9  0  1 . . .

La  tabla  de  estado  (verdad)  es  similar  a  la  del  contador  binario,  como  se  ve  a  continuación

DCBAD  CBA

0  000  0  1 0   0  

0  001  0  0 0  

0  010  0  1 0  

0  011  0  0 1  

0  100  0  1 1  

0  101  0  0
0  110  0  1
0  111  1  0 1   0  

1  000  1  1 1   0  

1  001  0  0 1  1  0  0  0 1  1  0  0  0

1  010  XXX
1  011  XXX
1  100  XXX
1  101  XXX
1  110  XXX
1  111  XXX

El  siguiente  estado  para  la  fila  9  (1001)  es  0  (0000)  y  el  siguiente  siguiente
los  estados  son  indiferentes,  ya  que  los  estados  10  a  15  nunca  se  alcanzan.  Nosotros
He  incluido  filas  en  esta  tabla  para  los  estados  no  utilizados  porque  son
necesario  para  producir  no  importa  en  los  mapas.  Algunos  pueden  escribir  el  estado
tabla  sin  estas  filas  y  luego  convertirla  a  esta  tabla  de  verdad  (como  hicimos  en
la  última  sección).  Los  mapas  para  el  siguiente  estado,  con  la  sección  J  sombreada  para
encontrar  J  y  K  usando  el  método  rápido,  se  muestran  a  continuación.

corriente  continua corriente  continua corriente  continua corriente  continua

licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10 licenciado  en  Letras
00 01 11 10

00 X 1 00 1 X 00 X 00 11 X 1

01 X 01 1 X 01 1 1 X 01 X

11 1 X X 11 1 X X 11 X X 11 X X

10 XX 10 1 X X 10 11 XX 10 11 XX

D* C B A

De  esto  podemos  ver  que

JD  CBA  KD  A

JC  KC  BA
Machine Translated by Google

442 Capítulo  7  El  diseño  de  sistemas  secuenciales

JB  DA  KB  A

JA  KA  1
EJEMPLO  7.7
A  continuación,  diseñaremos  un  contador  que  pase  por  una  secuencia  de  estados  
que  no  están  en  orden  numérico

0324157  y  repetir

(Esto  es  CE9).  Tenga  en  cuenta  que  el  ciclo  es  de  7  estados;  nunca  pasa  por  el  estado  6.
Ahora  podemos  dibujar  la  tabla  de  estados  (en  cualquier  orden)  o  ir  directamente  a  la  tabla  
de  verdad,  incluida  una  fila  para  el  estado  no  utilizado.

q1  q2  q3  q1  q2  q3

000011  001101  010100  011010  
100001  101111

110XXX  111000

La  tabla  se  puede  completar  recorriéndola  fila  por  fila  y  viendo  que  el  estado  0  va  a  3,  
el  estado  1  va  a  5,  y  así  sucesivamente,  o  siguiendo  la  secuencia,  primero  completando  
el  siguiente  estado  para  la  fila  0  como  3 ,  luego  un  siguiente  estado  de  2  para  el  estado  
3,  y  así  sucesivamente.  En  el  primer  enfoque,  cuando  llegamos  al  estado  6,  encontramos  
que  no  está  en  la  secuencia  y,  por  lo  tanto,  el  siguiente  estado  es  indiferente.  En  el  
segundo  enfoque,  cuando  llegamos  al  estado  7,  debemos  asegurarnos  de  ingresar  el  
siguiente  estado  como  0.  Luego,  cuando  terminamos  con  el  ciclo,  encontramos  que  la  
fila  6  está  vacía  y  también  ponemos  "no  importa".  Seguramente  escribimos  la  tabla  de  
verdad  en  orden  numérico.
La  tabla  se  repite  a  continuación  con  columnas  para  entradas  a  SR  y  T  flip
fracasos;  Usaremos  el  método  rápido  para  las  chanclas  JK .

q1  q2  q3  q1  q2  q3  S1  R1  S2  R2  S3  R3  T1  T2  T3

0  000110X101001  1
0  01101100XX010  0
0  1010010010X11  0
0  110100XX00100  1
1  00001010X1010  1
1  01111X010X001  0
1  10XXXXXXXXXXXX  X  1  1100001010111  1

Para  los  flip  flops  D ,  solo  usamos  las  columnas  q1 ,  q2  y  q3 ,  produciendo  los  
siguientes  mapas  y  ecuaciones.
Machine Translated by Google

7.2  El  diseño  de  contadores  síncronos 443

q1 q1 q1
q2 q3 0 1 q2 q3 0 1 q2 q3 0 1

00 00 1 00 1 1

01 1 1 01 1 01 1 1

11 11 1 11

10 1 X 10 X 10 X

D1 D2 D3

D1  q  2q3  q2q  3
D2  q  1q  2q  3  q  1q2q3  q1q  2q3

D3  q  2

Esta  solución  requiere  4  puertas  de  tres  entradas  y  3  puertas  de  dos  entradas.
Los  mapas  y  ecuaciones  para  la  solución  SR  siguen.  Tenga  en  cuenta  que  para  el  estado  6,
donde  no  nos  importa  cuál  es  el  próximo  estado,  entonces  no  nos  importa  cuál  es  el
las  entradas  son.  S  y  R  no  se  preocupan  por  las  tres  chanclas.

q1 q1 q1
q2 q3 0 1 q2 q3 0 1 q2 q3 0 1

00 00 1 00 1 1

01 1 X 01 1 01 X X

11 11 X 11

10 1 X 10 X 10 X

S1 S2 S3

q1 q1 q1
q2 q3 0 1 q2 q3 0 1 q2 q3 0 1

00 X 1 00 X 00

01 01 X 01

11 X 1 11 1 11 11

10 X 10 1 X 10 XX

R1 R2 R3
Machine Translated by Google

444 Capítulo  7  El  diseño  de  sistemas  secuenciales

S1  q2  q3  q2q3 R1  q2  q3  q2q3  S1
q2  q3  q1q2
S2  q1  q2  q3  q1q2  q3 R2  q1q2  q2q3
S3  q2 R3  q2

Incluso  aprovechando  el  uso  compartido  o  el  uso  de  un  NOT  para  R1,  esto  requiere
más  lógica  que  la  solución  D  (10  u  11  puertas).
Calcularemos  la  solución  T ;  se  muestran  los  mapas  y  las  ecuaciones
próximo.

q1 q1 q1
q2 q3 0 1 q2 q3 0 1 q2 q3 0 1

00 1 00 1 00 1 1

01 1 01 1 01

11 1 11 1 11 1 1

10 1 X 10 1 X 10 X

T1 T2 T3

T1  q  1q  2q3  q2q  3  q1q2  q1q  3
T2  q  1q  3  q1q3
T3  q  2q  3  q2q3

Esta  solución  requiere  11  puertas.
Finalmente,  resolveremos  este  sistema  usando  el  método  rápido  para  chanclas  JK
como  se  muestra  en  los  mapas  y  ecuaciones  a  continuación.

q1 q1 1
q2 q3 0 1 q2 q3 0 1 q2 qq
3 0 1

00 00 1 00 1 1

01 1 1 01 1 01 11

11 11 1 11

10 1 X 10 X 10 X

  q
1 q2 q3

J1  q  2q3  q2q  3 K1  q  3  q2
J2  q  1q  3  q1q3 K2  q1  q  3
J3  q  2 k3  q2
Machine Translated by Google

7.2  El  diseño  de  contadores  síncronos 445

Esta  solución  requiere  8  compuertas  de  dos  entradas,  aunque  la  compuerta  para  K1  
podría  reemplazarse  por  una  compuerta  NOT  y  la  compuerta  para  K2  podría  eliminarse,  
ya  que  al  elegir  los  no  importa  como  1  en  ambos  lugares,  obtenemos

K1J  _ 1 y  K2  J2

Si  no  tenemos  un  despejado  estático  (o  no  lo  usamos)  y  encendemos  el  sistema,  
no  sabemos  en  qué  estado  estará  inicialmente  cada  flip  flop.  Si  nos  importa,  deberíamos  
borrar  las  chanclas  o  usar  alguna  combinación  de  borrados  y  ajustes  preestablecidos  
para  que  el  sistema  entre  en  el  estado  inicial  adecuado.  A  menudo,  lo  único  que  nos  
importa  es  que  una  vez  que  se  enciende,  pasa  por  la  secuencia  deseada  después  de  
uno  o  dos  relojes.  Eso  siempre  sucederá  si  se  inicializa  en  uno  de  los  estados  de  la  
secuencia.  Pero,  si  se  inicializa  en  uno  de  los  estados  no  utilizados,  no  es  obvio  lo  que  
sucederá.  Cuando  diseñamos  los  sistemas  de  los  últimos  dos  ejemplos,  asumimos  
que  ese  estado  nunca  sucedió  y,  por  lo  tanto,  hicimos  que  el  siguiente  estado  no  
importara.
Una  vez  que  completamos  el  diseño,  ya  no  hay  ningún  problema.
Las  expresiones  algebraicas  (o  los  diagramas  de  bloques)  especifican  lo  que  sucede  
para  todas  las  posibles  combinaciones  de  variables.

EJEMPLO  7.7  (Cont.)
Podemos  determinar  qué  sucedería  suponiendo  que  estamos  en  el  estado  110.
Por  lo  tanto,  haríamos  q1  1,  q2  1  y  q3  0  en  las  ecuaciones.  Para  las  chanclas  D ,  
obtendríamos

D1  q2  q3  q2q  3 00  11 1

D2  q1  q2  q  3  q1  q2q3  q1q2  q3  001  011  100  0
D3  q2  0

En  ese  caso,  el  sistema  iría  al  estado  4  (100)  en  el  primer  reloj  y  continuaría  con  la  
secuencia  desde  allí.  (Con  el  diseño  que  se  muestra,  también  iríamos  al  estado  4  con  
chanclas  SR ,  al  estado  2  con  chanclas  T  y  al  estado  0  con  chanclas  JK ).

Si  esto  no  fuera  satisfactorio,  podríamos  volver  atrás  y  rediseñar  el  sistema  
reemplazando  el  indiferente  en  la  fila  110  de  la  tabla  de  verdad  por  el  siguiente  estado  
deseado.
A  continuación  se  muestra  un  diagrama  de  estado  que  muestra  el  comportamiento  
del  sistema  diseñado  con  flip  flops  D  o  SR ,  incluido  lo  que  sucede  si  el  sistema  se  inicia  
en  el  estado  no  utilizado.

7 3

5 2

1 4 6
Machine Translated by Google

446 Capítulo  7  El  diseño  de  sistemas  secuenciales

Tenga  en  cuenta  que  no  hay  etiquetas  en  las  rutas,  ya  que  no  hay  entrada  al  sistema  
y  la  salida  es  igual  al  estado.  (Es  un  sistema  de  Moore.)

EJEMPLO  7.8 Como  ejemplo  final  en  esta  sección,  consideraremos  el  diseño  de  un  2­bit
Contador  arriba/abajo,  ciclado/saturación.  Este  contador  tiene  dos  chanclas,  A  y
B,  y  por  lo  tanto  sólo  cuatro  estados.  Tiene  dos  entradas  de  control,  x  e  y.  Si  x  0,  es
cuenta  hacia  arriba  y  si  x  1,  cuenta  hacia  atrás.  Si  y  0,  cicla,  es  decir,  va  0  1  2  3  0  1 . . .  
o  3  2  1  0  3  2 . . . ,  y  si  y  1,  se  satura,  es  decir,  se
va  0  1  2  3  3  3 . . .  o  3  2  1  0  0  0 . . . .  (Esta  es  una  versión  de  dos  flip  flop
de  CE10.)  La  tabla  de  estado  para  este  contador  es

AB
AB xy  00  xy  01 xy  10  xy  11
00   01   01   11   00
01   10   10   00   00
10   11   11   01   01
11 00 11 10 10

Dado  que  este  es  un  problema  con  dos  entradas,  hay  cuatro  combinaciones  de  entrada
y  por  lo  tanto  cuatro  columnas  en  la  siguiente  sección  de  estado.  (Si  esto  fuera  un  sistema  Mealy,
también  habría  cuatro  columnas  de  salida.)  Esto  se  puede  convertir  fácilmente  en
una  tabla  de  verdad  de  16  filas  o  directamente  a  los  mapas.  Esto  último  es  más  fácil  si  queremos
implemente  esto  con  chanclas  D  o  JK .  Al  ir  a  los  mapas,  se  debe  tener  cuidado
tomarse  ya  que  tanto  las  filas  como  las  columnas  están  en  orden  binario,  no  en  el  mapa
orden.  Los  mapas  para  DA  (A)  y  DB  (B)  se  muestran  a  continuación.

xy xy
AB 00 01 11 10 AB 00 01 11 10

00 1 00 1 1 1

01 11 01

11 111 11 1

10 11 10 1 111

A B

Las  funciones  son  bastante  complejas.

DA  xAB  xAB  xyA  xAB  xyAB
DB  xyA  AB  xB  yB
xyA  AB  xB  xyAB
Machine Translated by Google

7.3  Diseño  de  Contadores  Asíncronos 447

Incluso  si  tuviéramos  que  implementar  este  contador  con  chanclas  JK ,  hay
una  gran  cantidad  de  lógica  combinacional,  como  se  puede  ver  en  los  mapas  y
ecuaciones  a  continuación.

xy xy
AB 00 01 11 10 AB 00 01 11 10

00 1 00 1 1 1

01 11 01

11 111 11 1

10 11 10 1 111

A B

JA  xB  xyB  KA  xB  xyB
JB  xy  A  KB  xy  A

[ES  5,  6,  7;  Ej.  5,  6,  7,  8,  9,  10,  11;  LABORATORIO]

7.3  DISEÑO  DE  ASINCRÓNICOS
CONTADORES
Los  contadores  binarios  a  veces  se  diseñan  sin  una  entrada  de  reloj.  Ellos  son
construido  a  partir  de  los  mismos  flip  flops  cronometrados  (típicamente  JK)  como  
contadores  sincronizados,  pero  cada  flip  flop  se  activa  por  la  transición  del
el  anterior.  Considere  el  circuito  de  la  figura  7.8  con  dos  flip  flops.

Figura  7.8  Un  contador  asíncrono  de  2  bits.
1

B j A j 1

Contar
k k

Cuando  la  señal  Count  va  de  1  a  0,  se  activa  el  flip  flop  A.  Si  se
comenzó  en  0,  va  a  1.  La  transición  de  0  a  1  en  la  salida  de  A,  y
por  lo  tanto,  en  la  entrada  de  reloj  de  B,  no  tiene  efecto.  Cuando  ocurra  la  siguiente  
transición  negativa  en  Count ,  A  pasará  de  1  a  0,  lo  que  hará  que  la  entrada  del  reloj
B  para  hacer  lo  mismo.  Como  J  y  K  son  1,  el  flip  flop  B  cambiará  de  estado.  Desde
hay  un  retraso  desde  el  borde  del  reloj  hasta  el  cambio  de  salida,  el  flip  flop  B  es
marcó  un  poco  más  tarde  que  A  y,  por  lo  tanto,  su  salida  cambia  más  tarde.  Esto  es
enfatizado  en  el  diagrama  de  tiempo  de  la  figura  7.9.  Suponemos  en  este
diagrama  que  los  flip  flops  A  y  B  comienzan  en  0.
Machine Translated by Google

448 Capítulo  7  El  diseño  de  sistemas  secuenciales

Figura  7.9  Retardo  de  temporización  en  un  contador  asíncrono.

Contar

Hay  dos  cosas  que  son  diferentes  en  este  diagrama  de  tiempo  de  los  anteriores.  Dado  
que  la  señal  Count  no  es  necesariamente  un  reloj,  podría  ser  bastante  irregular.*  
Segundo,  el  primer  flip  flop  (A)  cambia  poco  después  del  borde  negativo  de  Count  (la  
línea  discontinua),  pero  el  segundo  flip  flop  (B)  no  cambia.  no  cambia  hasta  un  poco  
después  de  que  cambie  A ,  y  por  lo  tanto  el  retraso  del  reloj  es  mucho  mayor.  Esto  se  
vuelve  más  significativo  a  medida  que  los  cambios  se  transmiten  a  través  de  varios  flip  
flops.
Tenga  en  cuenta  que  las  chanclas  (BA)  pasan  por  la  secuencia  00,  01,  10,  11  y  
repiten.  Por  lo  tanto,  este  es  un  contador  de  2  bits.  Podemos  obtener  un  contador  de  4  
bits  conectando  cuatro  flip  flops  de  la  misma  manera.  En  la  figura  7.10  se  muestra  un  
diagrama  de  bloques.

Figura  7.10  Un  contador  asíncrono  de  4  bits.
1 1 1

D j C j B j A j 1

Contar
k k k k

El  tiempo  se  muestra  en  la  figura  7.11,  donde  hay  una  unidad  de  retraso  en  cada  flip­
flop  y  el  período  del  reloj  es  de  10  unidades.

Figura  7.11  Temporización  del  contador  de  4  bits.
0 100

Contar

*La  entrada  de  reloj  para  contadores  síncronos  es  también  una  entrada  de  conteo .  Aunque  el  reloj  
suele  ser  regular,  no  tiene  por  qué  serlo.  El  contador  cambiará  de  estado  en  cada  transición  negativa.
Machine Translated by Google

7.3  Diseño  de  Contadores  Asíncronos 449

Observe  que  A  cambia  una  unidad  de  tiempo  después  del  borde  posterior  del  reloj,  B  
una  unidad  después  del  borde  posterior  de  A,  C  después  de  B  y  D  después  de  C.  Por  
lo  tanto,  el  cambio  en  D  ocurre  4  unidades  después  del  reloj  (casi  en  el  siguiente  borde  
de  ataque  en  este  ejemplo).
Observe  también  que  este  contador  pasa  por  la  secuencia  0123  4  5  6  7  8  9  10  
(en  lo  que  respecta  al  diagrama  de  tiempo)  y  continuaría  hasta  11  12  13  14  15  0  La  
ventaja  del  contador  asíncrono  es   . . . .
la  simplicidad  del  hardware.  No  se  requiere  lógica  combinacional.  La  desventaja  
es  la  velocidad.  El  estado  del  sistema  no  se  establece  hasta  que  todos  los  flip­flops  
hayan  completado  su  transición,  que,  en  este  caso,  son  cuatro  retrasos  de  flip­flops.  Si  
el  contador  fuera  más  grande  o  el  reloj  más  rápido,  es  posible  que  no  alcance  su  
estado  final  hasta  después  de  la  siguiente  transición  de  reloj  negativa.  En  ese  caso,  su  
valor  no  estaría  disponible  para  otras  partes  del  sistema  en  el  próximo  reloj.  Además,  
se  debe  tener  cuidado  al  usar  las  salidas  de  este  contador,  ya  que  pasa  por  estados  
no  deseados.  Por  ejemplo,  una  inspección  detallada  del  diagrama  de  tiempo  a  medida  
que  el  contador  se  mueve  del  estado  7  al  estado  8,  el  área  sombreada  en  la  figura  
7.11,  muestra  que  está  en  el  estado  6,  el  estado  4  y  luego  el  estado  0  antes  de  que  el  
flip  flop  D  pase  a  1 .  y  alcanza  el  estado  8.  Estos  períodos  cortos  no  son  importantes  
si  las  salidas  se  usan  para  iluminar  una  pantalla  o  como  entradas  para  un  flip  flop  con  
reloj,  pero  podrían  producir  picos  que  activarían  un  flip  flop  si  se  usan  como  entrada  de  
reloj  o  de  conteo. .

Diseñe  un  contador  asíncrono  de  base  12  usando  flip  flops  JK  con  claros  bajos   EJEMPLO  7.9

activos  y  puertas  NAND.
La  forma  más  fácil  de  hacer  esto  es  tomar  el  contador  binario  de  4  bits  y  
reiniciarlo  cuando  llegue  a  12.  Por  lo  tanto,  el  circuito  a  continuación  calcula  (DC)  y  
lo  usa  para  reiniciar  el  contador.

JD JC JB A j 1

Reloj

CLR k CLR k CLR k CLR k

Como  se  puede  ver  en  el  siguiente  diagrama  de  tiempos,  los  ciclos  del  contador

0  1  2  3  4  5  6  7  8  9  10  11  (12)  0
Machine Translated by Google

450 Capítulo  7  El  diseño  de  sistemas  secuenciales

donde  permanece  en  el  estado  12  por  un  corto  tiempo.  Tenga  en  cuenta  que  hay  un  retraso  
desde  el  momento  en  que  A  cambia  hasta  que  B  cambia  y  así  sucesivamente.  El  conteo  solo  
es  válido  después  de  que  se  estabilice  el  último  flip  flop.

0 100 200

Reloj

[ES  8;  EJ  12;  LABORATORIO]

7.4  DERIVACIÓN  DE  TABLAS  DE  ESTADOS  Y  DIAGRAMAS  
DE  ESTADOS
En  esta  sección,  comenzaremos  con  descripciones  verbales  de  sistemas  secuenciales  
y  desarrollaremos  diagramas  o  tablas  de  estado.  En  algunos  casos,  llevaremos  el  diseño  
más  allá;  pero  eso  es  sólo  una  revisión  del  material  de  las  secciones  anteriores.

Primero  veremos  los  ejemplos  continuos  6  y  7.  Aunque  el  enunciado  de  CE6  no  
incluye  el  término  Moore,  la  redacción  del  problema  implica  un  sistema  de  Moore.  El  del  
CE7  es  un  modelo  de  Mealy.  Repetimos  CE6  aquí.

CE6.  Un  sistema  con  una  entrada  x  y  una  salida  z  tal  que  z  1
iff  x  ha  sido  1  durante  al  menos  tres  horas  de  reloj  consecutivas.

La  traza  de  tiempo  de  la  Traza  6.1  se  repite  como  la  Traza  7.1.

Traza  7.1  Tres  1  consecutivos.

x  011011100101111100  z ?00000010000001110000

El  primer  paso  en  este  problema  (como  lo  es  en  muchos  problemas  de  palabras)  
es  determinar  qué  se  debe  almacenar  en  la  memoria.  En  este  caso,  la  pregunta  es:  
¿Qué  necesitamos  saber  sobre  las  entradas  anteriores  para  determinar  si  la  salida  debe  
ser  1  o  no,  y  actualizar  la  memoria?
Hay  dos  enfoques  para  el  paso  1  para  este  problema.  Primero,  podríamos  
almacenar  las  últimas  tres  entradas.  Conociéndolos,  podríamos  determinar  la  salida.  
Para  la  memoria,  simplemente  descartaríamos  la  entrada  más  antigua  almacenada  y  guardaríamos
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 451

los  dos  últimos  más  el  actual.  Las  entradas  ya  están  codificadas  en  binario  (paso  2).  Si   Tabla  7.10  Tabla  de  estados  de  tres  
almacenamos  la  entrada  más  antigua  en  q1,  la  siguiente  más  antigua  en  q2  y  la  más   flip­flops.

reciente  en  q3,  obtenemos  la  tabla  de  estado  de  la  Tabla  7.10.
q1  q2  
El  nuevo  valor  de  q3,  q3  x;  mantendrá  la  entrada  más  reciente. q3  q1  q2  q3  x  0  x  1  z
Del  mismo  modo,  q2  q3  y  q1  q2.  La  salida  es  solo  1  cuando  el  sistema  está  en  el  
estado  111. 0  0  0  000  001  0  0  0  1  010  011  0  0  
1  0  100  101  0  0  1  1  110  111  0  1  0  
Para  el  segundo  enfoque,  almacenamos  en  la  memoria  el  número  de  1   0  000  001  0  1  0  1  010  011  0  1  1  0  
consecutivos,  de  la  siguiente  manera:* 100  101  0  1  1  1  110  111  1

A  ninguno,  es  decir,  la  última  entrada  fue  0
B  uno
do  dos
D  tres  o  más

Eso  también  es  información  suficiente,  ya  que  la  salida  es  1  si  y  solo  si  ha  habido  tres  
o  más.
El  diagrama  de  estado  y  la  tabla  de  estado  son  los  mismos  que  los  de  la  Figura  7.1
y  se  repiten  aquí  como  la  Figura  7.12.

Figura  7.12  Diagrama  de  estado  y  tabla  de  estado.
0

A números  1
0 q qx  0x1  _  _ z
1
0 AB  0
0
0 B  CA  0
B C D CAD  0
1 DA  1
0 1 0 1 1
uno  1 dos  1 tres  o  
más  unos

Este  enfoque  requería  solo  cuatro  estados,  mientras  que  el  primer  enfoque  requería  
ocho.  El  primer  enfoque  usa  tres  flip  flops,  mientras  que  el  segundo  usa  solo  dos.  
Esto  no  es  mucha  diferencia.  Considere,  sin  embargo,  qué  sucede  si  el  problema  
requiere  una  salida  1  si  y  solo  si  la  entrada  ha  sido  1  durante  25  o  más  tiempos  de  
reloj  consecutivos.  Para  el  primer  enfoque,  necesitaríamos  guardar  las  últimas  25  
entradas,  usando  25  flip  flops.  La  tabla  de  estados  tendría  225  filas.  El  segundo  
enfoque  requiere  26  estados  (sin  1  hasta  25  o  más  1).  Podrían  codificarse  con  solo  
cinco  chanclas.
El  próximo  paso  en  el  proceso  es  reducir  la  tabla  de  estados,  si  es  posible,  a  una  
con  menos  estados.  Aunque  no  estaremos  preparados  para  considerar  este  paso  
hasta  el  capítulo  9,  está  claro  que  la  tabla  7.10  tiene  algunos  estados  redundantes.  Por  
ejemplo,  ambos  estados  000  y  100  pasan  al  estado  000  si  la  entrada  es  0;  pasan  al  
estado  001  si  la  entrada  es  1;  ambos  tienen  la  misma  salida.

*Solo  nombraremos  el  contenido  de  la  memoria,  es  decir,  el  estado  con  las  letras  A,  B,  C, . . .  y  lidiar  
con  la  codificación  de  estos  en  binario  más  tarde.
Machine Translated by Google

452 Capítulo  7  El  diseño  de  sistemas  secuenciales

Por  lo  tanto,  solo  se  necesita  uno  de  ellos.  De  hecho,  esta  tabla  se  puede  
reducir  a  una  con  solo  cuatro  estados.  La  tabla  de  estados  obtenida  con  el  
segundo  enfoque  no  se  puede  reducir.
Incluso  si  no  reducimos  la  tabla,  podemos  proceder  a  elegir  una  asignación  
de  estado  (ya  sea  que  aprovechemos  las  técnicas  del  Capítulo  9  para  elegir  una  
“buena”  asignación  o  simplemente  elegir  una  conveniente)  y  luego  completar  el  
diseño.  El  sistema  puede  ser  más  caro  que  el  que  hubiéramos  obtenido,  pero  
seguirá  funcionando  correctamente.
Para  el  primer  diseño,  ya  se  ha  realizado  la  asignación  de  estado.  
Etiquetamos  las  chanclas  como  q1,  q2  y  q3.  Las  entradas  de  flip  flop  no  
requieren  lógica  para  flip  flops  D.

D1  q2  D2  q3  D3  x  Para  flip  flops  JK ,  J1  
q2  J2  J3  x  K1  q2  K2  

q3  K3  x  Se  necesita  una  
q3 puerta  NOT  
para  x  si  usamos  flip  flops  JK .  Para  
cualquier  tipo  de  flip  flop,  se  necesita  una  puerta  AND  para  z:

z  q1  q2  q3
Para  el  segundo  enfoque,  ya  hemos  construido  el  diseño
tabla  de  verdad  para  una  asignación  de  estado  en  la  tabla  7.2  y  encontró  que

D1  q1  xq2  xq1  o  J1  xq2 K1  x
D2  q2  xq2  xq1  o  J2  x K2  x  q1
zq1q2  _

El  ejemplo  de  Mealy  correspondiente  es  CE7.

CE7.  Un  sistema  con  una  entrada  x  y  una  salida  z  tal  que  z  1  en  un  tiempo  
de  reloj  iff  x  es  actualmente  1  y  también  fue  1  en  los  dos  tiempos  de  reloj  
anteriores.

Otra  forma  de  formular  este  mismo  problema  es

CE7#.  Un  sistema  Mealy  con  una  entrada  x  y  una  salida  z  tal  que  z  1  iff  x  
ha  sido  1  durante  tres  tiempos  de  reloj  consecutivos.

La  traza  de  tiempo  correspondiente  a  este  problema  se  muestra  en  la  Traza  7.2.

Traza  7.2  Traza  de  tiempo  para  CE7.

x  011011100101111100  z  00000010000001110000

Hay  dos  enfoques  para  este  problema,  también.  Solo  necesitamos  
almacenar  las  dos  últimas  entradas  (en  lugar  de  tres  para  el  modelo  de  Moore).  
Esto  produce  la  tabla  de  estado  de  la  Tabla  7.11.
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 453

Tabla  7.11  Tabla  de  estados  para  guardar  los  dos  últimos
entradas.

q1  q2 z
q1  q2  x  0  x  1  x  0  x  1
00  00  01  10   01   0   0
10  00  11  10 11   0   0
01   0   0
11 0 1

Para  el  segundo  enfoque,  almacenamos  en  la  memoria  el  número  de  1  
consecutivos,  de  la  siguiente  manera:

A  ninguno,  es  decir,  la  última  entrada  fue  0
B  uno
C  dos  o  más

Eso  también  es  información  suficiente  ya  que  la  salida  es  1  si  y  solo  si
anteriormente  había  dos  o  más  1  y  la  entrada  actual  es  un  1.  Si  el
la  entrada  actual  es  un  0,  el  siguiente  estado  es  A;  de  lo  contrario,  nos  movemos  de  A  a  B
y  de  B  a  C.  El  diagrama  de  estado  se  muestra  en  la  figura  7.13.

Figura  7.13  Diagrama  de  estado  para  tres
1  consecutivos.
0/0

A números  1

1/0
0/0
0/0
dos  o más  1

B C
1/0
uno  1
1/1

La  descripción  también  se  puede  escribir  como  una  tabla  de  estado,  como  se  muestra  en
Tabla  7.12.

Tabla  7.12  Tabla  de  estados  para  tres
1  consecutivos.

q z
qx  0  x  1  x  0  x  1
AA  B 0   0
bachillerato  c 0   0
CAC 0 1
Machine Translated by Google

454 Capítulo  7  El  diseño  de  sistemas  secuenciales

Para  comparar  el  comportamiento  de  los  modelos  de  Mealy  y  Moore,  veremos  
el  diagrama  de  tiempo  de  cada  uno  (utilizando  el  modelo  de  Moore  de  cuatro  estados  
y  el  modelo  de  Mealy  de  tres  estados).

Reloj

Harinoso

q ABCCCCCCABCABCCAB

moore
q  A  MALADCBACBADDDDDCB

Básicamente,  la  salida  del  modelo  de  Moore  es  la  misma  que  la  de  Mealy,  pero  
retrasada  por  un  período  de  reloj.  No  tiene  salidas  falsas,  ya  que  z  depende  solo  de  
los  flip  flops,  todos  los  cuales  cambian  al  mismo  tiempo.

EJEMPLO  7.10 Diseñe  un  sistema  tanto  de  Moore  como  de  Mealy  con  una  entrada  x  y  una  
salida  z  tal  que  z  1  iff  x  haya  sido  1  durante  exactamente  tres  tiempos  de  reloj  
consecutivos.
Una  traza  de  entrada/salida  de  muestra  para  tal  sistema  es

X 01111111011011101

z­Mealy  0000000000000001000*
z­Moore  000000000000000001000

↑ ↑

No  podemos  decir  si  debe  haber  una  salida  1  cuando  ocurre  la  tercera  entrada  
1  consecutiva.  El  historial  pasado  y  la  entrada  actual  son  los  mismos  en  los  dos  
lugares  indicados  con  flechas.  No  es  hasta  que  llega  la  siguiente  entrada  que  
sabemos  que  ha  habido  exactamente  tres  1  seguidos.  Para  el  modelo  de  Mealy  
ahora  necesitamos  cinco  estados,

A  ninguno,  es  decir,  la  última  entrada  fue  0
B  uno  1  en  una  fila

C  dos  1  seguidos

D  tres  1  seguidos

E  demasiados  (más  de  3)  unos  seguidos

*Observe  que,  en  este  ejemplo,  podemos  determinar  la  salida  para  dos  o  tres  relojes  después  de  que  ya  
no  se  conozca  la  entrada,  ya  que  incluso  si  ambas  entradas  fueran  1,  la  salida  permanecería  en  0  al  
menos  hasta  la  hora  del  reloj  posterior  a  la  que  se  muestra.
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 455

El  diagrama  de  estado  comienza  como  el  de  la  solución  anterior.  Sin  embargo,  cuando  
obtenemos  una  tercera  entrada  1,  pasamos  al  estado  D.  Desde  D,  una  entrada  0  produce  una  
salida  1;  una  entrada  de  1  nos  lleva  a  un  nuevo  estado,  E.  A  veces,  pensamos  en  el  estado  A  
como  en  ninguna  parte,  es  decir,  estamos  buscando  el  primer  1  para  comenzar  el  camino  
exitoso  hacia  una  salida  de  1.  En  ese  caso,  el  estado  E  es  peor  que  nada,  ya  que  primero  
debemos  obtener  un  0  antes  de  que  podamos  comenzar  a  buscar  tres  1.
El  diagrama  de  estado  completo  se  muestra  a  continuación.

0/0

A números  1

1/0
0/0 0/0
más  de  tres  1

uno  1 B mi 1/0
0/1

1/0 1/0

C D
1/0
dos  1 tres  1

La  implementación  de  este  sistema  requiere  tres  flip  flops.  El  diseño  se  deja  como  ejercicio.

Para  el  modelo  de  Moore,  necesitamos  un  estado  D  para  indicar  exactamente  tres  unos.
A  partir  de  ahí,  va  a  E  en  otro  1,  lo  que  indica  demasiados  1.  El  estado  F  se  alcanza  en  una  
entrada  0;  es  el  estado  con  salida  1.  La  tabla  de  estados  se  muestra  a  continuación.  
(Podríamos  haber  construido  un  diagrama  de  estado  para  esta  versión  o  una  tabla  de  estado  
para  el  modelo  de  Mealy).

q qx  0x1  _  _ z

AB  0
B  CA  0
CAD  0
D  FE  0
E  AE  0
FA  AB  1

EJEMPLO  7.11
Diseñe  un  sistema  Mealy  cuya  salida  sea  1  si  y  si  la  entrada  ha  sido  1  durante  tres  relojes  
consecutivos,  pero  las  entradas  no  se  superponen.  (Eso  significa  que  una  entrada  1  solo  se  
puede  usar  para  una  salida  1).
Machine Translated by Google

456 Capítulo  7  El  diseño  de  sistemas  secuenciales

Una  traza  de  entrada/salida  de  muestra  para  tal  sistema  es

x01111111011011101  _

z  000100100000001000

Como  en  CE7,  solo  se  necesitan  tres  estados.  Desde  el  estado  C,  el  sistema  regresa  
al  estado  A  ya  sea  que  la  entrada  sea  0  o  1;  la  salida  es  1  si  la  entrada  es  1  (la  tercera  
consecutiva)  y  0  si  la  entrada  es  0.
0/0

A números  1

1/0 1/1  
0/0 0/0

uno  1 B C dos  1
1/0

Cuando  ocurre  la  tercera  entrada  1,  estamos,  una  vez  más,  en  ninguna  parte;  necesitamos  tres  1  
más  para  obtener  una  salida  de  1.

En  cada  uno  de  los  sistemas  que  hemos  considerado  hasta  ahora,  no  nos  
hemos  preocupado  por  inicializar  el  sistema.  Todos  producen  la  salida  
correcta,  una  vez  que  se  recibe  la  primera  entrada  0.  Si  estamos  dispuestos  a  
ignorar  la  salida  antes  de  eso,  no  necesitamos  preocuparnos  por  la  inicialización.  
Si  necesitamos  conocer  la  salida  de  la  primera  entrada,  entonces  debemos  
inicializar  el  sistema  al  estado  A  (o  000  en  el  primer  ejemplo).  Los  siguientes  
dos  ejemplos  dependen  de  la  inicialización  del  sistema  al  estado  A,  es  decir,  
necesitamos  saber  dónde  está  el  punto  de  partida.

EJEMPLO  7.12 Diseñe  un  sistema  Mealy  donde  las  entradas  se  consideren  en  bloques  de  tres.
La  salida  es  1  si  la  entrada  es  1  para  las  tres  entradas  en  un  bloque;  obviamente,  esa  
salida  1  no  puede  ocurrir  hasta  que  se  reciba  la  tercera  entrada.
Una  traza  de  entrada/salida  de  muestra  para  tal  sistema  es

x  011  111  101  110  111  01

z  000  001  000  000  001  000

donde  los  bloques  se  indican  con  espacio  extra.
El  estado  inicial,  A,  se  alcanza  cuando  el  sistema  se  enciende  por  primera  vez  
y  antes  de  cada  nuevo  bloque  (como  el  siguiente  estado  cuando  se  recibe  la  tercera  
entrada  en  un  bloque).  Luego  de  recibir  la  primera  entrada  en  un  bloque,  el  sistema  
pasa  a  B  si  la  entrada  es  1  ya  C  si  es  0;  en  cualquier  caso,  la  salida  es  0.  Ahora  
podríamos  tener  cuatro  estados  después  de  la  segunda  entrada,  D  y  E  de  B  (en  un  
1  y  un  0,  respectivamente)  y  F  y  G  de  C  (en  un  1  y  un  0,  respectivamente). ).
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 457

A  continuación  se  muestra  una  tabla  de  estado  para  esta  versión,  con  siete  estados.

q z
qx  0x1  _  _ x  0  x  1

ACB  0 0
CAMA  0 0
GC  F  0 0
DA  0 1
EAA  0 0
AFA  0 0
GA  A  0 0

Pero  eso  crea  dos  estados  adicionales.  Solo  necesitamos  D  para  el  caso  en  que
las  dos  primeras  entradas  han  sido  1  y  E  para  todos  los  demás  casos,  como  se  muestra
en  el  siguiente  diagrama  de  estado.

0/0
1/0
1/1
0/0 X/0
B C

1/0 0/0 X/0

D mi

Tenga  en  cuenta  que  los  caminos  que  salen  de  C  y  de  E  se  denotan  como  X/0,  lo  que  significa  que
no  importa  cuál  sea  la  entrada;  se  sigue  ese  camino  y  la  salida  es  0.
Observe  que  las  siguientes  secciones  de  estado  y  salida  de  las  últimas  tres  filas  de
la  tabla  de  estado  son  idénticas.  Eso  indica  que  no  importa  si
el  sistema  está  en  el  estado  E,  F  o  G;  se  comporta  igual  en  los  tres  casos.  Como
como  veremos  en  el  Capítulo  9,  podremos  reducir  la  tabla  de  estados  en
combinando  estas  tres  filas  en  una.  (De  hecho,  eso  es  lo  que  el  estado
la  solución  del  diagrama  lo  hizo.)

Diseñe  un  sistema  Mealy  cuya  salida  sea  1  por  cada  tercera  entrada  1  (no EJEMPLO  7.13

necesariamente  consecutivos).
El  estado  inicial,  A,  se  usa  para  ningún  1  o  un  múltiplo  de  tres  1.  Cuando  un
0,  el  sistema  permanece  donde  está,  en  lugar  de  volver  al  estado  inicial.
estado,  ya  que  un  0  no  interrumpe  la  cuenta  de  tres  1.  Una  muestra
la  traza  de  entrada/salida  para  tal  sistema  es

x01111111011010100101  _

z  000100100010000001000
Machine Translated by Google

458 Capítulo  7  El  diseño  de  sistemas  secuenciales

El  diagrama  de  estado  es  así

0/0

A números  1

1/0 1/1

0/0 B C 0/0
1/0
uno  1 dos  1

EJEMPLO  7.14 CE8.  Diseñe  un  sistema  de  Moore  cuya  salida  sea  1  si  y  si  tres  entradas  0  consecutivas  
ocurrieron  más  recientemente  que  tres  entradas  1  consecutivas.*  Un  ejemplo  de  
seguimiento  de  entrada/salida  para  tal  sistema  es

x  11100101110010000111101
z ???0000000000000111100000

Mostramos  las  primeras  tres  salidas  como  desconocidas,  suponiendo  que  
comenzamos  a  buscar  en  algún  momento  cuando  el  sistema  estaba  funcionando  
o  que  lo  encendimos  y  no  sabíamos  en  qué  estado  apareció.  La  redacción  implica  
que  cuando  se  encendió  por  primera  vez,  el  sistema  debe  tener  una  salida  0,  ya  
que  recientemente  no  ha  habido  tres  1  consecutivos.  (Este  es  el  mismo  ejemplo  
que  hicimos  al  final  de  la  Sección  7.1.)
Llamaremos  al  estado  inicial  S1.  El  primer  camino  a  desarrollar  es  hacer  que  la  
salida  cambie  de  0  a  1.  Esa  parte  del  diagrama  de  estado  se  muestra  a  continuación.

S1
0
0

S2
0

S
3  0

S
4  1

*Suponemos  que  tres  significa  tres  o  más,  no  exactamente  tres.
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 459

Habíamos  llegado  a  S1  siempre  que  la  entrada  fuera  un  1  y  la  salida  fuera  un  0.
Para  que  la  salida  cambie  a  1,  necesitamos  tres  0  consecutivos,  lo  que  nos  lleva  a  S4.  
A  partir  de  ahí,  tres  1  nos  llevarán  de  regreso  a  S1  como  se  muestra  a  continuación  a  
la  izquierda.  A  la  derecha,  completamos  el  diagrama  de  estado  mostrando  que  
regresamos  a  S1  cuando  buscamos  0  y  obtenemos  una  entrada  1  y  regresamos  a  S4  
cuando  buscamos  1  y  obtenemos  una  entrada  0.

S1 S1
0 0
0 0
1 1
1
S6 S2 S6 S2
1 0 1 0
1

0 0
1 1

0
S S S S
5  1 3  0 5  1 3  0
0
1 0 0
1
S4 S4
1 1

Diseñe  un  sistema  Mealy  cuya  salida  sea  1  si  y  si  ha  habido  exactamente  dos  1   EJEMPLO  7.15

seguidos  por  un  0  y  luego  un  1.

a.  Suponga  que  se  permite  la  superposición.  
b.  Suponga  que  no  se  permite  la  superposición.

La  siguiente  traza  de  tiempo  muestra  el  comportamiento  esperado  para  el  superpuesto
caso:

a.
X  0  0  11  0  1  1  0  1  1  0  1  1  1  01  1  0  1  1  0  1

z  0  0  00  0  1  0  0  1  0  0  1  0  0  00  0  0  1  0  0  1  0  0

Los  subrayados  indican  el  patrón  1101  que  se  está  buscando;  el  subrayado  doble  no  
es  un  patrón  aceptable  ya  que  no  comienza  exactamente  con  dos  1.  El  comportamiento  
en  el  caso  de  superposición  es  bastante  claro.  Cuando  ocurre  la  entrada  final  1  que  
produce  una  salida  1,  ese  1  también  cuenta  como  la
Machine Translated by Google

460 Capítulo  7  El  diseño  de  sistemas  secuenciales

la  primera  de  dos  entradas  1  consecutivas  para  la  siguiente  1  salida.  Los  dos  subrayados  marrones  
indican  patrones  superpuestos.
A  menudo  es  más  fácil  comenzar  el  diagrama  de  estado  siguiendo  un  éxito
camino,  es  decir,  uno  que  conduce  a  la  salida  deseada,  como  se  muestra  a  continuación.

0/0

en  ningún  lugar,
A
0
última  entrada

1/0

uno  1 B

1/0 dos  1

C D
0/0 1/1
0110

El  estado  A  es  el  estado  de  ninguna  parte,  donde  estamos  buscando  el  primer  1.  En  los  1  sucesivos,  
nos  movemos  a  B  y  C;  un  0  nos  lleva  a  D  y  luego  un  1  produce  la  salida  1.  Como  se  permite  la  
superposición,  ese  1  es  el  primer  1  hacia  una  nueva  secuencia,  y  volvemos  al  estado  B  desde  D.  
También  debemos  completar  los  caminos  fallidos.  Un  0  en  cualquier  estado  que  no  sea  C  (donde  
estamos  buscando  un  0)  nos  devuelve  al  estado  A.  Si,  después  de  obtener  dos  1  consecutivos,  
obtenemos  un  tercero,  necesitamos  otro  estado,  E,  lo  que  indica  que  tenemos  demasiados  1  y  estamos  
esperando  un  0  antes  de  que  podamos  volver  al  estado  A  y  comenzar  de  nuevo.  El  diagrama  de  estado  
completo  para  la  solución  superpuesta  se  muestra  a  continuación.

0/0 en  ningún  lugar,
0
última  entrada
A
1/0
0/0
0/0 B
uno  1

1/0
0/0
1/1 1/0
C mi
1/0
dos  1  
mas  que  dos  1
0/0

0110
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 461

Hay  dos  interpretaciones  a  considerar  en  el  caso  de  no  superposición.  El  
primero  se  muestra  como  b­1.  En  ese  caso,  cuando  se  produce  una  salida  1,  debe  
haber  una  entrada  0  antes  de  que  podamos  tener  exactamente  dos  1.  Por  lo  tanto,  
después  de  la  primera  salida  1,  no  comenzamos  hacia  otra  salida  1  hasta  después  
de  una  entrada  0.

x  0011011011011101101101
b­1  000001000001000000100000

Una  segunda  interpretación  (quizás  un  poco  exagerada)  es  que  una  vez  que  
hemos  completado  un  patrón,  necesitamos  exactamente  dos  1  más  seguidos  de  
un  10;  eso  es  lo  que  acepta  la  secuencia  de  doble  subrayado.

x  0011011011011101101101

b­2  0000010000010001000001000

Las  dos  soluciones  para  las  versiones  que  no  se  superponen  se  muestran  a  continuación.  
Comienzan  exactamente  como  la  versión  superpuesta,  pero  se  comportan  de  manera  diferente  
cuando  obtenemos  la  entrada  que  produce  una  salida  1.

0/0 en  ningún  lugar,
0/0 en  ningún  lugar,
0
última  entrada 0
última  entrada
A A
b­1 b ­2
1/0 1/0
0/0 0/0
0/0 B 0/0 B
uno  1 uno  1

1/0 1/0
0/0 0/0  
1/1
1/0 1/0
C mi 1/0 C mi 1/0
dos  1 dos  1

0/0 0/0
1/1

D D

0110 0110

EJEMPLO  7.16
Finalmente,  veremos  el  diseño  del  controlador  de  bus  CE11.

CE11.  Diseñe  un  controlador  de  bus  modelo  Moore  que  reciba  solicitudes  en  líneas  
separadas,  R0  a  R3,  de  cuatro  dispositivos  que  deseen  usar  el  bus.  Tiene  cuatro  
salidas,  G0  a  G3,  de  las  cuales  solo  una  es  1,  lo  que  indica  a  qué  dispositivo  se  le  
otorga  el  control  del  bus  durante  ese  período  de  reloj.  El  dispositivo  de  número  bajo  tiene  la
Machine Translated by Google

462 Capítulo  7  El  diseño  de  sistemas  secuenciales

máxima  prioridad,  si  más  de  un  dispositivo  solicita  el  bus  al  mismo  tiempo.
Observamos  tanto  los  controladores  de  interrupción  (donde  un  dispositivo  de  alta  prioridad  puede  
adelantarse  al  bus)  como  uno  en  el  que  un  dispositivo  mantiene  el  control  del  bus  una  vez  que  lo  obtiene  

hasta  que  ya  no  lo  necesita.
El  controlador  de  bus  tiene  cinco  estados:

A:  inactivo,  ningún  dispositivo  está  usando  el  bus

B:  el  dispositivo  0  está  usando  el  bus

C:  el  dispositivo  1  está  usando  el  bus

D:  el  dispositivo  2  está  usando  el  bus

E:  el  dispositivo  3  está  usando  el  bus

Primero  consideraremos  el  caso  en  el  que  una  vez  que  el  dispositivo  j  obtiene  el  control  del  bus  (Gj  1),  

retiene  ese  control  hasta  que  ya  no  lo  solicita  (hasta  que  Rj  0).
Además,  supondremos  que  debe  volver  al  estado  inactivo  durante  un  período  de  reloj  entre  asignaciones.  

Esto  da  como  resultado  el  siguiente  diagrama  de  estado.

0000

A
0000

XXX0

001X XX0X
1XXX
01XX
X0XX 0001
0XXX
B C D mi
1000 0100 0010 0001

1XXX X1XX XX1X XXX1

El  sistema  permanece  en  estado  inactivo  si  no  hay  solicitudes.  Pasa  al  estado  de  mayor  prioridad  cuando  
hay  una  o  más  solicitudes.  Por  lo  tanto,  pasa  al  estado  B  si  R0  =  1,  sin  importar  cuáles  sean  las  otras  R.  

Una  vez  que  ha  otorgado  el  bus,  permanece  en  ese  estado  si  ese  dispositivo  todavía  está  solicitando  el  bus  
y  vuelve  al  estado  inactivo  de  lo  contrario.  Si  hay  otra  solicitud  pendiente,  está  inactiva  durante  un  período  
de  reloj  antes  de  conceder  la  siguiente  solicitud  de  mayor  prioridad.
Machine Translated by Google

7.4  Derivación  de  tablas  de  estado  y  diagramas  de  estado 463

Si  el  período  de  inactividad  no  es  necesario,  el  diagrama  de  estado  se  vuelve  mucho  
más  complejo.  Cuando  algún  dispositivo  ya  no  necesite  el  bus,  el  controlador  volverá  al  
estado  A  si  ningún  otro  dispositivo  lo  está  solicitando;  pero  procede  directamente  a  conceder  
la  solicitud  de  mayor  prioridad.  A  continuación  se  muestra  una  tabla  de  estado  para  dicho  
sistema.

q q G0  G1  G2  G3

R0  0000000011111111
R1  0000111100001111
R2  0011001100110011
R3  0101010101010101
A  AEDDCCCC  BBBBBBBB  0000
B  AEDDCCCC  BBBBBBBB  1000
C  AEDCCCC  BBBB  CCCC  0100
D  AEDCCDDBBDDBBDD  0010
E  AEDECECEBEBEBEBE  0001

Tenga  en  cuenta  que  en  esta  versión,  podemos  pasar  de  cualquier  estado  a  cualquier  otro  
estado.  Habría  20  caminos  en  el  diagrama  de  estado.  El  siguiente  diagrama  parcial  muestra  
solo  los  caminos  hacia  y  desde  el  estado  C.

A
0000

01XX mi
0000 0001
01X0

0001
B 01XX C
1000 0100
10XX 01XX

001X D
X1XX 0010

Finalmente,  veremos  un  controlador  preventivo,  donde  un  dispositivo  de  alta  prioridad  
tomará  el  control  de  uno  de  menor  prioridad,  incluso  si  el  de  menor  prioridad  todavía  está  
usando  el  bus.  Para  este  caso  (sea  que  debamos  volver  al  estado  0  o  no),  permanecemos  
en  los  estados  C,  D  y  E  solo  si  ese  dispositivo  está  solicitando  el  bus  y  ningún  dispositivo  de  
mayor  prioridad  lo  está  solicitando  simultáneamente.  El  estado
Machine Translated by Google

464 Capítulo  7  El  diseño  de  sistemas  secuenciales

Primero  se  muestra  el  diagrama  para  el  sistema  que  debe  volver  a  estar  inactivo  durante  
un  período  de  reloj  y  luego  la  tabla  de  estado  para  el  sistema  que  puede  pasar  
directamente  al  siguiente  estado  utilizando  el  bus.

0000

XXX0
1XXX
A
X1XX
0000
XX1X

0001 mi
0001
1XXX

001X XX0X
1XXX 0001
01XX
X0XX X1XX
0XXX 1XXX
B C D
1000 0100 0010

1XXX 01XX 001X

q q G0  G1  G2  G3

R0  0000000011111111
R1  0000111100001111
R2  0011001100110011
R3  0101010101010101
A  AEDDCCCC  BBBBBBBB  0000
B  AEDDCCCC  BBBBBBBB  1000
C  AEDDCCCC  BBBBBBBB  0100
D  AEDDCCCC  BBBBBBBB  0010
E  AEDDCCCC  BBBBBBBB  0001

Aunque  el  diagrama  de  estado  para  esta  versión  requeriría  las  mismas  20  rutas  que  se  
necesitaron  para  la  segunda  versión,  la  lógica  es  mucho  más  simple.  La  condición  para  ir  
al  estado  B,  de  cada  estado  es  1XXX  (R1),  al  C  es  01XX  (R1  R2),  al  D  es  001X  (R1  R2  
R3),  y  al  E  es  0001  (R1  R2  R3  R4)  (la  misma  como  la  condición  del  estado  A  en  todas  las  
versiones).

[ES  9;  Ej.  13,  14,  15,  16,  17]
Machine Translated by Google

7.5  Problemas  Resueltos 465

7.5  PROBLEMAS  RESUELTOS

1.  Para  la  siguiente  tabla  de  estado  y  asignación  de  estado,  muestre
ecuaciones  para  el  siguiente  estado  y  la  salida.

q z q  q1  q2
q x  0  x  1  x  0  x  1
un  0  1
CA 1 0 segundo  1  1

bb  un 0   1 C  0  0


CB  C 1 0

Primero  construiremos  una  tabla  de  verdad  y  mapearemos  las  funciones.

q  xq1  q2 z q1 q2

C  00  01  1 1
00  11  0 0
—0  1 0  XX  X
B  01  10  1 1
C  10  00  0 0
un  10  10  0 1
—1  1 0  XX  X
b  11  11  0 1

X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

00 1 00 1 00 1

01 01 1 01 1

11 1 11 11 11 1

10 X X 10 X X 10 X X

  q
1 q2 z

q1  xq  2  xq1

q2  q1  xq  2  xq2

z  xq  1  xq1

2.  Para  cada  una  de  las  siguientes  tablas  de  estado,  diseñe  el  sistema  usando
i.  chanclas  D
ii.  chanclas  SR
Machine Translated by Google

466 Capítulo  7  El  diseño  de  sistemas  secuenciales

iii.  chanclas  _
IV.  chanclas  JK
Muestre  las  ecuaciones  para  cada  uno  y  un  diagrama  de  bloques  para  el  JK
diseño  (usando  compuertas  AND,  OR  y  NOT).
a.
AB z
AB  x  0  x  1  x  0  x  1
00  01  00  1  01  11  00  1  11   0
11  01  0 1
1

b.
AB
AB  x  0  x  1  z
00  10  00  0
01  00  11  1
10  01  11  1
11  10  01  1

a.  Podemos  mapear  A,  B  y  z  directamente  desde  la  tabla  de  estado,  donde
la  última  fila  de  los  mapas  no  les  importa,  ya  que  el  estado  10  no  es
usado.

X X X
AB 0 1 AB 0 1 AB 0 1

00 00 1 00 1

01 1 01 1 01 1 1

11 1 11 1 1 11 1

10 X X 10 X X 10 X X

A B z

Para  todos  los  tipos  de  chanclas,  z  es  el  mismo,  es  decir,

z  xA  xB

i.  Para  la  chancleta  D ,

DA  A  xB  DB  B  x  A
Machine Translated by Google

7.5  Problemas  Resueltos 467

ii.  Para  el  flip  flop  SR ,  usaremos  la  tabla  de  verdad  y  el  flip  flop
tabla  de  diseño  de  la  siguiente  manera:

xABA  B  SA  RA  SB  RB
000  0 1 0  X  1  0
001  1 1 1 0  X  0
010X X  XXXX
011  1 1 X  0  X  0
100  0 0 0  X  0  X
101  0 0  X  0  0 1
110X X  XXXX
111  0 1 0 1  X  0

Los  mapas  resultantes  son

X X X X
AB 0 1 AB 0 1 AB 0 1 AB 0 1

00 00 X X 00 1 00 X

01 1 01 X 01 X 01 1

11 X 11 1 11 XX 11

10 X X 10 X X 10 X X 10 X X

SA REAL  ACADEMIA  DE  BELLAS  ARTES SB RB

SA  xB  RA  x  SB  x  RB  xA

Desarrollaremos  los  mapas  T  directamente  desde  el  siguiente  estado
mapas  Si  el  flip  flop  va  a  cambiar,  T  es  1;  de  lo  contrario,  T  es  0.

X X
AB 0 1 AB 0 1

00 00 1

01 1 01 1

11 1 11

10 X X 10 XX

ejército  de  reserva tuberculosis

TA  x  AB  x  A TB  x  B  x  AB
Machine Translated by Google

468 Capítulo  7  El  diseño  de  sistemas  secuenciales

Finalmente,  derivaremos  las  entradas  JK  usando  el  método  rápido
método.  Los  mapas  a  continuación  muestran  la  sección  J  del  mapa
sombreado

X X
AB 0 1 AB 0 1

00 00 1

01 1 01 1

11 1 11 1 1

10 XX 10 XX

A B

JA  xB  KA  x  JB  x  KB  xA

Tenga  en  cuenta  que  estas  son  las  mismas  ecuaciones  que  las  del  SR  flip
flop  y  la  misma  cantidad  de  lógica  que  se  requiere  para  el  D  flip
fracaso.  Solo  el  flip  flop  T  requiere  mucha  más  lógica.
A  continuación  se  muestra  un  diagrama  de  bloques  del  sistema  con  flip  flops  JK .

j A j B

ka KB

Reloj

b.  Podemos  ir  a  la  tabla  de  verdad  o  podemos  mapear  primero  A  y  B  para
encontrar  las  entradas  D.  La  salida  es  solo  un  problema  de  dos  variables.
No  necesitamos  mapear  eso  para  reconocer  que

z  AB

Se  muestra  la  tabla  de  verdad  (con  columnas  para  todos  los  tipos  de  flip
fracasos).
Machine Translated by Google

7.5  Problemas  Resueltos 469

xABA  B  SA  RA  SB  RB  TA  TB  JA  KA  JB  KB
000  1 0 1 0 0  X  101  X  0  X
001  0 0 0  X  0  1010  XX  1
010  0 1 0 1 1 0 1 1x1 1X
011  1 0  X  00101  X  0  X  1
100  0 0 0  X  0  X  000  X  0  X
101  1 1 1 0  X  0101  XX  0
110  1 1  X  01001  X  0 1X
111  0 1 0 1  X  010  X  1  X  0

Los  mapas  para  cada  una  de  las  funciones  se  muestran  a  continuación  (donde  DA  es
solo  A).
X X X X X X
AB 0 1 AB 0 1 AB 0 1 AB 0 1 AB 0 1 AB 0 1

00 1 00 00 1 00 X 00 00 XX

01 1 01 1 01 1 01 X 01 X 01 1

11 1 11 1 11 X 11 1 11 X 11 1

10 1 10 11 10 X 10 1 10 11 10

AD base  de  datos SA REAL  ACADEMIA  DE  BELLAS  ARTES SB RB

X X X X X X
AB 0 1 AB 0 1 AB 0 1 AB 0 1 AB 0 1 AB 0 1

00 1 00 00 1 00 XX 00 00 XX

01 1 01 1 01 1 01 X X 01 XX 01 1

11 1 11 1 11 X X 11 1 11 XX 11 1

10 1 10 11 10 XX 10 1 10 1 1 10 XX

ejército  de  reserva tuberculosis JA ka JB KB

Las  ecuaciones  correspondientes  son
z  AB
DA  x  AB  x  AB  x  AB  x  AB
DB  xB  AB
SA  xAB  xAB  RA  xAB  xAB
SB  AB RB  xB
TA  xB  xB TB  xB  AB
JA  KA  xB  xB  JB  A  KB  x
Tenga  en  cuenta  que  la  lógica  requerida  para  implementar  la  solución  flip  flop  JK
es  el  menor,  seguido  por  la  T  y  la  SR,  con  la  D  que  requiere
la  mayoría  A  continuación  se  muestra  un  diagrama  de  bloques  de  la  solución  JK .  A
para  que  el  dibujo  sea  más  claro,  ponemos  el  flip  flop  B  a  la  izquierda.
Machine Translated by Google

470 Capítulo  7  El  diseño  de  sistemas  secuenciales

j B j A

k B k A

Reloj

Comentario:  En  cualquier  parte  de  este  problema,  podríamos  tener
especificó  que  el  flip  flop  A  era  de  un  tipo  (digamos  una  T )  y  el  otro
era  de  un  tipo  diferente  (digamos  un  JK).  Las  soluciones  que  tenemos
obtenidas  son  correctas  para  cada  uno  de  los  flip  flops.

3.  Para  cada  una  de  las  siguientes  tablas  de  estado  y  asignaciones  de  estado,  encuentre
las  ecuaciones  de  entrada  del  flip  flop  y  la  ecuación  de  salida  del  sistema  para
una  implementación  usando

i.  chanclas  D

ii.  chanclas  JK

a.
q z
qx  0  x  1  x  0  x  1 q  q1  q2

A  B  C 1   1 un  1  1


BAB segundo  1  0
1   0
CB  A 1 0 C  0  1

b.
q z
qx  0  x  1  x  0  x  1 q  q1  q2

AA  B 0   0 un  0  0


segundo  1  1
BC  B 0   0
CA  D 0   0 C  0  1
CC  B 1 0 D  1  0

a.  Primero  produciremos  la  tabla  de  verdad.

qxq1  q2  z  q1 q2

—0  0 0  XX  X
C  00  11  1 0
B  01  01  1 1
01  11  1 0
—1  0 0  XX  X
C  10  10  1 1
B  11  00  1 0
11  11  0 1
Machine Translated by Google

7.5  Problemas  Resueltos 471

i.  Ahora  podemos  mapear  z,  D1  (q1 )  y  D2  (q2 )

X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

00 XX 00 X X 00 XX

01 1 01 1 1 01 1

11 1 1 11 1 11 1

10 1 10 11 10 1

z D1 D2

zxq 1 q2 D1 xq 1 q2 D2 xq 2 xq 2

ii.  Usando  el  método  rápido,  miramos  la  parte  sombreada  de  la
mapas  para  J  y  las  partes  no  sombreadas  para  K.  (z  no  cambia).

X X
q1 q2 0 1 q1 q2 0 1

00 XX 00 X X

01 1 1 01 1

11 1 11 1

10 11 10 1

j 1  1 k1 xq 2 j2 x  K 2 X

b.  Primero  produciremos  la  tabla  de  verdad.

qxq1  q2 z q1 q2

un  00  00  0 0
C  00  10  0 0
D  01  01  0 1
B  01  10  0 1
10  00  1 1
C  10  10  1 0
D  11  00  1 1
B  11  10  1 1
Machine Translated by Google

472 Capítulo  7  El  diseño  de  sistemas  secuenciales

No  necesitamos  mapear  z,  ya  que  es  claro  de  la  tabla  de  verdad
eso

z  xq1  q  2

i.  Ahora  podemos  mapear  D1(q1 )  y  D2(q2 )

X X
q1 q2 0 1 q1 q2 0 1

00 1 00 1

01 1 01

11 1 11 11

10 1 10 1 1

D1 D2

D1 xD 2 xq 2 q1

ii.  Para  las  chanclas  JK ,  obtenemos

J1xK1x  _  _  _ J2  x  q1  K2  q  1

4.  Para  la  tabla  de  estados  y  cada  una  de  las  asignaciones  de  estados  mostradas,
diseñar  un  sistema  utilizando  flip  flops  D.

q z
qx  0  x  1  x  0  x  1
A  B  C 1   0
BD  A 0   0
CB  C 1   1
DD  A 1 0

a. q q1  q2 b. q q1  q2 C. y q1  q2

un  0 0 un  0 0 un  0  0


segundo  0 1 segundo  0 1 B  1 1
C  1 0 C  1 1 C  1 0
D  1 1 D  1 0 D  0  1

Cada  parte  de  esto  es  realmente  un  problema  separado.  (Como  veremos  en  el  
Capítulo  9,  estas  son  las  únicas  tres  asignaciones  que  producen
hardware  significativamente  diferente.  Cada  una  de  las  otras  posibles  
asignaciones  de  estado  implica  el  intercambio  de  variables  o
variables  complementarias  o  ambas).  Compare  la  cantidad  de
lógica  combinacional  para  cada  asignación  de  estado.
Machine Translated by Google

7.5  Problemas  Resueltos 473

a.  Dado  que  la  asignación  está  en  orden  binario  normal,  es  fácil  ir
directamente  a  los  mapas.

X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

00 1 00 1 00 1

01 1 01 1 01

11 1 11 1 11 1

10 1 10 1 10 1 1

D1 D2 z

D1 xq 2 xq 2 D2 X zxq 1 xq 2 q 1 q2

b.  Esta  tarea  está  en  el  orden  del  mapa  y  una  vez  más  iremos
directamente  a  los  mapas  sin  producir  primero  una  tabla  de  verdad.

X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

00 1 00 1 1 00 1

01 1 01 01

11 1 11 1 1 11 1 1

10 1 10 10 1

D1 D2 z

D1 xq 1 q2 xq 1 q2 xq 1 q2 xq 1 q2
D2 q 1 q2 q 1 q2 zxq 2 q 1 q2

donde  los  términos  marrones  se  comparten  entre  D2  y  z.
C.  Para  esta  parte,  primero  construiremos  la  tabla  de  verdad  y  luego  iremos
a  los  mapas.

qxq1  q2z  _ q1 q2

00  01  1 1
D  00  11  0 1
01  01  1 1
B  01  10  0 1
10  00  1 0
D  10  10  0 0
C  11  01  1 0
b  11  10  0 0
Machine Translated by Google

474 Capítulo  7  El  diseño  de  sistemas  secuenciales

X X X
q1 q2 0 1 q1 q2 0 1 q1 q2 0 1

00 11 00 1 00 1

01 01 1 01 1

11 11 1 11

10 1 1 10 1 10 1 1

D1 D2 z
D1 q2 D1 X zxq 1 q1 q2

Realmente  no  necesitábamos  mapear  D1  y  D2;  deberíamos  ser  capaces  de
ver  los  de  la  tabla  de  verdad.

Comparando  las  tres  soluciones  vemos  una  gran  diferencia,
basado  en  las  asignaciones  de  los  tres  estados.

a.  8  puertas  16  entradas
b.  11  puertas  27  entradas
C.  4  puertas  7  entradas

5.  Diseñe  un  contador  síncrono  que  pase  por  la  secuencia  13574206  y  repita

utilizando  chanclas  D.

La  tabla  de  verdad  se  muestra  a  continuación.

ABCA  BC
000  1  001  0  010   1   0
0  011  1  100  0  101   1   1
1  110  0  111  1 0   0
0   1
1   0
1   1
0   1
0 0

A  continuación  se  muestran  los  mapas  para  las  entradas  D ,  con  las  posibles
términos  compartidos  encerrados  en  marrón  y  tostado.

A A A
antes  de  Cristo
0 1 antes  de  Cristo
0 1 antes  de  Cristo
0 1

00 1 00 1 1 00

01 1 01 11 01 11

11 1 1 11 11 1

10 10 10 1

A B C
Machine Translated by Google

7.5  Problemas  Resueltos 475

DB  es  claramente  B.  Si  resolvemos  las  otras  dos  entradas  de  forma  independiente,
obtenemos

DA  =  CA  +  BC  CC  =  CA  +  BC
Pero,  podemos  salvar  una  puerta  compartiendo  de  dos  maneras:
DA  =  AC  +  ABC  DA   CC  =  ABC  +  BC o

=  ABC  +  BC CC  =  CA  +  ABC

6.  Diseñe  un  contador  síncrono  que  recorra  la  secuencia
2  6  1  7  5  y  repite
usando

i.  chanclas  D
ii.  chanclas  JK
Muestre  un  diagrama  de  estado,  indicando  lo  que  sucede  si  inicialmente  está  en
uno  de  los  estados  no  utilizados  (0,  3,  4)  para  cada  uno  de  los  diseños.

La  tabla  de  verdad  se  muestra  a  continuación.  El  siguiente  estado  para  los  estados  no  utilizados  es

se  muestra  como  no  le  importa.

ABCA  BC
000  XXX
001  1  1  1
010  1  1  0
011
100  XXX
101  0  1  0
110  0  0  1
111  1  0  1

Los  mapas  y  ecuaciones  para  las  entradas  D  se  muestran  a  continuación.

A A A
antes  de  Cristo
0 1 antes  de  Cristo
0 1 antes  de  Cristo
0 1

00 X X 00 X X 00 X X

01 1 01 11 01 1

11 X 1 11 X 11 X 1

10 1 10 1 10 1

A B C

DA  A  BC
DB  AB
CC  AB  {AB  o  CA}

Hay  dos  soluciones  igualmente  buenas  para  DC;  como  veremos
en  breve,  el  comportamiento  del  sistema  es  diferente  para  esas  opciones
si  se  inicializa  a  uno  de  los  estados  no  utilizados.
Machine Translated by Google

476 Capítulo  7  El  diseño  de  sistemas  secuenciales

Sustituyendo  los  valores  de  los  tres  estados  que  no  están  en  el  ciclo:

0  (000):   DA  1,  DB  1,  DC  1  o  DC  0
3  (011):   DA  1,  DB  1,  DC  0  o  DC  1
4  (100): DA  0,  DB  1,  DC  0

donde  el  color  indica  que  el  siguiente  estado  depende  de  la
elección  para  el  segundo  término  de  DC.
Los  diagramas  de  estado  para  las  dos  soluciones  se  muestran  a  continuación.

4 4
2 3 2 0

5 6 5 6

0 7 1 3 7 1

ii.  Los  mapas  para  la  solución  JK ,  con  la  sección  J  sombreada,  y
las  ecuaciones  se  muestran  a  continuación.

A A A
antes  de  Cristo
0 1 antes  de  Cristo
0 1 antes  de  Cristo
0 1

00 X X 00 X X 00 X X

01 1 01 11 01 1

11 X 1 11 X 11 X 1

10 1 10 1 10 1

A B C

JA  1 CA  BC
JB  1 KB  A
JC  A  KC  AB
Sustituyendo  los  valores  de  los  tres  estados  que  no  están  en  el  ciclo:
0  (000):  JA  KA  1,  JB  1,  KB  0,
JC  KC  0     110
3  (011):  JA  1,  KA  0,  JB  1,  KB  0,
JC  KC  0     111
4  (100):  JA  KA  1,  JB  KB  1,
JC  KC  1     011
Machine Translated by Google

7.5  Problemas  Resueltos 477

Este  sigue  siendo  un  comportamiento  diferente  para  los  estados  no  utilizados.  Ahora,

el  estado  4  pasa  a  3  y  luego,  en  el  próximo  reloj,  volverá
en  el  ciclo.  El  diagrama  de  estado  se  muestra  a  continuación.

2 0

5 6

4 3 7 1

7.  Diseñe  un  contador  con  dos  flip  flops  JK ,  A  y  B,  y  una  entrada,
X.  Si  x  0,  cuenta  0,  1,  2,  3,  3, . . . ;  si  x  1,  cuenta  3,  2,  1,
0,  0, . . . .

Este  es  un  contador  de  saturación  ascendente/descendente.  La  tabla  de  verdad  es
mostrado  a  continuación.

xABA  B
000  0  001  1  010   1
1  011  1  100  0   0
101  0  110  0  111  1 1
1
0
0
1
0

A  partir  de  esto  podemos  desarrollar  los  mapas  para  el  método  rápido  y  el
ecuaciones  para  J  y  K.

X X

AB 0 1 AB 0 1

00 00 1

01 1 01

11 1 1 11 1

10 1 10 1 1

A B

JA  xB  KA  xB JB  x  A  KB  x  A
Machine Translated by Google

478 Capítulo  7  El  diseño  de  sistemas  secuenciales

8.  Construya  un  contador  asíncrono  de  base  60  (0  a  59)  usando  JK
chancletas.

Necesitamos  seis  chanclas  y  debemos  detectar  cuando  el  conteo  llega
60  y  poner  a  cero  el  contador.  (Eso  ocurre  cuando  FEDC  1.)

JF JE JD JC JB A j 1

Reloj

CLR  K CLR  K CLR  K CLR  K CLR  K CLR  K

9.  Para  cada  uno  de  los  siguientes  problemas,  muestre  una  tabla  de  estados  o  un  
diagrama  de  estados.  (Se  muestra  un  seguimiento  de  entrada/salida  de  
muestra  para  cada  uno.)  a.  Un  sistema  Mealy  que  produce  una  salida  1  si  y  si  
ha  habido  cuatro  o  más  entradas  1  consecutivas  o  dos  o  más  entradas  0  
consecutivas.  (4  estados)
x01100100111110001  _

z ?00010010001101100
b.  Un  sistema  Mealy  cuya  salida  es  1  si  las  últimas  tres  entradas
fueron  010.  (3  estados)  

i.  asumiendo  que  se  permite  la  superposición  

ii.  asumiendo  que  la  superposición  no  está  permitida

x  1101010100100100110
0  0  0  0  1  0  1  0  1  0  0  1  0  0  1  0  0  0  0  0
z­ii  0  0  0  0  1  0  0  0  1  0  0  1  0  0  1  0  0  0  0  0

C.  Un  sistema  Mealy  cuya  salida  es  1  si  las  últimas  cuatro  
entradas  fueron  1100  o  la  última  salida  fue  1  y  continúa  con  
ese  patrón.  (7  estados)
x  10110010110011001110010
z ??000110000111111100110000
d.  Un  sistema  de  Moore  cuya  salida  cambia  cada  vez  que  detecta  una  
secuencia  110.  (Suponga  que  inicialmente  la  salida  es  0.)  (6  estados)
x0  0  1  0  1 1 1  0  1 1  0  0  1 1  0  1  0  1
z  00000000111000011111

mi.  Un  sistema  de  Moore  cuya  salida  es  1  si  la  entrada  ha  estado  
alternando  durante  al  menos  cuatro  períodos  de  reloj.  (8  estados)
x00101101010100  _

z ??  0001000111110
Machine Translated by Google

7.5  Problemas  Resueltos 479

F.  Muestre  una  tabla  de  estado  o  un  diagrama  de  estado  para  Mealy  (6  estados)
o  un  sistema  de  Moore  (7  estados)  con  una  entrada,  x,  y  una  salida,  z,
tal  que  z  =  1  si  y  solo  si  la  entrada  ha  sido  exactamente  uno  o
dos  1  seguidos  inmediatamente  por  exactamente  uno  o  dos  0.
x  0110110001001100101110

harinoso  z ??0010000000100010100000
Moore  z ???0010000000100010100000

a.
q z
qx  0  x  1  x  0  x  1
AA  B 0
bachillerato  c 1   0
CA  D 0   0
PAPÁ 0  0 1

0/1

0/0
A D 1/1

1/0 0/0
1/0
0/0
B C
1/0

Empezamos  con  un  estado  para  el  cual  la  última  entrada  es  0.  Desde
allí,  necesitamos  cuatro  1  consecutivos  para  obtener  una  salida  1  u  otra
0.  Por  lo  tanto,  en  0  adicionales,  regresamos  al  estado  A.  En  un  1,
ir  a  B;  en  un  segundo  1,  vamos  a  C;  y  en  un  tercero  1,  vamos  a
D.  En  D,  los  1  adicionales  producen  una  salida  de  1;  0  devuelve  el
sistema  al  estado  A.

b.  i.
q z
qx  0  x  1  x  0  x  1
AB  A 0   0
BB  C 0   0
CB  A 0 1

1/0

0/0 1/0
1/0

0/0 B C

0/1
Machine Translated by Google

480 Capítulo  7  El  diseño  de  sistemas  secuenciales

El  estado  A  es  el  estado  de  "ninguna  parte",  donde  estamos  buscando  
el  primer  0  en  el  patrón.  Un  0  nos  lleva  a  B  y  luego  un  1  nos  lleva  a  C.  A  partir  
de  ahí,  una  entrada  0  produce  una  salida  1.  Dado  que  se  permite  la  
superposición,  esa  entrada  0  es  el  primer  0  en  una  nueva  cadena  y,  por  lo  
tanto,  volvemos  al  estado  B.
En  el  caso  de  que  no  se  permita  la  superposición,  pasamos  del  estado  
C  al  estado  A  en  una  entrada  0,  ya  que  ahora  no  estamos  en  ninguna  parte,  
buscando  un  patrón  010,  como  se  muestra  en  el  diagrama  de  estado  a  
continuación.

1/0

0/0 1/0  
0/1

1/0
0/0 B C

C.  Si  comenzamos  con  el  estado  de  "ninguna  parte",  es  decir,  donde  la  salida  
debe  ser  0  y  estamos  buscando  el  primer  1,  la  ruta  de  éxito  consiste  en  1  1  
0  0,  en  cuyo  punto  la  salida  va  a  1.  Si  eso  es  seguido  por  un  1,  la  salida  
permanece  en  1.  También  permanece  en  1  si  hay  otra  entrada  1  y  luego  
una  entrada  0  (que  hace  que  el  sistema  regrese  al  estado  D ).  Eso  
produce  el  siguiente  comienzo  para  el  diagrama  de  estado.

A GRAMO

1/0
1/1

0/1
B F

1/0
1/1

C D mi
0/0 0/1

Ahora  podemos  completar  las  rutas  fallidas.  Cuando  obtenemos  un  0  
mientras  buscamos  1  en  los  estados  A,  B,  E  y  F,  volvemos  al  estado  A.  
Pasamos  al  estado  C  en  un  1  de  C  o  G  (cuando  hay  más  de  dos  1  en  una  
fila)  y  vamos  a  B  desde  D  en  un  1.  Por  supuesto,  todas  estas  entradas  fallidas
Machine Translated by Google

7.5  Problemas  Resueltos 481

producir  una  salida  0.  El  diagrama  de  estado  y  luego  la  tabla  de  estado
se  muestran  a  continuación.

0/0

A GRAMO

0/0
1/0 1/0
0/0 1/1 z
q

B F qx  0  x  1  x  0  x  1
AA  B 0 0
1/0 0/0 bachillerato  c 0 0
1/0 0/1 1/1
CENTROS  PARA  EL  CONTROL  Y  LA  PREVENCIÓN  DE  ENFERMEDADES 0 0
DEB 1 0
C D mi
EA  F 0 1
0/0 0/1
FA  G 0 1
GD  C 1 0
1/0

d.  Para  un  sistema  de  Moore,  la  salida  está  asociada  con  el  estado.
Hay  dos  estados  de  "ninguna  parte",  A  y  D,  uno  para  el  cual  el
la  salida  es  0  y  otra  para  la  que  la  salida  es  1.  El  estado
El  diagrama  y  la  tabla  son  los  siguientes:

A
0

0 0
1

B F
1
0 1 q
qx  0  x  1  z
1
1 AA  B  0
BA  C  0
C mi CD  C  0
1 0 1 DD  E  1
ED  F  1
1 FA  F  1
0 0

D
1

0
Machine Translated by Google

482 Capítulo  7  El  diseño  de  sistemas  secuenciales

Cuando  está  en  el  estado  “en  ninguna  parte”  y  la  entrada  es  0,  el  sistema  
permanece  allí.  Progresa  en  el  primer  1  a  B  o  E  y  en  el  segundo  1  a  C  o  F.  El  
sistema  permanece  en  C  o  F  si  los  1  continúan,  y  pasa  al  estado  de  
"ninguna  parte"  con  la  salida  opuesta  en  una  entrada  0.

mi.  Comenzamos  con  dos  estados  de  "ninguna  parte":  A  cuando  la  entrada  ha  sido  
0  para  dos  o  más  entradas  consecutivas  y  B  cuando  ha  sido  1  para  dos  o  más  
entradas  consecutivas.  De  cada  uno  de  estos  hay  un  camino  de  éxito  separado  
(de  A  a  C  a  E  a  G  o  de  B  a  D  a  F  a  H).  Los  estados  G  y  H  tienen  salida  1.  Si  la  
entrada  sigue  alternando,  el  sistema  va  y  viene  entre  estos  dos  estados.

0 1

A B
0 0

1 0

C 1 0 D
0 1
0 0

0 1

mi
1 0 F
0 0

1 0

1
GRAMO H
1 1
0

F.  Para  ambas  versiones,  el  estado  de  “ninguna  parte”,  A,  es  cuando  estamos
buscando  la  primera  entrada  1.  El  primer  1  nos  lleva  a  B,  y  el  segundo,  a  C.  
El  estado  D  se  alcanza  cuando  hemos  tenido  exactamente  uno  o  dos  1  (de  B  o  
C).  En  la  versión  de  Mealy  (a  la  izquierda),  la  salida  es  1  cuando  el  sistema  está  
en  el  estado  D  y  la  entrada  es  1  o  0  seguido  de  1.  Ese  1  se  trata  como  el  
primer  1  de  una  nueva  secuencia  de  entrada.  La  versión  de  Moore  llega  al  
estado  F  después  de  la  misma  secuencia,  donde  la  salida  es  1.  Después  
de  demasiados  0  (del  estado  C),  van  a  F  (Mealy)  o  G  (Moore);  después  
de  más  de  dos  0  seguidos,  los  sistemas  vuelven  al  estado  A.
Machine Translated by Google

7.6  Ejercicios 483

EJER
0/0

0
A A
0
0
0/0
1/0 0/0 1
GRAMO

0 B
F 0
0
1/1 F
1/0 1 0
B mi 1
1 1
0/0 1
1/0 1
1/0 0/0
1/1 C mi
0 1 0 0
C D
0/0

0 0

D
0

7.6  EJERCICIOS
1.  Encuentra  ecuaciones  para  q
1, q
2, y  Z  para  la  tabla  de  estados  de  la  figura  7.1,
utilizando  la  asignación  de  estados  de  la  tabla  7.1c.

2.  Para  cada  una  de  las  siguientes  tablas  de  estado,  diseñe  el  sistema  usando

i.  chanclas  D

ii.  chanclas  SR

iii.  chanclas  _

IV.  chanclas  JK

Muestre  las  ecuaciones  para  cada  uno  y  un  diagrama  de  bloques  para  el  diseño  JK
(utilizando  puertas  AND,  OR  y  NOT).

a.
AB z
AB  x  0  x  1  x  0  x  1
00  11  00  0  01  01  00  1  11  01   1
11  1 0
0

b.
AB z
AB  x  0  x  1  x  0  x  1
00  10  11  01  00  01   0   0
10  01  11  11  00  00 0   0
0
1  1 1
Machine Translated by Google

484 Capítulo  7  El  diseño  de  sistemas  secuenciales
SOICICREJE

C.
AB
AB  x  0  x  1 z
00  01  00  0
01  11  00  1
11  00  01  1

d.
AB
AB  x  0  x  1  z
00  10  00  0
01  00  11  1
10  01  01  1
11  00  01  1

mi.
AB
AB  x  0  x  1  z
00  11  10  0
01  10  10  1
10  11  00  1
11  01  11  1

F.
AB
AB  x  0  x  1  z
00  10  01  1
01  11  00  1
10  00  11  0
11  01  00  0

A  B  C
gramo.

z
ABC  x  0  x  1  x  0  x  1
000  001  000  1  0  0  1  0  1  0  0  0  0   1
1  010  011  000  1  011  100  000  1   1
100  101  000  1  101  101  000  0 1
1
1
1
Machine Translated by Google

7.6  Ejercicios 485

3.  Para  cada  una  de  las  siguientes  tablas  de  estado  y  asignaciones  de  estado,  encuentre
las  ecuaciones  de  entrada  del  flip  flop  y  la  ecuación  de  salida  del  sistema  para  un
implementación  usando

i.  chanclas  D

ii.  chanclas  JK

a.
q
qx  0  x  1  z q q1  q2

un  1  1
CA  B  1
segundo  0  1
A.C.  A  1
CA  C  0 C  1  0

b.
q z
qx  0  x  1  x  0  x  1 q q1  q2

CA  B 1   1 un  0  0


licenciatura 1   0 B 1  1
CC  A 1 0 C  0  1

C.
q
qx  0x1  _  _ z q q1  q2

un  0  0
AB  C  1
BA  B  0 segundo  1  0

CB  A  0 C  0  1

d.
q z
qx  0  x  1  x  0  x  1 q q1  q2

AB  B 0   0 A 0  0


BD  A 0 B 1  1
CDB 1   0 C 1  0
CC  D 0  1 0 D  0  1

mi.
q z
qx  0  x  1  x  0  x  1 q  q1  q2

AB  D 0   0 un  0  0


segundo  0  1
BD  C 1 0
TAXI 0   0 C  1  1
CC  A 1 0 D  1  0
Machine Translated by Google

486 Capítulo  7  El  diseño  de  sistemas  secuenciales
SOICICREJE

4.  un  Para  la  tabla  de  estados  y  cada  una  de  las  asignaciones  de  estados  mostradas,
diseñar  un  sistema  utilizando  flip  flops  D.

q
qx  0  x  1  z
AB  D  0
A.C.  A  1
CB  B  1
DD  C  1

i. q q1  q2 ii. q q1  q2 iii. q  q1  q2

un  0  0 un  0  0 un  0  0


segundo  0  1 segundo  0  1 segundo  1  1
C  1  0 C  1  1 C  1  0
D  1  1 D  1  0 D  0  1

antes  de  Cristo.  Para  cada  una  de  las  tablas  de  estado  y  cada  una  de  las  asignaciones  de  estado
como  se  muestra,  diseñe  un  sistema  usando  chanclas  D.

b.
q z
qx  0  x  1  x  0  x  1
A  B  C 0
BAB 1   1
CB  B 0  0 0

C.
q z
qx  0  x  1  x  0  x  1
aa  c 0   0
BC  B 1
TAXI 1  1 0

i. q q1  q2 ii. q q1  q2 iii. q q1  q2

un  0  0 un  0  0 un  0  0


segundo  0  1 segundo  0  1 segundo  1  1
C  1  0 C  1  1 C  1  0
Machine Translated by Google

7.6  Ejercicios 487

5.  Complete  el  diseño  del  contador  binario  de  4  bits  (desde  el  comienzo  
de  la  Sección  7.2)  con  flip  flops  SR .
6.  Si  construimos  el  contador  de  décadas  usando  flip  flops  JK ,  muestre  un  
diagrama  de  estado,  incluyendo  lo  que  sucede  si  inicialmente  está  en  uno  
de  los  estados  no  utilizados  (10,  11,  12,  13,  14,  15).
7.  Diseño,  usando  i.  
Chanclas  D  ii.  
Chanclas  JK  a.  un  
contador  síncrono  de  base  12,  uno  que  pasa  por  el
secuencia
0  1  2  3  4  5  6  7  8  9  10  11 . . .

b.  un  contador  regresivo  binario  síncrono,  uno  que  pasa  por  el
secuencia
15  14  13  12  11  10  9  8  7  6  5  4  3  2  1  0 . . .

8.  Diseñe  contadores  sincrónicos  que  pasen  por  cada  uno  de  los  siguientes
secuencias
a.  6  5  4  3  2  1  y  repite  b.  1  3  4  7  6  y  
repite  c.  6  5  4  1  2  3  y  repite  d.  6  
5  1  3  7  y  repite  e.  7  4  3  6  1  2  y  repite  
f.

1  3  5  7  6  4  2  0  y  repita  usando  i.  

Chanclas  JK  ii.  
Chanclas  D  
Muestre  un  diagrama  de  estado,  indicando  lo  que  sucede  si  inicialmente  está  
en  uno  de  los  estados  no  utilizados  para  cada  uno  de  los  diseños.
9.  Diseña  un  contador  con  dos  flip  flops  JK ,  A  y  B,  y  una  entrada,  x.
Si  x  0,  cuenta  1  3  0  y  repite;  si  x  1,  cuenta  1  2  3  y  repite.  a.  Suponga  que  x  
cambia  
solo  cuando  está  en  el  estado  1  o  3  (en  cuyo  caso  hay  dos  combinaciones  que  
nunca  ocurren:  el  estado  2  y  x  0,  y  el  estado  0  y  x  1).

b.  Después  de  construir  el  diseño  de  la  parte  a  (con  los  dos  no  importa),
¿Qué  sucede  si  de  alguna  manera  x  es  0  en  el  estado  2  y  qué  sucede  si  de  
alguna  manera  x  es  1  en  el  estado  0?

10.  un.  Diseñe  un  contador  con  dos  flip  flops  JK  (A  y  B)  y  una  entrada  (x)  que  cuente  0  
1  2  3  y  repita  cuando  x  0  y  cuente  0  1  2  y  repita  cuando  x  1.  Diseñe  esto  
asumiendo  que  x  nunca  es  1  cuando  el  conteo  es  3.  Muestra  las  ecuaciones  
mínimas  para  cada  uno.
b.  ¿Qué  sucede  cuando  x  va  a  1  cuando  la  cuenta  es  3?
Machine Translated by Google

488 Capítulo  7  El  diseño  de  sistemas  secuenciales
SOICICREJE

11.  Diseñar  el  sistema  de  CE10,  utilizando  chanclas  JK .
12.  Diseñe  un  contador  asíncrono  de  base  10,  usando  chanclas  T  con  un
estático  activo  alto  claro.
13.  Complete  el  diseño  de  CE6  usando  chanclas  JK  para  los  tres
diferentes  asignaciones  de  estado  de  la  Tabla  7.1.
14.  Diseñe  la  versión  de  tres  estados  de  CE7,  usando  chanclas  D  y  cada
de  las  siguientes  asignaciones  estatales.

q  q1  q2 q  q1  q2 q q1  q2

un  0  0 un  0  0 un  0  0


segundo  0 1 segundo  0 1 B  1 1
C  1  0 C  1 1 C  0  1

(a) (b) (C)

15.  Diseñe  un  sistema  utilizando  flip  flops  JK  que  produzca  una  salida  de  1  si  y  
solo  si  ha  habido  exactamente  tres  1  seguidos.  (Véase  el  Ejemplo  7.10.)  a.  
Usando  el  diagrama  de  estado  de  Mealy.  
b.  Utilizando  la  tabla  de  estados  de  Moore.
16.  Para  cada  uno  de  los  siguientes  problemas,  muestre  una  tabla  de  estado  o  un  estado
diagrama.  (Para  cada  uno  se  muestra  un  seguimiento  de  entrada/salida  de  
muestra  y  el  número  mínimo  de  estados  
necesarios).  a.  Un  sistema  de  Moore  que  produce  una  salida  1  si  y  solo  si  la  
entrada  ha  sido  0  durante  al  menos  dos  relojes  consecutivos  seguidos  
inmediatamente  por  dos  o  más  1  consecutivos.  (5  estados)

x01001001100010100011110  _

z  0000000001000000000011100

b.  Un  sistema  de  Moore,  cuya  salida  es  1  si  y  si  ha  habido  dos  o  
más  1  consecutivos  o  tres  o  más  0  consecutivos.  (5  estados)

x000010110011100010  _

z ???11000100011001000

C.  Un  sistema  Mealy  que  produce  una  salida  de  1  si  y  solo  si  la  entrada  ha  sido  1  
durante  tres  o  más  tiempos  de  reloj  consecutivos  o  0  durante  tres  o  más  
tiempos  de  reloj  consecutivos.  Cuando  se  enciende  por  primera  vez,  se  
encuentra  en  un  estado  inicial  A.  (Hay  cuatro  estados  adicionales).

x0  0  0  0  1  0  1  1  0  0  0  1  1  1  1  1  0  01
0  0  1  1  0  0  0  0  0  0  1  0  0  1  1  1  0  0  00

d.  Un  sistema  Mealy  que  produce  una  salida  1  si  y  solo  si  la  entrada  ha  sido  0  1  
0  o  1  0  1.  Se  permite  la  superposición.  Cuando  se  enciende  por  primera  
vez,  se  encuentra  en  un  estado  inicial  A.  (Hay  cuatro  estados  adicionales).
Machine Translated by Google

7.6  Ejercicios 489

x0010010100110110100  _

z  00010011100001001100

mi.  Un  sistema  Mealy  que  produce  una  salida  1  si  y  solo  si  la  entrada  es  0  por  
primera  vez  después  de  haber  sido  1  durante  al  menos  dos  relojes  
consecutivos  o  cuando  es  1  después  de  haber  sido  0  durante  al  menos  
dos  relojes  consecutivos.  Se  permite  la  superposición.  Cuando  se  enciende  
por  primera  vez,  se  encuentra  en  un  estado  inicial  A.  (Hay  cuatro  estados  adicionales).

x010001111100110  _

z  0000010000101010

F.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  si  la  entrada  tuviera
ha  habido  al  menos  dos  0  seguidos  de  exactamente  dos  1  seguidos  de  
un  0.  No  se  permite  la  superposición.  (5  estados)

x  1110001100110011100001100

z  000000001000000000000001000

gramo.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  si  ha  habido  
exactamente  dos  1  consecutivos  seguidos  por  al  
menos  dos  0  consecutivos.  (5  estados)
x0110001100110011100001100  _

z ?000110001000100000000001

H.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  si  ha  habido  exactamente  
dos  0  consecutivos  o  exactamente  dos  1  consecutivos.  i.  Se  
permite  la  superposición  (6  estados)  
ii.  No  se  permite  la  superposición  (6  estados)
x011101100110101001  _

zi ??  00000101010000010

z­ii ??000001000100000100

i.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  si  ha  habido  un  patrón  
de  1  0  1  1.  i.  Se  
permite  la  superposición  (4  estados)  
ii.  No  se  permite  la  superposición  (4  estados)
x001011011011100101011  _

Zi  00000100100100000000100

z­ii  000001000001000000001000

j.  Un  sistema  Mealy,  cuya  salida  es  0  si  y  si  ha  habido  un  patrón  de  
1  1  0  1.  (La  salida  es  1  la  mayor  parte  del  tiempo).  i.  Se  
permite  la  superposición  (4  estados)  
ii.  No  se  permite  la  superposición  (4  estados)
Machine Translated by Google

490 Capítulo  7  El  diseño  de  sistemas  secuenciales
SOICICREJE

x0010110110111001011011  _

Zi  11111110110111111111011
z­ii  111111101111111111110111

k.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  solo  si  la  entrada  
contiene  un  número  par  de  ceros  (sin  ceros)  y  un  múltiplo  de  
cuatro  unos  (sin  unos).  Cuando  se  enciende  por  primera  vez,  el  
sistema  se  inicializa  en  un  estado  que  indica  que  no  hay  0  ni  1  
(pero  ese  estado  se  vuelve  a  alcanzar  más  tarde).  (8  estados)

x  0110  1100001010001010
0000  0  1  0  1  0  1  0  0  0  0  0  0  0  00  10

yo  Un  sistema  de  Moore,  cuya  salida  es  1  si  y  solo  si  el  patrón  1  0  1  
ha  ocurrido  más  recientemente  que  1  1  1.  (6  estados)

x  10101101011  1100  10111
z ? ? ?  11111111  1000  0011100

Determine  a  partir  de  la  muestra  si  se  permite  la  superposición.
metro.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  solo  si  la  entrada  es  
exactamente  dos  1  seguidos  inmediatamente  por  exactamente  
uno  o  dos  0.  Crédito  completo  para  soluciones  con  seis  o  menos  estados.

x  1001100110111001100000
z ?0000001001000000000000000

norte.  Un  sistema  Mealy,  cuya  salida  es  1  si  y  si  ha  habido  un  
patrón  de  1  1  0  0  0.  (5  estados)

x  00001011000011110001
z ???0000000100000001  0000

o  En  este  sistema  Mealy ,  hay  dos  entradas,  ayb ;  deben  
tratarse  como  un  número  binario,  es  decir,  00  es  0,  01  
es  1,  10  es  2  y  11  es  3.  La  salida  será  1  si  el  número  
actual  es  mayor  o  igual  que  el  anterior  Y  el  el  anterior  
es  mayor  o  igual  que  el  anterior.  Es  ser  0  de  lo  contrario.  
Hay  un  estado  inicial  para  el  que  no  ha  habido  números  
anteriores.  Asegúrese  de  explicar  el  significado  de  cada  
estado.  (8  estados  además  del  inicial)
un  0010100  0111011
b  1001100  1010011
z  0000000  1110001
Machine Translated by Google

7.7  Capítulo  7  Prueba 491

7.7  PRUEBA  DEL  CAPÍTULO  7  (75  MINUTOS)

1.  Para  la  siguiente  tabla  de  estados,  diseñe  un  sistema  usando  un  flip  flop  D  para
A,  un  flip  flop  JK  para  B,  y  compuertas  AND,  OR  y  NOT.  Mostrar  la
flip  flop  ecuaciones  de  entrada  y  la  ecuación  de  salida;  usted  no  necesita
para  dibujar  un  diagrama  de  bloques.

AB z
AB  x  0  x  1  x  0  x  1
00  11  01  0  01  00  10  0  10  10   1
01  1  11  01  10  1 0
1
0

2.  Para  la  siguiente  tabla  de  estados  y  asignación  de  estados,  diseñe  un  sistema
usando  un  flip  flop  SR  para  q1  y  un  flip  flop  JK  para  q2.  mostrar  el  tirón
cambiar  las  ecuaciones  de  entrada  y  la  ecuación  de  salida;  no  tienes  que
dibujar  un  diagrama  de  bloques.

q
qx  0x1  _  _ z q q1  q2

AA  B  1 un  0  0
segundo  1  0
BB  C  1
CA  C  0 C  1 1

3.  Para  la  siguiente  tabla  de  estados,  diseñe  un  sistema  usando  flip  flops  D  para
cada  una  de  las  asignaciones  estatales.  Muestre  las  ecuaciones  para  D1,  D2  y  z.

q
qx  0  x  1  z
CA  B  1
BD  D  0
CAD  0
CC  B  0

a. b.
q q1  q2 q q1  q2

un  0  0 un  0  0
segundo  0  1 segundo  1  1
C  1  0 C  0  1
D  1  1 D  1  0

C.  Muestre  un  diagrama  de  bloques  para  la  solución  de  la  parte  b,  usando  AND,
O,  y  NO  puertas.
Machine Translated by Google

492 Capítulo  7  El  diseño  de  sistemas  secuenciales

4.  Diseña  un  contador  que  vaya  a  través  de  la  secuencia
LA
BTE I U
O  LAU PERC
D
P

143625  y  repetir

usando  un  flip  flop  D  para  A,  un  flip  flop  JK  para  B  y  un  flip  flop  T  para  C.
Bonificación  de  cinco  puntos:  muestre  un  diagrama  de  estado,  incluido  lo  que  sucede  
si  el  sistema  está  inicialmente  en  el  estado  0  o  7.

5.  un  Muestre  la  tabla  de  estados  o  el  diagrama  de  estados  para  un  sistema  Mealy  
que  produce  una  salida  1  si  y  solo  si  la  entrada  ha  sido  1  0  1  0  durante  
los  últimos  cuatro  tiempos  de  reloj.  Se  permite  la  superposición.  (4  estados)  
b.  Muestre  la  tabla  de  estados  o  el  diagrama  de  estados  para  un  sistema  Mealy  
que  produce  una  salida  1  si  y  solo  si  la  entrada  ha  sido  1  0  1  0  durante  
los  últimos  cuatro  tiempos  de  reloj.  No  se  permite  la  superposición.  
(4  estados)
Ejemplo:
x  110101110101010  0
es  000010000010101  0
zb  000010000010001  0

6.  Muestre  la  tabla  de  estados  o  el  diagrama  de  estados  para  un  sistema  de  Moore  que
produce  una  salida  1  si  y  solo  si  la  entrada  ha  sido  0  1  1  durante  las  
últimas  tres  horas  de  reloj.  (4  estados)
Ejemplo:
x00101110011011  _
z ?00000100001001
Machine Translated by Google

CAPÍTULO

Resolviendo  más  grande
Problemas  secuenciales
8
en  lugar  de  chanclas  individuales.  Un  registro  es  simplemente  una  colección  de
A  medida  qchanclas,  
ue  llegamos  
aa  m
  penudo  
roblemas  
más  
con   grandes,  
un   los  
nombre   datos  a(usando  
común     menudo  ssubíndices  
e  almacenan  
en  riegistros,
para   ndicar
cate  las  chanclas  individuales)  y  generalmente  con  un  reloj  común.  Por  ejemplo,  
en  una  computadora,  las  dos  entradas  al  sumador  (digamos  16  bits  cada  una)  
pueden  provenir  de  dos  registros,  cada  uno  de  los  cuales  consta  de  16  flip  flops.  
Es  casi  imposible  mostrar  un  diagrama  de  bloques  de  un  sistema  de  este  tipo  con  
todos  los  biestables  y  compuertas  individuales.
En  este  capítulo,  veremos  primero  dos  clases  de  circuitos  integrados  
comerciales  de  mediana  escala*:  registros  de  desplazamiento  y  contadores.  
Presentaremos  dispositivos  lógicos  programables  con  memoria  para  
implementar  problemas  más  complejos  como  CPLD  y  FPGA.  Luego  veremos  
brevemente  dos  herramientas  para  manejar  estos  sistemas  más  grandes,  
diagramas  ASM  (Máquina  de  estado  algorítmica)  y  HDL  (Lenguajes  de  diseño  de  hardware).
Por  último,  veremos  algunos  problemas  de  diseño  más  grandes  de  los  que  
podríamos  manejar  en  el  Capítulo  7.  Nos  concentraremos  en  los  sistemas  
síncronos  (con  reloj).

8.1  REGISTROS  DE  TURNO
Un  registro  de  desplazamiento,  en  su  forma  más  simple,  es  un  conjunto  de  flip  flops,  
de  modo  que  los  datos  se  mueven  un  lugar  a  la  derecha  en  cada  reloj  o  entrada  de  
desplazamiento.  En  la  figura  8.1  se  muestra  un  registro  de  desplazamiento  simple  
de  4  bits,  utilizando  flip  flops  SR.  (Aunque  los  registros  de  desplazamiento  se  
implementan  más  comúnmente  con  flip  flops  SR ,  se  pueden  usar  flip  flops  JK  en  
lugar  de  los  SR  en  el  mismo  circuito.  También  se  pueden  usar  flip  flops  D ;  la  salida  
q  de  un  flip  flop  se  conectaría  al  D  entrada  del  siguiente.)  En  cada  reloj,  la  entrada,  
x,  se  mueve  a  q1,  y  el  contenido  de  cada  uno  de  los  flip  flops  se  desplaza  un  lugar  a  la  derecha.

*Cuando  observemos  los  detalles  de  algunos  de  estos  circuitos,  simplificaremos  un  
poco  la  lógica  observando  solo  un  bit  y  eliminando  algunas  de  las  puertas  NOT  dobles  
que  se  utilizan  para  reducir  la  carga.
493
Machine Translated by Google

494 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Figura  8.1  Un  registro  de  desplazamiento  simple.

X S q1 S q2 S q3 D
S qq4

R q1 R q2 R q3 R qq44  

Reloj

En  el  Trazo  8.1  se  muestra  una  traza  de  tiempo  de  muestra,  asumiendo  que  todos  los  flip­flops
son  inicialmente  0.  La  entrada  de  muestra  se  muestra  en  marrón.

Seguimiento  8.1  Temporización  del  registro  de  desplazamiento.

x  1011101111000
q1  01011101111000
q2  001011101111000
q3  0001011101111000
q4  00001011101111000

En  algunos  registros  de  turno  comerciales,  se  agrega  una  puerta  NOT  en  el  reloj
entrada,  como  se  muestra  en  la  Figura  8.2.

Figura  8.2  Registro  de  desplazamiento  disparado  por  flanco  de  ataque.

X S q1 S q2 S q3 D
S qq4

R q1 R q2 R q3 R qq44

Reloj

Esto  logra  dos  cosas.  El  registro  de  desplazamiento  es  ahora  de  vanguardia
activado  (ya  que  el  borde  de  ataque  del  reloj  es  el  borde  de  salida  del
entrada  de  flip­flop).  Además,  la  señal  de  entrada  del  reloj  solo  va  a  la  puerta  NOT.
Por  lo  tanto,  este  circuito  presenta  una  carga  de  1  al  reloj,  en  lugar  de  una  carga  de  4
(si  la  señal  fue  a  los  cuatro  flip  flops).  Cuando  se  activa  un  borde  de  fuga
Si  se  desea  un  registro  de  desplazamiento,  se  agrega  una  segunda  puerta  NOT  en  serie  con  la
uno  mostrado.  A  veces,  la  entrada  x  se  invierte  primero  para  presentar  solo  una  carga
de  1.  Ambos  cambios  se  muestran  en  el  circuito  de  la  figura  8.3.
Machine Translated by Google

8.1  Registros  de  desplazamiento 495

Figura  8.3  Registro  de  desplazamiento  con  puertas  NOT  reductoras  de  carga.

S q1 S q2 S q3 D
S qq4

X R q1 R q2 R q3 R qq44  

Reloj

Esta  versión  del  registro  de  desplazamiento  se  conoce  como  serial­in,  serial­out
en  que  solo  se  puede  cargar  1  bit  (el  bit  izquierdo)  en  el  registro  a  la  vez
y,  como  se  muestra,  solo  se  puede  leer  1  bit  (el  bit  derecho).  (Solo  el  valor  no  complementado,  
q4,  puede  estar  disponible  o  tanto  el  valor  no  complementado  como  el
complementados,  q4  y  q4 ,  pueden  ser  salidas.)  La  principal  limitación  en  el
cantidad  de  lógica  que  puede  caber  en  un  solo  chip  es  el  número  de  entrada  y
conexiones  de  salida  Por  lo  tanto,  uno  podría  construir  un  registro  de  desplazamiento  de  entrada  
y  salida  en  serie  con  un  número  casi  ilimitado  de  bits  en  un  chip,  ya  que  hay
sólo  tres  o  cuatro  conexiones  lógicas.
Una  aplicación  de  un  gran  registro  de  desplazamiento  serial­in,  serial­out  es  un
Memoria  similar  a  un  disco.  Si  el  bit  de  salida  se  conecta  de  nuevo  a  la  entrada
como  se  muestra  en  la  Figura  8.4,  cuando  Carga  es  0,  los  datos  circulan  alrededor  de  la  n
chancletas.  Está  disponible  solo  cuando  está  en  qn,  una  vez  cada  n  ciclos  de  reloj.
En  ese  momento  se  puede  modificar,  haciendo  Carga  1  y  suministrando  el
nuevo  valor  en  x.  Si  necesitáramos  una  serie  de  números  de  8  bits,  podríamos  construir
ocho  tales  registros  de  desplazamiento,  almacenando  1  bit  en  cada  uno.  Mientras  registramos  todo  el  turno
registros,  obtendríamos  1  byte  (8  bits)  a  la  vez.

Figura  8.4  Almacenamiento  del  registro  de  desplazamiento.

Carga
...
S q1 S q2 S q3 D
S qqn  
4_

X ...
R q1 R q2 R q3 R _qnq  
4

Reloj ...

Para  inicializar  un  registro  de  desplazamiento  de  entrada  y  salida  en  serie  de  4  bits  a  todos  0,
tendría  que  cronometrarlo  cuatro  veces,  con  0  en  la  entrada  x  cada  vez.  Para  evitar
esto,  la  mayoría  de  los  registros  de  desplazamiento  tienen  una  entrada  clara  baja  activa  (generalmente  estática).

Muchos  registros  de  desplazamiento  tienen  una  salida  paralela ,  es  decir,  el  contenido  de  cada
de  las  chanclas  está  disponible.  (Obviamente,  si  estuviéramos  construyendo  esto  con
Machine Translated by Google

496 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

chanclas  independientes,  esto  solo  requeriría  conectar  un  cable  a  cada
salida  de  flip  flop.  Sin  embargo,  si  todo  el  registro  de  desplazamiento  estuviera  contenido  en  un
solo  circuito  integrado,  cada  salida  requeriría  un  pin.)  Hay  un
Registro  de  desplazamiento  de  entrada  en  serie  y  salida  en  paralelo  de  8  bits  en  un  chip,  utilizando  flip  flops  D

(74164);  utiliza  las  12  conexiones  lógicas  para  8  salidas,  el  reloj,  el
claro,  y  2  para  entrada  serial,  como  se  muestra  en  la  Figura  8.5.  (La  x  se  reemplaza  por
A  B,  dos  entradas  en  una  compuerta  AND  integrada.)

Figura  8.5  Registro  de  desplazamiento  de  entrada  en  serie  y  salida  en  paralelo  74164.

q1 q2 q3 q4 q5 q6 q7 q8

A
D q1 D q2 D q3 D q4 D q5 D q6 D q7 D q8
B

q1 q2 q3 q4 q5 q6 q7 q8

Reloj

Claro

Una  aplicación  de  un  registro  de  desplazamiento  de  entrada  en  serie  y  salida  en  paralelo  es  una  entrada

puerto  desde  un  módem.  Los  datos  se  transmiten  en  serie  a  través  de  líneas  telefónicas.  Él
se  registra  en  un  registro  de  desplazamiento  hasta  que  se  recibe  un  byte  o  una  palabra  completos.
Sólo  entonces  hay  interacción  con  la  memoria  de  la  computadora;  el  grupo  de
los  bits  se  leen  en  paralelo  desde  el  registro  de  desplazamiento  y  se  cargan  en  la  memoria.
Un  registro  de  desplazamiento  en  paralelo  permite  que  el  registro  se  cargue  en  una
paso.  Eso,  por  supuesto,  requiere  una  línea  de  entrada  para  cada  flip  flop,  así  como
una  línea  de  control  para  indicar  la  carga.  A  veces  la  carga  se  realiza  de  forma  estática.
(74165),  como  se  demuestra  para  un  bit  típico  (q2)  en  la  figura  8.6a.  A  veces
se  hace  de  forma  síncrona  (74166),  como  se  muestra  en  la  Figura  8.6b.  Ambos
son  de  salida  serial,  es  decir,  solo  hay  una  conexión  de  salida,  desde  la  derecha
chanclas.  Hay  una  entrada  en  serie  en  el  bit  izquierdo  para  operaciones  de  cambio  (yendo
al  mismo  lugar  en  la  primera  lógica  de  flip  flop  al  que  va  q1  en  el  típico
bit  en  la  Figura  8.6).
Para  el  74165,  la  entrada  del  reloj  a  los  flip  flops  se  invierte  desde  el
entrada  al  chip  y  pasa  solo  cuando  la  carga  es  alta  (no
carga)  y  Habilitar  es  bajo  (habilitar  cambio).  Cuando  la  carga  es  alta,  tanto  CLR
y  PRE  son  altos,  y  el  turno  funciona.  Cuando  la  carga  es  baja,  el  reloj  está
discapacitado,  EN2  aparece  en  PRE,  e  IN2  aparece  en  CLR,  cargando  así

IN2  en  el  flip  flop.
Para  el  74166,  hay  un  claro  estático  bajo  activo,  independiente  del
carga.  El  reloj  se  invierte  cuando  Enable  es  0;  de  lo  contrario,  las  chanclas
no  están  cronometrados  y  nada  cambia.  Cuando  está  habilitado  y  la  carga  es  0,  IN2
se  almacena  en  q2;  cuando  Load  es  1  (inactivo),  q1  se  cambia  a  q2.
Machine Translated by Google

8.1  Registros  de  desplazamiento 497

Figura  8.6  Registros  de  desplazamiento  en  paralelo.
EN
2

Reloj
Permitir

Reloj q1 S q2
PRE
q1 S q2
R q2
CLR
q1 R q2
Permitir
CLR
EN
2

Claro

Carga
Carga

(a)  74165 (b)  74166

El  registro  de  desplazamiento  de  entrada  en  paralelo  y  salida  en  serie  se  utiliza  en  el  proceso  de  salida

para  datos  en  serie.  Se  carga  una  palabra  (todas  a  la  vez)  en  el  registro  de  desplazamiento  desde

el  ordenador.  Luego,  los  bits  se  envían  al  módem  desde  el  extremo  derecho  del

registro  de  desplazamiento  uno  a  la  vez.

Los  chips  de  registro  de  desplazamiento  de  entrada  y  salida  en  paralelo  están  limitados  a  4  o  5  bits

debido  a  la  cantidad  de  conexiones  requeridas.  El  7495  es  muy  parecido

al  74166  en  la  estructura  de  control,  excepto  que  tiene  una  entrada  de  reloj  separada

para  el  cambio  y  para  la  carga.

En  la  mayoría  de  las  computadoras,  hay  desplazamiento  y  rotación  a  la  izquierda  y  a  la  derecha*

instrucciones.  Para  implementar  esto,  podríamos  usar  un  registro  de  desplazamiento  a  la  derecha/izquierda

(como  el  74194,  un  registro  de  desplazamiento  de  4  bits  síncrono  de  entrada  y  salida  en  paralelo).  Para  ello  

se  necesita  un  multiplexor  de  tres  vías  en  cada  bit,  ya  que

bit  puede  recibir  el  bit  a  su  izquierda,  el  bit  a  su  derecha  o  el  bit  de  entrada.  Una  verdad

La  tabla  que  describe  el  comportamiento  del  registro  de  desplazamiento  se  muestra  en  la  Tabla  8.1.

Los  bits  están  numerados  del  1  al  4  de  izquierda  a  derecha.

Tabla  8.1  Registro  de  desplazamiento  a  la  derecha/izquierda.

Claro S0  S1 q1 q2 q3 q4

Claro  estático 0 XX  0000
Sostener 1 0 0 q1 q2 q3  q4
Desplazar  a  la  izquierda 1 0 1 q2  q3 q4  LS
Desplazar  a  la  derecha
1 1 0 RS  q1 q2 q3
Carga 1 1 1 IN1  IN2  IN3 IN4

*  Una  rotación  a  la  derecha  de  un  lugar  mueve  cada  bit  un  lugar  a  la  derecha  y  mueve  el  extremo  derecho
mordió  de  nuevo  la  chancleta  izquierda.
Machine Translated by Google

498 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Donde  INi  son  las  entradas  para  carga  en  paralelo,  RS  es  la  entrada  en  serie  para  un
desplazamiento  a  la  derecha,  y  LS  es  la  entrada  en  serie  para  un  desplazamiento  a  la  izquierda.  La  combinación  de  espera

es  realmente  la  entrada  "no  cambiar,  no  cargar".  Un  bit  típico  (con  el  control
circuitos)  se  muestra  en  la  figura  8.7.

Figura  8.7  Registro  de  desplazamiento  a  la  derecha/izquierda.

Reloj

q1

S S q2
1

EN
2
R q2
CLR

S
0
q3 Claro

Tenga  en  cuenta  que  cuando  S0  y  S1  son  ambos  0,  la  entrada  de  reloj  al  flip  flop  es  0;
no  hay  borde  y,  por  lo  tanto,  la  chancleta  aguanta.  De  lo  contrario,  el  reloj  es
invertido  y,  por  lo  tanto,  este  es  un  registro  de  desplazamiento  disparado  de  vanguardia.  (Tenga  en  cuenta  que

para  q1,  el  flip  flop  izquierdo,  RS  entra  en  la  entrada  superior  del  multiplexor,
y  para  q4,  LS  entra  en  la  entrada  inferior).
Como  ejemplo  de  una  aplicación  de  registros  de  desplazamiento,  considere  el  
siguiente  problema.

EJEMPLO  8.1
Queremos  diseñar  un  sistema  con  una  salida,  z,  que  es  1  si  la  entrada,  x,
ha  estado  alternando  durante  siete  horas  de  reloj  (incluido  el  presente).  Tenemos
disponible  un  registro  de  desplazamiento  de  entrada  en  serie  y  salida  en  paralelo  de  8  bits  como  se  muestra  a  continuación:

X A B C D mi F GRAMO H

ck

(El  registro  de  desplazamiento  probablemente  también  tenga  una  entrada  clara  estática,  pero  no  es  necesaria

para  este  problema.)
Machine Translated by Google

8.2  Contadores 499

En  cualquier  momento,  el  registro  contiene  el  valor  de  x  en  los  ocho  últimos
relojes,  con  el  más  reciente  en  A  y  el  más  antiguo  en  H.  Para  este  problema,
Solo  necesito  seis  de  estos.  El  siguiente  circuito  calcula  la  respuesta.

X X A B C D mi F GRAMO H

Reloj ck

[ES  1,  2,  4a;  Ej.  1,  2,  4b;  LABORATORIO]

8.2  CONTADORES
En  el  Capítulo  7,  discutimos  el  diseño  de  contadores.  En  esta  sección,  vamos  a
mire  algunos  de  los  contadores  disponibles  comercialmente  y  aplicaciones  de
contadores  Un  contador  consiste  en  un  registro  y  la  lógica  asociada.
Los  contadores  pueden  ser  síncronos  o  asíncronos  y  pueden  ser  de  base  10,
12  o  16  (es  decir,  ciclo  a  través  de  10,  12  o  16  estados  en  el  reloj  consecutivo
pulsos).  La  mayoría  de  los  contadores  síncronos  tienen  cargas  paralelas;  pueden  ser
preestablecido  a  un  valor,  utilizando  la  señal  de  carga  y  una  línea  de  entrada  para  cada  bit.
Muchos  también  tienen  una  señal  clara  (o  reinicio  maestro)  para  cargar  el  registro  con
todo  0  Estas  señales  de  control  suelen  ser  bajas  activas;  pueden  ser  sincrónicos  o  asincrónicos.  
La  mayoría  de  los  contadores  asíncronos  solo  tienen  un
estático  claro.  Además,  algunos  contadores  síncronos  cuentan  tanto  hacia  adelante  como  hacia  atrás.
abajo.  La  mayoría  de  los  contadores  tienen  una  salida  de  acarreo  o  desbordamiento,  que  indica
que  el  contador  ha  llegado  a  su  máximo  y  está  volviendo  a  0  (para  hasta
contadores).  Eso  puede  ser  un  1  lógico,  o  puede  ser  un  pulso  de  reloj  coincidente
con  el  pulso  que  provoca  la  transición  de  vuelta  a  0.
Primero  veremos  el  contador  74161,  que  síncrono
contando  y  cargando  y  tiene  un  claro  asíncrono  (bajo  activo).  Tiene
dos  habilitaciones  de  conteo,  ENT  y  ENP*  (ambos  deben  ser  1  para  habilitar

*Solo  ENT  habilita  la  salida  de  desbordamiento.
Machine Translated by Google

500 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

contando).  Etiquetado  de  los  bits  D  (alto),  C,  B  y  A,  una  representación  de  bloque
del  contador  y  la  lógica  de  un  bit  típico,  el  bit  C,  se  muestra  en  la  figura  8.8.
Dado  que  el  reloj  se  invierte  antes  de  ir  al  giro  activado  por  el  borde  posterior
flop,  el  contador  se  activa  en  el  borde  de  ataque.  La  única  diferencia  entre
bits  son  las  entradas  a  la  compuerta  AND  marrón .  Ese  es  el  valor  de  J  y
Entradas  K  a  cada  bit  al  contar  (Y  con  la  habilitación).  (Así,  D
entrada  es  ABC,  la  entrada  de  C  es  A  B,  la  entrada  de  B  es  A  y  la  entrada  de  A  es  1.)  Cuando
cargando  (Carga  0),  el  punto  x  es  1,  el  punto  y  es  1,  el  punto  z  es  igual  a  IN C, y
el  punto  w  es  igual  a  INC.  Por  lo  tanto,  el  flip  flop  se  carga  con  el  valor  en  INC.
Cuando  Carga  1,  entonces  el  punto  x  es  igual  a  0,  los  puntos  w  y  z  son  iguales  a  1,  y  el  punto  y
es  solo  la  salida  de  la  puerta  AND  marrón .  Por  lo  tanto,  J  y  K  son  1  cuando  el
la  salida  de  la  compuerta  marrón  es  1,  es  decir,  cuando  este  cambio  va  a  cambiar  durante  el
contar.

Figura  8.8  El  contador  74161.

74161

DCBA Otorrinolaringología

VO
ENP

Reloj CLR

END ENC ENB ENA Carga

Reloj

X
Carga w

j C

ENP B y

Otorrinolaringología A k C
z CLR
ENC

Claro

Podríamos  usar  dos  de  estos  contadores  para  contar  hasta  255  (28   1)  o  tres
para  contar  hasta  4095   1).  El  diagrama  de  bloques  de  la  figura  8.9  ilustra
(212  el  contador  de  8  bits,  donde  no  se  muestran  entradas  de  carga  en  paralelo).
Si  el  contador  se  borra  inicialmente,  sólo  el  contador  de  orden  inferior  (el  que
a  la  derecha)  está  habilitado  para  los  primeros  15  relojes.  Cuando  ese  contador  llega
Machine Translated by Google

8.2  Contadores 501

Figura  8.9  Contador  de  8  bits.
O7 O6 O5 O4 O3 O2 O1 O0

D CBA D CBA

VO Alto VO Bajo

CLR LD Otorrinolaringología ENP CLR LD ENPENDE

1
Claro

Reloj

15  (1111),  la  salida  de  desbordamiento  (OV)  se  convierte  en  1.  Eso  habilita  la  segunda
encimera.  En  el  siguiente  reloj,  el  contador  derecho  va  a  0  (devolviendo  OV  a
0)  y  el  contador  de  la  izquierda  aumenta  en  1.  (Así,  la  cuenta  llega  a  16.)  Sólo
el  contador  de  orden  inferior  se  incrementa  en  los  próximos  15  relojes,  a  medida  que  la  cuenta
llega  a  31.  En  el  reloj  32,  el  contador  de  orden  superior  se  habilita  nuevamente.

EJEMPLO  8.2
Si  quisiéramos  contar  a  través  de  un  número  de  estados  que  no  sea  una  potencia  de  16,
necesitaríamos  reiniciar  el  contador  cuando  alcancemos  el  máximo  deseado
mamá.  Dado  que  el  contador  74161  tiene  un  claro  estático  (similar  al  ejemplo  del  contador  
asíncrono  del  ejemplo  7.9),  debemos  contar  uno  más  allá  del
máximo  deseado  y  utilícelo  para  borrar  el  contador.  Llegaremos  así  a  la
estado  adicional  por  un  breve  tiempo  (antes  de  que  el  claro  sea  efectivo),  pero  eso  está  bien
antes  de  la  próxima  hora  del  reloj.  Por  ejemplo,  el  contador  de  la  figura  8.9  podría  ser
solía  contar  hasta  120  estados  (0  a  119)  agregando  la  puerta  NAND
se  muestra  para  borrarlo  cuando  llega  a  120  (01111000).

O7 O6 O5 O4 O3 O2 O 1 O0

D CBA D CBA

VO Alto VO Bajo

CLR LD Otorrinolaringología ENP CLR LD ENPENDE

Reloj

No  necesitamos  AND  O 2, O 1, O 0, o  O 7, ya  que  nunca  llegamos  a  contar


sobre  120,  y  por  lo  tanto  estos  nunca  son  1  cuando  O6,  O5,  O4  y  O3  son  todos  1.
Machine Translated by Google

502 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

EJEMPLO  8.3
El  74163  es  similar  al  74161,  excepto  que  el  claro  está  cronometrado.  El
la  estructura  interna  del  circuito  se  modifica  para  que  una  entrada  clara  activa  cargue
un  0  en  cada  flip  flop  del  reloj.  Para  usarlo  en  un  contador  de  120  estados,  necesitamos
para  detectar  119  y  restablecerlo  en  el  siguiente  pulso  de  reloj,  como  se  muestra  a  continuación.  El
La  ventaja  de  este  enfoque  es  que  no  hay  un  período  (ni  siquiera  uno  corto)
donde  el  contador  llega  a  120.

O7 O6 O5 O4 O3 O2 O 1 O0

D CBA D CBA

VO Alto VO Bajo

CLR LD Otorrinolaringología ENP CLR LD ENPENDE

Reloj

Hay  contadores  de  décadas  (contando  de  0  a  9)  similares  a  los  dos  binarios
contadores  que  acabamos  de  describir  (74160  con  un  claro  estático  y  74162  con  un
cronometrado  claro).
Hay  binarios  (74191  y  74193)  y  décadas  (74190  y
74192)  contadores  adelante/atrás.  El  primero  de  cada  tipo  tiene  una  sola  entrada  de  reloj.
y  una  entrada  Abajo/Arriba  (donde  un  1  indica  abajo  y  un  0  indica  arriba).
El  segundo  tiene  dos  entradas  de  reloj  separadas,  una  para  la  cuenta  regresiva  y  la
otro  para  contar;  uno  de  esos  debe  ser  un  1  lógico  para  que  el  otro
trabajar.  Todos  estos  tienen  entradas  de  carga  estática.  Bit  C  del  binario  74191
contador  se  muestra  en  la  figura  8.10.  Cuando  Load  es  0,  la  entrada  preestablecida  es  baja

Figura  8.10  Bit  típico  del  contador  ascendente/descendente  74191.
Reloj

EN
C

PRE
B
j C

Permitir

k C
D / tu A
CLR
B

Carga
Machine Translated by Google

8.2  Contadores 503

(activo)  si  INC  es  1  y  la  entrada  clara  es  baja  (activa)  si  INC  es  0.  (No  hay  entrada  
clara  para  el  contador;  eso  se  logra  cargando  0  en  cada  bit).  Si  Cargar  es  1,  
ambos  y  claro  son  1  (inactivo)  y  el  reloj  controla  el  contador.  Tenga  en  cuenta  
que  J  y  K  son  BA  cuando  cuentan  hacia  arriba  y  BA  cuando  cuentan  hacia  atrás.

En  la  figura  8.11  se  muestran  un  diagrama  de  bloques  y  una  tabla  de  verdad  para  
el  contador  74191.

Figura  8.11  El  contador  ascendente/descendente  74191.

LD ES D/U EN
DCBA A
XX0  1 Carga  estática
X  1 Hacer  nada B
100  Conteo  ascendente  cronometrado VO
C
1 0 1 Cuenta  regresiva  cronometrada

CLR LD ES D/U D

El  último  grupo  de  contadores  que  discutiremos  son  los  contadores  asíncronos.

7490  base  10  (2  5)
7492  Base  12  (2  6)
7493  Base  16  (2  8)

Cada  uno  de  estos  se  activa  en  el  borde  posterior  y  consta  de  un  solo  flip  flop  y  
luego  un  contador  de  3  bits  (base  5,  6  y  8,  respectivamente).  La  salida  del  flip  flop  
único  debe  conectarse  externamente  al  reloj  del  contador  de  3  bits  para  lograr  el  
conteo  completo.  Cada  uno  tiene  dos  entradas  de  borrado  estático,  las  cuales  
deben  ser  1  para  borrar  los  cuatro  flip  flops.  El  contador  de  décadas  también  
tiene  un  par  de  entradas  fijas  estáticas,  que  (cuando  ambas  son  1)  configuran  el  
contador  en  9  (1001);  el  conjunto  anula  el  claro.
En  la  Figura  8.12  se  muestra  un  diagrama  de  bloques  simplificado  del  7493.

Figura  8.12  Contador  binario  asíncrono  7493.
D C B X A Y

D j 1 C j 1 B j 1 A j 1

k 1 k 1 k 1 k 1

CLR1

CLR2

Tenga  en  cuenta  que  para  contar  hasta  8,  el  reloj  está  conectado  al  punto  X  y  las  
salidas  son  de  D,  C  y  B.  Para  contar  hasta  16,  el  reloj  está  conectado  al  punto  Y,
Machine Translated by Google

504 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

y  los  puntos  A  y  X  deben  estar  conectados  (externamente  al  circuito  integrado,  como  se  
muestra  con  líneas  discontinuas).

EJEMPLO  8.4
Ahora  veremos  cuatro  soluciones,  cada  una  usando  un  contador  binario,  para  el  siguiente  
problema:

Diseñe  un  sistema  cuya  salida  sea  un  pulso  de  reloj  por  cada  noveno  pulso  de  
reloj  de  entrada.

Para  ello,  el  contador  debe  pasar  por  nueve  estados.  La  salida  se  obtiene  haciendo  
AND  en  el  reloj  con  un  circuito  que  detecta  cualquiera  de  los  nueve  estados.  Una  solución  
es  tener  la  secuencia  de  contador

012345678  0...

Si  usamos  un  74163,  que  tiene  un  claro  sincronizado,  el  circuito  es

DCB A

VO 74163

CLR LD Otorrinolaringología ENP

Reloj

D  es  solo  1  en  el  estado  8;  por  lo  tanto,  se  puede  utilizar  para  restablecer  el  contador  a  0  y  
para  la  salida.
Si  usamos  un  74161  con  un  despejado  estático,  entonces  debemos  contar  hasta  9  antes
borrarlo,  como  se  muestra  a  continuación.

DCBA

VO 74161

CLR LD Otorrinolaringología ENP

Reloj
Machine Translated by Google

8.2  Contadores 505

Permanecerá  en  el  estado  9  por  un  corto  tiempo  (dependiendo  de  los  retrasos  en  el  
circuito).  No  podemos  no  usar  el  mismo  circuito  de  salida,  porque  obtendríamos  un  
pulso  de  salida  corto  al  comienzo  del  estado  9  (así  como  el  del  estado  8),  como  se  
muestra  en  el  diagrama  de  tiempo  a  continuación.  En  cambio,  hicimos  la  salida  1  
cuando  el  contador  estaba  en  7.

Reloj

Estado  7 8 9 0 1

Otro  enfoque  para  este  problema,  usando  el  primer  contador  (74163),  es  contar

8  9  10  11  12  13  14  15  0  8 . . .

Como  antes,  este  contador  recorre  9  estados.  Cuando  la  cuenta  llega  a  0,  cargamos  
un  8  en  el  contador.  Dado  que  la  carga  es  síncrona,  esto  ocurre  en  el  siguiente  pulso  
de  reloj.  La  salida  puede  ser  coincidente  con  el  tiempo  que  estemos  en  el  estado  0  
(o  cualquier  otro  estado).  Esto  da  como  resultado  el  siguiente  circuito,  donde  las  
entradas  de  carga,  IND,  INC,  INB  e  INA,  se  muestran  en  el  lado  derecho  del  bloque.  
El  único  estado  para  el  que  D  0  es  el  estado  0;  así,  la  carga  se  activa  en  ese  estado  
y  la  salida  coincide  con  el  pulso  del  reloj  durante  ese  estado.

DCBA
1
0
VO 74163
0
0
CLR LD Otorrinolaringología ENP

Reloj
Machine Translated by Google

506 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Finalmente,  con  el  74163,  podríamos  implementar  esto  para  contar  la  secuencia

7  8  9  10  11  12  13  14  15  7 . . .

utilizando  la  salida  OV .  Como  eso  indica  cuando  el  conteo  es  15,  podemos  invertirlo  
para  crear  una  señal  activa  de  carga  baja  y  conectar  0111  a  las  líneas  de  entrada  
paralelas,  como  se  muestra  a  continuación.

D C B A
0
VO 1
74163
1
1
CLR LD Otorrinolaringología ENP

Reloj

[ES  3,  4b;  EX  3,  4a,  5,  6;  LABORATORIO]

8.3  LÓGICA  PROGRAMABLE
DISPOSITIVOS  (PLD)
Dado  que  un  sistema  secuencial  consiste  en  una  combinación  de  memoria  y  lógica  
combinacional,  un  enfoque  para  su  implementación  es  usar  un  PAL  (u  otra  matriz  
lógica  descrita  en  el  Capítulo  5)  y  algunos  flip  flops  (para  la  memoria).  Hay  una  
variedad  de  dispositivos  que  combinan  un  PAL  y  algunos  flip  flops  D.  Una  familia  de  
estos  dispositivos  es  el  16R8,*  16R6  y  16R4.  En  la  Figura  8.13  se  muestra  un  
esquema  simplificado  de  una  parte  del  16R4.
Hay  ocho  entradas  externas  (dos  de  las  cuales  se  muestran).  Las  salidas  registradas  
(las  ocho  en  el  16R8  y  las  cuatro  en  el  16R4)  provienen  de  un  flip  flop,  controlado  por  
un  PAL  (como  se  muestra  para  las  dos  primeras  salidas  en  la  Figura  8.13).  Cada  PAL  
tiene  ocho  puertas  AND  (cuatro  de  las  cuales  se  muestran).  Hay  un  reloj  común  y  
una  habilitación  de  salida  común  (baja  activa),  que  proporciona  salidas  flip  flop  bajas  
activas  (ya  que  la  puerta  de  tres  estados  se  invierte).  Tenga  en  cuenta  que  Q  se  
retroalimenta  a  la  matriz  AND;  pero,  entonces  se  proporciona  tanto  sin  complementar  como

*El  16  es  el  número  de  entradas  al  arreglo  AND,  la  R  indica  que  al  menos  algunas  de  las  salidas  
están  registradas,  es  decir,  provienen  de  flip  flops,  y  el  8  es  el  número  de  flip  flops.
Machine Translated by Google

8.3  Dispositivos  lógicos  programables  (PLD) 507

Figura  8.13  Un  PLD.
1 ...
En En
8

Reloj Equipo  original

q 1
Afuera
1

q 1

q2 Afuera
2

q2

...

...
Salir  en8

complementadas,  al  igual  que  las  entradas  de  matriz  AND  externas.  Así,  todos  los
las  entradas  a  la  lógica  combinacional  están  disponibles  sin  complementar
y  complementado.
Este  16R8,  por  sí  mismo,  es  suficiente  para  implementar  solo  aquellos  
sistemas  secuenciales  cuya  salida  es  el  estado  de  los  biestables,  como  los  contadores.
Machine Translated by Google

508 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Aquellas  salidas  que  no  están  registradas  (como  se  muestra  en  la  parte  inferior  
de  la  Figura  8.13)  están  habilitadas  por  una  de  las  puertas  AND  (y  el  PAL  solo  tiene
siete  términos).  Si  no  está  habilitado,  ese  pin  se  puede  usar  como  un  pin  adicional
entrada  (haciendo  hasta  12  entradas  para  el  16R4).

EJEMPLO  8.5 Como  ejemplo,  veremos  el  diseño  del  contador  arriba/abajo  de
Ejemplo  7.8,  donde  hemos  sumado  dos  salidas,  F  y  G,  donde  F  indica  que  el  
contador  está  saturado  y  G  indica  que  el  contador  se  está  reciclando  (es  decir,  
volviendo  de  3  a  0  o  de  0  a  3).  La  tabla  de  estados  es
mostrado  a  continuación.

AB FG
AB  xy  00  xy  01  xy  10  xy  11 xy  00  xy  01  xy  10  xy  11

00   01   01   11   00   00   00   01   10


01   10   10   00   00   00   00   00   00
10   11   11   01   01   00   00   00   00
11 00 11 10 10 01 10 00 00

Desarrollamos  las  siguientes  ecuaciones  para  las  entradas  D  en  el  ejemplo  7.8:

DA  xAB  xAB  xyA  xAB  xyAB
DB  xyA  AB  xB  yB

(No  tiene  sentido  considerar  compartir,  ya  que  PAL  no  lo  permite).
Podemos  obtener  las  ecuaciones  de  salida  de  la  tabla  de  estado  (o  podríamos  
construir  mapas):

F  xyAB  xyAB
G  xyAB  xyAB

Un  diagrama  de  bloques  de  ese  PAL,  con  solo  las  puertas  que  se  usan  incluidas,  es
se  muestra  a  continuación.  Tenga  en  cuenta  que  no  mostramos  las  puertas  de  salida  para  los  flip  flops.
Usamos  cinco  de  las  ocho  líneas  de  entrada  (incluida  una  para  un  1  para  habilitar  las  dos
salidas).  Usamos  solo  dos  de  las  chanclas.  Esto  podría  implementarse  con
ya  sea  un  16R6  o  un  16R4.
Machine Translated by Google

8.3  Dispositivos  lógicos  programables  (PLD) 509

1 X y B

Reloj

q
B

q
A

GRAMO

Los  PLD  que  hemos  descrito  son  útiles  para  circuitos  relativamente  
pequeños,  por  lo  general  no  más  de  un  total  de  32  entradas  y  salidas.
Aunque  teóricamente  sería  posible  construirlos  mucho  más  grandes,  
se  utilizan  otros  enfoques.
Machine Translated by Google

510 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Un  dispositivo  lógico  programable  complejo  (CPLD)*  incorpora  una  matriz  de  
bloques  similares  a  PLD  y  una  red  de  interconexión  programable.
Los  CPLD  disponibles  comercialmente  tienen  unos  pocos  cientos  de  bloques  de  PLD.

Para  circuitos  más  grandes,  se  utilizan  arreglos  de  puertas  programables  en  
campo  (FPGA).  En  lugar  de  contener  PAL,  los  FPGA  tienen  como  componente  básico  
un  generador  lógico  de  propósito  general  (típicamente  de  tres  a  cinco  variables),  con  
multiplexores  y  un  flip­flop.  Estos  bloques  están  conectados  por  una  red  de  
enrutamiento  programable,  que  también  se  conecta  a  bloques  de  entrada/salida.
El  generador  lógico  es  efectivamente  una  tabla  de  búsqueda  (LUT),  a  menudo  con  un  
flip  flop.  En  la  figura  8.14  se  muestra  una  LUT  de  tres  variables,  con  un  flip  flop  que  se  
puede  pasar  por  alto  si  Control  es  0.  Cada  celda  se  puede  programar  con  un  0  o  un  1;  
por  lo  tanto,  se  puede  crear  cualquier  función  de  tres  variables.

Figura  8.14  Una  tabla  de  búsqueda  de  tres  entradas.

0/1

0/1

0/1
Afuera

0/1 q
D
F
0/1

0/1

0/1

0/1
z y X Control

Si,  por  ejemplo,  las  celdas  están  programadas  para  0,  0,  0,  1,  0,  0,  1,  1,  entonces  la  
función  representada  es  f  xyz  xyz  xyz  yz  xy.  Para  ilustrar  la  red  de  interconexión,  la  
Figura  8.15  muestra  una  implementación  de  la  función

x1x2  x2x3  _

utilizando  LUT  de  dos  entradas.  Los  conectores  marrones  de  entrada/salida,  las  
conexiones  (X)  y  las  LUT  están  activos.  Todos  los  demás  están  inactivos.  Una  LUT  
produce  f1  x1x2 ,  la  segunda  produce  f2  x2x3  y  la  tercera  produce  f  f1  f2.

*Para  una  discusión  más  completa  de  CPLD  y  FPGA,  consulte  Brown  y  
Vranesic,  Fundamentals  of  Digital  Logic  with  VHDL  Design,  3.ª  ed.,  McGraw­Hill,  2009.
Machine Translated by Google

8.4  Diseño  utilizando  diagramas  ASM 511

Figura  8.15  Sección  de  una  FPGA  programada.
X3 F

X1

X1 X2
0 0
0 0 …
F1 F2
1 0
X2
X2
0 X3
1

F1 0
1 …
F
1
F2 1

[ES  5]

8.4  DISEÑO  UTILIZANDO  DIAGRAMAS  ASM
Como  indicamos  en  el  Capítulo  6,  el  término  máquina  de  estados,  también  llamado  finito
máquina  de  estado  o  máquina  de  estado  algorítmica  (ASM)  es  lo  mismo  que
sistema  secuencial.  Una  herramienta  que  es  un  cruce  entre  un  diagrama  de  estado  y  un
El  diagrama  de  flujo  es  el  diagrama  ASM  (a  veces  denominado  diagrama  ASM).
Primero  describiremos  los  elementos  básicos  y  compararemos  su  estructura  con  la
de  un  diagrama  de  estado.  Luego,  aplicaremos  esta  herramienta  a  un  controlador  para  un
pequeño  sistema  de  registros  (el  lugar  donde  esta  herramienta  es  más  útil).
Hay  tres  tipos  de  bloques  en  un  diagrama  ASM.  El  primero  es  el
cuadro  de  estado.  Es  un  rectángulo,  con  un  punto  de  entrada  y  un  punto  de  salida,  como
se  muestra  en  la  figura  8.16a.
El  nombre  del  estado  se  muestra  arriba  del  cuadro,  y  la(s)  salida(s)
correspondiente  a  ese  estado  se  muestra  en  el  recuadro.  (Este  es  un  tipo  de  Moore
salida,  que  ocurre  cada  vez  que  el  sistema  está  en  ese  estado.  Veremos
cómo  indicar  una  salida  de  Mealy  en  breve.)  Cuando  se  enumera  una  salida,
indica  que  la  salida  es  1;  cualquier  salida  no  listada  es  0.
El  segundo  tipo  de  caja  es  la  caja  de  decisión,  como  se  muestra  en  la  Figura  8.16b,
que  permite  una  bifurcación  bidireccional  basada  en  una  expresión  de  conmutación.
Machine Translated by Google

512 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Figura  8.16a  Cuadro  de  estado. Figura  8.16b  Cuadro  de  decisión. Figura  8.16c  Caja  de  salida  harinosa.

nombre

0 1 producción
producción condición

Tiene  un  punto  de  entrada  y  dos  puntos  de  salida,  uno  correspondiente  a  la  
expresión  igual  a  0,  el  otro  correspondiente  a  un  1.  Si  se  necesita  más  de  una  
bifurcación  de  dos  vías,  la  salida  de  un  cuadro  de  decisión  puede  ir  a  la  entrada  de  
otra  decisión.  caja.
El  tercer  tipo  de  caja  es  la  caja  de  salida  condicional  (Figura  8.16c).  Tiene  una  
entrada  y  una  salida.  Especifica  la  salida  que  se  produce  cuando  tiene  lugar  esa  
transición  de  estado.  (Es  la  salida  de  Mealy.)
Un  bloque  ASM  consiste  en  el  cuadro  de  estado  y  todos  los  cuadros  de  decisión  
y  los  cuadros  de  salida  condicional  conectados  a  él.  Hay  una  entrada  al  bloque,  pero  
puede  haber  una  o  más  salidas;  cada  uno  de  estos  va  a  la  entrada  de  un  cuadro  de  
estado.
No  hay  ningún  símbolo  para  un  punto  de  fusión;  dos  o  más  caminos  de  salida  
pueden  ir  al  mismo  punto  de  entrada,  como  se  verá  en  algunos  ejemplos  a  
continuación.  Un  bloque  ASM  típico  (asociado  con  el  estado  A)  se  muestra  en  la  figura  8.17.
La  salida,  z,  de  este  sistema  es  1  cuando  el  sistema  está  en  el  estado  A  y  la  entrada,  
x,  es  1.  El  sistema  pasa  al  estado  B  cuando  x  1,  y  vuelve  al  estado  A  cuando  x  0.

Figura  8.17  Un  bloque  ASM.

0 1
X

Ahora  veremos  el  diagrama  ASM  para  el  sistema  de  Moore  con  una  salida  de  
1  si  y  solo  si  la  entrada  ha  sido  1  durante  al  menos  tres  relojes  consecutivos  (como  
se  presentó  por  primera  vez  en  la  Sección  6.1).  El  diagrama  de  estado  se  muestra  
primero  en  la  figura  8.18  y  luego  el  diagrama  ASM  correspondiente.
Machine Translated by Google

8.4  Diseño  utilizando  diagramas  ASM 513

Figura  8.18  Diagrama  de  estado  de  Moore  y  diagrama  ASM.
0

A números  1
0
1
0 0
0
B C D
uno  1 1
0 1 0 1 1

dos  1 tres  o  más  unos

0 1
X
B

0 1
X
C

0 1
X
D

0 1
X

Para  el  problema  similar  de  Mealy,  con  una  entrada,  x,  y  una  salida,  z,  tal  
que  z  1  iff  x  ha  sido  1  durante  tres  tiempos  de  reloj  consecutivos,  el  diagrama  de  
estado  (Figura  7.13)  y  el  diagrama  ASM  correspondiente  se  muestran  en  la  
Figura  8.19 .  Tenga  en  cuenta  que  la  asignación  de  estado  puede  mostrarse  a  
la  derecha  del  nombre  del  estado,  fuera  del  cuadro  de  estado.
Machine Translated by Google

514 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Figura  8.19  Diagrama  de  estado  harinoso  y  diagrama  ASM.
0/0

A 00
A números  1

1/0
0/0
0/0
0 1 dos  o  más  1
X
B 01 uno  1 B C 1/1
1/0

0 1
X
C 10

0 1
X

EJEMPLO  8.6
Finalmente,  veremos  el  diseño  de  un  controlador  para  un  sumador  en  serie.  Los  
números  se  almacenan  cada  uno  en  un  registro  de  8  bits  (con  capacidad  de  
desplazamiento),  y  la  respuesta  se  devuelve  a  uno  de  esos  registros,  como  se  muestra  
en  el  diagrama  a  continuación  (se  da  una  versión  simplificada  de  esto  en  el  Experimento  
24).  Supondremos  que  los  dos  operandos  ya  están  cargados  en  los  registros  A  y  B.

Chanclas

C
A
...

Lleno
Registros Sumador

B
...

Una  señal  de  1  en  la  línea  s  indica  que  el  sistema  debe  iniciar  el  proceso  de  adición.  
Un  1  (para  un  período  de  reloj)  en  la  línea  d  indica  que  ya  está  hecho.  A  continuación  
se  muestra  un  diagrama  ASM  para  un  controlador  para  este  sistema.  Los  bits  del  
registro  se  numeran  7  (izquierda,  el  más  significativo)  a  0.  Se  suman  los  bits  0  de  los  
números  y  el  acarreo  (c) ,  y  el  resultado  se  carga  en  el  bit  izquierdo  (bit  7)  de  B  ya  que  
ambos  registros  son  desplazado  a  la  derecha.
Machine Translated by Google

8.5  Codificación  One­Hot 515

esperar 0  0

C <­  0
norte <­  0

0 1
s

agregar 0  1

A <­ A [0],  A [7:1]


B <­ A B [0] C , B [7:1]
C [0]<­  llevar
norte <­ norte 1

0
norte 7

1
hecho 1  0

Este  controlador  puede  ser  implementado  por  una  máquina  secuencial  con  tres
estados  Requiere  un  registro  de  3  bits,  N,  y  un  incrementador  para  contar
los  ocho  pasos  de  agregar/cambiar.  Este  controlador  pasa  del  estado  00  al  estado  01
cuando  s  1  (y  permanece  en  el  estado  00,  en  caso  contrario).  Va  del  estado  01  al  10
cuando  el  registro  N  contiene  tres  1  (y  vuelve  al  estado  01,  de  lo  contrario).  Él
siempre  pasa  del  estado  10  al  00  en  el  siguiente  reloj.  el  diseño  de  la
circuito  secuencial  se  deja  como  ejercicio.

[ES  6;  EJ  7,  8]

8.5  CODIFICACIÓN  ONE­HOT
Hasta  ahora,  hemos  codificado  estados  utilizando  el  número  mínimo  de  flip
fracasos  Otro  enfoque,  particularmente  simple  cuando  se  diseña  a  partir  de  un
diagrama  ASM,  es  usar  un  flip  flop  para  cada  estado.  Ese  flip  flop  es  1  (o
caliente)  y  todos  los  demás  son  0  cuando  el  sistema  está  en  ese  estado.
Para  el  sistema  de  Moore  de  la  figura  8.18,  tenemos  cuatro  estados  y
así  tener  cuatro  chanclas.  Si  los  etiquetamos  como  A,  B,  C  y  D,  podemos  ver
por  inspección  que

A  x  (A  BC  D)  x
Machine Translated by Google

516 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

(ya  que  una  de  las  variables  de  estado  debe  ser  1).

B  x  A

(ya  que  el  cuadro  de  condición  indica  que  vamos  al  estado  B  cuando  x  1)
C  x  B
D  x  (C  D)

Esto  produce  una  lógica  combinacional  muy  simple  para  el  siguiente  estado  
(aunque  los  ahorros  no  suelen  ser  suficientes  para  compensar  el  costo  de  las  
chanclas  adicionales).
La  salida  es  1  solo  cuando  está  en  el  estado  D;  por  lo  tanto,  la  ecuación  de  salida  es

z  D

Este  enfoque  se  usa  a  veces  en  el  diseño  de  controladores  grandes,  donde  la  
mayoría  de  los  estados  producen  una  señal  de  salida.  Como  en  el  ejemplo  
anterior,  la  señal  de  salida  proviene  directamente  de  un  flip  flop,  en  lugar  de  la  
lógica  combinacional  que  decodifica  el  estado.

8.6  VERILOG  PARA  SISTEMAS  
SECUENCIALES*
En  la  Sección  5.7.1,  presentamos  construcciones  de  Verilog  para  sistemas  
combinacionales.  Aquí,  daremos  ejemplos  del  uso  de  Verilog  para  sistemas  
secuenciales.
Ahora  veremos  el  modelo  estructural  para  una  trigonometría  de  borde  de  salida
flip  flop  D  con  una  entrada  baja  activa,  CLR  en  la  figura  8.20.

Figura  8.20  Modelo  estructural  de  un  flip  flop  D.
módulo  D_ff  (q,  ck,  D,  CLR);  entrada  ck,  D,  
CLR;  salida  q;  registro  q;  
siempre  @  
(negedge  
ck  o  negedge  CLR)  comienza  si  (!CLR)  q  <=  0;

demás
q  <=  D;
fin
módulo  final

*Para  obtener  una  discusión  detallada  de  Verilog,  consulte  Brown  y  Vranesic,  Fundamentals  of  Digital  
Logic  with  Verilog  Design,  2nd  ed.,  McGraw­Hill,  2008,  o  para  VHDL,  consulte  Brown  and  Vranesic,  
Fundamentals  of  Digital  Logic  with  VHDL  Design,  3rd  ed. .,  McGraw­Hill,  2009.
Machine Translated by Google

8.6  Verilog  para  sistemas  secuenciales 517

Tenga  en  cuenta  que  se  hace  referencia  a  q  como  un  registro  (reg)  en  
lugar  de  un  cable,  ya  que  es  un  almacenamiento.  El  símbolo  @  indica  el  
momento  en  que  se  ejecutan  los  siguientes  pasos.  Solo  sucederá  algo  en  el  
borde  posterior  (negedge)  del  reloj  o  en  la  entrada  CLR.  El  símbolo !  indica  
que  no,  y  la  flecha  igual  (<=)  se  usa  para  indicar  la  dependencia  del  tiempo.  
En  los  modelos  combinatorios,  se  usó  un  signo  igual  (=)  ya  que  no  importaba  
en  qué  orden  ocurrían  las  cosas.
Podemos  usar  el  flip  flop  que  acabamos  de  describir  para  construir  un  seguimiento  de  8  bits
registro  de  desplazamiento  activado  por  borde  (desplazamiento  a  la  derecha),  como  se  muestra  en  la  figura  8.21a.

Figura  8.21a  Registro  de  desplazamiento  utilizando  un  
módulo  flip  flop.  cambio  de  módulo  (Q,  x,  ck,  CLR);
entrada  x,  reloj,  CLR;  salida  
[7:0]Q;  cable  [7:0]Q;

D_ff  Etapa  7  (Q[7],  x,  ck,  CLR);
D_ff  Etapa  6  (Q[6],  Q[7],  ck,  CLR);
D_ff  Etapa  5  (Q[5],  Q[6],  ck,  CLR);
D_ff  Etapa  4  (Q[4],  Q[5],  ck,  CLR);
D_ff  Etapa  3  (Q[3],  Q[4],  ck,  CLR);
D_ff  Etapa  2  (Q[2],  Q[3],  ck,  CLR);
D_ff  Etapa  1  (Q[1],  Q[2],  ck,  CLR);
D_ff  Etapa  0  (Q[0],  Q[1],  ck,  CLR);
módulo  final

Otro  enfoque  es  definir  el  registro  de  desplazamiento  en  un  solo  módulo.

Figura  8.21b  Palanca  de  cambios  de  un  
solo  módulo.  cambio  de  módulo  (Q,  x,  ck,  CLR);  
entrada  x,  reloj,  CLR;  salida  
[7:0]Q;  cable  [7:0]Q;  
registro  [7:0]Q;  
siempre  (@  
negedge  ck)  comenzar  Q[0]  <=  
Q[1];  
Q[1]  <=  Q[2];  Q[2]  <=  
Q[3];  Q[3]  <=  Q[4];  
Q[4]  <=  Q[5];  Q[5]  <=  
Q[6];  Q[6]  <=  Q[7];  
Q[7]  <=  x;

fin
módulo  final
Machine Translated by Google

518 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

8.7  DISEÑO  DE  UNA  COMPUTADORA  MUY  
SENCILLA
En  esta  sección,  veremos  el  diseño  de  una  computadora  demasiado  simplificada.  Incluye  una  
memoria  de  256  (28 )  registros,  a  menudo  denominados  simplemente  palabras,  de  12  bits  cada  uno,  
y  un  conjunto  de  instrucciones  rudimentarias.  Aunque  esta  computadora  no  resolverá  ningún  
problema  real,  tiene  la  capacidad  suficiente  para  comprender  el  proceso  básico  de  ejecutar  un  
conjunto  de  instrucciones.
La  memoria*  almacena  tanto  instrucciones  como  datos.  Para  leerlo,  la  dirección  del  registro  
(un  número  de  8  bits)  se  conecta  al  conjunto  de  ocho  líneas  de  entrada,  A0, . . . ,  A7,  y  se  coloca  un  
0  en  la  línea  r/w.  El  contenido  de  ese  registro  está  disponible  en  el  bus  de  12  bits,  D0, . .
. ,  D11.  Para  escribir  en  él,  la  
dirección  de  registro  se  conecta  a  A,  los  datos  que  se  almacenarán  a  D,  y  la  línea  r/w  se  convierte  
en  1.

Hay  dos  registros  direccionables  de  usuario  de  12  bits,  B  y  C.  Además,
se  necesitan  algunos  registros  internos  para  implementar  la  máquina:

R:  un  registro  de  12  bits  para  contener  la  instrucción  mientras  se  decodifica  y  
ejecuta

P:  un  registro  de  8  bits  para  realizar  un  seguimiento  de  la  dirección  de  la  siguiente  instrucción
ción

T:  un  registro  de  12  bits  para  almacenar  datos  temporalmente

Cada  instrucción  cabe  en  una  palabra  y  tiene  el  siguiente  formato:

0  1234 11

OP norte METRO DIRECCIÓN

donde  OP  especifica  una  de  cuatro  operaciones,  N  indica  uno  de  dos  registros  internos  y  M  
especifica  (con  Dirección)  cómo  se  calcula  la  dirección  efectiva  (la  ubicación  real  en  la  memoria).

Se  incluyen  dos  modos  de  direccionamiento:  directo  (M  =  0),  donde  Dirección  es  la  dirección  
efectiva,  e  indirecto  (M  =  1),  donde  Dirección  contiene  la  ubicación  de  memoria  donde  se  encuentra  
la  dirección  efectiva  (en  los  8  bits  de  la  derecha).
Las  cuatro  instrucciones  son

00  Cargar  registro  (desde  la  ubicación  de  la  memoria)
01  Registro  de  almacenamiento  (en  la  ubicación  de  la  memoria)
10  Suma  el  número  de  memoria  al  que  está  en  el  registro
11  Saltar  a  (obtener  la  siguiente  instrucción  desde)  la  ubicación

Para  ejecutar  una  secuencia  de  instrucciones,  la  computadora  sigue  este  procedimiento  paso  
a  paso  (regresando  al  paso  1  después  de  completar  cada  instrucción):

*Se  puede  encontrar  más  información  sobre  el  diseño  de  la  memoria  en  Marcovitz,  Alan  
B.,  Introducción  a  la  lógica  y  el  diseño  de  computadoras,  McGraw­Hill,  2008.
Machine Translated by Google

8.7  Diseño  de  una  computadora  muy  simple 519

1.  Envíe  la  dirección  de  la  instrucción  (desde  el  Contador  de  programa,  P
en  lo  que  sigue)  a  la  memoria  para  buscar  la  instrucción.  Guarde  esa  palabra  en  un  
registro  interno  de  la  CPU,  a  veces  denominado  Registro  de  instrucciones,  I,  en  la  
descripción  que  sigue.
2.  Actualice  el  contador  de  programa  para  que  apunte  a  la  (primera  palabra  de)  la  
siguiente  instrucción.
3.  Decodificar  la  instrucción,  es  decir,  determinar  qué  operación  se  va  a  realizar  y  qué  
operandos,  si  los  hay,  se  necesitan.
4.  Obtenga  los  operandos.  Unos  pueden  estar  en  registros  y  otros  en
memoria.  En  el  último  caso,  es  posible  que  sea  necesario  calcular  la  dirección  y  
obtener  los  datos  de  la  memoria  en  un  registro  de  la  CPU.
5.  Ejecutar  la  instrucción,  es  decir,  hacer  el  cálculo  (si  corresponde)
requerido.
6.  Almacene  el  resultado,  si  lo  hay,  ya  sea  en  la  memoria  o  en  un  registro.  (Para  las  
instrucciones  de  salto,  el  resultado  puede  ser  la  dirección  de  la  siguiente  instrucción  
que  se  almacenará  en  el  contador  de  programa).

En  la  figura  8.22  se  muestra  un  diagrama  ASM  para  el  controlador  de  esta  
computadora.  En  lugar  de  mostrar  cuadros  de  salida,  hemos  etiquetado  cada  cuadro  de  
estado  con  los  pasos  que  se  deben  realizar.  En  el  primer  paso,  el  contador  de  programa  
(que  contiene  la  dirección  de  la  instrucción  que  está  a  punto  de  ejecutarse)  se  conecta  a  la  
entrada  de  dirección  y  la  instrucción  se  lee  en  I.  Si  I3  es  1,  esto  es  direccionamiento  
indirecto  y  el  derecho  8  bits  de  I  son  reemplazados  por  el  contenido  de  la  ubicación  de  
memoria.  El  contador  de  programa,  P,  se  incrementa  para  apuntar  a  la  siguiente  instrucción  
y,  en  función  de  I1,  el  flujo  se  bifurca.  A  la  izquierda,  leemos  datos  de  la  memoria  en  el  
registro  temporal,  T.  Para  Cargar,  se  mueve  al  registro  apropiado;  para  Add,  T  se  agrega*  
al  registro  B  o  C.  Para  la  rama  derecha,  P  se  cambia  a  la  parte  de  dirección  de  I  para  un  
salto.  Para  almacenar,  el  registro  apropiado  se  conecta  a  D,  la  dirección  a  A,  y  r/w  se  
convierte  en  1  (para  escribir  los  datos  en  la  memoria).

Este  controlador  implica  que  el  bus  D  tiene  entradas  desde  la  memoria  y  los  registros  
B  y  C.  Su  contenido  se  puede  sincronizar  en  los  registros  I  (o  los  8  bits  de  la  derecha  de  I)  
y  T.  Hay  un  sumador  de  12  bits,  sin  acarreo.  in  ni  un  carry­out,  que  toma  una  entrada  de  T  
y  la  otra  de  B  o  C  (lo  que  implica  un  multiplexor  en  la  segunda  entrada).  Las  transferencias  
internas  implícitas  son  de  los  8  bits  derechos  de  I  a  P,  y  de  T  a  B  y  C.

Se  numeraron  los  cuadros  de  estado  en  el  diagrama  ASM  y  luego  implementamos  el  
controlador  utilizando  un  diseño  único  (donde  cada  estado  corresponde  a  un  1  en  solo  uno  
de  los  flip  flops)  en  la  figura  8.23.  Las  entradas  del  reloj  no  se  han  conectado  al  reloj  en  esa  
figura  para  que  sea  más  legible.

*Hemos  usado  la  notación  ++  para  indicar  suma  (en  oposición  a  OR).
Machine Translated by Google

520 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

1
A= PAG

r /w =  0
I <­ D

1
R3

2
0 A = I 4:11
r /=  
w0
I 4:  11  <­  4D
:11

Incremento
PAG

0 1
R1

4
A = I 4:11
r /w =  1
T <­ D 1
R0
11
0 1 0
R0 PAG <­ I 4:11

1
0 1 0 1 R2
R2 R2
5 6 7 8 0 9 10
A = I 4:11 A = I 4:11
B <­T C <­T B <­ B ++ T C <­C ++ T
r /w =  1 r /w =  1
D=B D=C

Figura  8.22  Diagrama  ASM  para  una  computadora  muy  simple.

8.8  OTROS  EJEMPLOS  COMPLEJOS
Como  primer  ejemplo,  considere  el  diseño  del  siguiente  sistema:
El  sistema  realiza  un  seguimiento  de  cuántas  entradas  consecutivas  de  1  se  producen  en  la  entrada
línea  x  y  luego,  comenzando  en  la  primera  vez  que  la  entrada  x  es  0,  sale  en
línea  z  ese  mismo  número  de  1  en  relojes  consecutivos  (z  es  0  en  todos  los  demás
veces).
Machine Translated by Google

8.8  Otros  ejemplos  complejos 521

R2 R2
R3 R0
R0
9
R1 5

10
1 6
3

11
7

4
8

Figura  8.23  Un  diseño  atractivo  de  controlador.

Se  muestra  un  seguimiento  de  tiempo  de  muestra  de  la  entrada  y  la  salida  de  dicho  sistema.
en  Traza  8.2.

Traza  8.2

x  000100001111000000011000
000010000000111100000110  _

Primero  supondremos  que  los  componentes  disponibles  son  AND,  OR  y
compuertas  NOT,  un  flip  flop  JK  y  un  contador  ascendente/descendente  74191  con  cuatro  salidas,  
etiquetadas  como  D,  C,  B,  A  (con  D  la  salida  de  orden  superior).  Usaremos  el
contador  para  contar  el  número  de  1  consecutivos  (contando)  y  luego
cuenta  atrás  hasta  0  a  medida  que  se  emiten  los  1.
Primero  veremos  la  solución  más  simple  y  luego  examinaremos  la
suposiciones  que  deben  hacerse  para  que  esto  sea  válido.  Luego  agregaremos
circuitos  para  hacer  que  el  sistema  funcione  para  un  caso  más  general.  El
El  circuito  de  la  figura  8.24  es  nuestro  primer  intento  de  solución.  No  estaba  claro
proporcionó.  Una  vez  que  el  sistema  produce  su  última  salida  1,  el  contador
quedarse  con  0  en  él;  así  que  no  hay  necesidad  de  borrarlo.  Cuando  x  es  1,  el  D/U
se  establece  en  0  y  el  contador  está  habilitado;  por  lo  tanto,  cuenta  hacia  arriba.  Cuando  x  vuelve
a  0,  hará  una  cuenta  regresiva,  mientras  esté  habilitado,  es  decir,  mientras  haya
Machine Translated by Google

522 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Figura  8.24  Una  solución  simple  con  un  contador.

DCBA

/tu
FIN

Reloj

es  un  valor  distinto  de  cero  en  el  contador.  La  salida  es  1  cuando  x  es  0  y  hay
es  un  conteo  distinto  de  cero.  Esta  solución  solo  funciona  si  el  conteo  nunca  excede
15,  ya  que  a  la  decimosexta  entrada  consecutiva  de  1,  el  contador  vuelve  a  0.
Si  se  requiriera  un  número  mayor,  necesitaríamos  uno  o  más  contadores  
adicionales  para  poder  contar  más  de  15.  Una  alternativa
a  eso  sería  limitar  la  salida  a  un  máximo  de  15  1,  incluso  si
la  entrada  incluía  más  de  15  1  consecutivos.  En  ese  caso,  haríamos
deshabilite  el  contador  cuando  lleguemos  a  15,  si  x  sigue  siendo  1.  Eso  sería
requieren  el  circuito  de  la  figura  8.25.

Figura  8.25  Ejemplo  con  máximo  de  16  salidas  de  1.

DCBA

/tu
FIN

Reloj

X
Machine Translated by Google

8.8  Otros  ejemplos  complejos 523

Ahora  el  contador  no  se  habilita  cuando  la  cuenta  es  15  (1111)  yx  es  1.  
Así,  si  hay  una  gran  cantidad  de  1  consecutivos,  contará  hasta  15  y  se  
detendrá  hasta  que  x  llegue  a  0;  luego  hará  una  cuenta  regresiva,  dando  
salida  a  quince  1's.
La  otra  suposición  no  declarada  que  hicimos  fue  que  x  sigue  siendo  0  
hasta  que  se  completan  las  salidas  1.  Ese  fue  el  caso  en  el  rastro  de  la  muestra.
Si  eso  no  es  cierto,  el  contador  comenzará  a  contar  de  nuevo  tan  pronto  como  x  
vuelva  a  1  y  la  salida  será  0.  Suponiendo  que  queremos  ignorar  la  entrada  hasta  
que  se  completen  las  salidas  1,  necesitamos  un  flip  flop,  Q,  para  realizar  un  
seguimiento  de  cuándo  el  sistema  está  en  cuenta  regresiva  y  debemos  ignorar  x.  
Entonces  debemos  considerar  las  siguientes  posibilidades.

x  0  Q  0  conteo  0  EN  0  z  0  D/U  x  0  Q  0  conteo  1†  EN   X*
1  z  1  D/U  1  x  0  Q  0  conteo  1  EN  1  z  1  D/U  1  Q  –  1  x  1  Q  0  
conteo  15  EN  1  z  0  D/U  0  x  1  Q  0  cuenta  15  EN  0  z  0  D/U

X
X X ‡
Q  1  recuento  1  EN  1  z  1  D/U  1
X X Q  1  cuenta  1  EN  1  z  1  D/U  1  Q  –  0

El  flip  flop  Q  se  encenderá  cuando  x  sea  0  y  el  conteo  no  sea  0  o  1,  
y  se  apagará  cuando  sea  1  y  la  salida  baje  a  1.  Por  lo  tanto,

J  x(D  C  B)  K  DCBA

La  salida  es  1  cuando  Q  es  1  o  cuando  x  es  0  y  Q  es  0  pero  el  conteo  no  es  0.  
Por  lo  tanto,

z  Q  xQ(D  CB  A)  Q  x(D  CB  A)

El  contador  se  habilita  cuando  x  1  y  la  cuenta  no  está  en  15  (como  en  el  
último  ejemplo,  para  permitir  más  de  15  entradas  consecutivas  de  1)  o  
cuando  z  1.  Por  lo  tanto,

ES  x(ABCD)  z

*Dado  que  el  contador  no  está  habilitado,  no  importa  si  está  configurado  para  contar  hacia  
adelante  o  hacia  atrás.  †Si  solo  hay  un  1,  eso  hará  que  el  contador  aumente  a  1,  pero  Q  no  se  
establecerá  en  la  próxima  hora  del  reloj,  ya  que  esa  es  la  última  vez  que  la  salida  será  1.  La  
condición  para  establecer  Q  es  simplemente  que  la  cuenta  está  entre  2  y  15,  lo  que  
arroja,  del  mapa,  DC  B.  ‡  Cuando  está  en  cuenta  regresiva  (y  la  salida  es  1),  la  entrada  se  ignora;  No  importa.
Machine Translated by Google

524 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Finalmente,

D/U  Q  x(D  CB  A)

lo  mismo  que  z,  ya  que  en  los  únicos  lugares  donde  difieren,  D/U  es  un  don't
cuidado  (ya  que  el  contador  no  está  habilitado).
Ahora  veremos  el  mismo  ejemplo,  utilizando  registros  de  desplazamiento
en  lugar  de  un  contador.  Necesitamos  algunos  registros  de  desplazamiento  a  la  derecha/izquierda  (más  de  1

si  vamos  a  permitir  más  de  cuatro  salidas  1  consecutivas).  Si  configuramos  el
límite  en  12,  podríamos  usar  tres  registros  de  desplazamiento  74194.  Se  conectarían  como  
se  muestra  en  la  Figura  8.26,  donde  no  se  muestran  las  entradas  en  paralelo,
ya  que  no  se  usan.

Figura  8.26  Circuito  que  utiliza  tres  registros  de  desplazamiento  a  la  derecha/izquierda.

q1 q4 q1 q4 q1 q4

1 RS LS RS LS RS LS 0
CLR S0 S 1 CLR S0 S 1 CLR S0 S 1

CLK
X

Los  tres  registros  de  desplazamiento  están  conectados  para  formar  un  registro  de  desplazamiento  de  12  bits.

Cuando  x  1,  S0  1  y  S1  0,  los  registros  se  desplazan  a  la  derecha.  un  1  es
desplazado  al  bit  más  a  la  izquierda.  Cuando  x  0,  el  registro  se  desplaza  a  la  izquierda,  cargando
0  de  la  derecha.  Después  de  que  la  entrada  haya  sido  0  durante  varios  relojes  (o  si  el
se  borra  el  registro  de  desplazamiento),  todos  los  bits  serán  0.  La  salida  es  1  siempre  que  haya
es  un  1  en  el  bit  izquierdo  del  registro  de  desplazamiento  y  x  es  0.  Tenga  en  cuenta  que  si  hay
más  de  12  entradas  consecutivas  de  1,  el  registro  de  desplazamiento  contendrá  todos  los  1.
Cuando  la  entrada  va  a  0,  la  salida  será  1  durante  12  horas  de  reloj.  De  este  modo,
esta  solución  maneja  la  situación  en  la  que  hay  más  entradas  1  que  el
el  registro  puede  contener  (similar  al  segundo  diseño  de  contador).
Si  la  entrada  pudiera  volver  a  1  mientras  la  salida  sigue  siendo  1,  necesitamos  un
flip  flop  adicional,  Q,  aquí  también.  Este  flip  flop  se  establece  (J  1)  cuando  x  0
y  q2  del  registro  de  desplazamiento  izquierdo  es  1  (lo  que  indica  que  ha  habido  al  menos
dos  1).  Se  borra  (K  1)  cuando  q2  es  0  (lo  que  indica  que  no  hay
más  de  uno  más  1  para  ser  emitido).  S0  se  convierte  en  xQ  y  S1  se  convierte  en
X q
Machine Translated by Google

8.8  Otros  ejemplos  complejos 525

EJEMPLO  8.7
Diseñe  un  contador  que  pase  por  la  siguiente  secuencia  de  16  estados

1  2  4  7  11  0  6  13  5  14  8  3  15  12  10  9,  y  repita

No  importa  dónde  empiece.  Para  la  lógica  combinacional,  hay
hay  paquetes  de  compuertas  NAND  (7400,  7404,  7410,  7420  y  7430)  disponibles  a  
50¢  cada  uno.  Consideraremos  dos  diseños  alternativos  y  los  compararemos.  El  
primero  usa  cuatro  chancletas  JK  a  un  costo  total  de  $2.00.  El
el  segundo  utiliza  un  contador  síncrono  de  4  bits  (como  el  74161)  y  un  bloque  
decodificador  combinatorio.  Este  bloque  toma  la  salida  del  contador  que
va  0,  1,  2,  3,  4, . . .  y  traduce  el  0  a  1,  el  1  a  2,  el  2  a  4,  y
así  sucesivamente.

Primero,  diseñaremos  el  mostrador  usando  chanclas  JK .  La  tabla  de  estados  es
mostrado  a  continuación.

DCBADCBA

0000  0  0001  0  0010  0   1  1  0

0011  1  0100  0  0101  1   0  1  0
0110  1  0111  1  1000  0   1  0  0
1001  0  1010  1  1011  0   1  1  1

1100  1  1101  0  1110  1   1  1  1

1111  1 1  1  0

1  0  1
0  1  1
0  1  1
0  0  1
0  0  1
0  0  0
0  1  0
1  0  1
0  0  0
1  0  0

Podemos  mapear  estas  funciones  y  usar  el  método  rápido  para  encontrar  el  flip  JK
ecuaciones  de  entrada  de  flop,  como  se  muestra  a  continuación.

DC DC DC DC
licenciado  en  Letras
00  01  11  10 licenciado  en  Letras
00  01  11  10 licenciado  en  Letras
00  01  11  10 licenciado  en  Letras
00  01  11  10

00 1 00 11 00 1111 00 1 1

01 1 01 1 1 01 1 1 01 1

11 1 1 1 11 1 1 11 11 11 111

10 111 10 1 1 10 10 1 1

D C B A
Machine Translated by Google

526 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

JD  CA  CB  BA KD  CB  CA  BA
JC  DA  DB KC  DA  DBA
JB  DA KB  DA
JA  CC  CC KC  DB  CB  DCB
Esto  requeriría  18  compuertas  de  dos  entradas  y  5  compuertas  de  tres  entradas  o  un  total  
de  7  paquetes  de  circuitos  integrados  a  50¢  cada  uno.  Por  lo  tanto,  el  costo  total  es  de  $5.50.
Para  el  otro  enfoque,  construimos  la  siguiente  tabla  de  verdad  para  el
bloque  decodificador:

DCBA  WXYZ

0000  0  001  0001  0  010  0010  0  100  
0011  0  111  0100  1  011  0101  0  000  
0110  0  110  0111  1  101  1000  0  101  
1001  1  110  1010  1  000  1011  0  011  
1100  1  111  1101  1  100  1110  1  010  
1111  1  001

Los  mapas  de  salida  se  muestran  a  continuación.

DC DC DC DC
licenciado  en  Letras
00  01  11  10 licenciado  en  Letras
00  01  11  10 licenciado  en  Letras
00  01  11  10 licenciado  en  Letras
00  01  11  10

00 11 00 1 1 00 11 00 11  1 1

01 1 1 01 1 1 01 1 1 01

11 1 1 11 11 11 1 1 11 111  1

10 1 1 10 1 1 10 11 10

W X Y Z

W  CBA  DBA  CBA  DBA
X  DB  DB
Y  CA  CA
Z  BA  BA

Esto  requiere  9  puertas  de  dos  entradas,  4  puertas  de  tres  entradas  y  1  puerta  de  cuatro  entradas.
Además,  necesitamos  cuatro  puertas  NOT  (un  paquete  7404),  ya  que  solo  
están  disponibles  las  salidas  no  complementadas  del  contador  (D,  C,  B  y  A).
Machine Translated by Google

8.9  Problemas  Resueltos 527

El  total  requerido  es  de  seis  paquetes.  Por  lo  tanto,  este  enfoque  cuesta  $3,00  
más  el  costo  del  contador  y  es  menos  costoso  si  el  contador  cuesta  menos  de  
$2,50.
Es  interesante  notar  que  si  construimos  el  contador  usando  cuatro  flip  
flops  JK ,  solo  necesitaríamos  crear  las  funciones  BA  y  CBA.  Eso  requeriría  
solo  dos  puertas  NOT,  ya  que  (BA)  y  (CBA)  se  usan  en  W  y  Z.
Por  lo  tanto,  terminamos  con  solo  seis  paquetes  y  un  costo  total  de  $5,00,  que  
es  menos  costoso  que  la  primera  solución.  Esta  solución  es  mejor  si  el  
contador  cuesta  más  de  $2.00.

[ES  5,  6;  EX  6,  9,  10,  11,  12,  13,  14,  15;
LABORATORIO]

8.9  PROBLEMAS  RESUELTOS
1.  Diseñe  un  sistema  Mealy  utilizando  un  registro  de  desplazamiento  74164  y  las  
puertas  que  sean  necesarias  para  producir  una  salida  de  1  cuando  las  últimas  
seis  entradas  han  sido  1  y  0  en  caso  contrario.

El  registro  de  desplazamiento  almacena  las  ocho  entradas  anteriores;  solo  
necesitamos  los  cinco  más  recientes.  El  circuito  se  muestra  a  continuación.

X X A  B  C  D  E  F GRAMO H

Reloj

(Realmente  solo  necesitábamos  un  registro  de  desplazamiento  de  5  bits,  pero  
es  más  fácil  y  menos  costoso  usar  uno  de  8  bits  que  construir  uno  de  5  bits  con  
flip  flops).

2.  Diseñe  un  circuito  de  Moore,  usando  un  registro  de  desplazamiento  74164  y  
compuertas  AND,  OR  y  NOT  para  producir  una  salida  1  por  cada  octava  
entrada  1  (no  necesariamente  consecutiva).  No  nos  preocupa  cuándo  llega  la  
primera  salida,  siempre  que  haya  un  1  por  cada  ocho  1  entradas  a  partir  de  
entonces.

Introduciremos  un  1  en  el  registro  de  desplazamiento,  cronometrándolo  solo  
cuando  la  entrada  sea  1.  Cuando  un  1  alcance  el  último  flip  flop,  H,  el  registro  
de  desplazamiento  se  borrará.  Podemos  tomar  la  salida  de  G  (o  de  cualquiera  de  los
Machine Translated by Google

528 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

primeras  siete  chanclas);  va  a  1  en  la  séptima  entrada  1  y  se  borra  poco  
después  de  la  octava.  Un  diagrama  de  bloques  es  el  siguiente:

1 X A  B  C  D  E  F GRAMO H

Reloj
CLR
X

3.  Diseñe  un  sistema  Mealy,  usando  un  contador  74161  y  AND,  OR,
y  NOT  puertas  que  producen  una  salida  1  cuando  la  entrada  ha  sido  1  durante  
al  menos  12  tiempos  de  reloj  consecutivos.

El  contador  se  restablecerá  siempre  que  la  entrada  sea  0  y  se  le  permitirá  
contar  cuando  la  entrada  sea  1  hasta  que  el  conteo  llegue  a  11.
En  ese  punto,  si  la  entrada  es  1,  habrá  una  salida  1.  A  continuación  se  muestra  
un  diagrama  de  bloques.

DCBA

VO 74161

CLR LD Otorrinolaringología ENP

1
Reloj

Tenga  en  cuenta  que  el  contador  está  habilitado  siempre  que  x  1  y  la  salida  
aún  no  sea  1;  que  le  impide  contar  más  allá  de  11.

4.  Diseñe  un  sistema  tal  que  cuando  la  entrada,  x,  va  a  1  durante
un  período  de  reloj,  la  salida,  z,  serán  los  siguientes  ocho  relojes  consecutivos.  
z  será  0  en  todos  los  demás  momentos.  Suponga  que  x  permanece  en  0  
durante  todo  el  período  de  salida  distinta  de  cero.  Muestre  el  diagrama  
de  bloques.
Machine Translated by Google

8.9  Problemas  Resueltos 529

Ejemplo:

Reloj

Use  puertas  Y,  O  y  NO  más  a.  un  registro  de  
desplazamiento  serial­in,  serial­out  de  8  bits  disparado  por  el  flanco  
posterior  con  un  CLR  estático,  activo  bajo ,  o  b.  un  
contador  de  4  bits  activado  por  el  borde  posterior  con  un  CLR  estático,  
activo  y  bajo.
Suponga  que  esto  se  ha  estado  ejecutando  durante  un  tiempo  o  que  no  
miramos  la  salida  antes  de  la  primera  vez  x  1.

a.  Usaremos  x  para  borrar  el  registro  de  desplazamiento  y  registraremos  un  
1  en  el  bit  más  a  la  izquierda  en  cada  tiempo  de  reloj  a  partir  de  
entonces.  La  salida  se  tomará  del  bit  derecho;  cuando  es  0,  habrá  un  
pulso  de  reloj.

1 X H
z

ck CLR

Reloj

Este  circuito  produce  la  segunda  imagen  de  temporización,  ya  que  la  
primera  salida  ocurre  durante  el  tiempo  x  es  1.  Tenga  en  cuenta  que  
esto  solo  usa  la  salida  en  serie;  si  está  disponible,  no  necesitamos  la  
puerta  NOT  de  salida.
b.  Para  el  diseño  del  contador,  usaremos  x  para  borrar  el  contador  y  dejar  
que  cuente  siempre  que  el  conteo  sea  menor  que  8  (es  decir,  D  0).
Se  puede  utilizar  cualquiera  de  los  siguientes  circuitos.
Machine Translated by Google

530 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

DCBA DCBA

VO VO

CLR LD Otorrinolaringología ENP CLR LD Otorrinolaringología ENP

X X
111 1 1
z
z
Reloj
Reloj

En  ambos  casos,  el  momento  es  el  del  segundo  dibujo.

5.  Diseñe  un  sistema  que  cuente  hacia  arriba  de  1  a  6  (y  repita)  cuando  la  
entrada  x  sea  0  y  hacia  abajo  de  6  a  1  cuando  x  1  y  muestre  los  resultados  
en  un  dado.  El  dado  tiene  siete  luces  (como  se  muestra  en  el  
diagrama  a  continuación).

a mi
d
b F

C gramo

Un  1  para  cada  segmento  (a,  b,  c,  d,  e,  f,  g)  indica  que  está  encendido;  un  0  
que  no  lo  es.  La  disposición  de  los  seis  números  en  un  dado  se  muestra  
a  continuación,  donde  se  iluminarán  los  círculos  oscuros.

1 2 3 4 5 6

Diseña  el  contador  usando  tres  chanclas  D  para  contar  del  1  (001)  al  
6  (110)  y  repite.  Luego,  diseñe  un  decodificador/controlador  que  tome  las  
salidas  del  contador  y  produzca  las  siete  señales  (a,  b,  c,  d,  e,  f,  g)  
para  controlar  la  pantalla.  Utilice  un  PLD  16R4.
(Eso  funciona  ya  que  en  realidad  solo  hay  cuatro  salidas  distintas;  a  y  g,  
b  y  f,  y  c  y  e  son  siempre  las  mismas).

Etiquetando  las  chanclas  F,  G  y  H,  obtenemos  lo  siguiente
tabla  de  verdad  del  sistema.  Solo  hay  ocho  filas  para  las  entradas  de  
la  pantalla,  ya  que  no  dependen  de  x.
Machine Translated by Google

8.9  Problemas  Resueltos 531

xFGH  DF  DG  DH agbfced
000  0  XXX  X  000  1  0  0  0  001  0  0  1  1  001  1  1  0  1  010   X   X
0  1  1  1  010  1  1  0  1  011  0  0  1  1 0   1
0   0
1   0   1
1   0
1
0  0  1  0 x0  0  0  0  0  1 1  1  1 0
011  1  XXX  X X X X
100  0  XXX
100  1  0
101  0  1 1   1  

101  1  0 0  

110  0  1 0  

110  1  0 0  

111  0  1 0  1  1 1  1  0  0

111  1  XXX

Los  mapas  para  las  siete  funciones  se  muestran  a  continuación.
X F X F X F
GRAMO H 00 01 11 10 GRAMO H 00 01 11 10 GRAMO H 00 01 11 10

00 X  1 X 00 X 1 X 00 X 1 1 X

01 111 01 1 1 1 01

11 1 XX 11 X X 1 11 X X

10 1 10 1 10 1111

DF director  general DH

F F F F
GRAMO H 0 1 GRAMO H 0 1 GRAMO H 0 1 GRAMO H 0 1

00 X  1 00 X 00 1X 00 X

01 1 01 01 1 01 11

11 X1 11 X 11 X 11 X1

10 1 1 10 1 10 1 10

a gramo
b F C mi d

DF  xFG  xGH  xFG  xGH
DG  xFH  xGH  xGH  xFH
DHH  _
ag  FG  ce  F
BF  FG dH
Machine Translated by Google

532 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

El  diagrama  PLD  se  muestra  a  continuación.  (Solo  aquellas  puertas  que  se  utilizan
son  exhibidos.)

1 X

Reloj
HGF

q
F

q
GRAMO

q
H

a, gramo

,
novio

C , mi

d
Machine Translated by Google

8.9  Problemas  Resueltos 533

6.  Estamos  diseñando  un  sistema  de  alarma  bastante  rudimentario.  La  primera  parte  del  sistema  
incluye  un  flip  flop  A  que  es  1  si  la  alarma  está  configurada  (armada)  y  0  si  no  lo  está,  y  un  
teclado  (con  10  teclas  y  4  líneas  de  salida).  Produce  una  salida  de  todos  1  si  no  se  presiona  
ninguna  tecla  o  de  0000  a  1001  si  se  presiona  una  de  las  teclas  0  a  9.  (Puede  suponer  que  
nunca  se  presionan  dos  teclas  al  mismo  tiempo  y  que  el  teclado  nunca  produce  una  
de  las  otras  cinco  combinaciones).

Para  configurar  o  borrar  la  alarma,  se  debe  introducir  una  combinación  de  3  dígitos.
ingresó.  Escondido  en  la  caja  de  control  hay  un  conjunto  de  tres  interruptores  de  10  
posiciones  (que  contiene  el  código  de  alarma  de  3  dígitos).  Cada  uno  de  los  interruptores  

produce  un  número  de  4  bits,  R1:4,  S1:4  y  T1:4.  A  medida  que  se  presionan  los  botones  
para  ingresar  el  código  de  alarma,  el  primer  dígito  aparecerá  en  la  salida  del  teclado  
durante  varios  períodos  de  reloj,  seguido  de  una  F  hexadecimal  (que  indica  que  no  se  
presionó  ninguna  tecla)  durante  varios  períodos  de  reloj  más,  seguido  del  segundo  dígito,  
etcétera.  Debemos  diseñar  un  sistema  que  vigile  el  teclado  y,  si  se  recibe  el  código  
correcto,  complemente  A.  (Nota:  Como  muchas  alarmas,  se  usa  el  mismo  código  para  
armar  la  alarma,  es  decir,  poner  un  1  en  A,  como  para  desarmar  it.)  Suponga  que  hay  al  
menos  un  período  de  reloj  cuando  no  se  presiona  ninguna  tecla  entre  los  dígitos.  Sin  
embargo,  si  no  se  presiona  otra  tecla  dentro  de  100  relojes,  el  sistema  vuelve  a  buscar  el  

primer  dígito.

La  segunda  parte  del  sistema  se  utiliza  para  hacer  sonar  la  alarma.
Hay  una  señal  de  entrada,  D,  que  indica  que  una  puerta  está  abierta  (1)  o  cerrada  (0)  y  una  
salida,  N,  que  indica  que  la  alarma  está  sonando  (1)  o  no  (0).  (Por  supuesto,  A  también  es  una  
entrada  para  esta  parte  del  sistema).  Cuando  la  alarma  se  arma  por  primera  vez,  la  puerta  

debe  cerrarse  dentro  de  los  1000  pulsos  de  reloj  o  la  alarma  sonará.  (Tenga  en  cuenta  que  esto  
le  da  al  usuario  la  oportunidad  de  configurar  la  alarma  y  salir  sin  que  suene  la  alarma).  Además,  

si  la  alarma  ha  estado  armada  por  más  de  1000  períodos  de  reloj  y  la  puerta  está  abierta,  la  
alarma  sonará  si  no  está  activada.  desarmado  dentro  de  1000  períodos  de  reloj.

Diseñe  ambas  partes  de  este  sistema.  Los  componentes  disponibles  incluyen  flip  
flops  JK  activados  en  el  borde  posterior ,  contadores  binarios  o  decimales  sincrónicos  de  4  
bits  y  cualquier  puerta  que  se  necesite.
Muestre  un  diagrama  modular  que  muestre  varias  partes,  también  un  diagrama  de  
bloques  detallado  o  las  ecuaciones  para  cada  parte  y  un  diagrama  ASM  para  la  primera  
parte.

Un  enfoque  de  la  primera  parte  utiliza  el  siguiente  conjunto  de  estados:  1.  Esperando  el  

primer  dígito  de  entrada.

2.  Tener  el  primer  dígito  de  entrada,  esperando  que  se  suelte  la  tecla.

3.  Nada  presionado,  pero  tiene  el  primer  dígito,  esperando  el  segundo.

4.  Tener  los  dos  primeros  dígitos  de  entrada,  esperando  que  se  suelte  la  tecla.

5.  Nada  presionado,  tiene  dos  dígitos,  esperando  el  tercero.

6.  Tener  el  tercer  dígito  de  entrada,  esperando  que  se  suelte  la  tecla.
Machine Translated by Google

534 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

Se  muestra  un  diagrama  ASM,  que  ignora  el  tiempo  de  espera  de  100  relojes.
abajo.

inactivo 0  0  1

0 1
GRAMO

primero  0  1  0

1 0
GRAMO

esperar 0  1  1

1
F

1
H
segundo  1  0  0

0
H
1
espera2  1  0  1

F
1
0

1
METRO

A <­ A

tercero  110

METRO

0 1
Machine Translated by Google

8.9  Problemas  Resueltos 535

Si  llamamos  las  entradas  desde  el  teclado  X1:4,  entonces

Nada  empujó  X1X2X3X4  F
Primer  dígito  (X1  R1)(X2  R2)(X3  R3)(X4  R4)  G
Segundo  dígito  (X1  S1)(X2  S2)(X3  S3)(X4  S4)  H
Tercer  dígito  (X1  T1)(X2  T2)(X3  T3)(X4  T4)  M

Este  es  un  problema  de  siete  variables:  los  tres  estados  q1,  
q2  y  q3,  y  las  funciones  producidas  por  las  entradas,  F,  G,  H  y  M.  
Codificaremos  los  estados  en  binario  (por  ejemplo,  3  será  011 ).  
Luego  produciremos  una  tabla  en  binario,  separando  las  tres  
secciones  de  siguiente  estado  del  flip  flop.

q1 q2 q3
q1  q2  q3  FGHM#  FGHM#  FGHM#
000  XXX  XX  XXX  XX  XXX  XX  0  0  1  000  00  010  00  101  11  0

0  00  XXX  1 1  XXX  1  0  XXX  0  1  001  00  100  00  110  
11 1  1
100  1  X  1  XX  0  X  0  XX 1  X  0  XX  1  0  1  100  
10  000  10  111  01
110  0  XX  1  X  0  XX  1  X 1  XX  0  X
111  XXX  XX  XXX  XX  XXX  XX

donde  #FGHM .  Tenga  en  cuenta  que  solo  uno  de  F,  G,  H  o  M  puede  ser  1.
Encontramos  expresiones  para  el  siguiente  estado  considerando  una
columna  de  la  tabla  a  la  vez.  Aunque  esto  podría  no  ser  
mínimo,  está  cerca.

q1  Fq1q  2  H(q2  q  3)  Mq1  q2  Fq  1q2  
G(q  1q  2  q  3)  Mq1  q3  F  G(q1  q2q3)  
H(q  1q  2  q1q3)  Mq 1
FGHM

El  flip  flop  de  control,  A,  se  complementa  cuando  este  controlador  pasa  
del  estado  5  al  6,  es  decir,  en  q1q  2q3M.  Lo  único  que  se  ha  omitido  
hasta  ahora  es  el  tiempo  de  espera.  Un  contador  de  base  100  se  
construye  con  dos  contadores  de  décadas.  Se  borra  cuando  se  pasa  del  
estado  2  al  3  o  del  4  al  5  y  se  habilita  siempre  que  el  controlador  
está  en  el  estado  2  o  4.  Utiliza  las  entradas  preestablecidas  y  de  
borrado  estático  de  los  flip  flops  del  controlador  para  establecer  el  
controlador  en  el  estado  1  como  el  el  contador  se  da  la  vuelta,  es  decir,  pasa  de  99  a  00.
A  continuación  diseñaremos  el  control  de  alarma.  Cuando  A  llega  
a  1,  se  borrará  un  contador  de  décadas  de  tres  dígitos.  Cuando  llegue  a  
1000,  se  establecerá  un  segundo  flip  flop,  B.  Cuando  se  establece  B  y  D
Machine Translated by Google

536 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes

va  a  1,  empezaremos  a  contar  de  nuevo  hasta  1000.  Si,  cuando  el  
contador  llega  a  1000,  A  no  llega  a  0,  sonará  la  alarma;  flip  flop  N  irá  
a  1.  Tanto  B  como  N  se  borran  cuando  A  va  a  0.  A  continuación  se  
muestra  un  diagrama  del  sistema.

q 2 q3 D

q1 METRO

j k

mi
j k

A A

CLR CLR
VO j B

Encimera Encimera

k B VO
ES ES

j norte

k norte

En  este  diagrama,  todas  las  entradas  de  reloj  están  conectadas  al  
reloj  del  sistema  (pero  no  se  muestran  para  simplificar  el  diagrama).  
Los  dos  contadores  son  de  base  1000  (es  decir,  tres  contadores  de  
décadas  en  cascada);  se  supone  que  todas  las  entradas  están  activas  
en  alto.  Cuando  A  va  a  1,  el  primer  contador  se  borra.  El  flip  flop  B  es  0,  
ya  que  se  borra  siempre  que  A  ha  sido  0.  Se  activará  cuando  el  contador  
llegue  a  1000.  Sin  embargo,  la  alarma  sonará  si  la  puerta  sigue  abierta  (el  
primer  contador  se  desborda  y  la  puerta  está  abierta).  El  flip  flop  de  
alarma  (N)  permanece  configurado  hasta  que  se  ingresa  el  código  para  borrar  A.
El  flip  flop  E  se  utiliza  para  producir  una  señal  clara  para  el  segundo  
contador  cuando  se  abre  la  puerta  por  primera  vez.  Ese  contador  se  
habilita  cuando  la  puerta  está  abierta  y  B  1.  La  alarma  sonará  si  no  ha  
sido  desarmada  (haciendo  que  A  y  B  vayan  a  0)  dentro  de  1000  
relojes.
Machine Translated by Google

8.10  Ejercicios 537

8.10  EJERCICIOS
1.  Usando  un  registro  de  desplazamiento  74164,  diseñe  un  sistema  Mealy  que  produzca  
una  salida  de  1  cuando  las  últimas  nueve  entradas  fueron  0.

2.  Utilizando  dos  registros  de  desplazamiento  74164,  diseñe  un  sistema  de  Moore  cuya  
salida  sea  1  cuando  haya  habido  exactamente  seis  entradas  1  seguidas  
exactamente  por  ocho  0.

3.  Diseñe  un  sistema  usando  un  contador  que  produzca  una  salida  1  cuando  la  entrada  ha  
sido  1  durante  ocho  o  más  tiempos  de  reloj  consecutivos.  a.  Use  un  contador  
con  un  reloj  activo  bajo  claro  y  sin  habilitar

aporte.

b.  Use  un  contador  con  un  claro  bajo  activo  estático  y  un  alto  activo
permitir.

4.  Diseñe  un  sistema  que  tenga  una  salida  de  1  cuando  la  entrada  haya  sido
0  para  exactamente  siete  tiempos  de  reloj.  Además  de  los  bloques  lógicos  
combinacionales,  está  disponible  uno  de  los  
siguientes:  a.  Un  contador  de  4  bits

b.  Un  registro  de  desplazamiento  

de  8  bits  5.  Diseñe  un  sistema  secuencial  que  tenga  una  entrada  de  pulso  de  reloj  y
produce  un  pulso  que  coincide  con  cada  25  pulsos  de  reloj.
(No  nos  importa  inicializar  el  sistema).
Los  únicos  componentes  disponibles  son

1.  Puertas  Y  (cualquier  número  de  entradas)

2.  Inversores  (NO  puertas)

3.  Dos  fichas  de  base  16  (como  se  describe  a  continuación)

El  contador  se  activa  en  el  borde  posterior.  Tiene  cuatro  salidas:  D  (bit  de  orden  
superior),  C,  B  y  A.  Tiene  una  entrada  de  reloj  y  una  entrada  Clear  activa  de  baja  
estática .  También  hay  una  entrada  de  carga  estática  baja  activa ,  junto  con  líneas  de  
entrada  de  datos,  IND,  INC,  INB  e  INA.  (Suponga  que  Borrar  y  Cargar  nunca  son  ambos  
0  al  mismo  tiempo.  Cuando  cualquiera  es  0,  anula  el  reloj.)  a.  Diseñe  un  sistema  usando  

estos  componentes  que  use  

Clear
entrada,  pero  no  la  entrada  Cargar .

b.  Diseñe  un  sistema  usando  estos  componentes  que  use  el  Load
entrada,  pero  no  la  entrada  Borrar .

6.  Diseñe  un  sistema  usando  a.  
un  74190

b.  un  74192

más  cualquier  otra  lógica  que  se  necesite  (incluido  un  flip  flop)  para  pasar  por  la  secuencia

0  1  2  3  4  5  6  7  8  9  8  7  6  5  4  3  2  1  (0  1)  y  repetir

7.  Implemente  el  controlador  para  el  sistema  del  ejemplo  8.6  utilizando  flip  flops  D  y  
compuertas  NAND.
Machine Translated by Google

538 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes
SOICICREJE

8.  Muestre  el  diagrama  ASM  para  el  controlador  de  un  sistema  que  tiene  un  registro  
de  16  bits,  A,  y  un  registro  de  4  bits,  N.  Cuando  aparece  una  señal  de  1  en  
la  línea  de  entrada  s,  el  registro  A  se  desplaza  a  la  derecha  el  número  de  lugares  (0  a  
15)  como  se  especifica  por  N  (con  0  en  los  bits  de  la  izquierda).  El  registro  A  sólo  se  
puede  desplazar  un  lugar  a  la  vez.  El  registro  N  puede  ser  decrementado  
(decrementado  en  1).  Cuando  se  complete  el  cambio,  aparecerá  un  1  en  la  línea  de  
salida  d  durante  dos  períodos  de  reloj.

9.  Diseñe  un  sistema  que  consta  de  tres  componentes,  un  contador,  un  controlador  
de  pantalla  y  una  pantalla  de  siete  segmentos,  como  se  muestra  a  continuación.

X1 : x7
A  B  C  D

Mostrar
Encimera
Conductor

a.  Diseñe  el  mostrador  usando  cuatro  chanclas  JK ,  A,  B,  C  y  D,
y  un  número  mínimo  de  puertas  NOR.  El  contador  es  decimal  codificado  en  
binario,  usando  el  código  2421  (como  se  describe  en  la  Tabla  1.7)  y  debe  
pasar  por  la  secuencia:

0  3  6  9  2  5  8  1  4  7  y  repite

Así,  el  contador  secuencia  0000,  0011,  1100,  1111,  0010  y  así  sucesivamente.  
Después  de  completar  el  diseño  de  este  contador,  dibuje  un  gráfico  de  estado.  
Asegúrese  de  que  muestre  lo  que  sucede  si  el  contador  está  encendido  
y  aparece  en  uno  de  los  estados  no  utilizados  (por  ejemplo,  0101).

b.  Las  salidas  del  contador  son  entradas  al  controlador  de  pantalla.  Es  solo  un  circuito  
combinacional  de  cuatro  entradas  y  siete  salidas.  Si  aparece  uno  de  los  códigos  
no  utilizados  (por  ejemplo,  el  contador  está  encendido  y  ABCD  0111),  la  
pantalla  debe  estar  en  blanco  (es  decir,  las  siete  entradas  deben  ser  0).  
Encuentre  una  suma  casi  mínima  de  implementación  de  productos  de  X1,  
X2,  X3,  X4,  X5,  X6  y  X7.
(Utilice  las  versiones  6,  7  y  9  sin  el  segmento  extra  iluminado).
(Hay  una  solución  con  17  puertas  y  56  entradas).

10.  Ya  tenemos  un  contador  decimal  que  secuencia

0000  0001  0010  0011  0100  0101  0110  0111  1000  1001  y  repita  Tiene  flip  flops  W,  X,  

Y  y  Z.  Todavía  queremos  que  la  pantalla  pase  por  0,  3,  6,  9,  2,  5,  8,  1,  4 ,  7  y  repita  
(como  en  el  ejercicio  9).
Logre  esto  diseñando  otra  caja  para  ir  entre  el  mostrador  y  el  controlador  de  
pantalla  del  Ejercicio  9b.  Tenga  en  cuenta  que  esto  significa,  por  ejemplo,  que  cuando  
el  contador  tiene  WXYZ  0010,  la  pantalla  debe  ser  6  y,  por  lo  tanto,  ABCD  1100  (6  en  
el  código  2421).  Implemente  esta  caja  con  un  PLA  de  cuatro  entradas  y  cuatro  salidas.
Machine Translated by Google

8.10  Ejercicios 539

11.  Muestre  un  diagrama  de  bloques  de  un  sistema  cuya  salida,  z,  sea  1  si  y  solo  si  
al  menos  dos  de  las  últimas  tres  entradas  (incluida  la  actual)  son  0.  No  es  
necesario  mostrar  una  tabla  de  estados  o  un  diagrama  de  estados.  Se  puede  
utilizar  cualquier  tipo  de  chanclas  y  puertas.

12.  Diseñe  un  sistema  secuencial  (un  contador)  con  una  línea  de  entrada,  x,  y  tres  
flip  flops,  A,  B  y  C.  Cuando  x  0,  el  sistema  secuencia  a  través  de  los  
estados  (0,  1,  2,  3,  4) ,  0, . . .  y  cuando  x  1,  el  sistema  secuencia  a  través  de  
los  estados  (2,  3,  4,  5,  6,  7),  2, . . . .  Si,  en  cualquier  momento,  x  es  0  
cuando  el  sistema  está  en  los  estados  5,  6  o  7,  o  si  x  es  1  cuando  el  sistema  
está  en  los  estados  0  o  1,  debería  pasar  al  estado  3  en  el  próximo  reloj.

a.  Los  componentes  disponibles  son  
7400,  7404,  7410,  7420  y  7430  (paquetes  de  
puertas  NAND) 25¢  cada  uno

Paquetes  de  flip  flop  activados  por  el  
borde  de  fuga   $1.00  cada  uno

Dual  JK  Paquetes  de  flip  flop   costo  por  determinar

Dual  D  Diseñe  el  sistema  de  dos  
maneras:  i.  Primero,  usando  
chanclas  JK  ii.  Segundo,  usar  flip  
flops  D  Muestre  las  ecuaciones  para  ambos  diseños  y  un  diagrama  de  
bloques  de  uno  de  ellos.

b.  Determine  el  rango  de  precios  de  los  paquetes  de  flip  flop  D  para  los  
cuales  sería  más  económico  utilizar

todas  las  chanclas  
JK  un  paquete  de  JK  y  una  de  D  
todas  las  chanclas  
D.  C.  Nos  gustaría  agregar  una  salida  que  sea  1  siempre  que  el  sistema  esté  
en  el  estado  3  y  haya  llegado  allí  porque  estaba  fuera  de  secuencia  
(cuando  x  es  0  y  el  sistema  está  en  los  estados  5,  6  o  7,  o  si  x  es  1  
y  el  sistema  está  en  los  estados  0  o  1).  Esto  requiere  otro  flip  flop.

d.  Diseñe  el  sistema  de  la  parte  c  utilizando  un  PLD.  (Cualquiera  de  los  que
descrito  servirá.)

13.  Diseña  una  pantalla  de  reloj  para  mostrar  el  tiempo  en  horas,  minutos  y  
segundos.  Supongamos  que  tenemos  un  reloj  de  exactamente  1  KHz  
(1000  pulsos  de  reloj  por  segundo).  Utilizará  6  pantallas  de  siete  segmentos  y  
funcionará  en  horario  militar  (horas  00  a  23)  o  horario  regular  (1  a  12,  con  AM  
y  PM).  Una  línea  de  entrada,  x,  diferencia  entre  los  dos.  Se  utiliza  una  
séptima  pantalla  para  mostrar  A  o  P  en  el  último  caso;  está  en  blanco  de  lo  
contrario.  Suponga  que  hay  un  controlador  decodificador  de  BCD  a  siete  
segmentos  disponible;  se  necesita  uno  para  cada  pantalla  que  no  sea  AM/PM .
Machine Translated by Google

540 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes
SOICICREJE

a.  Diseñe  esto  usando  contadores  asíncronos  (utilizando  el  7490  y  el  7492).  El  
problema  con  estos  es  que  no  se  pueden  configurar  arbitrariamente.  b.  Diseñe  
esto  usando  
contadores  síncronos  con  carga  estática
entradas.  (Requerirían  una  gran  cantidad  de  interruptores  para  establecer  esto  
en  un  tiempo  arbitrario,  cuatro  para  cada  dígito).  c.  Para  
cualquier  diseño,  proporcione  una  función  establecida  para  minutos  y  horas
como  sigue:

Cuando  la  entrada  f  es  0,  el  reloj  funciona  normalmente;  cuando  f  1,  
podemos  ajustar  el  tiempo.
Cuando  f  1  y  g  1,  la  hora  avanza  una  vez  cada  segundo.

Cuando  f  1  y  h  1,  el  minuto  avanza  una  vez  cada  segundo.

Además,  cuando  f  1,  los  segundos  van  a  00.
14.  Diseñe  un  contador  que  pase  por  la  siguiente  secuencia  de
12  estados

10  4  5  1  2  8  11  3  9  12  13  0  y  repite

No  es  importante  donde  comienza.  Los  paquetes  disponibles  son  puertas  
NAND  (7400,  7404,  7410,  7420  y  7430)  a  50¢  cada  una,  más  los  dispositivos  de  
almacenamiento  que  se  describen  a  continuación.
Considere  tres  diseños  alternativos  y  compárelos.  Para  cada  uno,  muestre  las  
ecuaciones  y  un  diagrama  de  bloques.  Etiquete  las  cuatro  salidas  en  cada  diseño  W  
(bit  de  orden  superior),  X,  Y,  Z  a.  Los  dispositivos  .
de  almacenamiento  disponibles  son  cuatro  flip  flops  JK  a  un  costo  total  de  $2.50.

b.  Los  dispositivos  de  almacenamiento  disponibles  son  cuatro  flip  flops  D  a  un  costo  
por  determinar.

C.  Hay  un  contador  síncrono  de  4  bits  74161  y  debemos  construir  un  bloque  
decodificador  combinacional.  Este  bloque  toma  la  salida  del  contador  que  

va  0,  1,  2,  3,  4, . . .  y  traduce  el  0  al  10,  el  1  al  4,  el  2  al  5,  el  3  al  1,  el  4  al  2,  y  
así  sucesivamente.  También  debe  volver  al  estado  0  desde  el  estado  11.

Comparando  los  tres  diseños,  ¿cuánto  deben  costar  las  chancletas  D  
para  que  el  diseño  b  sea  menos  costoso  que  el  diseño  a,  y  cuánto  debe  costar  
el  contador  para  que  el  diseño  c  sea  menos  costoso  que  el  diseño  a?  
15.  un.  Repita  el  Problema  
resuelto  5,  para  que  podamos  contar  hasta  7,  donde  un  7  ilumina  todos  los  puntos  en  la  
pantalla  del  dado.  b.  Repite  el  Problema  Resuelto  
5,  de  modo  que  podamos  contar  desde  0  (no
luces  encendidas)  a  7,  pero  el  contador  se  satura  (es  decir,  se  queda  en  7  
contando  hacia  adelante  o  0  contando  hacia  atrás,  en  lugar  de  reciclar).
Machine Translated by Google

8.11  Capítulo  8  Prueba 541

8.11  PRUEBA  DEL  CAPÍTULO  8  (50  MINUTOS)
1.  Muestre  dos  diseños  para  un  sistema  Mealy  que  produzca  una  salida  de  1
si  y  solo  si  la  entrada  es  0  durante  exactamente  siete  relojes  consecutivos
veces.  Además  de  las  puertas  AND,  OR  y  NOT,  tenemos  disponibles
un  registro  de  desplazamiento  de  entrada  en  serie  y  salida  en  paralelo  de  8  bits,  con  un  bajo  activo,

clocked  clear  (que  funciona  ya  sea  que  el  contador  esté  habilitado  o  no)  para
uno  y  un  contador  de  4  bits  con  un  activo  bajo,  un  borrado  estático  y  un
habilitación  baja  activa  para  el  otro.

CLR

Reloj

DCBA

ES CLR

Reloj

2.  Deseamos  implementar  la  siguiente  tabla  de  estados.

AB AB z
x  0  x  1  x  0  x  1
00  11  01  10  10   01   0
01  11  00 01   1   0
11   1
11 0  1  0 1

Para  implementar  esto,  tenemos  el  PAL  mostrado.  dos  de  las  salidas
están  conectados  a  la  entrada  de  un  flip  flop  D ;  el  tercero  esta  disponible
para  una  salida.  Etiquete  el  diagrama  y  muestre  las  conexiones  ya  sea
con  puntos  o  X.  Tenga  en  cuenta  que  el  PAL  tiene  más  entradas  y  puertas
de  lo  que  necesitas;  puedes  ignorar  los  extras.
Machine Translated by Google

542 Capítulo  8  Resolución  de  problemas  secuenciales  más  grandes
LA
BTE I U
O  LAU PERC
D
P

Reloj

q
D
q

q
D
q
Machine Translated by Google

CAPÍTULO

Simplificación  de
Circuitos  Secuenciales 9
En  eestados  
ste  capítulo,  primero  
de  sistemas   veremos   A  u
secuenciales.   na  técnica  ip
continuación,   ara  eliminar  
ntroduciremos   redundantes
el  concepto  de
particiones  como  otro  enfoque  para  reducir  el  número  de  estados  y  como  una  
técnica  para  encontrar  asignaciones  de  estados  que  reduzcan  la  cantidad  de  lógica  
combinacional.
Se  dice  que  dos  estados  de  un  sistema  secuencial  son  equivalentes  si  cada  
secuencia  de  entrada  producirá  la  misma  secuencia  de  salida  comenzando  en  cualquier  
estado.  Si  la  secuencia  de  salida  es  la  misma,  entonces  no  necesitamos  saber  en  cuál  
de  los  dos  estados  comenzamos.  Esa  definición  es  bastante  difícil  de  aplicar,  ya  que  
debemos  probar  una  secuencia  de  entrada  muy  larga  o  una  gran  cantidad  de  secuencias  
más  cortas  para  asegurarnos  de  que  cumplimos  con  la  definición.
Una  definición  más  práctica  es:

Dos  estados  de  un  sistema  secuencial  son  equivalentes  si,  comenzando  en  cualquier  estado,  
cualquier  entrada  produce  la  misma  salida  y  los  siguientes  estados  equivalentes.

Si  dos  estados  son  equivalentes,  podemos  eliminar  uno  de  ellos  y  tener  un  sistema  
con  menos  estados.  Por  lo  general,  los  sistemas  con  menos  estados  son  menos  
costosos  de  implementar.  Esto  es  particularmente  cierto  si  el  sistema  reducido  requiere  
menos  variables  de  estado.  Por  ejemplo,  reducir  un  sistema  de  seis  estados  a  cuatro  
reduce  la  cantidad  de  flip  flops  necesarios  para  almacenar  el  estado  de  tres  a  dos.  Si  
el  sistema  está  construido  con  flip  flops  JK  y  hay  una  entrada,  x,  y  una  salida,  z,  solo  
tenemos  cinco  funciones  para  implementar  en  lugar  de  siete.  Además,  las  entradas  J  y  
K  son  funciones  de  dos  variables  en  lugar  de  tres  y  la  salida  también  es  una  función  de  
una  variable  menos  (tres  para  un  sistema  Mealy  y  dos  para  un  sistema  Moore).  Menos  
variables  generalmente  significa  menos  lógica  combinacional.

Ocasionalmente,  podemos  decir  que  los  estados  son  equivalentes  simplemente  
inspeccionando  la  tabla  de  estados.  Veremos  el  ejemplo  simple  de  la  Tabla  9.1  para  
ilustrar  este  enfoque.

9­1
Machine Translated by Google

9­2 Capítulo  9  Simplificación  de  circuitos  secuenciales

Tabla  9.1  Una  tabla  de  estados.

q z
qx  0  x  1  x  0  x  1
CA  B 0   0
CAMA 0   0
CA  D 0   1
DA  B 0   1
EA  B 0 1

Tenga  en  cuenta  que  para  los  estados  D  y  E,  el  siguiente  estado  es  el  mismo  (A)  para  x  0  y
también  es  el  mismo  (B)  para  x  1.  Además,  las  salidas  son  las  mismas  para  cada
state,  tanto  para  x  0  como  para  x  1.  Por  lo  tanto,  podemos  eliminar  uno  de  los  estados.  Nosotros
eliminará  el  estado  E  y  obtendrá  la  Tabla  9.2.

Tabla  9.2  Tabla  de  estados  reducidos.

q z
qx  0  x  1  x  0  x  1
CA  B 0   0
BD  D 0   0
CA  D 0   1
DA  B 0 1

Reemplazamos  cada  aparición  de  E  en  la  tabla  de  estado  por  D.  Aunque  es
no  es  obvio,  no  es  posible  una  reducción  adicional.  A  menudo,  no  podemos  ver  el
equivalencias  tan  fácilmente.

EJEMPLO  9.1
q z
qx  0  x  1  x  0 x1  _

CA  B 0   0
BD  D 0   0
CA  D 0   1
DA  C 0 1

Los  estados  C  y  D  son  equivalentes.  Ambos  tienen  una  salida  0  para  x  0,  y  una
1  salida  para  x  1.  Ambos  van  a  A  cuando  x  0,  y  van  a  C  o  D
cuando  x  1.  Podríamos  decir  que  C  y  D  son  equivalentes  si  D  es  equivalente  a
C;  pero  eso  es  una  perogrullada.  Así,  este  sistema  se  puede  reducir  a  tres  estados:

q z
qx  0x1  _  _ x  0  x  1

un  disco B 0   0
B CD CD 0   0
CD  A CD 0 1
Machine Translated by Google

9.1  Un  método  tabular  para  la  reducción  de  estado 9­3

donde  hemos  denominado  al  estado  resultante  de  la  equivalencia  de  C  y  D  
con  un  nombre  compuesto  CD.  (Lo  haremos  algunas  veces,  pero  a  menudo  
se  vuelve  engorroso,  y  nombraremos  el  estado  en  el  sistema  reducido  usando  
el  nombre  del  primer  estado  en  el  grupo).

Más  comúnmente,  las  equivalencias  no  son  tan  obvias.  por  lo  tanto,  nosotros
desarrollará  dos  métodos  algorítmicos  en  las  próximas  dos  secciones.

9.1  UN  MÉTODO  TABULAR  PARA  LA  
REDUCCIÓN  ESTATAL
En  esta  sección,  desarrollaremos  una  técnica  utilizando  un  gráfico  con  un  cuadrado  
para  cada  posible  combinación  de  estados.  Introduciremos  en  ese  cuadrado  una  X  si  
esos  estados  no  pueden  ser  equivalentes  porque  las  salidas  son  diferentes,  un  √  si  los  
estados  son  equivalentes  (porque  tienen  la  misma  salida  y  van  al  mismo  estado  o  
entre  sí  para  cada  entrada),  y  de  lo  contrario,  las  condiciones  que  deben  cumplirse  
para  que  esos  dos  estados  sean  equivalentes  (es  decir,  qué  estados  deben  ser  
equivalentes  para  que  estos  dos  sean  equivalentes).
El  gráfico  tiene  una  fila  para  cada  estado  excepto  el  primero  y  una  columna  para  
cada  estado  excepto  el  último;  solo  se  necesita  la  mitad  inferior  del  gráfico  para  incluir  
todos  los  pares  de  estados.  Para  la  tabla  de  estado  de  la  Tabla  9.1,  primero  obtenemos  
el  gráfico  de  la  Figura  9.1.

Figura  9.1  Gráfico  para  la  Tabla  9.1.

AEC,  BD

D BD

mi BD

A  B  C  D

Para  que  los  estados  A  y  B  sean  equivalentes,  deben  tener  la  misma  salida  tanto  
para  x  0  como  para  x  1  (que  es  lo  que  tienen)  y  deben  pasar  a  estados  equivalentes.  
Por  lo  tanto,  C  debe  ser  equivalente  a  E  y  B  debe  ser  equivalente  a  D,  como  se  
muestra  en  el  primer  cuadrado.  Cada  cuadrado  en  el  balance  de  esa  columna  y  toda  
la  siguiente  columna  contiene  una  X  ya  que  los  estados  A  y  B  tienen  una  salida  de  0  
para  x  1  y  los  estados  C,  D  y  E  tienen  una  salida  de  1.  En  el  cuadrado  CD ,  colocamos  
BD  ya  que  C  va  a  D  y  D  va  a  B  cuando  x  1.  Ese  también  es  el  caso  en  el  cuadrado  
CE .  Finalmente,  en  el  cuadrado  DE ,  colocamos  una  marca  (√),  ya  que  ambos  estados  
tienen  la  misma  salida  y  el  siguiente  estado  para  cada  entrada.  Ahora  debemos  volver  
a  revisar  la  tabla  para  ver  si  se  cumplen  las  condiciones.
Como  B  no  puede  ser  equivalente  a  D  (ya  hay  una  X  en  el  BD
Machine Translated by Google

9­4 Capítulo  9  Simplificación  de  circuitos  secuenciales

cuadrado),  ninguno  de  los  tres  pares  puede  ser  equivalente.  Tachamos  así
esos  cuadrados,  dejando  solo  un  cheque,  como  se  muestra  en  la  Figura  9.2.

Figura  9.2  Gráfico  reducido  con  estados  tachados.

B CE , BD

D BD

mi BD

A B C D

Los  estados  D  y  E  se  pueden  combinar.  Entonces  se  puede  producir  la  tabla  reducida.  En  
el  proceso  de  hacerlo,  se  verifica  que  no  hubo
error  en  la  primera  parte.  Dado  que  se  realizan  entradas  para  estados  combinados  (como
DE),  cada  uno  de  los  estados  originales  debe  ir  al  mismo  estado  en  el  reducido
tabla  y  deben  tener  la  misma  salida.  La  tabla  reducida  se  mostró
en  la  última  sección  (Cuadro  9.2).
El  proceso  no  siempre  es  tan  fácil  como  este.  El  ejemplo  9.2  ilustrará
algunos  pasos  adicionales  que  son  necesarios.

EJEMPLO  9.2
q
q x  0  x  1 z

ABD  1
BD  F  1
CDA  0
DD  E  0
EBC  1
FCD  0

El  gráfico  de  esta  tabla  es

B BD , DF

D A mi

mi CD BD , FC

F C D, A D C D, Delaware

A B C D mi
Machine Translated by Google

9.1  Un  método  tabular  para  la  reducción  de  estado 9­5

Tenga  en  cuenta  que  la  primera  entrada  podría  haberse  escrito  BDF,  es  decir,  los  tres  estados
debe  ser  equivalente.  (De  hecho,  dado  que  esta  es  la  condición  para  que  A  y  B  sean
equivalente,  entonces  requerimos  que  A,  B,  D  y  F  sean  todos  equivalentes).  Yendo
a  través  de  la  tabla,  vemos  que  B  y  D  no  pueden  ser  equivalentes;  A  tampoco  puede
y  D,  ni  D  y  E.  Eso  reduce  la  tabla  a  lo  siguiente:

B BD , DF

D A mi

mi CD BD , FC

F C D, A D C D, Delaware

A B C D mi

Lo  que  queda  es  que  A  es  equivalente  a  E  si  C  es  equivalente  a  D  y  que  C  es
equivalente  a  D  si  A  es  equivalente  a  E.  Eso  nos  permite  marcar  ambos
estos,  produciendo  la  tabla  reducida:

q
q x  0  x  1  z

AE  BC­D  1
B CD F  1
CD  CD  AE  0
F CD  CD  0

Antes  de  ver  algunos  ejemplos  más  complejos,  queremos  enfatizar  el  efecto  que  
tiene  la  columna  de  salida  en  el  proceso.  La  tabla  de  estado
y  el  gráfico  del  ejemplo  9.3  corresponden  a  un  sistema  con  el  mismo  siguiente  estado
comportamiento  como  el  del  Ejemplo  9.2,  pero  una  columna  de  salida  diferente.

EJEMPLO  9.3
q
q x  0  x  1 z

ABD  1
BD  F  1
CD  A  1
DD  E  0
EBC  0
FCD  0

El  gráfico  es  diferente,  porque  los  emparejamientos  que  son  automáticamente  X'd  (por
a  la  salida)  son  diferentes.
Machine Translated by Google

9­6 Capítulo  9  Simplificación  de  circuitos  secuenciales

B BDF

C A BD FA

mi BD , CE

F C Delaware antes  de  Cristo D

A B C D mi

Ninguna  de  las  condiciones  se  puede  satisfacer  y,  por  lo  tanto,  no  se  pueden  combinar  
estados  y  la  tabla  de  estados  no  se  puede  reducir.

A  veces,  cuando  se  tachan  las  desigualdades  obvias,  hay
puede  haber  alguna  duda  en  cuanto  a  si  los  estados  restantes  se  pueden  combinar.
Podríamos  intentar  combinarlos  todos  y  desarrollar  la  tabla  de  estado  reducida.  Si
nos  equivocamos,  pronto  se  hará  evidente.  Además,  si  encontramos  uno  o
más  equivalencias  antes  de  completar  el  proceso,  podemos  reducir  la  tabla
y  comenzar  el  proceso  de  nuevo.  Eso  es  un  poco  más  trabajo,  pero  el  gráfico  para
la  mesa  reducida  es  mucho  más  pequeña  y  puede  ser  más  fácil  trabajar  con  ella.

EJEMPLO  9.4
q z
qx  0  x  1  x  0  x  1
AF  B 0   0
SER  G 0   0
CCG 0   0
DA  C 1
EE  D 1   0
FA  B 0   0
GF  C 0  1 1

El  gráfico  de  esta  tabla  es

B FE , BG

C BG , FC CE

mi FE , BD D GRAMO D GRAMO

F A mi, BG A C , BG A mi, BD

GRAMO FA

A B C D mi F
Machine Translated by Google

9.1  Un  método  tabular  para  la  reducción  de  estado 9­7

Tenga  en  cuenta  que  verificamos  AF,  ya  que  el  requisito  de  que  A  es  equivalente  a  F  es
solo  que  F  es  equivalente  a  A.  Eso  siempre  es  cierto.  Primero  pasamos  por  el
tabla  para  encontrar  las  condiciones  que  no  se  pueden  cumplir,  tachándolas.  Nosotros  también
tenga  en  cuenta  que  la  condición  AF  ya  se  ha  verificado  y,  por  lo  tanto,  D  y  G  son
equivalente.  Durante  este  pase,  podemos  aprovechar  las  nuevas  equivalencias  y  las  
tachaduras  o  podemos  esperar  hasta  el  próximo  pase.  esperando  hasta
la  siguiente  pasada,  la  mesa  se  vuelve

B FE , BG

C BG , FC CE

mi FE , BD D GRAMO D GRAMO

F A mi, BG A C , BG A mi, BD

GRAMO FA

A B C D mi F

Ahora  tenemos  A  equivalente  a  F  y  D  equivalente  a  G.  Este  último  satisface  el
condición  de  que  C  sea  equivalente  a  E  y  B  sea  equivalente  a  E.  Finalmente,
como  C  y  E  son  equivalentes,  B  es  equivalente  a  C.  Eso  hace  que  B,  C  y  E
todo  equivalente.  Por  lo  tanto,  la  tabla  reducida  tiene  tres  estados:  A  (AF),  B  (BCE),
y  D  (DG).

q z
qx  0  x  1  x  0  x  1

AA  B 0   0
bbd 0   0
DA  B 1 1

Con  el  último  gráfico  anterior,  podríamos  haber  reducido  el  sistema  a  uno  con
cinco  estados,  utilizando  únicamente  las  equivalencias  comprobadas  (AF  y  DG).  Eso  podría
producir  la  nueva  mesa

q z
qx  0  x  1  x  0  x  1

AA  B 0   0
CAMA 0   0
CCD 0   0
DA  C 1
EE  D 1  0 0
Machine Translated by Google

9­8 Capítulo  9  Simplificación  de  circuitos  secuenciales

Ahora  podemos  construir  un  nuevo  gráfico.

B A mi, BD

C BD CE

mi BD

A B C D

Sin  embargo,  B  y  D  no  pueden  ser  equivalentes;  C  y  E  son.  Así,  los  estados  B,  C,
y  E  puede  ser  reemplazado  por  un  estado,  B;  que  nos  permitirá  reducir  esta  tabla
al  de  tres  estados  que  ya  hemos  obtenido.

EJEMPLO  9.5
q z
qx  0  x  1  x  0  x  1

AB  D 0   0
CAMA 0
CB  C 1   0
DF  A 0   0
EA  B 1
FE  C 0  1  1 0

Primero  construimos  el  gráfico.

C CD

D BF BF , A C

mi

F CD

A B C D mi

Ninguna  de  las  condiciones  en  los  cuadrados  se  contradice.  El  cuadro  dice  que
para  que  A  sea  equivalente  a  C,  C  debe  ser  equivalente  a  D.  Eso  haría  que  A,
C  y  D  un  grupo.  Para  que  A  sea  equivalente  a  D,  B  debe  ser  equivalente  a  F,
Machine Translated by Google

9.1  Un  método  tabular  para  la  reducción  de  estado 9­9

y  para  que  B  sea  equivalente  a  F,  C  debe  ser  equivalente  a  D.  Finalmente,  C  es  equivalente  a  D  si  
B  es  equivalente  a  F  y  A  es  equivalente  a  C.  Todos  estos  pueden
ser  cierto,  produciendo  una  tabla  de  estado  reducida  con  solo  tres  estados,  A  (ACD),
B  (BF)  y  E.  (A  medida  que  construimos  esa  tabla,  podemos  verificar  nuestras  conclusiones
del  gráfico  asegurándose  de  que  todos  los  estados  de  un  grupo  vayan  a  un  estado  de  un
un  solo  grupo  para  cada  entrada).

q z
qx  0  x  1  x  0  x  1
AB  A 0   0
SER  UN 0
EA  B 1  1 1

Como  nuestro  último  ejemplo  de  esta  técnica,  consideraremos  un  sistema  con  dos EJEMPLO  9.6

entradas,  x  y.  Por  lo  tanto,  hay  cuatro  columnas  en  la  siguiente  sección  de  estado  de  la
mesa.

xyq   q
0  0  0  1 1  0  1  1z

AB  AFD  1
SER  UN D C  1
CAF D C  0
DA  A B C  1
EB  ACB  1
FA  F B C  0

El  problema  de  los  gráficos  en  realidad  no  es  diferente  al  anterior;  Solo  tenemos  más
condiciones,  ya  que  los  estados  equivalentes  deben  ir  a  estados  equivalentes  para  los  cuatro
combinaciones  de  entrada  (es  decir,  las  cuatro  columnas).  El  gráfico  entonces  se  convierte  en

SER
B
C DF

A BF
D A mi
CD

FC
mi D A
BD
antes  de  Cristo antes  de  Cristo

F BD

A B C D mi

Ninguno  de  los  grupos  de  tres  estados  que  se  muestran  en  el  gráfico  puede  ser  equivalente;
uno  de  cada  uno  tiene  una  salida  diferente  a  los  otros  dos.  tachando  esos
cuadrados,  tenemos
Machine Translated by Google

9­10 Capítulo  9  Simplificación  de  circuitos  secuenciales

SER
B
C DF

A BF
D A mi
CD

FC
mi D A
BD
antes  de  Cristo antes  de  Cristo

F BD

A B C D mi

Eso  deja  tres  emparejamientos  intactos,  A  E,  B  D  y  CF.  El  único  requisito
para  cualquiera  de  estos  es  que  uno  de  los  otros  sea  equivalente.  Así,  podemos  reducir
esto  a  tres  estados  de  la  siguiente  manera:

xy  0   q
q 0  0  1 1  0  1  1 z

UN  BACB  1
B  AAAC  1
C  ACBC  0

[ES  1;  EJ  1]

9.2  PARTICIONES
Una  partición  sobre  los  estados  de  un  sistema  es  una  agrupación  de  los  estados  de  ese
sistema  en  uno  o  más  bloques.  Cada  estado  debe  estar  en  uno  y  solo  uno
bloquear.  Para  un  sistema  con  cuatro  estados,  A,  B,  C  y  D,  la  lista  completa  de
las  particiones  son

P0  (A)(B)(C)(D) P8  (CA)(BD)
P1  (AB)(C)(D) P9  (AD)(BC)
P2  (CA)(B)(D) P10  (ABC)(D)
P3  (AD)(B)(C) P11  (ABD)  (C)
P4  (A)(BC)(D) P12  (ACD)  (B)
P5  (A)(BD)(C) P13  (A)  (BCD)
P6  (A)(B)(CD) NP  (ABCD)
P7  (AB)  (CD)
Esta  lista  de  particiones  no  depende  de  los  detalles  de  la  tabla  de  estado,
sólo  en  la  lista  de  estados.  P0  es  la  partición  con  cada  estado  en  un  separado
bloquear;  PN  es  la  partición  con  todos  los  estados  en  el  mismo  bloque.  Lo  haremos
preocuparse  por  las  particiones  que  tienen  propiedades  especiales  para  un  determinado
tabla  de  estados  Hay  tres  categorías  de  particiones  que  serán  de  interés.
Para  ilustrar  esto,  usaremos  la  Tabla  9.3.
Machine Translated by Google

9.2  Particiones 9­11

Cualquier  partición  con  dos  bloques  se  puede  utilizar  para  asignar  uno  de  los  estados Tabla  9.3  Tabla  de  estados  para  ilustrar
variables  A  los  estados  del  primer  bloque  se  les  asignaría  0  y  a  los  del tipos  de  particiones.
el  segundo  bloque  1  (o  viceversa).  P7  a  P13  cumplen  con  ese  requisito.
q
(Escribimos  las  particiones  en  orden  alfabético;  por  lo  tanto,  el  estado  A  generalmente  será x  0  x  1 z
q
asignados  todos  0).  En  un  sistema  de  cuatro  estados,  solo  hay  tres  pares  de  
CA  1
particiones  que  se  pueden  usar  para  una  asignación  de  estado  de  dos  variables,  P7  y  P8,  P7
B  DB  0
y  P9,  y  P8  y  P9.  Los  tres  se  muestran  en  la  Tabla  9.4. CA  AB  1
D  BA  0
Tabla  9.4  Asignaciones  de  estados  para  cuatro  estados.

qq1  _ q2 qq1  _ q2 qq1  _ q2

un  0 0 un  0 0 un  0 0


segundo  0 1 segundo  0 1 B  1 1
C  1 0 C  1 1 C  0 1
D  1 1 D  1 0 D  1 0

P7   P8 P7   P9 P8   P9


(un) (b) (c)

Si  probamos  cualquier  otro  par  de  particiones  de  dos  bloques,  no  tenemos  una  asignación  
de  estado  adecuada.  Por  ejemplo,  usando  P8  y  P11,  obtenemos  la  asignación  de  la  tabla  
9.5.  Tenga  en  cuenta  que  los  estados  B  y  D  tienen  la  misma  asignación. Tabla  9.5  Una  falla
Una  segunda  clase  útil  de  particiones  son  aquellas  para  las  cuales  todos  los asignación.
Los  estados  en  cada  bloque  tienen  la  misma  salida  para  cada  una  de  las  entradas.  Semejante
q q1 q2
Las  particiones  se  conocen  como  consistentes  en  la  salida.  P0  siempre  es  consistente  en  
la  salida;  para  la  Tabla  9.3,  las  otras  particiones  consistentes  de  salida  son A 0 0
B 1 0
P2  (CA)(B)(D) C 0 1
D 1 0
P5  (A)(BD)(C)
P8 P11
P8  (CA)(BD)

Conociendo  el  bloque  de  una  partición  consistente  de  salida  y  la  entrada  es
suficiente  información  para  determinar  la  salida  (sin  tener  que  saber
qué  estado  dentro  de  un  bloque).
Para  algunas  particiones,  conocer  el  bloque  de  la  partición  y  la  entrada
es  suficiente  información  para  determinar  el  bloque  del  siguiente  estado.  tal
Se  dice  que  la  partición  tiene  la  propiedad  de  sustitución  y  se  denomina
Partición  SP.  PN  siempre  es  SP  ya  que  todos  los  estados  están  en  el  mismo  bloque,  y
P0  siempre  es  SP  ya  que  conocer  el  bloque  es  lo  mismo  que  conocer  el  estado.
Otros  pueden  ser  SP,  según  los  detalles  de  la  tabla  de  estado.  Para  esto
tabla  de  estado,  hay  dos  particiones  SP  no  triviales  (las  que  no  son  P0  y
PN),  a  saber,

P7  (AB)  (CD)
P9  (AD)(BC)

Si  una  partición  que  no  sea  P0  es  tanto  SP  como  la  salida  consistente,  entonces
puede  reducir  el  sistema  a  uno  que  tenga  solo  un  estado  para  cada  bloque  de  ese
dividir.  (Eso  debería  ser  obvio  ya  que  conocer  la  entrada  y  el  bloque
Machine Translated by Google

9­12 Capítulo  9  Simplificación  de  circuitos  secuenciales

de  la  partición  es  todo  lo  que  necesitamos  saber  para  determinar  la  salida,  ya  que  
es  una  salida  consistente,  y  para  determinar  el  siguiente  estado,  ya  que  es  SP).  
Para  este  ejemplo,  ninguna  de  las  particiones  del  SP  también  tiene  una  salida  
coherente.  En  el  Ejemplo  9.1,  la  partición

(A  B  C  D)

es  tanto  el  SP  como  la  salida  consistentes;  por  lo  tanto,  pudimos  reducir  el  sistema  
a  uno  con  solo  tres  estados.
Antes  de  desarrollar  un  método  para  encontrar  todas  las  particiones  SP,  
veremos  el  Ejemplo  9.7.  Nos  ayudará  a  comprender  la  aplicación  de  las  diversas  
categorías  de  particiones.

EJEMPLO  9.7
Tarea  1
q q1  q2 q3
q qx  0x1  _  _ z
un  00  0
CDA  0
B  00  1
1  a.
C  01  0
1  euro
D  01  1
DB  E  1
mi  10  0
EBE  0

Para  esta  asignación  de  estado,  obtenemos  la  ecuación  de  salida  y  las  entradas  para
chanclas  D

z  q2  q3
D1  xq1  xq3
D2  xq  1q  2  xq  1q  3
D3  xq2q3  xq1  xq  1q  3

Esto  requiere  11  compuertas  y  25  entradas  de  compuerta  (para  AND  y  OR  o  
NAND,  incluido  un  NOT  para  x).  Necesitaríamos  cuatro  paquetes  de  circuitos  
integrados  de  la  serie  7400  para  implementar  la  lógica  combinacional  con  puertas  
NAND.  (El  desarrollo  de  las  ecuaciones  y  el  conteo  de  puertas  se  deja  como  ejercicio).
Si  hacemos  la  asignación  de  estado  usando  las  siguientes  tres  particiones:

P1  (ABC)(DE)  SP
P2  (AB)(CDE)  ESP
P3  (AE)(BCD) salida  consistente

tenemos

Tarea  2
q q1  q2  q3 Ecuaciones  Lógicas
un  000 zq3  _
B  001 D1x  _
011  _ D2  x  q2
D  111 D3  xq1  xq  2 {q  2q  3  o  q  1q  3}  xq  1q2
mi  110
Machine Translated by Google

9.2  Particiones 9­13

Esto  requiere  solo  siete  puertas,  16  entradas  y  tres  paquetes  de  circuitos  integrados  
de  puertas  NAND  de  la  serie  7400.  D3  es  la  única  función  compleja.

Vimos  la  ventaja  de  usar  una  partición  consistente  de  salida,  que  la  salida  es  
igual  a  esa  variable  o  su  complemento.  Por  lo  tanto,  z  es  solo  una  función  de  q3.

Vimos  la  ventaja  de  usar  una  partición  SP  para  asignar  una  variable  de  
estado,  que  el  siguiente  estado  de  esa  variable  es  solo  una  función  de  la  entrada,  
x,  y  esa  variable  (sin  importar  cuántos  flip  flops  se  necesiten  para  implementar  ese  
sistema) .  Dado  que  q1  y  q2  se  asignan  mediante  particiones  SP,  D1  es  solo  una  
función  de  x  (también  podría  depender  de  q1)  y  D2  es  solo  una  función  de  x  y  q2.  
Para  flip  flops  JK ,  las  entradas  son  funciones  solo  de  x  (x,  x  y  1  son  las  únicas  
posibilidades).  De  hecho,  no  necesitamos  tratar  con  toda  la  tabla  de  estados  para  
la  implementación  de  flip  flops  asignados  de  acuerdo  con  las  particiones  SP;  solo  
necesitamos  una  mesa  de  bloques.  Así,  para  los  flip  flops  asignados  según  la  
partición  P1  (ABC)(DE),  donde  al  primer  bloque  se  le  asigna  0,  tendríamos  la  tabla  
9.6,  que  da
Tabla  9.6  Tabla  de  verdad  para  q1.
D1  q1  x J1xK1x  _  _  _
xq1  _ q1 JK

Esta  es,  por  supuesto,  la  misma  respuesta  que  obtuvimos  antes  para  D1 .  También   (ABC)00  0 0  X


podríamos  seguir  este  enfoque  para  D2  o  J2  y  K2 ,  pero  necesitaríamos  la  tabla  de   (DE)  01  0 X  1
(ABC)10  1 1X
verdad  completa  de  cuatro  variables  para  resolver  las  entradas  de  q3.
(DE)  11  1 x0

9.2.1  Propiedades  de  las  particiones
Primero,  definiremos,  para  pares  de  particiones,  la  relación  mayor  o  igual  ()  y  dos  
operadores,  el  producto  y  la  suma.

■  Pa  Pb  si  y  solo  si  todos  los  estados  en  el  mismo  bloque  de  Pb  también  están  en
la  misma  cuadra  de  Pa.

Por  ejemplo,

P10  (ABC)(D)  P2  (AC)(B)(D)

ya  que  los  únicos  estados  en  el  mismo  bloque  de  P2  (A  y  C)  también  están  en  el  
mismo  bloque  de  P10.  P0  es  la  partición  más  pequeña;  todas  las  demás  particiones  
son  mayores  que  ella.  PN  es  la  partición  más  grande;  es  mayor  que  todos  los  
demás.  No  todas  las  particiones  están  ordenadas.  Por  ejemplo,  P1  no  es  ni  P2.

■  El  producto  de  dos  particiones  se  escribe  Pc  PaPb.

Dos  estados  están  en  el  mismo  bloque  del  producto  Pc  si  y  solo  si  están  
en  el  mismo  bloque  tanto  de  Pa  como  de  Pb.

Por  ejemplo,

P12P13  {(ACD)(B)}{(A)(BCD)}  (A)(B)(CD)  P6
Machine Translated by Google

9­14 Capítulo  9  Simplificación  de  circuitos  secuenciales

Los  únicos  estados  que  están  en  el  mismo  bloque  de  P12  y  P13  son  C  y  D;  
entonces  están  juntos  en  el  producto.  Las  particiones  Pa  y  Pb  son  siempre  
mayores  o  iguales  al  producto  Pc.  Si  se  piden  las  dos  particiones,  el  producto  es  
igual  a  la  más  pequeña.  Por  ejemplo,  P6  P13  y,  por  tanto,  P6P13  P6.  También  
queda  claro  a  partir  de  las  definiciones  que,  para  cualquier  partición,  Pa

PaP0  P0  y  PaPN  Pa

■  La  suma  de  dos  particiones  se  escribe  Pc  Pa  Pb.

Dos  estados  están  en  el  mismo  bloque  de  la  suma  Pd  si  están  en  el  
mismo  bloque  de  Pa  o  Pb  o  ambos.

Por  ejemplo,

P2  P5  {(AC)(B)(D)}  {(A)(BD)(C)}  P8  (AC)(BD)

La  suma  a  veces  reúne  estados  que  no  están  en  el  mismo  bloque  de  ninguno  de  
los  dos,  ya  que  se  combinan  bloques  completos.  Considere  el  siguiente  ejemplo:

Pa  (AB)(C)(DF)(EG)
Pb  (ACD)(BG)(E)(F)
Pa  Pb  (ABCDEFG)  PN

Como  A  y  B  están  en  el  mismo  bloque  de  Pa  y  A,  C  y  D  están  en  el  mismo  bloque  
de  Pb,  entonces  ABCD  están  en  un  bloque  de  la  suma.  Pero  F  está  en  el  mismo  
bloque  que  D  en  Pa  y  G  está  en  el  mismo  bloque  que  B  en  Pb;  por  lo  que  deben  
incluirse  con  ABCD.  Finalmente,  E  está  en  el  mismo  bloque  que  G  en  Pa,  
produciendo  una  suma  de  PN.  La  suma  Pc  siempre  es  mayor  o  igual  que  Pa  y  Pb.  
Si  Pa  y  Pb  están  ordenados,  la  suma  es  igual  al  mayor.  Por  lo  tanto,  P6  P13  P13.  
También,

Pa  P0  Pa  y  Pa  PN  PN

9.2.2  Búsqueda  de  particiones  SP
El  proceso  de  encontrar  todas  las  particiones  SP  consta  de  dos  pasos.

Paso  1:  para  cada  par  de  estados,  encuentre  la  partición  SP  más  pequeña  
que  coloque  esos  dos  estados  en  el  mismo  bloque.

Debemos  preguntarnos  qué  se  requiere  para  hacer  una  partición  SP  si  estos  
dos  estados  están  en  el  mismo  bloque,  es  decir,  qué  hace  que  estos  dos  estados  
sean  equivalentes.  Deben  ir  a  estados  equivalentes  para  cada  entrada.  Luego  
debemos  continuar,  determinando  qué  agrupaciones  son  forzadas.
Machine Translated by Google

9.2  Particiones 9­15

Usaremos  la  tabla  de  estado  de  la  Tabla  9.3,  repetida  aquí  sin  las  columnas  de   Tabla  9.7  Una  tabla  de  estado  para
salida  (ya  que  no  tiene  relevancia  para  encontrar  particiones  SP)  como  la  Tabla  9.7. encontrar  
particiones  SP.

Para  que  A  sea  equivalente  a  B,  C  debe  ser  equivalente  a  D.  Continuamos   q
comprobando  qué  condiciones  se  requieren  para  que  C  sea  equivalente  a  D.  En   q x0  _ x1  _
este  ejemplo,  el  único  requisito  es  que  A  sea  equivalente  a  B.  Así,  tenemos  nuestra  
CA
primera  partición  SP BD  B
TAXI
(AB)  →  (CD)  →  →  (AB)(CD)  P1 DB  A
donde  la  flecha  derecha  (→)  se  usa  para  indicar  requiere,  y  la  flecha  doble  indica  la  
partición  SP  más  pequeña  que  resulta.  A  veces,  no  encontramos  nuevas  condiciones  
y  otras  veces  las  condiciones  obligan  a  todos  los  estados  a  unirse  en  un  solo  bloque,  
produciendo  PN.
El  siguiente  paso  es

(AC)  →  (AB)  →  (CD)  →  (ABCD)  PN

(Dado  que  C  debe  estar  con  A  y  B  debe  estar  con  A,  entonces  A,  B  y  C  deben  estar  
todos  juntos.  Pero  entonces  D  debe  estar  con  C,  lo  que  resulta  en  PN).  El  equilibrio  
del  paso  1  produce

(AD)  →  (BC)  →  →  (AD)(BC)  P2
(BC)  →  (AD)  →  →  (AD)(BC)  P2
(BD)  →  (AB)  →  →  PN
(CD)  →  (AB)  →  →  (AB)(CD)  P1

Paso  2:  encuentre  la  suma  de  todas  las  particiones  SP  encontradas  en  el  
paso  1  y,  si  se  encuentran  nuevas,  repita  el  paso  2  en  estas  nuevas.

En  este  proceso,  no  necesitamos  encontrar  la  suma  de  otra  partición  con  
cualquier  partición  de  dos  bloques  ya  que  eso  siempre  resulta  en  la  partición  de  
dos  bloques  o  PN.  Además,  si  una  partición  es  mayor  que  otra,  su  suma  siempre  es  
la  partición  mayor.  También  podemos  omitir  esas  adiciones.
Para  el  primer  ejemplo,  no  hay  sumas  para  calcular,  ya  que  las  dos  únicas  
particiones  SP  no  triviales  únicas  (es  decir,  distintas  de  P0  y  PN)  formadas  por  el  
paso  1  son  ambas  de  dos  bloques.

EJEMPLO  9.8
q
qx  0  x  1  z

CA  D  1
BC  D  0
CB  D  1
CC  A  1

El  paso  1  produce  cinco  particiones  SP.
Machine Translated by Google

9­16 Capítulo  9  Simplificación  de  circuitos  secuenciales

(AB)  →  √*  →  →  P1  (AB)(C)(D)

(AC)  →  (BC),  (BC)  →  bien  →  →  P2  (ABC)(D)
(AD)  →  √  →  →  P3  (AD)(B)(C)

(BC)  →  √  →  →  P4  (A)(BC)(D)

(BD)  →  (AD)  →  (ABD)  →  →  P5  (ABD)(C)
(CD)  →  (BC),  (AD) →  →  PN

El  paso  2  realmente  solo  requiere  tres  sumas,  aunque  mostraremos  las  10
abajo:

P1  P2  (ABC)(D)  →  →  P2 innecesario

P1  P3  (ABD)(C)  →  →  P5
P1  P4  (ABC)(D)  →  →  P2
P1  P5  (ABD)(C)  →  →  P5 innecesario

P2  P3  →  →  PN  no  necesario
P2  P4  (ABC)(D)  →  →  P2 innecesario

P2  P5  →  →  PN  no  necesario
P3  P4  (AD)(BC)  →  →  P6  (AD)(BC)

P3  P5  (ABD)(C)  →  →  P5 innecesario

P4  P5  →  →  PN  no  necesario
Las  particiones  que  se  muestran  en  negrita  son  de  dos  bloques  y,  por  lo  tanto,  nunca  producen
algo  nuevo.  Solo  se  encuentra  una  nueva  partición  SP  en  el  paso  2.

EJEMPLO  9.9
q
qx  0  x  1  z

CA  D  0
BD  A  0
CE  D  0
DB  A  1
CE  D  1

El  paso  1  del  proceso  produce  cinco  particiones  SP,  de  la  siguiente  manera:

(AB)  →  (CD)(AD)  →  (ACD)  →  (BCE)  →  →  PN
(CA)  →  (CE) →  →  (ACE)(B)(D)  P1
(AD)  →  (BC)  →  (DE) →  →  (ADE)(BC)  P2
(AE)  →  √ →  →  (AE)(B)(C)(D)  P3
(BC)  →  (ADE) →  →  P2
(BD)  →  √ →  →  (A)(BD)(C)(E)  P4
(BE)  →  (ACD)  →  (BCE) →  →  PN
(CD)  →  (BE)(AD)  →  (BC) →  →  NP
(CE)  →  √ →  →  (A)(B)(CE)(D)  P5
(DE)  →  (BC)(AD)  →  (ADE) →  →  P2

*Este  es  el  primer  ejemplo  de  un  emparejamiento  que  no  requiere  combinar  otros  estados.  Él
da  como  resultado  una  partición  donde  estos  dos  estados  están  en  un  bloque  y  todos  los  demás  están  por
ellos  mismos.
Machine Translated by Google

9.3  Reducción  de  estado  usando  particiones 9­17

Para  el  paso  2,  agregamos  cada  uno  de  los  pares  de  particiones  encontrados  
en  el  paso  1,  excepto  que  no  necesitamos  agregar  P2  a  nada  (ya  que  es  de  dos  
bloques)  y  P1  no  necesita  agregarse  a  P3  o  P5  (ya  que  es  mayor  que  cada  uno  de  ellos).

P1  P4  (ACE)(BD) P6
P3  P4  (AE)(BD)(C) P7
P3  P5  (ACE)(B)(D) P1
P4  P5  (A)(BD)(CE) P8

Ahora  agregamos  pares  de  estas  nuevas  particiones  (con  las  mismas  excepciones  
anteriores);  solo  hay  una  suma  (que  no  produce  nada  nuevo):

P7  P8  (ACE)(BD) P6

Si  hubiera  nuevas  particiones  de  más  de  dos  manzanas,  también  habrá  que  
añadirlas.
Para  este  ejemplo,  hay  ocho  particiones  de  SP  no  triviales,  de  las  cuales  dos  
son  de  dos  bloques  y  ninguna  es  coherente  con  la  salida.  Volveremos  a  esta  tabla  de  
estados  en  las  próximas  secciones  cuando  discutamos  la  reducción  de  estados  y  cómo
hacer  buenas  asignaciones  estatales.

[SP  2,  EJ  2]

9.3  REDUCCIÓN  DE  ESTADO  MEDIANTE  
PARTICIONES
Cualquier  partición  que  sea  coherente  con  la  salida  y  SP  se  puede  usar  para   Tabla  9.8  Una  tabla  de  estado  
reducir  el  sistema  a  uno  con  un  estado  para  cada  bloque  de  esa  partición.  Así   reducible.
como  siempre  hay  una  única  partición  de  SP  (PN)  más  grande,  siempre  hay  una  
única  partición  de  SP  consistente  de  salida  más  grande.  Ese  es  el  que  tiene  la   q
qx  0x1  _  _ z
menor  cantidad  de  bloques  y,  por  lo  tanto,  corresponde  al  sistema  reducido  con  
la  menor  cantidad  de  estados.* CDA  1
BCD  0
Para  la  tabla  de  estado  del  ejemplo  9.8,  repetida  aquí  como  tabla  9.8,  la  única  
CDB  1
partición  SP  que  tiene  una  salida  consistente  es  P3  (AD)(B)(C);  así,  esta  tabla  de   CC  A  1
estados  se  puede  reducir  a  una  con  tres  estados  (uno  para  cada  bloque  de  P3).
Llamaremos  al  estado  combinado  A  (en  lugar  de  AD);  la  tabla  reducida  se  
muestra  en  la  Tabla  9.9. Tabla  9.9  Tabla  de  estados  
No  necesitamos  recalcular  todas  las  particiones  SP  (aunque  para  este   reducidos.
pequeño  ejemplo,  eso  sería  muy  fácil).  Cualquier  partición  SP  del  sistema  original  
q
que  sea  mayor  que  ()  la  utilizada  para  reducir  el  sistema  sigue  siendo  SP.  Para  
qx  0x1  _  _ z
este  ejemplo,  solo  P5  P3.  Por  lo  tanto,  obtenemos  una  partición  SP  no  trivial  para  
CAA  1
el  sistema  reducido,  a  saber,
BCA  0
P5  (AB)(C) contrato  colectivo  de  trabajo  1

donde  AD  del  P5  original  ha  sido  reemplazado  por  el  nuevo  estado  A.
La  última  tabla  de  estado  de  la  sección  anterior,  Ejemplo  9.9,  no  tenía  
particiones  de  SP  coherentes  con  la  salida.  Por  lo  tanto,  no  se  puede  reducir.

*Es  posible  que  la  salida  de  PN  sea  consistente;  pero  ese  es  un  sistema  combinacional,  
donde  la  salida  no  depende  del  estado.
Machine Translated by Google

9­18 Capítulo  9  Simplificación  de  circuitos  secuenciales

Ahora  veremos  dos  tablas  de  estado  con  la  misma  sección  de  estado  siguiente,  pero  
columnas  de  salida  diferentes.

EJEMPLO  9.10
q q
qx  0x1  _  _ z qx  0x1  _  _ z

CA  D  0 CA  D  0
BD  A  1 BD  A  1
CE  D  0 CE  D  0
DB  A  0 DB  A  1
CE  D  0 CE  D  0

El  conjunto  de  particiones  SP  para  estos  dos  es  el  mismo  que  el  del  ejemplo  9.9,  ya  
que  la  propiedad  de  sustitución  no  depende  de  la  salida.  Repitiendo  aquí  la  lista  
completa,  tenemos

P1  (ACE)(B)(D)
P2  (ADE)(BC)
P3  (AE)(B)(C)(D)
P4  (A)(BD)(C)(E)
P5  (A)(B)(CE)(D)
P6  (ACE)(BD)
P7  (AE)(BD)(C)
P8  (A)(BD)(CE)

En  la  primera  tabla,  P1,  P3  y  P5  son  las  únicas  particiones  coherentes  de  salida.
Desde

P1  (ACE)(B)(D)

es  mayor  que  cualquiera  de  los  otros,  lo  usaremos  para  reducir  el  sistema  a  uno  con  
tres  estados,  como  sigue:

q
q x  0  x  1  z

ACE  ACE  D  0
B  DA­CE  1
D  BA­CE  0

(Etiquetamos  el  estado  combinado  con  un  nombre  compuesto;  podríamos  haberlo  llamado  
simplemente  A).  Tenga  en  cuenta  que  solo  P6  P1;  por  tanto,  la  única  partición  SP  del  sistema  
reducido  es

P6  (ACE )(BD)

Para  la  segunda  tabla  de  estados,  P1,  P3,  P4,  P5,  P6  y  P8  son  todos  consistentes  
en  la  salida.  el  mas  grande  es

P6  (ACE )(BD)

como  se  puede  ver  en  el  gráfico  a  continuación,  donde  los  más  pequeños  están  a  la  izquierda.
Machine Translated by Google

9.3  Reducción  de  estado  usando  particiones 9­19

(A mi)  ( B )  ( C )  ( D )

(A CE )  ( B )  ( D )

A( B )  ( CE )  ( D )
()   (A CE )  ( BD )

A( BD )  ( CE )
()  

(A )  ( BD )  ( C )  ( mi)

Así  podemos  reducir  el  sistema  a  uno  con  sólo  dos  estados,  A  (ACE)  y
B  (BD),  como  se  muestra  a  continuación.  Este  sistema  requiere  solo  un  flip  flop.

q
qx  0  x  1  z

AA  B  0
BB  A  1

El  cálculo  de  todas  las  particiones  SP  para  un  sistema  bastante  grande
puede  llevar  bastante  tiempo.  Si  nuestro  interés  es  reducir  el  sistema  a
uno  con  el  número  mínimo  de  estados,  podemos  hacerlo  inmediatamente  cuando
encontramos  una  partición  SP  consistente  de  salida.  Considere  el  siguiente  ejemplo.

EJEMPLO  9.11
q
qx  0  x  1  z

AB  E  0
BD  A  1
CG  A  0
DF  G  1
EB  C  0
FD  G  1
GD  E  1

A  medida  que  comenzamos  el  proceso  de  búsqueda  de  particiones  SP,  obtenemos

(AB)  →  (BD)(AE)  →  (DF)(AG)(CE)  →  →  PN
(AC)  →  (BG)(AE)  →  (ACE) →  →  (ACE)(BG)(D)(F)

Esta  partición  SP  también  es  coherente  con  la  salida.  Por  lo  tanto,  podríamos  detenernos  y
reduzca  el  sistema  a  uno  con  cuatro  estados  (uno  para  cada  bloque)  y  encuentre  el
Particiones  SP  de  ese  sistema  más  pequeño.

q
qx  0  x  1  z

AB  A  0
BD  A  1
DF  B  1
FD  B  1
Machine Translated by Google

9­20 Capítulo  9  Simplificación  de  circuitos  secuenciales

Ahora  podemos  encontrar  las  particiones  SP  de  este  sistema  más  pequeño.

(AB)  →  (BD)  →  (DF)  →  →  PN
(AD)  →  (AB)*(BF)  →  →  PN
(AF)  →  (BD)(AB)  →  →  PN
(BD)  →  (DF)(AB)  →  →  PN
(BF)  →  (AB)  →  →  PN
(DF)  →  √  →  (A)(B)(DF)

Este  sistema  se  puede  reducir  aún  más,  a  uno  con  tres  estados,  ya  que  el  SP
la  partición  también  es  consistente  en  la  salida.  El  sistema  equivalente  más  pequeño  es  por  lo  tanto

q
qx  0  x  1  z

AB  A  0
BD  A  1
DD  B  1

Como  ejemplo  final,  considere  la  siguiente  tabla  de  estado,  donde  se  muestran  cinco  
columnas  de  salida  diferentes.  (Este  es  un  sistema  de  Moore  con  una  salida
eso  no  depende  de  la  entrada;  consideraremos  las  diferentes  salidas
como  cinco  problemas  diferentes.)

EJEMPLO  9.12
q
q x0  _ x1  _
z1 z2 z3 z4 z5
AD  B  00011
SER  C  00101
CA  B  11001
DEC  11111
ED  B  10011

Comenzaremos  por  encontrar  todas  las  particiones  SP.  Eso,  por  supuesto,  no
depende  de  qué  columna  de  salida  se  utilice.

(AB)  →  (BC)(DE)  →  (AE)  →  →  PN
(AC)  →  (AD)  →  (AE )  (BC)  →  →  PN
(AD)  →  (DE)(BC)  →  →  (ADE)(BC)  P1
(AE)  →  √  →  →  (AE)(B)(C)(D)  P2
(BC)  →  (AE)  →  →  (AE)(BC)(D)  P3
(BD)  →  √  →  →  (A)(BD)(C)(E)  P4
(BE)  →  (BC)(DE )  →  (AE )  →  →  PN
(CD)  →  (AE)(BC)  →  →  (AE)(BCD)  P5
(CE)  →  (AD)  →  (DE)(BC)  →  →  PN
(DE)  →  (BC)  →  (AE)  →  →  P1

*Dado  que  encontramos  que  la  única  partición  SP  que  combina  A  y  B  es  PN,  podemos  dejar  de
mirando;  esto  también  debe  producir  PN.
Machine Translated by Google

9.3  Reducción  de  estado  usando  particiones 9­21

Ahora,  formando  sumas,  obtenemos  solo  una  nueva  partición

P2  P4  (AE)(BD)(C)  P6
Por  lo  tanto,  hay  seis  particiones  SP  no  triviales.
Para  la  primera  columna  de  salida,  ninguna  de  las  particiones  SP  tiene  una  salida  
coherente.  Por  lo  tanto,  la  tabla  de  estados  no  se  puede  reducir.  (Volveremos  a  este  
ejemplo  en  la  siguiente  sección  y  determinaremos  una  buena  asignación  de  estado).
Para  la  segunda  columna  de  salida,  solo  P2  es  coherente  con  la  salida.  Así,  este  
sistema  puede  reducirse  a  uno  con  cuatro  estados  (reemplazando  A  y  E  por  un  estado  
llamado  A).

q
qx  0x1  _  _ z2
Anuncio  B 0  

bachillerato  c 0  

TAXI
DA  C 1  1

Dado  que  cualquier  partición  SP  que  sea  mayor  que  P2  es  una  partición  SP  de  la  tabla  
reducida  (con  los  estados  A  y  E  mostrados  como  uno,  solo  A),  podemos  ver  que  las  
particiones  SP  son

P1  (AD)(BC)
P3  (A)(BC)(D)
P5  (A)  (BCD)
P6  (A)(BD)(C)

Para  la  tercera  columna  de  salida,  P2,  P4  y  P6  son  todas  consistentes  en  la  salida.
Dado  que  P6  es  el  más  grande  de  estos,  se  usa  para  reducir  el  sistema  a  uno  con  solo  
tres  estados.

q
qx  0x1  _  _ z3
AB  B 0  
bachillerato  c 0  
TAXI 1

La  única  partición  SP  no  trivial  para  este  sistema  es

P5  (A)(BC)

Para  la  cuarta  columna  de  salida,  P1  es  una  salida  consistente,  lo  que  reduce  el
tabla  de  estados  a  una  con  solo  dos  estados.
Machine Translated by Google

9­22 Capítulo  9  Simplificación  de  circuitos  secuenciales

q
qx  0x1  _  _ z4
AA  B 0
BAB 1

Finalmente,  para  la  última  columna  de  salida,  no  hubo  necesidad  de  encontrar  el  SP
tabiques;  PN  es  salida  consistente;  el  sistema  es  combinacional.  No  es  asi
depender  del  estado.

z  1

[SP  3,  EJ  3]

9.4  ELEGIR  UNA  ASIGNACIÓN  DE  ESTADO
En  esta  sección,  veremos  una  estrategia  para  hacer  un  "buen"  estado
asignación.  Primero  encontraremos  todas  las  particiones  SP,  luego  reduciremos  el  sistema  
si  es  posible  y  finalmente  haremos  una  asignación  de  estado  para  resolver  el  problema.
Tenemos  tres  niveles  de  trabajo,  dependiendo  de  lo  importante  que  sea  para
reducir  el  costo  de  la  lógica  combinacional.  Si  un  mínimo  absoluto  es
requerido,  debemos  probar  todos  los  conjuntos  posibles  de  particiones  de  dos  bloques  para  los  cuales
el  producto  es  P0.  Para  tres  o  cuatro  estados,  solo  hay  tres  de  esos
tareas,  y  es  bastante  fácil  de  hacer  eso.  Para  cinco  estados,  sin  embargo,  que
número  sube  a  140,  y  este  método  no  es  práctico.  (Se  eleva  a  420
para  seis  estados,  a  840  para  siete  u  ocho  estados,  y  a  más  de  10  millones  para
nueve  estados.)  Si  podemos  usar  particiones  SP  de  dos  bloques  para  uno  o  más  de  los
variables,  eso  es  casi  siempre  preferible  (siempre  y  cuando  no  aumentemos
el  número  de  variables).  Entonces  podemos  tratar  de  agrupar  estados  que  están  en  el
mismo  bloque  de  particiones  SP  multibloque  o  usar  particiones  que  correspondan  a  una  o  
más  de  las  columnas  de  salida  para  las  otras  variables.  Este
generalmente  conducirá  a  una  solución  bastante  buena.  Por  último,  y  con  menos  
probabilidades  de  producir  buenos  resultados,  podríamos  elegir  una  asignación  al  azar,  digamos  usando
000  para  A,  001  para  B,  y  así  sucesivamente.  A  veces,  eso  conducirá  a  una  buena
solución.  Pero  más  a  menudo,  resultará  en  un  sistema  más  costoso.
Tabla  9.10  Asignación  de  estados Para  ilustrar  esto,  consideraremos  el  ejemplo  de  la  tabla  9.10.  El
ejemplo. Las  particiones  SP  son

q
P1  (AB)  (CD)
q x0  _ x1  _ z
P2  (AD)(B)(C)
AB  C  0
BA  D  1 P3  (A)(BC)(D)
CAD  0 P2  P3  P4  (AD)(BC)
DB  C  1
No  hay  particiones  de  SP  coherentes  con  la  salida.  Hay  dos  particiones  SP
que  podría  usarse  para  la  asignación  de  estado,  a  saber,  P1  y  P4.  Eso  podría
producir  la  asignación  de  la  tabla  9.11  y  las  ecuaciones  de  entrada  del  flip­flop  D
mostrado.
Machine Translated by Google

9.4  Elección  de  una  asignación  estatal 9­23

Tabla  9.11  Asignación  de  estados.

q q1 q2

A 0   0 zq  1q2  q1q  2
B 0   1
D1x  _
C 1
D 1  1 0 D2  q  2

Dado  que  ambos  flip  flops  se  asignaron  de  acuerdo  con  una  partición  SP,  el
Las  ecuaciones  de  entrada  son  muy  simples.
Si  repetimos  el  diseño,  usando  la  partición  consistente  de  salida  para
q2,  obtenemos  la  asignación  de  estado  de  la  tabla  9.12  y  las  ecuaciones  que  se  muestran
junto  a  ello.

Tabla  9.12  Asignación  de  estados.

q q1 q2

A 0   0 zq  2
B 0   1
D1x  _
C 1 0
D 1 1 D2  xq  1q  2  xq1q2  xq  1q2  xq1q  2

Observe  que  D1  no  cambia.  Dado  que  fue  asignado  de  acuerdo  con  el  mismo
partición  SP  como  antes,  su  comportamiento  no  depende  del  resto  de  la
asignación.  Además,  z  se  vuelve  simple,  ya  que  q2  se  asigna  de  acuerdo  con
una  partición  coherente  con  la  salida.  Este  es  un  caso  extremo;  D2  es  particularmente  
complejo.  Si,  por  el  contrario,  asignamos  q1  de  acuerdo  con  el
Partición  consistente  de  salida  y  q2  según  P4  (como  en  el  primer  ejemplo),  
obtendríamos  la  asignación  de  la  Tabla  9.13  y  las  ecuaciones  mostradas
abajo.

Tabla  9.13  Asignación  de  estados.

q q1 q2

A 0   0 zq1  _
B 1
D1  xq  2  xq2
C 1   1
D 0  1 0 D2  q  2

Ahora,  D1  es  más  complejo,  aunque  el  costo  total  de  la  lógica  combinacional
es  el  mismo  que  para  la  primera  asignación.  Los  costos  no  varían  tanto  en  dos
circuitos  flip  flop  como  lo  hacen  en  los  más  grandes.
Ilustraremos  el  procedimiento  con  dos  de  las  columnas  de  salida  de
Ejemplo  9.12.
Machine Translated by Google

9­24 Capítulo  9  Simplificación  de  circuitos  secuenciales

EJEMPLO  9.13
Primero  consideraremos  la  tabla  del  Ejemplo  9.12  con  la  columna  de  salida  z2.

q
qx  0x1  _  _ z2
Anuncio  B 0  

SER  C 0  

TAXI
DIC
ED  B 1  1  0

El  primer  paso  es  ver  si  el  sistema  se  puede  reducir.  La  partición  SP,  (AE)(B)(C)(D)  
tiene  una  salida  consistente  y,  por  lo  tanto,  este  sistema  se  puede  reducir  a  uno  con  
cuatro  estados,  como  se  muestra  a  continuación.

q
qx  0x1  _  _ z2
AD  B  0
BA  C  0
CA  B  1
DA  C  1

Las  particiones  SP  para  esto  son  (como  encontramos  anteriormente)

P1 (AD)(BC) P5  (A)  (BCD)
P3  (A)(BC)(D) P6  (A)(BD)(C)

La  mejor  asignación  parece  ser  la  que  usa  P1  y  la  partición  consistente  de  salida  (POC  
(AB)  (CD)).  que  produce

z  q2  
D1  x  
D2  q  1q  2  xq2  Si,  

en  cambio,  usáramos  la  columna  de  salida  z1,  no  podría  haber  reducción  y  se  
necesitarían  tres  flip  flops.  Sin  embargo,  hay  2  particiones  SP  de  dos  bloques,  además  
de  la  salida  consistente,  que  se  pueden  usar  para  la  asignación  de  estado.

P1  (ADE)(BC)
P5  (AE)(BCD)
POC  (AB)(CDE)

Esto  produce  la  asignación  de  estado

q  q1  q2  q3

un  000
B  110
C  111
D  011
mi  001
y  las  ecuaciones
Machine Translated by Google

9.4  Elección  de  una  asignación  estatal 9­25

zq3  _
D1x  _

D2  xq  2
D3  {xq 1 o  xq  2}  q  1q2  {q2q 3 o  q1q  3}

Esto  requiere  solo  cinco  puertas  más  la  puerta  NOT  para  x.

EJEMPLO  9.14
q z
qx  0  x  1  x  0 x1  _

AD  C 0   1
BF  C 0   0
CE  A 0   0
DA  C 0
CE  B 0
FB  C 1  1  1 1

Las  particiones  SP  no  triviales  son

P1  (AB)(C)(DF)(E) P6  (AB)(CE)(DF)
P2  (ABC)(DEF) P7  (ABDF)(C)(E)
P3  (AD)(B)(C)(E)(F)  P8  (ABDF)(CE)
P4  (AF)(BD)(C)(E) P9  (AD)(BF)(C)(E )
P5  (A)(BF)(C)(D)(E)

Como  se  puede  ver,  ninguno  de  estos  tiene  una  salida  consistente;  por  lo  que  la  mesa  no  puede
ser  reducido.
Para  las  dos  primeras  variables,  usaremos  las  2  particiones  SP  de  dos  bloques,  P2
y  P8.  El  producto  de  estos  son

P1  (AB)(C)(DF)(E )

Para  la  tercera  variable,  necesitamos  una  partición  que  separe  A  de  B  y  D
de  F.  Hay  muchos  que  harán  eso;  Nosotros  elegimos

P9  (AF )  (BCDE )

porque  eso  corresponde  a  la  segunda  columna  de  salida  y  simplificará
algo  la  expresión  para  z.
Primero,  construiremos  las  siguientes  tablas  de  bloques  para  q1  y  q2.

q1 q2
q1x0x1  _  _  _  _ q2x0x1  _  _  _  _

01  0 00  1
10  0 11  0

esto  produce

D1  x  q  1 D2  xq  2  xq2

Para  q3  y  z,  necesitaremos  la  asignación  de  estado  y  la  tabla  de  verdad:
Machine Translated by Google

9­26 Capítulo  9  Simplificación  de  circuitos  secuenciales

q  q1  q2  q3 x  q1  q2  q3  q3  z

un  001 B  00  0  0  10
B  000 00  0  1  00
010  _ C  00  1  0  00
D  100 —0  0  1 1  XX
mi  110 D  01  0  0  11
F  101 F  01  0  1  01
P2  P8  P9 mi  01  1  0  01
—0  1  1 1XX
B  10  0  0  00
10  0  1  01
C  10  1  0  10
—1  0  1 1  XX
D  11  0  0  00
F  11  0  1  01
mi  11  1  0  00
—1  1  1 1XX

(No  necesitamos  columnas  para  q1  y  q2 ,  ya  que  ya  calculamos  el
entradas  para  esos  flip  flops  de  la  siguiente  tabla  de  bloques.)  Los  mapas  resultantes  son

xq 1 xq 1
00 01 11 10 00 01 11 10
q2 q3 q2 q3

00 1 1 00 1

01 01 111

11 X XXX 11 X XXX

10 1 10 1

q3 z

A  partir  de  esto,  podemos  encontrar

D3  xq  2q  3  xq  1q2  z  xq1  xq3
La  ventaja  de  usar  particiones  SP  es  aún  más  dramática  con  JK
chanclas  (ya  que  J  y  K  no  dependen  del  estado  de  esa  chancleta).  De  este  modo,
para  este  ejemplo,

J1  =  x K1  =  1
J2  =  x k2  =  x
J3  =  xq2  +  xq1  q2 K3  =  1

Si,  en  cambio,  usáramos  la  asignación  de  estado

q  q1  q2  q3

un  000
B  001
010  _
D  011
E  100
F  101
Machine Translated by Google

9.4  Elección  de  una  asignación  estatal 9­27

obtendríamos  las  ecuaciones

z  xq1  q1q3  xq  1q  2q  3  xq2q3
D1  xq  1q  2q3  xq2q  3
D2  xq3  xq  2q  3  q  1q  2q  3
D3  xq  1q  2  +  xq1q  3  xq1q3
Estas  ecuaciones  son  mucho  más  complejas  que  la  solución  anterior.

EJEMPLO  9.15

qqx  0  x  1  z
AB  C  0
BD  C  1
CA  E  0
DA  C  0
EA  C  1

Las  particiones  SP  son

P1  (ABD)(C)(E) P4  (A)(B)(CE)(D)
P2  (ABDE)(C) P5  (A)(B)(C)(DE)
P3  (A)(B)(CDE) P6  (ABD)  (CE)

Ninguno  de  estos  es  una  salida  consistente;  por  lo  tanto,  el  sistema  no  puede  
reducirse.  Aunque  hay  2  particiones  de  dos  bloques,  no  podemos  usar  ambas,  ya  
que  su  producto  es  P1,  que  tiene  tres  estados  en  el  mismo  bloque.
Una  partición  más  de  dos  bloques  no  puede  separar  estos  tres  estados.  Podemos  
usar  P6  y  la  partición  consistente  de  salida,

P7  (ACD)(BE)

para  dos  de  las  variables.  su  producto  es

(AD)(B)(C)(E)

Ahora  debemos  elegir  una  partición  más  para  separar  A  y  D.  De  la  lista  de  particiones  
SP,  P3  es  atractiva.  Se  agrupa  C,  D  y  E.  Podríamos  usar  cualquiera

P8  (AB)(CDE)  o  P9  (A)(BCDE)

Las  dos  asignaciones  estatales  son

q  q1  q2  q3 q  q1  q2  q3

un  000 un  000
B  010 B  011
101  _ 101  _
D  001 D  001
111  _ 111  _
Machine Translated by Google

9­28 Capítulo  9  Simplificación  de  circuitos  secuenciales

Los  conjuntos  de  ecuaciones  resultantes  para  la  primera  asignación  son

J1x  _ K1  x
J2  xq  3  xq1 K2  1
J3  x  q2 K3  x
zq2  _

Para  la  segunda  asignación,  J1,  K1,  J2,  K2  y  z  no  cambian;  los  demás
convertirse

J3  1 K3  xq  2  xq1

Si,  en  cambio,  usamos  las  primeras  cinco  combinaciones  para  los  cinco  estados,  las  ecuaciones  
se  convierten  en

J1  q2q  3 K1  1
J2  x  q3 K2  x  q  3
J3  xq  1q  2   K3  x  q2
z  q1  q  2q3

El  costo  de  esta  lógica  combinacional  es  aproximadamente  el  doble  que  el  de  la  primera  solución.

La  elección  de  la  asignación  estatal  es  más  un  arte  que  una  ciencia.
Seguramente,  queremos  usar  particiones  SP  de  dos  bloques  cuando  sea  posible.  Pero  cuando
nos  quedamos  sin  esos,  usamos  la  partición  consistente  de  salida  y  las  
agrupaciones  sugeridas  por  otras  particiones  SP  (si  las  hay).
Este  enfoque  no  garantiza  una  solución  mínima.  El  único
La  forma  de  hacerlo  es  probar  todos  los  conjuntos  posibles  de  particiones.  (En  algo  inusual
circunstancias,  incluso  puede  ser  posible  encontrar  una  solución  menos  costosa
con  un  flip  flop  adicional  o  sin  reducir  el  número  de  estados  a  un
[ES  4;  Ej.  4,  5,  6,  7] mínimo.)

9.5  PROBLEMAS  RESUELTOS
1.  Reduzca  cada  uno  de  los  siguientes  sistemas  a  unos  con  el
número  mínimo  de  estados  utilizando  el  método  tabular.

a. b.
q q
qx  0x1  _  _ z qx  0x1  _  _ z

CA  B 0 CA  D  1
BD  A 1 BC  C  1
TAXI 0 CE  B  0
DB  B 1 DE  A  0
EA  B  1
Machine Translated by Google

9.5  Problemas  Resueltos 9­29

C. d.
q q
qx  0x1  _  _ z qx  0x1  _  _ z
AE  B  0 ANUNCIO  G  0
BD  A  1 BC  E  1
FC  B  0 CB  G  0
DE  B  1 DA  B  1
ED  C  1 EFECTO  0
FD  A  1 FG  B  1
GF  A  0

a.  Primero  construiremos  el  gráfico.

D AB

A  B  C

Dado  que  el  cuadro  AB  ya  tiene  una  X,  el  único  equivalente
estados  son  A  y  C.  La  tabla  de  estados  se  puede  reducir  a  una  con
tres  estados,  como  sigue:

q
qx  0x1  _  _ z
CA  CA segundo  0

BDA­C  1
DB  B  1

b.  El  gráfico  de  esta  tabla  es

B CD

D AB

mi C.A, BD A antes  de  Cristo

A  B  C  D
Machine Translated by Google

9­30 Capítulo  9  Simplificación  de  circuitos  secuenciales

Ya  que  para  que  A  esté  junto  con  B  se  requiere  que  C  esté  agrupado
con  D,  y  la  agrupación  de  CD  requiere  que  A  y  B  estén  juntos,
ambos  se  pueden  marcar.  A  y  C  no  pueden  estar  en  el
mismo  bloque  de  una  partición;  así,  los  otros  dos  están  tachados,
Resultando  en

mi C.A, BD A antes  de  Cristo

A  B  C  D

La  tabla  de  estados  reducida  es  así  (donde  AB  ha  sido  llamado  A,
y  el  CD  se  ha  llamado  C)

q
qx  0x1  _  _ z
CA  C 1
CE  A 0
EA  A 1

C.  Obtenemos  el  siguiente  gráfico:

FC mi

D AB, Delaware

mi AC antes  de  Cristo

F AB, Delaware AC

A B C D mi

B  y  F  ya  están  agrupados;  AC  y  EF  también  agrupan.  Eso
produce  un  grupo  con  B,  E  y  F,  reduciendo  la  tabla  a  uno
Machine Translated by Google

9.5  Problemas  Resueltos 9­31

con  solo  tres  estados  (ya  que  AB  y  BC  no  se  pueden  agrupar):

q
qx  0x1  _  _ z
AB  B 0
BD  A 1
DB  B 1

d.  El  gráfico  se  convierte

C BD

D A C , SER

mi DF , P.EJ BF , P.EJ

F C , SER
GRAMO A GRAMO

FG D BF , A GRAMO A mi

A B C D mi F

Podemos  tachar  algunos  cuadrados  y  obtener

C BD

D A C , SER

mi DF , P.EJ BF , P.EJ

F C , SER
GRAMO A GRAMO

GRAMO DF BF , A GRAMO A mi

A B C D mi F

En  la  primera  pasada,  pudimos  tachar  BE,  que  luego
nos  permitió  tachar  BD  y  BF.  Como  esas  parejas  no  podían
Machine Translated by Google

9­32 Capítulo  9  Simplificación  de  circuitos  secuenciales

ser  equivalente,  entonces  pudimos  eliminar  AC,  CE  y  EG.
En  este  punto,  notamos  que  para  que  A  y  G  sean  equivalentes,  D  y
F  debe  ser  equivalente  y  para  que  D  y  F  sean  equivalentes,  A  y
G  debe  ser  equivalente.  Así  podemos  reducir  el  número  de  estados
por  dos,  reduzca  la  tabla  de  estados  y  repita  el  proceso,  como
sigue:

q
qx  0  x  1  z
AD  A  0
BC  E  1
CB  A  0
DA  B  1
ED  E  0

El  nuevo  gráfico  más  pequeño  es,  por  lo  tanto,

C BD

D A C , SER

mi BD , A mi

A B C D

Solo  A  y  E  pueden  ser  equivalentes,  ya  que  B  y  E  no  son
equivalente,  haciendo  que  B  y  D  no  sean  equivalentes.  Así,  podemos
reducir  esto  aún  más  a  cuatro  estados,  a  saber,

q
qx  0x1  _  _ z
ANUNCIO  A 0
BC  A 1
CB  A 0
DA  B 1

Por  supuesto,  podríamos  haber  determinado  esto  a  partir  del  original.
gráfico,  donde  hemos  reemplazado  los  cuadrados  tachados  con  X
y  las  dos  equivalencias  que  habíamos  determinado  previamente  con
cheques
Machine Translated by Google

9.5  Problemas  Resueltos 9­33

mi DF , GRAMO mi

GRAMO A mi

A B C D mi F

De  esta  tabla,  podemos  ver  que  G  y  E  son  equivalentes  si  A
y  E  son  equivalentes,  agrupando  A,  G  y  E.  Eso  sería
producir  directamente  la  misma  tabla  con  cuatro  estados  que  la  anterior.

2.  Para  las  mismas  tablas  de  estado  que  en  el  Problema  resuelto  1,  encuentre  todos  los
particiones  SP  no  triviales.  (Por  supuesto,  las  columnas  de  salida  no  son
usado.)

a.  (AB)  →  (CD) →  →  (AB)(CD)  P1
(AC)  √   →  →  (AC)(B)(D)  P2
(AD)  →  (BC)  →  (AB) →  →  (ABCD)  PN
(BC)  →  (ABD) →  →  NP
(BD)  →  (AB) →  →  NP
(CD)  →  (AB) →  →  (AB)(CD)  P1

b.  (AB)  →  (CD) →  →  (AB)(CD)(E)  P1
(AC)  →  (CE)(BD) →  →  (ACE)(BD)  P2
(AD)  →  (CE)  →  (AE) →  →  NP
(AE)  →  (AC)(BD) →  →  P2
(BC)  →  (CE)(ABCE) →  →  NP
(BD)  →  (ACE) →  →  P2
(BE)  →  (ABC) →  →  NP
(CD)  →  (AB) →  →  P1
(CE)  →  (AE)  →  (BD) →  →  P2
(DE)  →  (ABE) →  →  NP

C.  (AB)  →  (DE)  →  (BC)  →  (DF)  →  →  (ABC)(DEF)  P1
(CA)  →  (EF) →  →  (AC)(B)(EF)(D)  P2
(AD)  √   →  →  (AD)(B)(C)(E)(F)  P3
(AE)  →  (DE)(BC) →  →  NP
Machine Translated by Google

9­34 Capítulo  9  Simplificación  de  circuitos  secuenciales

(AF)  →  (DE)(AB)  →  (BC)  →  →  PN
(BC)  →  (DF)(AB)
→  (ABC)(DEF)  →  →  P1
(BD)  →  (DE)(AB)  →  (BC)  →  →  PN
(BE)  →  (AC)  →  (EF) →  →  (AC)(Antes)(D)  P4
(BF)  →  √   →  →  (A)(BF)(C)(D)(E)  P5
(CD)  →  (EF)(AC) →  →  (ACD)(B)(EF)  P6
(CF)  →  (DF)(AB)  →  (DE)  →  →  PN
(DE)  →  (BC)  →  (DF)(AB)  →  →  P1
(DF)  →  (DE)(AB)  →  →  P1
(EF)  →  (CA)  →  →  P2
En  este  punto,  hemos  encontrado  seis  particiones  SP.  ahora  debemos
agregue  cada  par,  ya  que  la  suma  de  las  particiones  SP  también  es  SP.  El
solo  las  particiones  nuevas  son

P3  P4  P7  (ACD)(BEF)
P3  P5  P8  (AD)(BF)(C)(E)
No  se  forman  nuevas  sumas  a  partir  de  estos  dos  (ya  que  P7  es  
de  dos  bloques).  (Volveremos  a  este  ejemplo  en  una  solución  más  adelante).
problemas.)

d.  (AB)  →  (CD)(EG)  →  (ABEG)
→  (FCD) →  →  (ABEG)(CDF)  P1
(AC)  →  (BD)  →  (BE)  →  (CF)  →  (BDG)  →  →  PN
(AD)  →  (BG)  →  (CF)(AE)  →  →  PN
(AE)  →  (DF)(EG)  →  (AEG)  →  →  (AEG)(B)(C)(DF)  P2
(AF)  →  (BDG)  →  (ACF)(ABE)  →  →  PN
(AG)  →  (DF)  →  →  (AG)(B)(C)(DF)(E)  P3
(BC)  →  (GE)  →  (AE)  →  (DF)  →  →  (AEG)(BC)(DF)  P4
(BD)  →  (AC)(BE)  →  →  PN
(BE)  →  (CF)  →  (BG)  →  (AE)  →  →  P1
(BF)  →  (CG)(BE)  →  (BF)(AG)  →  →  PN
(BG)  →  (CF)(AE)  →  (DF)(EG)  →  →  P1
(CD)  →  (ABG)  →  →  P1
(CE)  →  (BF)(EG)  →  →  PN
(CF)  →  (BG)  →  (AE)  →  (DF)(EG)  →  →  P1
(CG)  →  (BF)(AG)  →  →  PN
(DE)  →  (AF)(BE)  →  →  PN
(DF)  →  (AG)  →  →  P3
(DG)  →  (ABF)  →  →  PN
(EF)  →  (FG)(BE)  →  (AB)  →  →  PN
Machine Translated by Google

9.5  Problemas  Resueltos 9­35

(EG)  →  (AE) →  →  P2
(FG)  →  (AB) →  →  NP
Las  sumas  no  producen  nada  nuevo.  Por  lo  tanto,  hay  cuatro  
particiones  SP  no  triviales.

3.  un.  Reduzca  el  sistema  del  Problema  resuelto  2a  a  uno  con  un
número  mínimo  de  estados  si  la  columna  de  salida  es

A  (i)  0  (ii)  1  (iii)  0
b  10  0
C  00  1
D  11  1

b.  Reduzca  el  sistema  del  Problema  resuelto  2c  a  uno  con  un
número  mínimo  de  estados  y  encontrar  todas  las  particiones  SP  de
el  sistema  reducido  si  la  columna  de  salida  es

A  (i)  0  (ii)  1  (iii)  0
b  10  0
C  01  1
D  00  1
mi  00  1
F  10  0

a.  (i)  P2  (AC)(B)(D)  es  la  única  salida  consistente  SP
dividir.  Por  lo  tanto,  el  sistema  se  puede  reducir  a  uno  con
tres  estados:

q
qx  0x1  _  _ z
AA  B 0
BD  A 1
DB  B 1

(ii)  No  hay  particiones  SP  coherentes  con  la  salida;  por  lo  tanto,
el  sistema  no  se  puede  reducir  para  esta  columna  de  salida.
(iii)  P1  (AB)(CD)  es  la  única  partición  SP  consistente  de  salida.
Por  lo  tanto,  podemos  reducir  el  sistema  a  uno  con  solo  dos
estados:

q
qx  0x1  _  _ z
CA 0
CA  A 1
Machine Translated by Google

9­36 Capítulo  9  Simplificación  de  circuitos  secuenciales

b.  (i)  Las  particiones  SP  consistentes  de  salida  son

P3  (AD)(B)(C)(E)(F)
P5  (A)(BF)(C)(D)(E)
P8  (AD)(BF)(C)(E)

Claramente,  P8  es  más  grande  que  cualquiera  de  los  otros;  puede  ser
utilizado  para  reducir  el  sistema  a  uno  con  sólo  cuatro  estados.
Ninguna  de  las  particiones  SP  es  más  grande  que  P8;  Por  lo  tanto,  la
el  sistema  reducido  no  tiene  particiones  SP  no  triviales.

q
qx  0x1  _  _ z
AE  B 0
licenciatura 1
CB  B 0
EA  C 0

(ii)  Las  particiones  SP  consistentes  de  salida  son

P2  (CA)(B)(D)(EF)
P4  (CA)(ANTES)(D)
P5  (A)(BF)(C)(D)(E)

P4  es  más  grande  que  cualquiera  de  los  otros  y  se  puede  utilizar  para
reducir  esto  a  un  sistema  con  tres  estados:

q
qx  0x1  _  _ z
AB  B 1
BD  A 0
DB  B 0

Como  P7  P4,  entonces  P7  (AD)(B)  es  SP.
(iii)  La  única  partición  SP  consistente  de  salida  es

P5  (A)(BF)(C)(D)(E)

Así,  el  sistema  mínimo  requiere  cinco  estados,  a  saber,

q
qx  0x1  _  _ z
AE  B 0
BD  A 0
CB  B 1
DEB 1
ED  C 1
Machine Translated by Google

9.5  Problemas  Resueltos 9­37

Hay  tres  particiones  SP  para  este  sistema  reducido,

P4  (CA)(BE)(D)
P7  (ACD)(BE)
P8  (AD)(B)(C)(E)

4.  Encuentre  buenas  asignaciones  de  estado  para  cada  uno  de  los  siguientes  estados
mesas.  (Cada  uno  de  los  cuatro  primeros  corresponde  a  uno  de  los  estados
tablas  del  Problema  resuelto  2.)  Calcule  las  ecuaciones  de  entrada  para
chanclas  D  o  JK  y  la  ecuación  de  salida .

a. b.
q q
qx  0x1  _  _ z qx  0x1  _  _ z

CA  B 0 CA  B  1
BD  A 1 BD  A  1
TAXI 0 CA  B  0
DB  B 0 DB  B  1

C. d.
q q
qx  0x1  _  _ z qx  0x1  _  _ z
AE  B 0 AE  B 0
BD  A 0 BD  A 0
FC  B 1 FC  B 1
DEB 1 DEB 1
ED  C 1 ED  C 0
FD  A 1 FD  A 1

mi.
q z
q x0  _ x1  _ x0  _ x1  _

CA  D 0   0
SER  UN 1   1
CA  D 0   0
DB  A 1   0
EB  C 1 1

F.
q z
q x0  _ x1  _ x0  _ x1  _

CA  D 0   1
SER  UN 1   1
CA  D 0   0
DB  A 1   0
EB  C 1 1
Machine Translated by Google

9­38 Capítulo  9  Simplificación  de  circuitos  secuenciales

a.  P2  (AC)(B)(D)  tiene  una  salida  consistente;  por  lo  tanto,  este  
sistema  puede  reducirse  a  uno  con  tres  estados,  a  saber,

q
qx  0x1  _  _ z
AA  B 0
BD  A 1
DB  B 0

Dado  que  la  otra  partición  SP  no  es  más  grande  que  P2,  este  
sistema  no  tiene  particiones  SP  no  triviales.  No  hay  una  buena  pista  
sobre  cómo  elegir  particiones  para  una  asignación  de  estado,  
aparte  de  elegir  la  salida  consistente  para  minimizar  la  lógica  de  
salida.  podemos  probar  los  dos

i. q  q1  q2 ii. q  q1  q2

un  0  0 un  0  0
segundo  0  1 segundo  1  1

D  1  0 D  1  0

Para  la  asignación  i,  obtenemos

D1  xq2  D2  q1  xq  2 zq2  _

y  para  la  asignación  ii,  obtenemos

D1  xq1  xq  2  D2  q1q  2  xq  2 zq2  _

La  primera  asignación  requiere  la  menor  cantidad  de  lógica.  Si  probamos  
la  tercera  asignación,  encontraremos  que  necesita  aproximadamente  
la  misma  cantidad  de  lógica  que  la  segunda  (pero  usa  2  puertas  de  tres  
entradas).

b.  Esto,  por  supuesto,  es  el  mismo  comportamiento  del  siguiente  estado  
que  la  parte  a,  pero  la  nueva  columna  de  salida  es  tal  que  no  
hay  particiones  SP  consistentes  con  la  salida.  Lo  implementaremos  
con  chanclas  JK .  Tenemos  una  partición  SP  de  dos  bloques,

P1  (AB)  (CD)

La  partición  consistente  de  salida  de  dos  bloques  no  es  útil,  ya  que  
su  producto  con  P1  no  es  P0.  Usaremos  para  la  segunda  
variable

P3  (CA)(BD)

que  aprovecha  la  otra  partición  SP,  P2  (AC)(B)(D),  
poniendo  A  y  C  en  el  mismo  bloque.  Esto  resulta  en

J1  x  K1  1  J2  x  K2  xq  1 zq  1 q2
Machine Translated by Google

9.5  Problemas  Resueltos 9­39

Cada  una  de  las  otras  soluciones  también  requiere  muy  poca  lógica.
Ese  será  normalmente  el  caso  con  solo  dos  chanclas.

C.  No  hay  particiones  de  SP  coherentes  con  la  salida;  por  lo  tanto,  
este  sistema  no  se  puede  reducir.  Hay  2  particiones  SP  de  
dos  bloques,

P1  (ABC)(DEF)
P7  (ACD)(BEF)

que  se  utilizará  para  las  dos  primeras  variables.  La  partición  de  
dos  bloques  coherente  con  la  salida  no  es  útil,  ya  que  su  producto  con  
P1  y  P7  no  es  P0;  los  estados  E  y  F  tendrían  la  misma  asignación.  
Necesitamos  una  partición  para  separar  A  de  C  y  E  de  F.  P3  indica  
que  A  y  D  deben  estar  juntos;  P5  indica  que  B  y  F  deben  estar  
juntos.  Una  de  las  particiones  que  logra  estos  objetivos  y  aún  produce  
un  producto  de  P0  con  P1  y  P7  es  P9  (ABDF)(CE)*

La  asignación  de  estado  resultante  es

q  q1  q2  q3

un  000
B  010
C001  _
D  100
111  _
F  110

Las  ecuaciones  para  q1  y  q2  se  pueden  obtener  solo  de  las  tablas  
de  bloques;  la  ecuación  para  D3  requiere  una  tabla  de  verdad  de  16  
filas  y  la  de  z  requiere  una  tabla  de  8  filas.  (El  trabajo  se  deja  como  
ejercicio  para  el  lector.)

D1  x  D2  q  2  z  q1  q3
D3  xq  2q  3  {xq1q3  o  xq2q3}

Esta  solución  requiere  cuatro  puertas  más  la  puerta  NOT.  Si  usáramos  la  
asignación  binaria  directa  (A:  000,  B:  001, . . .),  necesitaríamos  13  puertas.

d.  La  siguiente  porción  de  estado  de  la  tabla  (y  por  lo  tanto  la  lista  de  
particiones  SP)  es  la  misma  que  para  la  parte  c.  Pero,  en  este  
caso,  el  producto  de  la  partición  consistente  de  

salida  POC  (ABE)(CDF)

*Hay  otros;  debe  probarlos  como  ejercicio  para  ver  si  uno  de  ellos  produce  una  
solución  menos  costosa.
Machine Translated by Google

9­40 Capítulo  9  Simplificación  de  circuitos  secuenciales

con  los  otros  dos  es  P0,  y  podemos  usarlo  para  el  tercero
variable.  Las  entradas  a  los  dos  primeros  flip  flops  serían  las
igual  que  para  la  parte  c;  las  entradas  para  el  tercer  flip  flop  y  el
la  salida  sería

D3  xq  1q2  xq2  q  1q  3 zq3  _

Esto  requiere  siete  puertas.  Como  en  la  parte  c,  el  binario  directo
la  asignación  sería  mucho  más  costosa  (14  puertas).

mi.  Las  particiones  SP  se  encuentran  de  la  siguiente  manera  (ignorando  la  salida
sección,  por  supuesto):

(AB)  →  (AD)(CE)  →  (BC)(CD)  →  →  PN
(CA)  →  √ →  →  (AC)(B)(D)(E)
P1
(AD)  →  (BC)  →  (ADE)  →  (AC)  →  →  PN
(AE)  →  (BCD)  →  →  PN
(BC)  →  (ADE)  →  (AC)  →  →  PN
(BD)  →  (BE)  →  (AC)  →  →  (AC)(BDE)  P2
(BE)  →  (AC)  →  →  (AC)(BE)(D)  P3
(CD)  →  (ABD)  →  →  PN
(CE)  →  (AB)(CD)  →  →  PN
(DE)  →  (AC)  →  →  (AC)(B)(DE)  P4

Tenga  en  cuenta  que  ambos

PN  P2  P3  P1  P0
PN  P2  P4  P1  P0
No  se  encuentran  particiones  SP  adicionales  tomando  la  suma  de
estos.
Una  inspección  de  la  tabla  de  estados  muestra  que  P1  y  P3  son
salida  consistente;  por  lo  tanto,  el  sistema  se  puede  reducir  (usando  el
más  grande  de  estos)  a  uno  con  tres  estados  (combinando  A  con  C
y  B  con  E),  como  sigue:

q z
q x0  _ x1  _ x0  _ x1  _

AA  D 0   0
bb  un 1
DB  A 1  1 0
Machine Translated by Google

9.5  Problemas  Resueltos 9­41

La  única  partición  SP  para  esta  tabla  reducida  es

P3  (A)(BD)

Puede  usarse  para  una  variable,  q1,  en  la  asignación  de  estado.  Para  esa  
variable,  solo  necesitamos  una  siguiente  tabla  de  bloques,  a  saber,

q qx  0x1  _  _

0(A)0  1
1(BD)1  0

Ya  sea  directamente  de  la  tabla  de  estado  o  convirtiéndola  en  una  tabla  de  
verdad  o  directamente  en  mapas,  podemos  determinar

J1  K1  x
La  primera  fila  de  q  es  el  mapa  de  J  y  la  segunda  fila  es  la  de  K.  
(Siempre  podemos  hacer  una  tabla  de  bloques  para  las  variables  
asignadas  mediante  particiones  SP).
No  hay  ninguna  pista  de  la  siguiente  porción  de  estado  en  
cuanto  a  qué  partición  elegir  para  la  otra  variable.  Sin  embargo,  si  usamos

P4  (AD)(B)

(que  corresponde  a  la  segunda  columna  de  la  sección  de  
salida),  estamos  seguros  de  una  ecuación  de  salida  bastante  
simple,  a  saber,

xq1  xq2

Si  elegimos  P4  para  q2,  entonces  la  asignación  de  estado  y  la  tabla  de  
verdad  para  el  siguiente  valor  de  q2  y  la  salida  se  convierten  en

qq1  _ q2 q  xq1  q2 z q2

un  0 0   un  00  00  0


B  1 —  00  1XX
D  1 1  0 D  01  01  1
B  01  11  1
un  10  00  0
—  10  1XX
D  11  00  0
b  11  11  0
Machine Translated by Google

9­42 Capítulo  9  Simplificación  de  circuitos  secuenciales

Los  mapas  para  z  y  q2  (con  la  porción  J  para  el  método  rápido
sombreados)  son

X X
0 1 0 1
q 1 q2 q 1 q2

00 00

01 XX 01 XX

11 11 11 1

10 1 10 1

z q2

Las  ecuaciones  resultantes  son

z  q2  xq1  J2  xq1 K2  x

Tenga  en  cuenta  que  tenemos  una  versión  de  z  aún  más  simple  de  lo  esperado.
Si  conservamos  la  partición  SP  para  asignar  la  primera  variable
y  usamos  la  otra  partición  de  dos  bloques,  P5  (AB)(D),  para  q2,  tenemos
conseguir

z  xq2  q1q  2 J2  x  q  1 K2  1

No  hay  mucha  diferencia.  Finalmente,  si  no  usamos  el  SP
partición,  sino  más  bien  usar  la  asignación  de  estado

qq1  _ q2

un  0 0
segundo  0 1
D  1 0

obtendremos

z  q2  xq1  J1  xq  2 K2  1 J2  xq1


K2  x

Para  este  problema  simple,  la  asignación  de  estado  no  hace  un
gran  diferencia

F.  La  tabla  de  la  parte  f  tiene  un  pequeño  cambio  en  la  sección  de  salida,
para  que  ya  no  haya  particiones  de  SP  coherentes  con  la  salida.
Ahora  necesitamos  tres  variables,  solo  una  de  las  cuales  puede  usar  un  SP
dividir.  La  única  partición  SP  de  dos  bloques  es  P2,  y  lo  haremos
utilícelo  para  asignar  q1.  Luego  usaremos  P3  para  ayudar  con  el  segundo
variable;  mantiene  A  y  C  juntos,  y  B  y  E  juntos.  Nosotros
debe  grupo  D  con  AC;  de  lo  contrario,  simplemente  repetiríamos  el
Machine Translated by Google

9.5  Problemas  Resueltos 9­43

misma  partición  que  antes.  Así,  usamos

P5  (ACD)(BE)

El  producto  de  estos  dos  es  P3  y  ahora  debemos  encontrar  una  
partición  de  dos  bloques,  cuyo  producto  con  P3  es  P0.  Hay
varias  posibilidades,  como

P6  (ABD)  (CE)
P7  (AB)(CDE)
P8  (AE)(BCD)
P9  (ADE)(BC)

Cualquiera  de  estos  podría  conducir  a  una  buena  solución.  Usando  P2,  P5,
y  P6,  tenemos  la  siguiente  asignación  y  diseño  de  estado
mesas:

q  q1  q2 q3 x  q1  q2  q3  q2 q3z  _


un  000 00  0  0  1  0 0  
B  110 C  00  0  1  0  0 0
C001  _ —0  0  1 0XXX
D  100 —0  0  1 1XXX
111  _ D  01  0  0  0  1 1
—0  1  0 1XXX
B  01  1  0  1  1
mi  01  1  1  0  1
10  0  0  0  1 1  

10  0  1  0  0 1  0  0

—1  0  1 0XXX
q1 —1  0  1 1XXX

q1x0x1  _  _  _  _ D  11  0  0  0  0 0
—1  1  0 1XXX
00  1 segundo  11  1  0  0  1 0
11  0 mi  11  1 1 0 1 1

La  tabla  de  bloques  se  usa  para  resolver  q1  y  la  tabla  de  verdad
nos  permite  resolver  para  las  otras  dos  entradas  de  flip  flop  y  la
salida  del  sistema.  Las  ecuaciones  resultantes  son

D1  xq  1  xq1
D2  xq1
D3  xq  1q  3  xq2q  3  {xq1q3  o  xq2q3}
z  q2  xq1  xq  1q  3

requiriendo  nueve  puertas  (ya  que  xq1  solo  necesita  construirse  una  vez)  (más
una  puerta  NOT  para  formar  x).
Machine Translated by Google

9­44 Capítulo  9  Simplificación  de  circuitos  secuenciales

Si,  en  cambio,  usáramos  la  asignación  (solo  los  primeros  cinco  
números  binarios)

q  q1  q2  q3

un  000
B  001
010  _
D  011
E  100

obtenemos  las  ecuaciones

D1  xq  2q3
D2  xq  3  q  1q  2q3
D3  xq1  xq  1q  3  q2q  3
z  q1  xq3  xq  2

Esto  requiere  11  puertas  (más  NOT  para  x),  significativamente  más  
lógica  que  la  requerida  para  la  otra  asignación.  Las  otras  asignaciones  
con  P7,  P8  y  P9  se  dejan  como  ejercicio.

9.6  EJERCICIOS
1.  Reduzca  cada  uno  de  los  siguientes  sistemas  a  aquellos  con  el  mínimo  número  
de  estados  usando  el  método  tabular.

a. b.
q q
qx  0x1  _  _ z qx  0x1  _  _ z
SOICICREJE

CA  B  0 CA  B 0  

BD  A  0 BD  C
CA  B  1 TAXI 1  

DB  B  1 DA  B 0  0

C.
q
qx  0x1  _  _ z

CA  B  0
BD  A 0
CE  A 1
DE  B  1
ED  B  1

d.  La  misma  tabla  que  c,  excepto  que  la  salida  para  el  estado  B  es  1.
Machine Translated by Google

9.6  Ejercicios 9­45

mi. F.
q q
qx  0x1  _  _ z qx  0x1  _  _ z
AF  B  0 AB  B  0
SER  C  0 BF  D  0
CD  C  1 CD  A  1
CC  A  0 CC  E  0
EB  C  1 EFECTO  0
FA  B  0 FE  A  1

gramo.

q
qx  0  x  1  z

AB  C  0
BD  E  1
CD  F  0
DB  E  1
EF  C  0
FD  A  0

H.
q z
q x0  _ x1  _ x0  _ x1  _

AB  D 0   0
SER  G 0
CG  F 1   0
DA  C 1
EB  D 0   0
FG  D 1   0
GA  B 0  0  1 0

i. j.
q q
qx  0x1  _  _ z q x  0  x  1 z
AE  B  0 AB  G  0
BC  C  1 BA  E  1
CD  E  1 CA  F  1
DF  B  0 DG  B  1
EA  F  1 CE  D  0
DF  F  1 FB  D  0
GG  B  1

k. yo

q q
qx  0x1  _  _ z qx  0x1  _  _ z
AG  B  0 AG  B  0
SER  C  0 SER  C  1
CE  B  1 CE  B  1
DA  B  0 DA  B  1
EF  D  0 EF  D  1
FE  D  1 FE  D  1
GA  B  1 GA  B  0
Machine Translated by Google

9­46 Capítulo  9  Simplificación  de  circuitos  secuenciales
SOICICREJE

2.  Para  cada  una  de  las  tablas  de  estado  del  Ejercicio  1,  encuentre  todos  los  no  triviales
Particiones  SP.
3.  un.  Para  las  tablas  de  estado  a  y  b  del  ejercicio  2,  reduzca  el  sistema  a  uno
con  un  número  mínimo  de  estados  si  la  columna  de  salida  es
A (i)  0  (iii)  0 (ii)  1 (iv)  0
b  10  0 1
C  00  1 0
D  11  1 0

b.  Reducir  el  sistema  de  los  Ejercicios  1e  y  1g  a  unos  con
número  mínimo  de  estados  si  la  columna  de  salida  es
A (i)  0  (iii)  0 (ii)  1 (iv)  1
b  10  0 0
C  01  0 0
D  11  1 0
mi  00  1 0
F  11  1 0

C.  Reducir  el  sistema  de  Ejercicios  1k  a  uno  con  un  mínimo
número  de  estados  si  la  columna  de  salida  es

A (i)  0  (iii)  0 (ii)  1 (iv)  1


b  10  0 0
C  11  1 0
D  11  1 1
mi  00  1 0
F  01  0 0
G  01  0 1

4.  un  Para  el  problema  resuelto  4c,
i.  Encuentre  las  D  y  la  z  para  la  asignación  binaria  directa.
ii.  Encuentre  D3  y  z  usando  las  dos  particiones  SP  para  q1  y  q2
y  usando  P9  (ABDE)  (CF)  para  q3.
iii.  Encuentre  D3  y  z  usando  las  dos  particiones  SP  para  q1  y  q2
y  usando  P10  (ADE)  (BCF)  para  q3.
b.  Continúe  con  el  ejemplo  del  Problema  resuelto  4f,  usando

P2  (CA)(BDE)
P5  (ACD)(BE)
y  cada  uno  de

i.  P7  (AB)(CDE)
ii.  P8  (AE)(BCD)
iii.  P9  (ADE)(BC)
Machine Translated by Google

9.6  Ejercicios 9­47

5.  Para  cada  una  de  las  tablas  de  estado  que  se  muestran  a  continuación,  encuentre  un  buen  estado

Asignación  y  diseño  del  sistema  usando  flip  flops  JK .  Comparar
ese  diseño  con  la  asignación  de  estado  que  solo  usa  el  binario
números  en  orden  para  los  estados  (es  decir,  A:  000,  B:  001,
C:  010, . . .).*

a.
q
q  x  0 x1  _ z
AD  B  1
BC  D  1
CE  D  1
DA  B  0
CE  D  0

b.
q z
q x0  _ x1  _ x0  _ x1  _

AD  G 1   0
BC  E 1   1
CB  G 0   1
DA  B 0   0
EFE 1   0
FG  B 1   1
GF  A 1 1

C.  Ejercicio  1e  con  salida  1 d.  Ejercicio  1k.
columna
0
0
1
1
0

6.  Para  cada  una  de  las  siguientes  columnas  de  salida,  reduzca  el  sistema  si
posible  y  encontrar  una  buena  asignación  de  estado

q
qx  0x1  _  _ z1 z2 z3 z4

AE  B  0010
BC  D  0000
CE  F  1100
DE  A  1001
CE  F  0101
FC  D  1010

*Tenga  en  cuenta  que  la  parte  b  tiene  la  misma  parte  del  siguiente  estado  que  el  problema  resuelto  2d.
Machine Translated by Google

9­48 Capítulo  9  Simplificación  de  circuitos  secuenciales
SOICICREJE

7.  Considere  la  siguiente  tabla  de  estados,  donde  el  siguiente  estado  no  es
especificado.  Complete  la  siguiente  porción  de  estado  de  modo  que  el  sistema  pueda
reducirse  a  cuatro  estados  (no  más  pequeños)  y  es  posible
ir  de  cualquier  estado  a  cualquier  otro  estado  con  una  entrada  adecuada
secuencia.

q z
q x0  _ x1  _ x0  _ x1  _

A 0   0
B 0   1
C 1
D 1   0
mi 1
F 0  1  1 0

9.7  PRUEBA  DEL  CAPITULO  9  (50  MINUTOS)
1.  Usando  las  técnicas  de  la  Sección  7.1,  reduzca  el  siguiente  estado
tabla  a  una  con  el  número  mínimo  de  estados.

q
qx  0x1  _  _ z
LA
BTE I U
O  LAU P RC
E D
P

CA  B  0
BD  A 0
CE  A 0
DE  B  0
ED  B  1

2.  Para  la  tabla  de  estados  del  Problema  1,
a.  Para  cada  una  de  las  siguientes  particiones,  indique  si
es  SP  y  si  es  o  no  coherente  con  la  salida.

P1  (ABCD)(E)
P2  (ABE)(CD)
P3  (AC)(BE)(D)
P4  (AB)(CD)(E)
P5  (AB)(CDE)
P6  (A)(B)(C)(D)(E)

b.  Utilizando  una  de  estas  particiones,  reduzca  el  sistema  a  la
uno  con  el  menor  número  de  estados,  mostrando  un  nuevo  estado
mesa.
Machine Translated by Google

9.7  Capítulo  9  Prueba 9­49

3.  Para  la  siguiente  tabla  de  estado,  busque  todas  las  particiones  de  SP  
no  triviales.

q
qx  0x1  _  _ z
CA  B
BD  C
TAXI
DB  C

4.  Para  la  siguiente  tabla  de  estados,

q
qx  0x1  _  _ z
Anuncio  B 1
BF  D  0
CA  D  1
DE  D  0
CE  B 1
FD  C  0

Las  siguientes  son  todas  las  particiones  SP,

P1  (AE)(CD)(B)(F)
P2  (AF)(BC)(D)(E)
P3  (AEF)(BCD)

Realice  una  asignación  de  estado  "bueno"  y  muestre  la  ecuación  de  salida  
y  las  ecuaciones  de  entrada  para  los  flip  flops  D.
Machine Translated by Google

APÉNDICE

Relacionando  el  Álgebra
al  Mapa  de  Karnaugh
A
útil  para  ver  cómo  algunas  de  las  propiedades  aparecen  en  el  mapa.
Aunque  usamos  el  mapa  sin  preocuparnos  por  el  álgebra,  es

Propiedad  9a. ab  +  ab  =  a
wx wx
y 00 01 11 10 y 00 01 11 10

0 1 1 0 1 1

1 1 1 1 1 1

A  la  izquierda,  hemos  encerrado  en  un  círculo  wx  y  wx.  Se  combinan  para  formar  el  término
X.  Dos  rectángulos  adyacentes  se  combinan  para  formar  un  rectángulo  más  grande.
A  continuación  se  muestra  otra  geometría.

wx wx
y 00 01 11 10 y 00 01 11 10

0 0

1 1 1 11 1 1 1 11

Aquí,  wy  +  wy  =  y.

543
Machine Translated by Google

544 Apéndice  A  Relacionando  el  Álgebra  con  el  Mapa  de  Karnaugh

Propiedad  10a. a  +  ab  =  a  +  b
wx wx
y 00 01 11 10 y 00 01 11 10

0 1 0 1

1 1 1 1 1 1

A  la  izquierda,  tenemos  wy  y  wxy.  Algebraicamente,  factorizaríamos  w
de  ambos  términos,  quedando  w  (y  +  xy)  =  w  (y  +  yx).  Para  la  Propiedad  10a,  un
es  y,  y  b  es  x.  Así,  tenemos  wy  +  wx,  como  se  muestra  en  el  mapa  de  la  derecha.  En
el  mapa,  esto  implica  un  grupo  adyacente  a  un  grupo  más  pequeño.  A  continuación  se  muestra  
un  ejemplo  de  cuatro  variables.

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 00

01 1 1 1 1 01 1 1 1 1

11 1 11 1

10 10

donde  yz  +  wxyz  =  yz  +  wxz.  Después  de  factorizar  el  z  común,
tiene  z  (y  +  ywx).  Así,  la  a  de  P10  es  y,  y  la  b  es  wx.

Propiedad  12a. a  +  ab  =  a
wx wx
y 00 01 11 10 y 00 01 11 10

0 0

1 1 1 11 1 1 1 11

donde  el  término  xy  en  el  mapa  de  la  izquierda  está  completamente  contenido  en  el  término  y,
y  por  lo  tanto  se  puede  eliminar.
Machine Translated by Google

Apéndice  A  Relacionando  el  Álgebra  con  el  Mapa  de  Karnaugh 545

Propiedad  13a. at1  +  at2  +  t1t2  =  at1  +  at2
wx wx
y 00 01 11 10 y 00 01 11 10

0 1 1 0 1 1

1 1 1 1 1 1

El  término  wx  en  el  mapa  de  la  izquierda  es  el  consenso  de  xy  y  wy,  y  por  lo  tanto  es
eliminado  en  el  mapa  de  la  derecha.  Los  1  del  término  de  consenso  son  la  mitad  de
un  grupo  y  la  mitad  del  otro.  Un  ejemplo  más  grande  se  muestra  a  continuación,

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 1 00 1

01 1 1 1 1 01 1 1 1 1

11 1 1 11 1 1

10 10

donde  wyz  es  el  consenso  de  xz  y  wxy  y  se  ha  eliminado  en  el
mapa  derecho.
Ahora  veremos  algunos  ejemplos  de  reducción  algebraica,  mostrando
los  mapas  correspondientes.

EJEMPLO  A.1
Reduzca  lo  siguiente  a  dos  términos  con  cuatro  literales.

f  =  wxy  +  yz  +  xz  +  wxy  +  wxyz

La  función  se  muestra  en  el  primer  mapa.  Después  de  usar  la  Propiedad  9a  en  la  primera  y
cuarto  término  y  la  Propiedad  12a  en  los  dos  últimos  términos,  obtenemos  el  segundo  mapa.

wx wx wx
yz 00 01 11 10 yz 00 01 11 10 yz 00 01 11 10

00 11 00 11 00 11

01 1 1 01 11 01 11

11 11 1 1 11 11 1 1 11 11 1 1

10 10 10
Machine Translated by Google

546 Apéndice  A  Relacionando  el  Álgebra  con  el  Mapa  de  Karnaugh

f  =  xy  +  xz  +  yz

Pero  xz  es  el  consenso  de  xy  y  yz,  produciendo

f  =  xy  +  yz

y  el  tercer  mapa.

EJEMPLO  A.2
Reduzca  lo  siguiente  a  tres  términos  y  siete  literales.

G  =  BC  +  ACD  +  ABD  +  ACD

Esta  función  se  representa  en  el  primer  mapa.

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 1 00 1 1

01 1 1 01 1 1

11 1 1 1 11 111

10 1 1 10 1 1

El  consenso  de  los  dos  primeros  términos  nos  da  ABD,  como  se  muestra  en  el  
segundo  mapa.  La  propiedad  9a  nos  permite  reemplazar  ABD  +  ABD  por  AD  (como
se  muestra  en  el  siguiente  mapa)  y  la  Propiedad  12a  nos  permite  eliminar  ACD,  finalmente
reduciendo  la  expresión  a

G  =  BC  +  AD  +  ACD

AB AB
CD 00 01 11 10 CD 00 01 11 10

00 1 1 00 1 1

01 1 1 01 1 1

11 1 1 1 11 111

10 1 1 10 1 1
Machine Translated by Google

Apéndice  A  Relacionando  el  Álgebra  con  el  Mapa  de  Karnaugh 547

EJEMPLO  A.3
Reduzca  lo  siguiente  a  tres  términos  y  siete  literales.

h  =  wx  +  wz  +  wxz  +  xyz  +  wyz

El  primer  mapa  muestra  los  términos  originales.  Usando  la  Propiedad  10a  en  la  primera  y
el  tercer  término  produce  xz.  Entonces,  wx  ¢  xz  =  wx  y  nos  permite  eliminar  eso
término,  produciendo  el  segundo  mapa.

h  =  wz  +  xz  +  xyz  +  wyz

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 11 00 11

01 1 1 01 1 1

11 1 1 1 11 1 1 1

10 1 11 10 1 11

Ninguna  de  las  propiedades  que  no  sean  consenso  ayuda,  y  el  único  consenso
que  existe  es

xyz  ¢  wyz  =  wxy

Si  sumamos  ese  término,  como  en  el  siguiente  mapa,  podemos  calcular

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 11 00 11

01 1 1 01 1 1

11 1 1 1 11 1 1 1

10 1 11 10 1 11

wz  ¢  wxy  =  xyz y xz  ¢  wxy  =  wyz

Por  lo  tanto,  podemos  eliminar  xyz  y  wyz,  dejando

h  =  wz  +  xz  +  wxy

como  se  muestra  en  el  cuarto  mapa.
Machine Translated by Google

APÉNDICE  B:  RESPUESTAS  A  EJERCICIOS  SELECCIONADOS

B.1  Capítulo  1  Respuestas
1. a.  31 d.  47  horas  0
2. a.  000001001001
mi.  001111101000
gramo.  4200  212  4096  Por  lo  tanto,  no  se  puede  representar  en  12  bits
  ECIDNÉPA

3. a.  96B
C.  317
4. C.  1023
5. a.  001111 3  12  15
d.  000001 51  14  65  desbordamiento
mi.  110010 11  39  50
6. a.  011001 C.  no  se  puede  almacenar

mi.  110001
7. C.  21 d.  28 H.  32
8. C.  10001111
d.  no  puede  almacenar  números  mayores  de  127
9. a.  000100 11  (15)  4
d.  010000 22  (26)  desbordamiento
F.  101101 3  (16)  19
10.  segundo  111001 i.  17  24  desbordamiento
ii.  17  (24)  7
C.  110011 i.  58  7  51
ii.  6  (7)  13
d.  001100 i.  36  24  12
ii.  28  (24)  desbordamiento
11.  ai  0001  0000  0011
ii.  0001  0000  0011
iii.  0001  0000  0011
IV.  0100  0011  0110
v.10100  11000  10001
12 i. ii. iii. IV. v. vi.
b.  No 18 15  no 27 27
d.  95  no nº62 149 107
13.  un.  ii.  0100010  1001111  1001011  0100010
b.  iii.  9/3  3

548
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 549

B.2  Capítulo  2  Respuestas
2. a.

wx  y z 1  23
00  00  1  00  01  1  00  10  1  00  11  1  01  00  1   1 1
01  01  1  01  10  1  01  11  0  10  00  0  10  01  0  10   1 1
10  0  10  11  0  11  00  0  11  01  0  11  10  0  1  1   1   1
11  0 1   1
1   1
1   1
1   1
1   1
1   1
1   1
1   1
0   1
0   0
1   0
0  1 0
0

d.
A  B  C D F
00  00  1
00  01  1
00  10  0
00  11  0
01  00  1
01  01  1
01  10  1
01  11  0
10  00  0
10  01  1
10  10  1
10  11  1
11  00  0
11  01  0
11  10  1
11  11  1
Machine Translated by Google

550
Apéndice  B  Respuestas  a  ejercicios  seleccionados

gramo.
a b  cd  g
0 0  00  1
0 0  01  0
0 0  10  1
0 0  11  0
0 1  00  1
0 1  01  0
0 1  10  1
0 1  11  1
1 0  00  0
1 0  01  1
1 0  10  0
1 0  11  1
  ECIDNÉPA

1 1  00  X
1 1  01X
1 1  10  X
1 1  11X

3.  un.
a

antes  de  Cristo

a antes  de  Cristo

4.  un
XYZF

0001  0010  0101  0111  1001  
1010  1100  1111

5.  segundo  f  h,  pero  g  debido  a  la  fila  011  6.  b.  
ii.  suma  de  tres  términos  producto  iv.  producto  
d. de  dos  sumas  de  términos  i.  
F. producto  de  1  literal  ii.   iii.  suma  de  1  literal
suma  de  1  término  producto  iv.  producto  de  1  término  de  suma
gramo.  
ninguno  7.  b.  4d.  3 F.  1 gramo.  6

8.  un. z
d. ab  ac
F. xyxz  xy  también  
xy  yz  xy  ( ac )  ( a  c )  
9.  c. ( ab )  ( ac )  ( a  c)  ( bc )
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 551

10.  C.

v
w

11.  ci  ha  ac(b  d)  a  (c  bd)
ii.  abc  acd  ac  abd
12.  un.  f  (ab  d)(b  c)(a  c  d)(a  bc  d)
14.  un.  f(a,  b,  c)  m(1,  5,  6,  7)
g(a,  b,  c)  m(0,  1,  4,  5,  6)
b.  f  abc  abc  abc  abc
g  abc  abc  abc  abc  abc
C.  f  bc  ab
gb  ac
d.  f(a,  b,  c)   m(0,  2,  3,  4)
g(a,  b,  c) m(2,  3,  7)
mi.  f  (ab  c)(a  b  c)  (ab  c)(a  b  c)
g  (ab  c)(a  b  c)(a  b  c)
F.  f  (b  c)  (a  b)
g  (a  b)  (b  c)
16.  un.  si  b.  nº  18.   C.  Sí d.  No mi.  No F.  Sí
a.  f  a(bc)  (c  d)  ab  ac  cd
mi.  f  1  (ab  cd)  ac  ad  bc  bd
Machine Translated by Google

552 Apéndice  B  Respuestas  a  ejercicios  seleccionados

19.  D.
B

A
F
mi
A
mi DD  B

C
A
  ECIDNÉPA

mi

20.  c.  fbac  21.  c.  
FWZYZ  WXY
mi.  GBD  BC  AD
gramo.  g  bc  d  abc  a  bd  a  
bc  abd  bcd
22.  un.  fabca  bd  un  cd  abc  acd
abda  bc  bcd  bcd
acabd
23.  segundo.  gxyzxyzx  yz  x  yz  xyz  xy  z  m(0,  1,  2,  3,  4,  
g   , X z ) ,  y , 7)
( w  24.  c.  xy  wz  
25.  c.  ( b  d)( c  d)( abd )( bcd )  26.  a.  fw  (y  xz )  z  
(ywx )

X F

z wz

w
X

y
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 553

d.  F  B[D(A  CE)  AC]  B(AC  CD)

D
A

mi B
A

C
H
A

C
B

27.  un.  F  BE(ACD  CD  AC)  B(E  AC)  CDE  3  3  3  2  2  3  2  2  2
3  3  paquetes
BE(C(A  D)  ACD)  BE  CDE  ABC  3  paquetes  3
3 2  2 2  3  4  2 3

A
C
D

A B
mi
C
B
mi F

A C
D
C mi
Machine Translated by Google

554 Apéndice  B  Respuestas  a  ejercicios  seleccionados

B.3  Capítulo  3  Respuestas  1.  b.

wx
00 01 11 10
yz

00 XX

01 1 1 1

11 11

10 1 1 X
  ECIDNÉPA

C. ab
cd 00 01 11 10

00

01 1

11 1 111 11

10 1 1 1

2.  segundo  gwx  wx  wy  gwx  wx  xy  e.  GXZ  WXZ  WXY

i.  h  pq  qr  rspqr  prs  h  pq  qr  rspqrq  rs  h  pq  
qr  rsq  rs  pqs  l.  Implicantes  primos:  
xy ,  yz ,
xz , wz , wx , wyz , xyz , wx  y
Mínimo:  g  yz  xy  wx  wz  xyz
metro.  HXZWXY  WXZ  WXY
HXZ  WYZ  WXZ  WXY
HXZ  WYZ  XY  Z  WXY
HXZ  WYZ  XY  Z  WY  Z
norte.  fac  ab  cd  bd  fbcab  cd  ad  
fcd  ac  abbdfac  ad  bc  bdfbc  
bd  ac  adfcd  bc  ab  ad
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 555

pag.  f1  =  abcd  +  a  cd  +  a  bc  +  acd  +  ab  d  +  abc  +  a  bd  f2  =  
abcd  +  a  cd  +  a  bc  +  acd  +  ab  d  +  abc  +  bc  d  f3  =  abcd  +  
a  cd  +  a  bc  +  acd  +  ab  d  +  ac  d  +  a  bd  f4  =  abcd  +  a  cd  +  
a  bc  +  abd  +  ab  c  +  ac  d  +  a  bd  f5  =  abcd  +  a  cd  +  a  bc  +  
abd  +  ab  c  +  ac  d  +  bc  d  f6  =  abcd  +  a  cd  +  a  bc  +  abd  +  
ab  c  +  ab  d  +  a  bd  f7  =  abcd  +  a  cd  +  bcd  +  acd  +  ab  d  +  
ac  d  +  a  bd  f8  =  abcd  +  a  cd  +  bcd  +  acd  +  ab  d  +  abc  +  a  
bd  f9  =  abcd  +  a  cd  +  bcd  +  acd  +  ab  d  +  abc  +  bc  d  f10  =  
abcd  +  a  cd  +  bcd  +  ab  c  +  ab  d  +  abc  +  a  bd  f11  =  abcd  +  
a  cd  +  bcd  +  ab  c  +  ab  d  +  abc  +  bc  d  f12  =  abcd  +  a  cd  +  
bcd  +  ab  c  +  ab  d  +  abd  +  bc  d  f13  =  abcd  +  a  cd  +  bcd  +  
ab  c  +  ac  d  +  abd  +  a  bd  f14  =  abcd  +  a  cd  +  bcd  +  ab  c  +  
ac  d  +  abd  +  bc  d  f15  =  abcd  +  a  cd  +  bcd  +  ab  c  +  ac  d  +  
abc  +  a  bd  f16  =  abcd  +  a  cd  +  bcd  +  ab  c  +  ac  d  +  abc  +  
bc  d  f17  =  abcd  +  b  cd  +  ab  c  +  bcd  +  a  bd  +  abc  +  ac  d  f18  
=  abcd  +  b  cd  +  ab  c  +  bcd  +  a  bd  +  abc  +  ab  d  f19  =  abcd  
+  b  cd  +  ab  c  +  bcd  +  a  bd  +  abd  +  ac  d  f20  =  abcd  +  b  cd  
+  ab  c  +  abd  +  a  bc  +  bc  d  +  ac  d  f21  =  abcd  +  b  cd  +  ab  c  
+  abd  +  a  bc  +  bc  d  +  ab  d  f22  =  abcd  +  b  cd  +  ab  c  +  abd  
+  a  bc  +  ac  d  +  a  bd  f23  =  abcd  +  b  cd  +  acd  +  a  bc  +  a  bd  
+  abc  +  ab  d  f24  =  abcd  +  b  cd  +  acd  +  a  bc  +  a  bd  +  abc  +  
ac  d  f25  =  abcd  +  b  cd  +  acd  +  a  bc  +  a  bd  +  abd  +  ac  d  f26  
=  abcd  +  b  cd  +  acd  +  a  bc  +  bc  d  +  abc  +  ac  d  f27  =  abcd  
+  b  cd  +  acd  +  a  bc  +  bc  d  +  abc  +  ab  d  f28  =  abcd  +  b  cd  
+  acd  +  a  bc  +  bc  d  +  abd  +  ac  d  f29  =  abcd  +  b  cd  +  acd  +  
a  bc  +  bc  d  +  abd  +  ab  d  f30  =  abcd  +  b  cd  +  acd  +  bcd  +  a  
bd  +  abc  +  ac  d  f31  =  abcd  +  b  cd  +  acd  +  bcd  +  a  bd  +  abc  
+  bc  d  f32  =  abcd  +  b  cd  +  acd  +  bcd  +  a  bd  +  abd  +  ac  d  3.  
b.  Implicantes  primos:  xy ,  yz ,

x , wz , wx , wyz , xyz , wx  y


Mínimo:  g  yz  xy  wx  wz  xyz
4.  segundo  g  wx  yz  xy  xz  wy  wz  5.  c.  f1  ab  
bd  cd  a  bc  f2  ab  bd  cd  a  bd  f3  ab  
bdbca  bd  f.  f1  cd  abbd  ac  d  f2  
cd  abbd  ab  c  f3  cd  abad  ab  c
Machine Translated by Google

556 Apéndice  B  Respuestas  a  ejercicios  seleccionados

6.  c.  Todos  son  diferentes.
F.  f2  y  f3  son  iguales;  f1  trata  a  m13  de  
manera  diferente  7.  a.  f  
ABCD  AD  f  (B  D)(A  BC )  (AD )  d.  f1  
ad  ad  bc  ab  f2  ad  ad  bc  bd  
f3  ( ab  d)( acd )( abd )  i.  f1  
wz  wy  xz  f2  wz  wy  wx  f3  wz  wx  xz  f4  wz  wx  
yz  f5  wx  wx  yz  f6  wx  
wy  xz  f7  ( w  z)( wxy )
  ECIDNÉPA

8.  a,  d.  Como  no  hay  no  importa,  todas  las  soluciones  a  cada  problema  son
igual.  
i.  Todos  son  diferentes.
9.  c.  H  AB  E  BD  E  BCDE  A  CD  E
F.  HVWZ  VWY  VWY  WXZ  VWXZ
HVWZ  VWY  VWY  WXZ  WXYZ
i.  HACD  CDE  B  CE  AD  E  {ACD  o  ACE }
HACD  CDE  B  CE  ACD  CDE
norte.  GXY  VXZ  {VWZ  o  WXZ }
10.  segundo  GBCEF  BD  F  AB  CD  CDEF  ABCE  ABF  BC  FA  BCDE

11.  un .  fabuloso  ab  c  bc  d  acd
gab  bc  d  acd  e.  F  WY  
WZ  WXZ  WXYZ
GYZ  WXY  WXYZ
H.  fcda  cd  bd  g  bd  acd  
ab  {abc  o  acd }  hb  cd  bd  acd  a  bc  {abc  
o  acd }
j.  f  bcd  abacd  o  f  bcd  ab  bc  d  o  f  
bcd  bcacdg  bcd  cd  12.  b.  
FABCD  AC  D  ACD  BCD  
A  BCD

G  ABCD  BCD  A  BCD
H  AC  D  AD  A  BCD  ABCD

FABCD  AC  D  ACD  BCD  A  BCD
G  ABCD  BCD  A  BCD
H  ACD  AC  A  BCD  ABCD
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 557

B.4  Capítulo  4  Respuestas
1.,  2.  b.  ancho  x  profundidad  rs F.  ab  h.  VWX
wx qr bd WXZ
xy pq cd VWZ
wy pqs  ac  pqr   VYZ
anuncio VWY
prs acd  VXY
QRS b.d.c. VXYZ
a  B  C VWY
VWXZ
W  X  Y  Z

3.  segundo  g  wx  wx  wy
g  wx  wx  xy
d.  h  pq  qr  rs  pqr  prs
h  pq  qr  rs  pqr  qrs
h  pq  qr  rs  qrs  pqs
F.  f1  cd  ab  bd  acd
f2  cd  ab  bd  abc
f3  cd  ab  ad  abc
H.  H  VWZ  VWY  VWY  WXZ  VWXZ
H  VWZ  VWY  VWY  WXZ  WXYZ
4.,  5.  b.  Implicantes  primos  de  F:  WYZ,  XYZ,  WY,  WZ,  WXZ
Implicantes  primos  de  G:  YZ,  WXY,  WXY,  WXZ
Términos  compartidos:  WXYZ,  WXYZ,  WYZ
d.  Términos  solo  para  f :  acd,  cd,  bc
Términos  solo  para  g :  cd,  ab,  ac,  ad
Término  solo  para  h :  bcd
Término  para  f  y  g:  abcd
Término  para  f  y  h:  abc
Términos  para  g  y  h:  acd,  abc,  acd
Término  para  los  tres:  bd
6.  segundo  F  WY  WZ  WXZ  WXYZ
G  YZ  WXY  WXYZ
d.  f  cd  acd  bd
g  bd  acd  ab  {abc  o  acd}
h  bcd  bd  acd  abc  {abc  o  acd}
Machine Translated by Google

558 Apéndice  B  Respuestas  a  ejercicios  seleccionados

B.5  Capítulo  5  Respuestas  2.  
a.  La  tabla  de  verdad  para  este  módulo  es
abquisto
000010  001011  010011  011100  
100100  101101  110101  111110

ya  bc  s  ab  ac  abc  tbc  bc
  ECIDNÉPA

b.  El  retraso  de  c  a  y  es  2  para  cada  módulo.  El  retraso  total  es  32  1.
7. abcXY
0000  0
0010  1
0100  0
0111  1
1000  0
1011  1
1101  0
1111  1

9.

antes  de  Cristo
s
0123

a ES

C
afuera

0123

a ES
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 559

12
1
y
1

0
X

1
y
0

18.  un.
A
B
D

A
B
C
D X
A
B
C
B
C
D
B
C
D
A Y
C
D

A Z
B
D
Machine Translated by Google

560 Apéndice  B  Respuestas  a  ejercicios  seleccionados

b.  La  solución  es  sencilla;  el  diagrama  no  se  muestra.  C.  
Necesitamos  dos  decodificadores.  A  está  conectado  a  la  habilitación  de  la  primera.  El
las  salidas  corresponden  a  los  primeros  ocho  minitérminos.  A  se  usa  para  habilitar  
el  segundo,  produciendo  los  otros  ocho  minitérminos.  Solo  se  necesitan  tres  
puertas  OR.
d.  La  solución  de  la  parte  a  se  implementa  en  un  PLA  con  siete  términos:
X  ABD  1 ABC  2 Un  chaleco  BC34 CD  B  5
Y  AC  D  ABD  1 A  BC3  B  CD 5
Z  ABD  1 A  B  C  D AB  D  BCD  2  4

mi.  El  PAL  se  implementaría  con  una  solución  usando  solo  números  primos
implicantes  de  funciones  individuales:
  ECIDNÉPA

XABD  CD  ABD  BC
Y  AC  D  ABD  A  BC  B  CD  o
A  CD  BCD  ABC  AB  D
ZBCD  ABD  BCD  {AB  D  ACD }

21.  un.  X1  BD  2 BD  CA  1 C.A.


X2  BCD  AD  CA  1 un  disco
***
X3  DBCAB  AC4
o
CAD  BC  AB
X4  BD  2 AB  C5  UN  CD 6 BC  D  ABD  CA  1
X5  BD  2 un  disco 6CA  D  
X6  A  BC  ABC  AB  C  { BCD  o  ACD }
{ACD  o  AB  D }  {BCD  o  ABD }
X7  BC  CA  1 AB  3 AB  C5  { UN  CD  6*  o  BD }
X8  AB  7 AC3

Cantidad  de  paquetes
X1:2  2 2 2 4
X2: 0 2 2 (2)   3 5
X3:0  2 2 2 4
X4:  (2) 3 3 3 3 (2)  6  3
X5:  (2)  (3) 3
X6:3  3 3 3 3  36
X7: 2 (2)   2 (3) 2 5
X8:  (2) (2) 2

2:  13  3:   7430s:  4   32  puertas/95  entradas


13  4:  2   7420s:  1  
5:  2  6:  2 7410s:  5  (2  sobrantes)  
7400s:  3  (use  una  de  3  entradas)
Total:  13  paquetes

* Resolviendo  X7  solo,  usaría  BD  en  lugar  de  A  CD .  Pero,  este  último  también  es  un  implicante  
.BD
principal  y  se  puede  compartir,  ahorrando  una  puerta  y  tres  entradas.  El  recuento  de  puertas  se  basa  en  
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 561

b.  X1  BD 1 C.A.3 A'CD2  BD


X2  B  ACD2  CA 3 CD  ACD 8

X3  D  DCA 8 BCD 10 ABD 5

X4  ABC4  BD 1 C.A.3 DCA 7 ABCD6  ABCD9


X5  BD 1  7
DCA ACD'
ACD  X6 8 BCD 10  ABCD9  ABCD6  ABC  ABD 5

X7  ABC4  CA 3  ABCD6  AB11  ABD 5

X8  CA  AB11
Cantidad  de  paquetes
X1:2  2 3 2 4
X2: 0 (3)   (2)   2 3 5
X3: 0 (3)   3 3 4
X4: 3 (2)   (2)   3 4 4 6
X5:  (2) (3)   3 3
X6:  (3) (3)   (4)   (4)   3 (3)  6
X7:  (3) (2)   (4) 2  (3) 5
X8:  2 (2) 2
2: 7 7430: 4  24  puertas /79  entradas
3: 9 7420: 2
4's: 4 7410: 3
5's: 2 7400: 2
6's: 2 Total:  11  paquetes
C.  La  implementación  PLA  de  la  parte  b  requeriría  18  términos  de  producto,
uno  para  cada  uno  de  los  términos  del  producto  que  se  muestran,  incluido  el  literal  único
términos  (B'  en  X2  y  D  en  X3).  Podríamos  hacer  esto  con  solo  16  productos.
términos  si  tratamos  el  PLA  como  una  ROM  (es  decir,  creamos  los  términos  
de  16  min).  Esto  no  habría  funcionado  para  la  parte  b,  ya  que  requiere  puertas
de  más  de  ocho  entradas  para  aquellas  funciones  con  más  de  8
minitérminos  (todos  menos  X5  y  X8).

B.6  Capítulo  6  Respuestas
1.  segundo 0
A
1

1 B 1 D
0 1
0
0
0
1

C
0

x110101  01  0  0  1  0  1 1
q  ABBCDCDC  CC  ABCDB
000010  10  1  0  0  0  0  1  0  0
Machine Translated by Google

562 Apéndice  B  Respuestas  a  ejercicios  seleccionados

4.  c.

Reloj

PRE

CLR

j
  ECIDNÉPA

7.  segundo

Reloj

q1

q2

8.  un.
q1q2  
q1q2 x  0 x1  _ z
00   10   10   1
01   00   10   0
10   11   11   1
11 01 11 1

x001100110  _

q1  0111100110?1?  q2  00111100110?1  z  
111110111011?
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 563

9.  c.  x011001110  _
Un  00011110111
B  011100001000
C  0100110001
z  010000000000

B.7  Capítulo  7  Respuestas  2.  a.  
La  ecuación  de  salida  es  la  misma  para  todos  los  tipos  de  flip  flop:
z  xB  xB
DA  xB  xA  DB  x  A  SA  xB  RA  xB  
(o  xA)  SB  x  TA  xA  xB  TB  xB  x  AB  JA  xB   RB  xA
KA  x  JB  x  KB  xA  f.  z  A

DA  xA  x  AB  DB  xB  xB
JA  x KA  x  B  JB  x  KB  x
SA  xA  RA  xA  AB  SB  xB RB  xB
TA  x  AB  TB  x

j A j B

k A k B

Reloj

3.  c.  z  q1  q2  D1  
xq1  xq1  J1  x  K1   D2  xq1  q2
x  4.  b.  (i)  D1  xq1   J2  xq1  K2  1
q2  D2  q1  xq2  xq2  q1  
xq1  q2  xq2
z  xq1  q2  xq2  xq1  q2  xq2
(ii)  D1  xq2
D2  q1  q2x  _
z  xq2  xq1  q2
(iii)  D1  x  q1  q2
D2  xq1  xq2
xq2  xq1
Machine Translated by Google

564 Apéndice  B  Respuestas  a  ejercicios  seleccionados

7.  un.  DD  CBA  DB  DA  JD  CBA  DDC  BA  CB  CA  JC   KDBA  _
D  BA  C  BA  BA KC  BA
DB JB  KB  A
DA  A JA  KA  1
8.  segundo  CC  _ BA  {CB  o  BA } JC  B KC  BA
DB BCA JB  1 KB  CA
DABA  _ JA  1 KA  B

3
  ECIDNÉPA

0
JK

2 1 6 74 25
D

Camino  marrón  de  0  y  5  cuando  DC BA  BA

10.  un.  JA  B  KA  x  B  JB  x  A  KB  1
b.  11  →  00
16.  b. F.

0 1/0
A
A
1 0/0
1 0
0/1
1/0

B 1 mi 1/0
B mi
0 0
1 0/0 0/0
1 0 1/0
0
1/0
C D C D
1 0 0 0/0

1
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 565

k. yo

0
0/0 A

1/0 A
0/1 0
1

B C 1
0/0 1/1
B 1 mi
0 1 0
1/0
1/0 0/0
0 F
0
0 1 1 1
D 0/0 mi C D
0
0 1 1
1/0
1/0
0/0
1/0

F 0/0 GRAMO

1/0 0/0

B.8  Capítulo  8  Respuestas  4.  a.  
Suponga  que  CLR  está  cronometrado,  pero  no  requiere  que  el  contador  esté  habilitado.

D CBA

ES CLR

Reloj

b.  zx  q1  q2  q3  q4  q5  q6  q7  
q8  x(q1  q2  q3  q4  q5  q6  q7)q8
Machine Translated by Google

566 Apéndice  B  Respuestas  a  ejercicios  seleccionados

8.

esperar

0 1
s
  ECIDNÉPA

1
norte 0

norte norte

A 0, A 1  [15:1]
d

0 1
norte 1

JB  D  KB  CD  JC   KA  {BD  BC  o  BD  CD  o  BC  CD }  9.  a.  JA  BC  
AD  BD  KC  AD  {AD  o  BD }

JD  1  KD  1
En  algunos  casos,  el  siguiente  estado  depende  de  la  elección  de  KA  o  KC.  Esas  
transiciones  se  muestran  con  líneas  discontinuas.  En  cualquier  caso,  la  secuencia  
se  alcanza  dentro  de  los  tres  relojes.
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 567

0000
0

1101 0011
7 3

0100 1010 1100


4 6

1001
0001 1111
1 9

0110

1110 0010
0111
8 2

1011
1000 0101
5

b.  Se  muestra  una  tabla  para  la  suma  mínima  de  expresiones  de  productos.

X1  X2  X3  X4  X5  X6  X7
ABD  X XX
BCD  X  XX X
A  B  C XX X
ABD  XXX
ACD  XX X
A  B  C XX
A  B  C X X
ABD XXXX
DCA X
BCD X

o  entradas 4 5 5 3 2 3 4

12.  La  tabla  de  estado  para  este  contador  es  la  siguiente:

ai  Para  el  flip  flop  D ,  tenemos
DA  ABC  x  AB  xAC
DB  BC  BC  xAB  {AB  o  AC}
CC  xCA  xAB  xCA  BC  CA

Los  requisitos  de  la  puerta  NAND  son

Tamaño Paquetes  de  números
1  1  (x)  0  (de  4)
24  1
36  2
41  1
5  1 1

Por  lo  tanto,  el  costo  es  de  $1.25  por  las  puertas  más  las  chanclas.
Machine Translated by Google

568 Apéndice  B  Respuestas  a  ejercicios  seleccionados

ii.  Usando  chanclas  JK ,  obtenemos

JA  BC CA  x  BC
JB  C  xA KB  CA
JC  x  AB  KC  x  A  xA  {xB  o  AB }

Para  esto,  los  requisitos  de  la  puerta  NAND  son

Tamaño Paquetes  de  números
13  1
28  2
32  1
  ECIDNÉPA

Las  dos  puertas  NOT  adicionales  (1  entrada)  son  necesarias  para  crear  AND  
para  JA  y  KB.  Por  lo  tanto,  el  costo  es  de  $1,00  por  las  puertas  más  $2,00  
por  las  chanclas,  un  total  de  $3,00.
b.  Por  lo  tanto,  si  los  paquetes  de  flip  flop  D  cuestan  menos  de  $0.875,  la  primera  solución
es  menos  costoso.
Si  podemos  usar  un  paquete  D  y  un  paquete  JK ,  la  mejor  opción  
es  usar  el  paquete  JK  para  B  y  C,  y  uno  de  los  D  para  A  (usando  xB  
y  un  xAB  compartido  en  lugar  de  xA  en  KC).  Eso  requeriría

Tamaño Paquetes  de  números
1  2  0  (de  2)  25  2  36  2

Esta  solución  costaría  $2,00  más  el  costo  del  paquete  D.  Si  el  paquete  D  
costara  entre  $0.75  y  $0.875,  esta  solución  sería  mejor.  C.  Este  flip  flop  se  
establecerá  cuando  el  sistema  esté  en  el  estado  5,  6  o  7  y  x  sea  0,  o  cuando  
esté  en  el  estado  0  o  1  y  la  entrada  sea  1.  Puede  borrarse  siempre  que  el  
sistema  esté  en  el  estado  3.  Por  lo  tanto,  para  la  nueva  chancleta,
J  xAB  xAB  xAC
K  ABC

y  la  salida  es  solo  el  estado  de  ese  flip  flop.  d.  
Todas  las  salidas  provienen  de  flip  flops.  Podemos  calcular  las  entradas  para
un  flip  flop  D  para  Q  usando

DQ  JQ  KQ

y  luego  simplificando  el  álgebra.  El  resultado  es
D  AQ  BQ  CQ  xAB  xAB  x  AC
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 569

Reloj

QCBA

A
D
A

B
D
B

C
D
C

q
D
q
Machine Translated by Google

570 Apéndice  B  Respuestas  a  ejercicios  seleccionados

B.9  Capítulo  9  Respuestas
1.  c.
q
q x0  _ x1  _ z

CA 0  
CC  A 1

H.
q z
qx  0  x  1  x  0  x  1

AB  D 0   0  

BAB 0  
  ECIDNÉPA

CB  A 1   0  

DA  C 0  1 1

k.  El  sistema  no  se  puede  reducir.

2.  c.  PAG  1 (AB)(CD)( E )
PAG  
2 (ABE)(CD )
PAG  
3 (A)(BC)(DE )
PAG  
4 (AB)(CDE )
P  5 (A)(B)( C)(DE )
H.  PAG  1 (AE)(B)( C)(D)(F)( G )
PAG  
2 (AEF)(BG)( C)(D )
PAG  
3 (AE)(BG)( C)(D)(F)
k.  PAG  1 (GD)(B)( C)( E)(F)
PAG  
2 (AE)(BCD)(FG )
PAG  
3 (AEFG)(BCD )
PAG  
4 (AG)(B)( C)(D)( E)(F)
P  5 (A)(BC)(D)( E)(F)( G )
P  6 (AE)(BCDFG )
PAG  
7 (A)(B)( C)(DG)( E)( F)
PAG  
8 (A)(B)( C)(D)(EF)( G )
P  9 (ADG)(BC)( E)(F)
P10  (ADG)(B)( C)(EF)
P11  (AG)(BC)(D)( E)(F)
P12  (AG)(B)( C)(D)(EF)
P13  (A)(BC)(DG)( E)(F)
P14  (A)(BC)(D)(EF)( G )
P15  (A)(B)( C)(DG)(EF)
P16  (ADG)(BC)(EF)
P17  (AG)(BC)(D)(EF)
P18  (A)(BC)(DG)(EF)
Machine Translated by Google

Apéndice  B  Respuestas  a  ejercicios  seleccionados 571

3.  c. i.
q
q x0  _ x1  _ z

AA  B 0
BAB 1

ii.
q
q x0  _ x1  _ z

AA  B 1
SER  C 0
CEB 1
EF  A 0
FE  A 1

iii.
q
q x0  _ x1  _ z

AA  B 0
SER  C 0
CEB 1
DA  B 1
EF  D 1
ALIMENTADO 0

IV.
q
q x0  _ x1  _ z

AA  B 0
SER  B 0
EE  A 1

5.  c.  Las  tres  particiones  SP  son

P1  (ABC)(DEF)
P2  (AF)  (B)  (C)  (D)  (E)
P3  (A)  (BE)  (C)  (D)  (F)

P1  es  la  única  partición  SP  de  dos  bloques;  se  puede  usar  para  la  primera
variable.  Si  usamos  la  partición  consistente  de  salida,  POC  (ADE)(BCF),
para  q3,  necesitamos  otra  partición  que  separe  D  de  E  y  B  de
C.  Usando  P2,  deberíamos  mantener  juntas  A  y  F ,  y  usando  P3,  deberíamos
mantenga  B  y  E  juntos.  Dos  particiones  de  este  tipo  para  uso  q2

P4  (ACDF)(BE)
P5  (ABEF)(CD)

producir  las  asignaciones

q q1 q2 q3 qq1  _ q2 q3

un  000 un  000
B  011 B  001
C001  _ 011  _
D  100 D  110
mi  110 E  100
F  101 F  101
Machine Translated by Google

572 Apéndice  B  Respuestas  a  ejercicios  seleccionados

Para  la  primera  asignación,  las  ecuaciones  son

J1x  _ K1  1
J2  xq1q3  xq1q3 K2  x
J3  x  q1  q  2 K3  x
zq  3

utilizando  cuatro  puertas  con  11  entradas  (más  un  NOT).
Para  la  segunda  tarea,  las  ecuaciones  son
J1x  _ K1  1
J2  xq1q3  xq  1  q  3 K2  x  q  1
J3  x  q  2 K3  x
zq  3
  ECIDNÉPA

usando  cinco  puertas  con  12  entradas  (más  un  NOT).
Usando  los  primeros  seis  números  binarios,  la  solución  requiere  11  puertas  
con  24  entradas  (más  un  NOT).

J1  xq2 k  1 1
J2  xq  1  q  3  xq  1  q  3 K2  x  q  3
J3  xq  1  q  2 K3  x  q  1
zq  2  q  3  q  2  q  3
Machine Translated by Google

APÉNDICE  C:  RESPUESTAS  DEL  EXAMEN  DEL  CAPÍTULO

C.1  Capítulo  1
1.  un  101011011  2.   b.  533
1110  0  1  0  1  1  0  1  1   11011
1  0 1  1 1  0  1  0  1  1  4  3
1  4 0  1  1  0  0  1  2  5
0  11001  25  1  000100  parece  4:  desbordamiento
3.  un.  149  115  4.  100 b. 107   115  c.  95  73
110   111
1100  4  1101  3 1010  6  0111  7   0101  5
(0)  1  0  0  1  7  (1)  0   0011  3

0  0  1  5.  a.  13  12  1  10  6  4 1 (0)  1  0  0  0  desbordamiento

b.  3  (4)  1 6  (6)  desbordamiento

C.2  Capítulo  2

1. AB  CD  XYZ

00  00  0  00  01  0  00  10  0  00  11  0   0   0
01  00  1  01  01  0  01  10  0  01  11  0   0   1
10  00  1  10  01  1  10  10  0  10  11  0   0
11  00  1  11  01  1  11  10  1  1  1  11  0 1
1   1
1   0
0   1
0
0
0   1
0   0
1   1
1
0
1   1
0  0  0  1  1  0  0 0

573
Machine Translated by Google

574 Apéndice  C  Capítulo  Respuestas  de  la  prueba

2. abcf  g
00011
00111
01011
01100
10000
10100
11011
11110
  ECIDNÉPA

NO  es  
igual  3.  ac  ab

4.  un

a
b
C

a
F
d

base  de  datos

cama  y  desayuno

cd

a
F

bd

5.  un  f(x ,  y ,  z )  m(0,  2,  3,  5,  7)  b.  
fxyzx  yz  x  yz  xy  z  xyz  c.  fxzxy  xz  xz  xz  
yz  d.  f  (xyz )  (xyz )  (xyz )  e.  f  (xyz )  (x

z )
Machine Translated by Google

Apéndice  C  Capítulo  Respuestas  de  la  prueba 575

6.  un.
w

z
gramo

yz

b.
w
X
z

w
X gramo

xz

C.

y
z

gramo

z
w

7.  un.  f  (bd  bcd)  (bcd  bcd)  abd  bd  bd  abd  bd  d  (b  
ba)  bd  bd  ad  b(d  
ad)  bd  bd  ab  bd

b.  g  (xyz  xyz)  yz  wxy  xz  xy  yz  wxy  xz  x  
(y  yw)  yz  xz  xy  wx  yz  xz  xy  wx  yz  (consenso)  
8.  a.  abc  abc  abc  
abc  abc  abc

b.  wxy  xyz  wyz
Machine Translated by Google

576 Apéndice  C  Capítulo  Respuestas  de  la  prueba

9.
C

d
F
  ECIDNÉPA

b
a

10
d

mi

C
C

C
gramo

b a

mi

C.3  Capítulo  3
1.  un  f  (x,  y,  z)  m  (1,  2,  7)  d(4,  5)
b.  g  ca  abcd  abd  abc

ab
cd 00 01 11 10

00 1

xy 01 1 1 1
z 00 01 11 10

0 1 X 11 1 1

1 1 1 X 10 1 1
Machine Translated by Google

Apéndice  C  Capítulo  Respuestas  de  la  prueba 577

2.  un.  wxyz  wyz  wx  b.  acd  ac  ad  ab  3.  bd  bd  ac  {ab  o  ad}  
{abc  o  acd}  4.  wz  {xz  o  wx}  {xyz  o  wxy}  5.  f  ad  {cd  o  bd}

f  d(a  b)  d(a  c)  6.  f  wx  {xyz  o  
wyz}  {wyz  o  xyz}  f  (w  z)(x  y){(x  z)  o  (y  z)}{(x  y)  
o  (w  y)}
7.  ABC  ACE  ABCD  BCDE  {ABDE  o  BCDE}
8.  ACE  CDE  ACE  BCE  ABC
ACE  CDE  BCE  ABC  ACE
9.  un.  f  xyz  wx  wz
g  wz  wxy  xz  b.  f  xyz  
wz  wxz
g  wz  wxy  wxz
10.  un.  f  wz  wy  yz  wxz
g  wyz  xz  wxy  wyz  h  wz  wx  xyz  
wxyz  b.  f  wz  wyz  wxyz  wxyz  xy

g  wyz  xz  wxyz  wxyz  h  wz  wxyz  wxyz  
wx

C.4  Capítulo  4
1.  wx,  xyz,  wyz,  wyz,  wyz,  wxyz  2.  g  
acd  bd  ac  {ab  o  bc}  3.  términos  para  
ambos:  xyz,  wxz,  wxy  f :  wyz,  wyz,  
xz
g:  wxy,  wyz,  xz,  yz,  xy
4.  f  ad  acd  g  bd  bd  
acd
Machine Translated by Google

578 Apéndice  C  Capítulo  Respuestas  de  la  prueba

C.5  Capítulo  5
1.

xyz antes  de  Cristo

F
  ECIDNÉPA

1 EN1 0123456

w EN2 7

xyz antes  de  Cristo

gramo

w  EN1 0123456

0 EN2 7

2.
w X y z

wz

w  yz
W  x  Y  Z

W  x  Y  Z

xy
xz
wx

F gh
Machine Translated by Google

Apéndice  C  Capítulo  Respuestas  de  la  prueba 579

3.

wx y z

10

11

12

13

14

15

F gh
Machine Translated by Google

580 Apéndice  C  Capítulo  Respuestas  de  la  prueba

4.

w xyz

wz
  ECIDNÉPA

wy

yz

w  x  z

w  yz

xz

wxy

por  z

wz

wx

fgh

xyz

W  x  Y  Z
Machine Translated by Google

Apéndice  C  Capítulo  Respuestas  de  la  prueba 581

5.

0
0
2
X a 1
4
y b 2
6
ES 3

0
w a 1
z b 2

ES 3
8
0
10 h
0 a 1
12
b 2
14
ES 3

9
0
11
a 1
13
b 2
gramo

15
ES 3

C.6  Capítulo  6
1.  x  0011  0001  01
q  ACB  DBA  CB  DB  DB  z  0010  1001  01  010
Machine Translated by Google

582 Apéndice  C  Capítulo  Respuestas  de  la  prueba

2.

Reloj

k
  ECIDNÉPA

a. q

CLR

b. q

3.  D  xB  xB  TA  x z  AB

AB z
AB x0  _ x1  _ x1  _

00   11 01   1
01   00   10   1
10   10   01   0
11 01 10 1

4.  DA  xB  xB  DB  x  A  z  AB

Reloj

z
Machine Translated by Google

Apéndice  C  Capítulo  Respuestas  de  la  prueba 583

C.7  Capítulo  7
1.  DA  xB  xB  JB  KB  A  x  2.  S1  x  R1  xq2  J2   z  xA  xB
xq1  K2  x  3.  a.  D1  xq1  xq2  q1  q2  xq1q2  D2  x  q1   zq2  _
q2  z  q1  q2  b.  D1  x  q1q2  D2  q2

z q1  q2
C.

X
D q1 D q2

q1 q2

Reloj

4.  AD JCK  AC  TA  BC

6 2

0 7 3 5

4 1

5.  un b.

1/0 1/0

A A

0/0 0/0
1/0 1/0

0/1

B C B 1/0
1/0 C

1/0 1/0
0/0 0/0 0/1

D D

0/0 0/0
Machine Translated by Google

584 Apéndice  C  Capítulo  Respuestas  de  la  prueba

6.

1
A
0

0 1

B 0 D
0
  ECIDNÉPA

0 1
0
1
1
C
0

C.8  Capítulo  8

1.

CLR

Reloj

D CB  A

ES CLR

Reloj

X
Machine Translated by Google

Apéndice  C  Capítulo  Respuestas  de  la  prueba 585

2.
X X X

AB 0 1 AB 0 1 AB 0 1

00 1 00 1 1 00 1

01 1 01 1 01

11 1 11 1 11 1

10 1 10 1 1 10 1 1

AD base  de  datos z

AD
= xA + x  un base  de  datos
= X + B z = xB + x  un

Reloj

B A

q
D

q
A

q
D

q
B

z
Machine Translated by Google

586 Apéndice  C  Capítulo  Respuestas  de  la  prueba

C.9  Capítulo  9
1.
q
q x0  _ x1  _ z

A  ­B C  ­D A  ­  B  0


C  ­DE  A  ­  B  0
mi C  ­D A  ­  B  1

2.  un.  PAG  1 salida  consistente
  ECIDNÉPA

PAG  
2
SP
PAG  
3
ni
PAG  
4 SP,  salida  consistente
P  5 SP
P  6 SP,  salida  consistente  b.  
P4  nos  permite  reducir  el  sistema  al  del  Problema  1.
3.  P  (AC)(B)(D )  1  (AD)

(BC)
PAG  
2

PAG  
3 (A)(BD)( C)
PAG  
4 (AC)(BD )  
4.  Usa  P  3 para  q  1  y  POC  (ACE)  (BDF)  para  q  2. El  producto  de  estos  es  (AE )
(BD)  ( C)  ( E).  Usando  P  m2,
antenemos  A  y  F  juntos,  y  B  y  C  juntos.
Eso  da  (ADF)  (BCE)  o  (ABCF)  (DE)  como  buenas  particiones  para  q  3 .
Usando  este  último,  
obtenemos  D1  
x  q1  D2  xq1q3  xq1  q  1  q  2  q  3  xq  2  D  { q  
1  q  3 }  oxq  
  q  
12    
qq    
33    
x3q  1
zq  2
Machine Translated by Google

APÉNDICE  D:  EXPERIMENTOS  DE  LABORATORIO

En  las  
siguientes  
o  ssimulando  
Mencionando   ecciones,  
los  p resentaremos  
circuitos   tres  
en  eh
diseñados   l  terramientas   para  
exto.  Luego  habrá   implementar
una  
variedad  de  
experimentos,  adaptados  al  material  del  cuerpo  del  texto.

Primero,  en  D.1,  describiremos  una  configuración  en  la  que  se  cablearán  y  probarán  
paquetes  de  circuitos  integrados.
En  segundo  lugar,  en  D.2,  presentaremos  un  simulador  de  tablero  que  nos  permite  realizar  
los  experimentos  de  hardware  sin  necesidad  de  equipo  de  laboratorio.  El  cableado  del  Apartado  
D.1  se  realiza  en  una  pantalla  de  PC.
A  continuación,  en  D.3,  presentaremos  LogicWorks,  de  modo  que  se  pueda  simular  el  
comportamiento  de  los  circuitos  sin  construirlos  realmente.  Esto  será  particularmente  valioso  para  
observar  el  comportamiento  de  tiempo  del  circuito,  sin  el  uso  de  un  analizador  lógico.

Luego,  en  D.4,  proporcionaremos  un  conjunto  de  experimentos  que  se  pueden  realizar  con  
cada  uno  de  estos  sistemas.
La  distribución  de  pines  de  todos  los  circuitos  integrados  a  los  que  se  hace  referencia  en  el  
texto  se  muestra  en  D.5.  Tenga  en  cuenta  que  diferentes  fabricantes  utilizan  notaciones  diferentes.
Seguiremos  la  notación  en  el  texto.

D.1  LABORATORIO  DE  LÓGICA  DE  HARDWARE

Los  circuitos  lógicos  se  pueden  construir  y  probar  utilizando  una  pequeña  placa  de  pruebas  que  
permite  al  usuario  conectar  chips  y  cables  de  circuitos  integrados  (sin  realizar  conexiones  de  
soldadura  permanentes).  El  equipo  adicional  necesario  para  realizar  la  mayoría  de  estos  
experimentos  es  una  fuente  de  alimentación  (o  batería)  de  5  voltios,  algunos  interruptores,  algunos  
LED  (luces  para  mostrar  valores  binarios)  y  un  generador  de  onda  cuadrada  con  una  salida  de  5  
voltios  (con  salida  variable).  capacidades  de  velocidad).
Algunos  de  los  experimentos  posteriores  también  utilizan  un  par  de  pantallas  de  siete  segmentos  
y  un  pulsador.  El  IDL­800  Logic  Lab*  proporciona  una  manera  conveniente  de  construir  y  probar  
circuitos  digitales  de  tamaño  pequeño  y  mediano  e  incluye  todas  las  funciones  descritas  
anteriormente  y  muchas  otras.
Los  circuitos  están  cableados  en  la  placa  de  prueba,  una  pequeña  parte  de  la  cual  se  
muestra  en  la  Figura  D.1.  (La  placa  de  prueba  en  la  siguiente  sección  [Figura  D.6]  es  una  
simulación  por  computadora  de  esto.)  La  parte  principal  de  la  placa  de  prueba  tiene  un

*Fabricado  por  K  &  H  Mfg.  Co.,  Ltd.
587
Machine Translated by Google

588 Apéndice  D  Experimentos  de  laboratorio

número  de  ranuras  sobre  las  que  encaja  un  chip  de  circuito  integrado,  como  se  indica  
en  la  figura  D.1.  El  chip  encaja  en  el  primero  de  un  conjunto  de  seis  agujeros,  cada  
uno  de  los  cuales  está  conectado  internamente.  Así,  para  conectar  algo  a  un  pin,  el  
cable  se  inserta  en  uno  de  esos  agujeros.  (No  coloque  otro  chip  sobre  la  ranura  al  lado  
del  primero;  los  pines  de  los  dos  chips  estarían  conectados.  Inmediatamente  arriba  y  
debajo  de  la  sección  principal  en  muchas  placas,  hay  dos  buses.  Uno  se  usa  
generalmente  para  conexión  a  tierra.  El  otro  se  utiliza  generalmente  para  5  V.  En  
algunas  tarjetas,  las  distintas  secciones  del  bus  están  conectadas  internamente,  en  
otras,  deben  estar  cableadas  entre  sí.
  ECIDNÉPA

Algunas  placas  también  tienen,  en  la  parte  inferior  de  la  placa,  un  conjunto  de  pines  
en  columnas  que  se  conectan  internamente  y  se  usan  principalmente  para  señales  
externas  que  deben  conectarse  en  varios  lugares.

Figura  D.1  Detalle  de  la  protoboard.
Las  conexiones  a  
ese  pin  se  
Pasador  IC  insertado   pueden  hacer  en  
en  el  orificio cualquiera  de  estos Ranura

Circuito  integrado Conjunto  de  seis  orificios  
para  la  inserción  de  cables,  

todos  interconectados  internamente

El  paquete  de  circuitos  integrados  ilustrado  tiene  14  pines  (al  igual  que  todos  
ellos  en  los  experimentos  del  Capítulo  2).  La  orientación  del  chip  está  especificada  
por  el  semicírculo  (en  la  parte  superior).  Por  lo  general,  eso  es  solo  una  muesca  en  la  
cubierta  de  plástico  del  chip.  Los  pines  están  numerados  del  1  (en  la  parte  superior  
izquierda  del  semicírculo)  al  7  en  el  lado  izquierdo  y  luego  del  8  al  14  en  el  lado  
derecho.  (Si  hay  más  pines,  la  numeración  es  la  misma,  comenzando  en  la  parte  
superior  izquierda  y  continuando  hacia  abajo  por  el  lado  izquierdo  y  hacia  arriba  por  el  lado  derecho).
Machine Translated by Google

D.1  Laboratorio  de  lógica  de  hardware 589

En  la  Figura  D.2  se  muestra  una  mirada  más  cercana  al  7400  (con  4  compuertas  
NAND  de  dos  entradas)  en  dos  formatos:

Figura  D.2  Disposición  del  7400.

1 0  0
3
1 Vcc  5  V 2
2 13
4
3 12 6
5
4 11
9
5 10 8
10
6 9
TIERRA 8 12
11
13

El  primero  destaca  la  orientación  de  las  conexiones  de  los  pines;  el  segundo  
enfatiza  las  puertas  individuales.  Desde  el  punto  de  vista  del  cableado,  estamos  
tratando  con  el  primero  en  la  placa  de  circuito.
Para  ilustrar  el  uso  del  sistema,  considere  la  implementación  de
la  función

f  ab  bc

utilizando  puertas  NAND.  El  circuito  para  esto  se  muestra  en  la  figura  D.3.

Figura  D.3  Un  circuito  de  compuerta  NAND.
a

Dado  que  las  entradas  complementadas  a  menudo  no  están  disponibles,  b  se  creó  
utilizando  una  puerta  NAND.  (Podríamos  haber  hecho  esto  con  una  puerta  NOT,  pero  
el  7400  tiene  cuatro  puertas  NAND  y  podemos  usar  la  adicional  como  NOT).
Para  conectar  esto,  necesitamos  asociar  cada  puerta  con  una  en  el  chip  y  
encontrar  los  números  de  pin.  El  circuito  se  vuelve  a  dibujar  en  la  figura  D.4  con  
los  números  de  pin  indicados.
Machine Translated by Google

590 Apéndice  D  Experimentos  de  laboratorio

Figura  D.4  Circuito  NAND  con  pines
1
a 3

6 2
10
8
F
9
4
5  13

11
  ECIDNÉPA

12
antes  de  Cristo

Ahora  las  conexiones  se  pueden  hacer  en  el  protoboard.  El  circuito  de  la  Figura  D.5  muestra  
las  conexiones  apropiadas  para  este  sistema.  Tenga  en  cuenta  que  no  importa  cuál  de  los  
cinco  orificios  se  use  para  conectar  algo  al  pin  de  un  chip.  Sin  embargo,  solo  un  cable  
puede  caber  en  un  agujero;  por  lo  tanto,  cuando  la  misma  señal  va  a  varios  puntos,  se  usa  
más  de  uno  de  los  agujeros  (o  se  usa  uno  del  conjunto  de  agujeros  en  la  parte  inferior  del  
tablero).  Así,  por  ejemplo,  la  entrada  b  va  a  los  pines  4,  5  y  13.  En  la  Figura  D.5,  está  
conectada  directamente  al  pin  4;  luego  se  pasa  un  cable  del  pin  4  al  pin  5  y  del  pin  4  al  pin  
13.  (Podría  haber  pasado  del  pin  5  al  13).

Figura  D.5  Cableado  para  circuito  7400.
LUZ
F

14
13
12
11

1234567 1098

Tierra

CAMBIAR CAMBIAR CAMBIAR


A B C

Después  de  cablear  la  placa  de  pruebas  (y  antes  de  encenderla),  conecte  la  placa  de  
pruebas  a  los  voltajes,  los  interruptores  de  entrada  y  las  luces  de  salida.
Entonces  se  puede  encender  la  alimentación  y  probar  el  sistema.  (Precaución:  no  inserte  
ni  extraiga  cables  mientras  la  alimentación  esté  encendida).
Como  introducción  al  sistema,  construya  este  circuito  y  pruébelo.  Para  probarlo,  
comience  con  los  tres  interruptores  en  la  posición  0  y  observe  la  luz  de  salida.  Repita  para  
cada  una  de  las  ocho  combinaciones  de  entrada.  Compare  eso  con  la  tabla  de  verdad  que  
se  construyó  con  base  en  el  álgebra.
Machine Translated by Google

D.2  WinBreadboard™  y  MacBreadboard™ 591

Las  pantallas  de  siete  segmentos  son  útiles  para  generar  resultados  decimales.  A
dígito  (en  código  8421)  se  ingresa  a  un  decodificador/controlador,  cuyas  salidas
proporcionar  las  señales  para  encender  la  pantalla.  El  laboratorio  lógico  IDL­800  tiene  dos  
pantallas  de  siete  segmentos.  Las  entradas  BCD  al  decodificador  permiten  que  se  muestre  
la  conexión  de  un  número  BCD  (código  8421)  en  cualquiera  de  los
pantallas.  Debajo  de  cada  pantalla,  hay  una  entrada  de  habilitación  baja  activa  para  ese
mostrar.  Para  usar  ambas  pantallas,  las  entradas  deben  alternarse.  (Parecerá  que  las  
pantallas  están  encendidas  incluso  si  las  entradas  están  allí  solo  la  mitad  del  tiempo).
tiempo,  siempre  y  cuando  se  alternen  a  una  velocidad  de  aproximadamente  60  Hz  o  superior).
código  que  no  corresponde  a  un  dígito  decimal  (1010  y  superior)  es
introducido,  la  pantalla  permanecerá  en  blanco.  (También  hay  una  entrada  P  que  enciende
un  punto  decimal  a  la  derecha  de  la  pantalla.)

D.2  WINBREADBOARD™  Y
MACBREADBOARD™*
El  MacBreadboard,  que  se  muestra  en  la  Figura  D.6,  (también  disponible  para  Windows
como  WinBreadboard)  es  una  simulación  por  ordenador  del  laboratorio  de  lógica
descrito  en  la  Sección  D.1.  Una  imagen  de  la  pantalla  antes  de  construir  un  circuito.
se  muestra  en  la  Figura  D.6.

Figura  D.6  Protoboard.

*Producto  de  Yoeric  Software,  Chapel  Hill,  NC.  El  software  se  puede  comprar  en  http://www.yoeric.com/breadboard.htm.
Machine Translated by Google

592 Apéndice  D  Experimentos  de  laboratorio

Esto  se  parece  mucho  al  laboratorio  de  hardware  y  tiene  muchas  de  las  mismas  
características.  (Cualquier  persona  que  no  esté  familiarizada  con  el  laboratorio  de  hardware  debe  
revisar  la  Sección  D.1  antes  de  continuar).  El  menú  desplegable  "chips"  ofrece  una  selección  de  
más  de  70  chips  de  la  serie  7400.  Cuando  se  selecciona  una  ficha,  se  coloca  automáticamente  en  
*
el  extremo  izquierdo  del  tablero.  Sin  embargo,  se  puede  mover  a  cualquier  posición  haciendo  clic  
y  arrastrándolo.  Cuando  se  hace  doble  clic  en  el  chip,  se  muestra  el  diseño  de  pines  de  ese  chip.

La  fila  superior  de  orificios  (etiquetados  como  X)  están  conectados  entre  sí;  generalmente  
  ECIDNÉPA

están  conectados  a  5.  De  manera  similar,  la  fila  inferior  (etiquetada  como  Y)  está  conectada  y  se  
usa  para  conexión  a  tierra.  Se  debe  hacer  una  conexión  de  cable  entre  uno  de  los  agujeros  en  
estas  filas  y  5  y  tierra.  Para  conectar  un  cable,  haga  clic  en  un  orificio  y  arrástrelo  hasta  el  otro  
orificio  al  que  se  conectará.  Los  cables  solo  corren  horizontal  o  verticalmente  (no  en  diagonal).  Si  
el  puntero  no  sigue  una  línea  recta,  el  cable  puede  zigzaguear  por  el  tablero.  Para  evitar  esto,  
mantenga  presionada  la  tecla  Mayús;  el  cable  seguirá  entonces  una  línea  recta.  En  una  pantalla  a  
color,  los  cables  se  pueden  hacer  de  varios  colores.  Seleccione  el  color  antes  de  dibujar  el  cable  o  
haga  clic  una  vez  en  el  cable  y  luego  seleccione  un  color  de  la  lista  desplegable  "color".

Hay  un  conjunto  de  cuatro  interruptores  de  entrada  (con  salidas  no  complementadas  y  
complementadas),  etiquetados  como  D,  C,  B  y  A.  También  hay  otro  conjunto  de  ocho  interruptores  
(L  a  E)  con  solo  salidas  no  complementadas.  Hay  un  conjunto  de  cuatro  LED  de  salida  (4  a  1).  Se  
puede  conectar  una  señal  alta  activa  al  lado  y  el  otro  lado  a  tierra  o  una  señal  baja  activa  al  lado  y  
el  lado  a  5  voltios.  También  hay  un  conjunto  de  10  indicadores  lógicos  (que  son  solo  luces  activas  
de  alto  rendimiento).  Los  cuatro  interruptores  y  los  cuatro  LED  se  pueden  etiquetar;  esos  
nombres  aparecerán  en  el  diagrama  de  tiempo.

En  la  Figura  D.7  se  muestra  un  circuito  con  una  compuerta  NAND  de  un  7400  conectado  
(con  las  entradas  y  salidas  etiquetadas)  y  un  7410  ubicado  en  la  placa,  pero  no  conectado.†  Si  el  
sistema  se  enciende  en  esta  posición ,
Se  encenderá  el  LED4.

La  placa  tiene  dos  pantallas  de  siete  segmentos,  cada  una  con  un  conjunto  de  cuatro  
entradas.  Muestra  hexadecimal.  (Por  supuesto,  si  las  entradas  están  limitadas  a  los  diez  dígitos,  la  
pantalla  está  limitada  de  0  a  9,  BCD  en  el  código  8421).
Algunos  de  los  experimentos,  particularmente  en  los  capítulos  6,  7  y  8,  utilizan  el  reloj  y  el  
pulsador.  El  reloj  produce  una  onda  cuadrada,  cuya  frecuencia  puede  ser  controlada  por  la  
corredera.  (Tiene  frecuencias  muy  bajas,  de  aproximadamente  0,15  a  10  Hz;  pero  eso  es  todo  lo  
que  se  puede  ver).  El  menú  desplegable  "reloj"  proporciona  pulsos  o  pasos,  de  modo  que  es  
posible  seguir  el  comportamiento  del  sistema.  un  pulso  de  reloj  a  la  vez.  Se  puede  mostrar  un  
diagrama  de  tiempo  (desde  el  menú  del  reloj).  Se  mostrarán  el  reloj  y  todos  los  interruptores  
etiquetados  y  los  LED  de  salida.  El  circuito  de  la  placa  de  pruebas

*El  interruptor  de  encendido/apagado  debe  estar  en  la  posición  de  apagado  para  realizar  cualquier  conexión  
en  la  placa  de  circuito.  Haga  clic  en  el  interruptor  

para  cambiarlo.  †A  medida  que  los  diagramas  se  vuelven  más  complejos,  es  particularmente  importante  dibujar  
los  cables  de  manera  ordenada  y  usar  colores  para  indicar  el  significado.  Por  ejemplo,  el  negro  se  usa  
comúnmente  para  el  fondo  y  el  rojo  para  el  5.  (Los  colores  no  son  obvios  en  esta  imagen  en  blanco  y  negro).
Machine Translated by Google

D.3  Introducción  a  LogicWorks 593

Figura  D.7  Circuito  7400.

los  cuits  no  tienen  ningún  retardo  integrado  en  las  compuertas  ni  en  las  chanclas;  por  lo  
tanto,  todas  las  visualizaciones  de  tiempo  corresponderán  a  las  teóricas  no  retardadas  del  texto.

D.3  INTRODUCCIÓN  A  LOGICWORKS
Este  apéndice  describe  algunas  de  las  características  básicas  de  LogicWorks,  suficientes  
para  comenzar  a  usarlo  con  los  experimentos  de  este  texto.  La  versión  5.0  para  Windows  
también  tiene  funciones  adicionales,  incluida  la  capacidad  de  describir  sistemas  con  un  
subconjunto  de  VHDL.*La  operación  básica  es  la  misma  en  las  plataformas  Windows  y  
Macintosh,  pero  algunos  detalles  difieren.  Mostraremos  las  variaciones  de  Windows  en  
marrón.

Para  iniciar  LogicWorks,  haga  doble  clic  en  su  icono.  Eso  produce  en  Macintosh  cinco  
ventanas  separadas  (pero  relacionadas).  La  ventana  principal  es  la  Ventana  del  circuito,  
donde  se  creará  un  diagrama  de  bloques  del  circuito.
La  paleta  de  herramientas  está  en  la  esquina  superior  izquierda  de  la  pantalla;  nos  permite  
dibujar  y  borrar  conexiones,  agregar  nombres  y  sondear  el  circuito.  A  la  derecha  está  la  
paleta  de  piezas;  en  eso  podemos  seleccionar  entre  una  variedad  de  puertas,

*LogicWorks  es  un  producto  de  Capilano  Computing  Systems,  Ltd.  La  última  versión  (5.0)  
para  Windows  se  vende  exclusivamente  a  través  de  Prentice  Hall  Publishing.  Se  incluye  con  
un  libro,  dando  todos  los  detalles  del  software.  La  última  versión  de  Macintosh  (4.5)  está  
disponible  en  http://www.capilano.com/html/lwm.html.
Machine Translated by Google

594 Apéndice  D  Experimentos  de  laboratorio

circuitos  integrados,  entradas  y  pantallas.  La  parte  inferior  de  la  pantalla  es  la  ventana  
de  temporización,  donde  se  muestra  un  seguimiento  del  comportamiento  del  circuito  a  
lo  largo  del  tiempo.  Finalmente,  en  la  esquina  superior  izquierda  de  eso,  está  la  Paleta  
del  Simulador,  que  brinda  control  de  varias  funciones  del  seguimiento  de  tiempo.  En  
Windows,  la  paleta  de  herramientas  y  la  paleta  del  simulador  se  reemplazan  por  una  
sola  barra  de  herramientas  (básicamente  con  la  misma  funcionalidad).  Usaremos  la  
paleta  de  palabras  en  la  discusión  a  continuación  para  ambas  plataformas.
Primero  construiremos  y  probaremos  un  circuito  lógico  combinacional  simple  para  
implementar
  ECIDNÉPA

f  ab  bc .

El  diagrama  de  bloques  del  circuito  tal  como  lo  construiremos  se  muestra  en  la  
figura  D.8.

Figura  D.8  Ejemplo  de  LogicWorks.
a

antes  de  Cristo

Para  construir  un  modelo  de  este  circuito  con  LogicWorks,  primero  vaya  a  
la  paleta  de  partes,  luego  haga  clic  y  arrastre  el  mouse  sobre  el  título  para  
resaltar  Simulation  Gates.clf.  Aparecerá  una  lista  de  los  tipos  de  puertas  
disponibles.  (Ventanas:  todas  las  partes  se  fusionan  en  una  sola  lista;  nos  
referiremos  a  las  paletas  individuales  de  Macintosh  en  el  texto  a  continuación).  
Para  este  problema,  haga  doble  clic  en  AND­2.  Cuando  el  cursor  se  mueva  
sobre  la  ventana  del  circuito,  aparecerá  una  imagen  de  la  puerta.  Muévalo  al  
centro  de  la  ventana  y  haga  clic.  En  ese  momento,  la  puerta  se  fijará  en  la  pantalla  y  aparecerá  o
Dado  que  se  necesita  una  segunda  puerta  AND,  muévala  a  un  lugar  conveniente  y  
haga  clic  nuevamente.  Cuando  ya  no  se  necesite  ese  tipo  de  puerta,  presione  la  
barra  espaciadora  (o  haga  clic  en  la  flecha  en  la  paleta  de  herramientas).  Vuelva  a  
la  Paleta  de  piezas,  baje  hasta  OR­2  y  repita  el  proceso.  El  componente  final  es  una  
puerta  NOT,  obtenida  de  la  misma  manera,  excepto  que  la  queremos  apuntando  
hacia  arriba.  Para  lograr  eso,  presione  la  tecla  de  flecha  hacia  arriba  (↑)  mientras  la  
puerta  está  seleccionada  y  luego  haga  clic  en  su  posición.  Cualquier  puerta  puede  
resaltarse  haciendo  clic  en  ella  y  luego  moverse  arrastrando  el  mouse.  (La  
orientación  de  una  puerta  se  puede  cambiar  cuando  está  resaltada  tirando  hacia  
abajo  del  cuadro  izquierdo  en  la  Paleta  de  herramientas  y  seleccionando  la  dirección  
deseada.  (La  burbuja  lateral  es  relevante  solo  en  las  puertas  de  tres  estados;  puede  ignorarse  por  aho
(Esto  se  puede  lograr  en  Windows  seleccionando  el  menú  Orientación  del  menú  
desplegable  Esquema.)  La  pantalla  ahora  debería  parecerse  a  la  Figura  D.9.
Machine Translated by Google

D.3  Introducción  a  LogicWorks 595

Figura  D.9  Piezas  colocadas.

Ahora  que  todas  las  puertas  están  en  el  diagrama,  deben  conectarse.
Apunte  al  final  de  cualquier  línea  y  arrástrelo  hacia  donde  se  conectará.
La  ruta  puede  variarse  presionando  la  tecla  y/o  la  tecla  de  opción  (tecla  CTRL  y/o  TAB).  Si  
ninguno  de  esos  caminos  es  satisfactorio,  dibuje  una  línea  y  suelte  el  mouse;  luego  empezar  
de  nuevo  en  otra  dirección.  Finalmente,  se  puede  dibujar  una  línea  en  cualquier  lugar  haciendo  
clic  en  el  cursor  en  la  paleta  de  herramientas  y  arrastrando  el  mouse  hacia  donde  debe  ir  la  
línea.  Al  final  de  la  línea,  haga  clic  una  vez  para  comenzar  una  nueva  línea  o  haga  doble  clic  
para  finalizar  el  dibujo  de  la  línea.  Para  eliminar  una  línea  (o  una  puerta),  seleccione  la  

herramienta  Zap  (relámpago)  en  la  Paleta  de  herramientas  y  señale  lo  que  se  va  a  eliminar.  
Una  alternativa  es  resaltar  el  elemento  y  usar  la  tecla  Eliminar.  Para  salir  del  modo  zap,  
presione  la  barra  espaciadora  o  la  flecha  en  la  paleta  de  herramientas.

A  continuación,  se  pueden  agregar  nombres  a  las  entradas  y  salidas  (o  cualquier  punto  
del  circuito).  Para  hacer  esto,  use  la  herramienta  de  texto  (la  A  en  la  paleta  de  herramientas).
Cuando  eso  está  resaltado,  se  muestra  un  punto  de  lápiz.  Mueva  el  punto  a  la  línea  que  
desea  nombrar  y  haga  clic  con  el  mouse.  Se  mostrará  un  nombre  interno;  solo  escribe  sobre  

eso.  Mueva  el  nombre  a  donde  sea  más  conveniente  haciendo  clic  en  el  punto  a  nombrar  y  
luego  arrastrándolo  hacia  donde  se  va  a  escribir  el  nombre.  Para  salir  del  modo  de  texto,  use  
la  flecha  en  la  paleta  de  herramientas  (o  seleccione  alguna  otra  herramienta);  la  barra  
espaciadora  introduce  un  espacio  en  el  texto.
Para  conectar  las  entradas,  conecte  cualquier  punto  a  tierra  o  5  voltios,  que  se  
encuentran  en  el  menú  de  piezas  CONNECT.CLF  o  el  menú  de  piezas  DemoLib.clf.
También  hay  un  conmutador  binario  (que  se  encuentra  en  el  menú  de  piezas  de  DemoLib.clf).
Al  hacer  clic  en  ese  interruptor,  su  valor  cambia  entre  0  y  1.
Finalmente,  la  herramienta  de  sondeo  (que  se  muestra  en  la  Paleta  de  herramientas  con  un ?)  
se  puede  usar  para  probar  el  valor  en  cualquier  punto.  Con  eso  apuntado  y  el  mouse  
presionado,  escriba  un  0  o  1  para  establecer  el  valor  en  ese  punto.  La  sonda  mostrará  una  Z  
para  una  entrada  que  no  está  conectada  a  nada  y  una  X  para  un  punto  cuyo  valor  se  
desconoce  (por  ejemplo,  la  salida  de  una  puerta,  cuyas  entradas  no  están  especificadas).  La  
salida  se  puede  mostrar  de  forma  permanente,  utilizando  la  sonda  binaria  del  menú  de  piezas  
DemoLib.clf.
El  circuito,  como  se  completó,  usando  interruptores  para  entradas  y  la  sonda  binaria  
para  salidas,  se  muestra  en  la  figura  D.10,  primero  con  todos  los  interruptores  en  la  posición  
0  (produciendo  una  salida  0)  y  luego  con  a  en  la  posición  1  y  bc  0  (produciendo  una  salida  1).
Machine Translated by Google

596 Apéndice  D  Experimentos  de  laboratorio

Figura  D.10  Circuito  completo  con  interruptores  de  entrada  y  pantalla  de  salida.

a a
1  0 1  0

0 1

F F

b b
1  0 1  0
  ECIDNÉPA

C C
1  0 1  0

Con  los  interruptores  y  la  sonda  en  su  lugar,  es  fácil  completar  la  tabla  de  
verdad  para  esta  función.  Como  introducción  a  LogicWorks,  cree  este  circuito  
y  pruébelo.
Al  seleccionar  el  menú  7400DEVS.CLF  de  la  Paleta  de  piezas,  aparece  un  
diagrama  lógico  para  ese  chip  en  la  ventana  Circuito.  (Hay  disponible  una  gran  
variedad  de  chips  de  la  serie  7400;  haremos  referencia  a  muchos  de  ellos  en  los  
experimentos  que  siguen).  Se  puede  hacer  clic  en  su  lugar,  al  igual  que  cualquiera  
de  los  otros  componentes.  Entonces  se  pueden  hacer  las  conexiones  como  antes.  
El  circuito  para

f  ab  bc

usando  4  compuertas  NAND  de  dos  entradas  se  muestra  en  la  Figura  D.11.

Figura  D.11  Circuito  usando  un  7400.

1 0  0
a 3
2

4
b 6
5

9
8
10 F

12
C
11
13

Como  antes,  se  puede  probar  conectando  interruptores  a  las  entradas  o  
conectando  cada  uno  a  tierra  o  5  voltios.  Prueba  esto  y  verás  que  también  funciona.
Finalmente,  veremos  otro  método  de  conexión.  Si  dos  puntos  reciben  el  
mismo  nombre,  se  tratan  como  si  estuvieran  conectados  (aunque  no  se  dibuje  
ninguna  línea  de  conexión).  Así,  en  el  circuito  de  la  figura  D.12  se  realizan  
todas  las  conexiones  del  diagrama  anterior,  se  conectan  interruptores  a  cada  
una  de  las  entradas  y  se  conecta  una  sonda  binaria  a  la  salida.
Machine Translated by Google

D.3  Introducción  a  LogicWorks 597

Figura  D.12  Conexiones  con  nombre.
0  0
a 3
a 12
s
10

b b
10

459

68
C 10 t
10
cbbbb

1
12
s 11
13 F
t F

Las  partes  de  un  circuito  se  pueden  resaltar  haciendo  clic  en  ellas  (en  modo  
de  punto).  Mantenga  presionada  la  tecla  Mayús  para  resaltar  varias  partes.  Además,  
al  arrastrar  el  mouse  desde  el  exterior  de  una  esquina  de  un  circuito  hacia  el  exterior  
de  la  esquina  diagonal,  se  crea  un  cuadro  de  modo  que,  cuando  se  suelta  el  mouse,  
se  selecciona  todo  lo  que  está  dentro  del  cuadro.  Para  seleccionar  todo  el  dibujo,  
despliegue  Seleccionar  todo  en  el  menú  Editar.  La  función  Copiar  se  puede  utilizar  
para  tomar  este  dibujo  e  insertarlo  en  otro  documento  (quizás  un  procesador  de  
textos).  También  se  puede  imprimir  un  dibujo  directamente  desde  LogicWorks  desde  
el  menú  Archivo.  (Todos  estos  también  funcionan  para  copiar  o  imprimir  un  diagrama  
de  tiempo  cuando  la  ventana  de  tiempo  está  resaltada).
Para  examinar  algunas  de  las  otras  ideas,  primero  tenemos  que  mirar  el  reloj  
y  la  ventana  de  tiempo.  El  reloj  se  encuentra  en  el  menú  DemoLib.clf  o  Simulation  
IO.clf.  Proporciona  una  onda  cuadrada  con  un  período  de  20  unidades,  a  menos  
que  se  modifique  (como  se  describe  a  continuación).  Cualquier  señal  que  se  nombra  
se  mostrará  en  la  ventana  de  tiempo.  La  velocidad  de  la  pantalla  se  controla  en  la  
paleta  del  simulador  (mediante  botones  en  la  fila  inferior  de  la  barra  de  herramientas).  
Al  deslizar  la  barra  de  control  de  velocidad  hacia  la  izquierda,  la  visualización  se  
puede  ralentizar.  En  el  extremo  izquierdo,  se  detiene.  Haga  clic  en  Paso  (símbolo  
de  un  hombre  de  pie)  para  pasar  de  un  evento  al  siguiente.  (Un  evento  es  cualquier  
punto  en  el  que  una  señal  puede  cambiar).  La  visualización  se  puede   o
ampliar  haciendo  clic  en .  La  velocidad  del  reloj  se  puede  controlar  haciendo  clic  
en  el  reloj  (para  resaltarlo)  y  bajando  los  Parámetros  de  simulación. . .  en  el  menú  
desplegable  Simular  (Simulación) .  Establezca  la  hora  en  que  el  reloj  está  bajo  y  el  
reloj  está  alto;  luego  salga  del  menú  presionando  regresar.
Cada  dispositivo  de  lógica  combinacional  tiene  un  retardo  incorporado  de  1  unidad  de  tiempo.
Eso  se  puede  ver  conectando  el  reloj  a  un  dispositivo  y  observando  la  entrada  y  la  
salida  de  ese  dispositivo.  El  retraso  se  puede  cambiar  usando  Simulation  Params . . .  
con  ese  dispositivo  resaltado.  Para  ver  el  comportamiento,  configure  el  circuito  de  
la  figura  D.13  y  ajuste  el  reloj  a  40  unidades  tanto  para  el  nivel  bajo  como  para  el  
alto.  Establezca  el  retraso  en  10  unidades  para  cada  puerta.
Machine Translated by Google

598 Apéndice  D  Experimentos  de  laboratorio

Figura  D.13  Ejemplo  de  retardo.
a
b
5  voltios

Detenga  el  reloj  moviendo  la  barra  de  velocidad  hacia  el  extremo  izquierdo.  Haga  clic  
en  Reiniciar  ( ),  que  reinicializa  el  reloj.  Expanda  la  pantalla  haciendo  clic  en .  Luego  
  ECIDNÉPA

haga  clic  una  o  dos  veces  en  la  flecha  derecha  de  la  barra  de  velocidad  para  
iniciar  la  simulación.  Cuando  se  detiene  después  de  120  unidades,  se  ve  una  pantalla  
como  la  de  la  Figura  D.14.  Tenga  en  cuenta  que  c  es  un  duplicado  de  un  retraso  de  20  
unidades  (después  del  inicio).

Figura  D.14  Diagrama  de  tiempo.
100

a
b
C

D.4  UN  CONJUNTO  DE  DISEÑO  LÓGICO
EXPERIMENTOS
Cada  uno  de  los  experimentos  se  puede  implementar  en  cualquiera  de  los  sistemas  
con  las  modificaciones  indicadas.  La  siguiente  notación  se  utilizará  para  indicar  las  
necesidades  especiales.

HW:  laboratorio  de  lógica  de  hardware
BB:  Simulador  de  placa  de  pruebas

LW:  LogicWorks

D.4.1  Experimentos  basados  en  el  material  del  Capítulo  2
■  1.  Para  cada  uno  de  los  siguientes  conjuntos  de  funciones,  construya  cada  
versión  usando  puertas  AND,  OR  y  NOT.  Pruébelas  para  mostrar  que  cada  
función  en  un  conjunto  se  comporta  igual  que  cada  una  de  las  otras  
en  ese  conjunto.

a.  f  xyz  xyz  xyz
g  xy  xz
h  x(y  z)  b.  f  
abc  abc  abc  abc  g  ab  ac  h  (a  c)(a  b)
Machine Translated by Google

D.4  Un  conjunto  de  experimentos  de  diseño  lógico 599

C.  f  xyz  xyz  xyz
g  yz  xz
h  z(x  y)  d.  f  
abc  abc  abc  abc  g  (a  b)(a  b)  h  ab  ab

mi.  f  xyz  xyz  xyz  xyz
g  xz  xz
h  (x  f.   z)(x  z)
f  abc  abc  abc  g  ac  bc  hc(ab)

HW:  use  un  7404  (NO  puertas)  para  construir  el  complemento  de  
las  variables.  (Use  las  mismas  salidas  7404  para  las  tres  versiones).

HW,  BB:  Además,  tenemos  disponibles  7411  (compuertas  AND  de  tres  entradas),  
7408  (compuertas  AND  de  dos  entradas)  y  7432  (compuertas  OR  de  dos  
entradas).  No  hay  compuertas  OR  más  grandes  disponibles  y,  por  lo  tanto,  
debemos  construir  una  compuerta  OR  de  múltiples  entradas  a  partir  de  
compuertas  de  dos  entradas.  Cada  una  de  las  salidas  debe  ir  a  una  luz  
diferente,  pero  las  entradas  provienen  de  los  mismos  tres  interruptores.

LW:  use  puertas  individuales  (de  Simulation  Gates.clf).  ■  2.  
Implementar  los  sistemas  del  Experimento  1  utilizando  puertas  NAND  para  
las  expresiones  de  suma  de  productos  y  puertas  NOR  para  las  
expresiones  de  producto  de  sumas.
HW,  BB:  use  7400,  7410,  7430  y  7402  (compuertas  NOR  de  dos  
entradas).
LW:  Utilice  puertas  individuales.

■  3.  Implemente  cada  una  de  las  siguientes  expresiones  (que  ya  están  en  forma  
de  suma  mínima  de  productos)  usando  solo  7400  (compuertas  NAND  de  
dos  entradas).  Ninguna  puerta  puede  usarse  como  NOT  (excepto  para  formar  
el  complemento  de  las  entradas).  Tenga  en  cuenta  que  estas  son  las  
funciones  del  Ejercicio  25  del  Capítulo  2,  donde  el  número  de  puertas  de  
dos  entradas  (sin  incluir  las  puertas  NOT)  se  muestra  entre  paréntesis.

a.  f  wy  wxz  yz  wxz  b.  abd  bde  bcd   (7  puertas)  
as (10  puertas)
C.  H  ABE  ABCD  BDE  BDE  BCE  ACE
(14  puertas)
d.  F  ABD  ABC  BCDE  ABC  BCD
(11  puertas)
mi.  G  BDE  ABCD  ACE  ACE  BCE
(12  puertas,  una  de  las  cuales  es  compartida)
Machine Translated by Google

600 Apéndice  D  Experimentos  de  laboratorio

F.  hbde  as  ce  bde (9  puertas)

gramo.  F  ABE  AB  CAD  CE  BDE (10  puertas)

H.  gac a  bd  acd  ab  c  bce  (8  puertas  si  compartes)

■  4.  a.  Construya  un  sumador  completo  usando  puertas  NAND.  Pruébelo  y  guárdelo  
para  usarlo  con  un  experimento  del  Capítulo  
5.  b.  Construya  el  sumador  completo  usando  puertas  OR  exclusivas  y  NAND
puertas
  ECIDNÉPA

D.4.2  Experimentos  basados  en  el  material  del  Capítulo  5
■  5.  Conecte  el  sumador  de  4  bits  con  un  número  (A4 . . .  A1)  a  cuatro  interruptores  
de  datos  (con  A4  en  el  interruptor  izquierdo)  y  el  otro  número  en  los  otros  
cuatro  interruptores.  Conecte  otro  interruptor  a  la  entrada  de  acarreo  (C0).  
Conecte  las  cinco  salidas  (C4,  4,  3,  2  y  1)  a  los  cinco  indicadores  de  la  
derecha.  Pruebe  el  circuito  ingresando  dos  números  cualesquiera  de  4  bits  
más  una  entrada  de  acarreo  y  observe  el  resultado.  Tenga  en  cuenta  que  el  
bit  4  es  el  bit  de  orden  superior  y  el  bit  1  es  el  bit  de  orden  inferior.

HW:  Utilice  el  chip  sumador  7483.

BB:  Usa  el  chip  sumador  74283.

LW:  use  el  chip  sumador  7483  y  nueve  interruptores  de  datos.  Utilice  sondas  
binarias  para  las  salidas.  Tenga  en  cuenta  que  LogicWorks  etiqueta  los  bits  
de  3  a  0  en  lugar  de  4  a  1.

■  6.  Además  del  sumador  del  Experimento  5,  conecte  el  sumador  de  1  bit  del  
Experimento  4  como  el  bit  de  orden  superior  de  un  sumador  de  5  
bits.  Por  lo  tanto,  conecte  C4  a  cin  del  sumador  del  Experimento  
4.  Ahora  hay  11  entradas  (dos  números  de  5  bits  más  un  acarreo)  y  6  
salidas  (las  salidas  cout  y  s  del  sumador  de  1  bit  más  las  cuatro  
salidas  de  suma) .  Pruebe  el  circuito  ingresando  varios  pares  de  
números  de  5  bits  y  un  acarreo  de  0  o  1;  observar  el  resultado  en  los  
indicadores.

HW:  Solo  hay  10  interruptores  en  el  laboratorio  lógico  IDL­800.
Conecte  C0  a  tierra  o  a  5  voltios  para  ingresar  un  0  o  1.

■  7.  HW:  Toma  el  sumador  del  Experimento  5  y  conecta  los  cuatro
suma  las  salidas  a  las  entradas  del  decodificador  para  las  pantallas  de  siete  segmentos.
Aunque  las  entradas  en  el  IDL­800  están  etiquetadas  como  ABCD  de  
izquierda  a  derecha,  el  bit  más  significativo  es  D.  Por  lo  tanto,  conecte  .
4  a  D  Habilite  una  de  las  pantallas  conectando  su  entrada  de  
habilitación  a  tierra.  (Tenga  en  cuenta  que  en  el  IDL­800  hay  interruptores  
entre  el  decodificador  y  las  pantallas.  Estos  permiten  desactivar  
segmentos  específicos  de  la  pantalla.  Todos  deben  estar  en  la  
posición  ON  (a  la  derecha)  para  todos  los  experimentos).
Machine Translated by Google

D.4  Un  conjunto  de  experimentos  de  diseño  lógico 601

BB:  Conecte  las  salidas  del  sumador  del  Experimento  5  a  una
pantalla  de  siete  segmentos.  Pruebe  algunos  problemas  de  suma  tales  que  el
suma  es  9  o  menos  y  observa  la  respuesta  en  el  segmento  de  siete
mostrar.  La  pantalla  de  siete  segmentos  en  realidad  muestra  hexadecimal.  
Puede  conectar  ambas  pantallas  y  mostrar  sumas  de  00  a
1F.  (Solo  necesita  conectar  la  entrada  A  a  la  pantalla  de  orden  superior).

LW:  Toma  el  sumador  del  Experimento  5  y  conecta  los  cuatro
sume  las  salidas  a  una  pantalla  de  siete  segmentos  (que  se  encuentra  en  Simulation
menú  IO.clf)  a  través  de  un  controlador  de  pantalla  7449.

■  8.  Tenemos  un  número  de  entrada  binaria  de  3  bits  (en  tres  de  los  interruptores)
y  desea  encender  una  de  las  ocho  luces  de  salida.  Usa  un  decodificador  74138
para  implementar  esto.  El  decodificador  siempre  debe  estar  habilitado.

■  9.  Use  dos  decodificadores  74138  y  dos  o  tres  7430  (ocho  entradas
NAND)  para  implementar  las  siguientes  funciones:

a.  F(A,  B,  C,  D)  m(0,  1,  8,  9,  10,  12,  15)

G(A,  B,  C,  D)  m(0,  3,  4,  5,  7,  9,  10,  11)

b.  F(A,  B,  C,  D) m(1,  2,  3,  6,  9,  14,  15)

G(A,  B,  C,  D)  m(0,  1,  2,  8,  9,  12,  13,  15)

C.  f(w,  x,  y,  z)  g(w,   m(0,  1,  4,  5,  8,  15)

x,  y,  z)  h(w,  x,   m(1,  2,  3,  7,  8,  10,  11,  14)

y,  z) m(0,  1,  6,  7,  9,  10,  14,  15)

d.  f(a,  b,  c,  d)  g(a,  b,   m(0,  3,  4,  5,  7,  8,  12,  13)

c,  d)  h(a,  b,  c,   m(1,  5,  7,  8,  11,  13,  14,  15)

d) m(2,  4,  5,  7,  10,  13,  14,  15)

HW,  BB:  use  interruptores  para  las  entradas  y  luces  para  las  salidas.

LW:  use  interruptores  para  entradas  y  sondas  binarias  para  salidas.

■  10.  El  contador  74161*  pasa  las  tres  entradas  a  través  de  todas  las  combinaciones.  
El  interruptor  en  la  entrada  CLR  está  ahí  porque  el
el  simulador  requiere  que  se  borre  el  contador;  de  lo  contrario,  el
las  salidas  serán  indeterminadas.  Las  entradas  de  habilitación  P  y  T  son
activo  alto,  y  la  carga  paralela  está  deshabilitada  (5  voltios);  de  este  modo,
no  es  necesario  conectar  las  entradas  A,  B,  C  y  D.

*Discutiremos  los  contadores  y  el  74161  con  más  detalle  en  el  Capítulo  8;  por  ahora  es  un
herramienta  útil  para  demostrar  algunas  de  las  propiedades.
Machine Translated by Google

602 Apéndice  D  Experimentos  de  laboratorio

a
7
0
PAG
1  6  1
T
15
2   RCO
CLK
6 11
D QD
5 12
C
4  
control  de  calidad

13   b
5  voltios
B mariscal  de  campo s
3 14
A control  de  calidad

9 C en
Carga
1
CLR
  ECIDNÉPA

1  0

C afuera

HW,  BB:  Ajuste  la  frecuencia  del  reloj  muy  lenta.

LW:  Pruebe  esto  sin  demora  y  luego  con  suficiente  demora  para  que  se  pueda  
ver  su  efecto.

■  11.  Implemente  las  soluciones  de  las  partes  b  y  c  del  ejercicio  23  (capítulo  5).  ■  12.  

Construya  un  sumador  decimal  de  1  dígito.  Las  entradas  son  el  código  para  dos
dígitos  decimales  (en  código  8421)  más  un  acarreo.  Suponga  que  no  existe  
ninguna  de  las  combinaciones  no  utilizadas.  Las  salidas  son  el  código  de  un  
dígito  decimal  más  un  acarreo.  (Lo  más  grande  que  puede  ser  la  respuesta  es  19).
Consulte  la  Sección  

4.8.1.  a.  Luego  mostraremos  el  resultado  en  cinco  luces.  b.  
Mostraremos  los  resultados  en  las  dos  pantallas  de  siete  segmentos.

HW:  Para  el  IDL­800,  esto  requiere  un  multiplexor  y  un  reloj.
Se  usa  un  multiplexor  74157  para  seleccionar  uno  de  los  dígitos  para  la  
entrada  BCD  a  las  pantallas.  La  misma  señal  que  selecciona  también  se  usa  
para  seleccionar  qué  pantalla  está  habilitada.  Use  la  onda  cuadrada  del  
generador  de  funciones  para  este  propósito.  Recuerde  que  las  pantallas  están  
activas  bajas  habilitadas,  y  una  debe  estar  habilitada  cuando  la  onda  está  alta  y  la  
otra  cuando  está  baja.  (Nota:  la  salida  del  generador  de  funciones  no  puede  controlar  
las  entradas  de  habilitación;  debe  conectarse  a  la  habilitación  a  través  de  dos  
inversores).

LW:  se  necesitan  dos  controladores  de  pantalla  7449.  

■  13.  Diseñe  un  decodificador  de  pantalla  de  siete  segmentos  usando  puertas  NAND  para
el  segundo  dígito  del  sumador  decimal  del  problema  anterior,  de  modo  que  el  
segmento  a  se  enciende  por  6,  el  segmento  f  se  enciende  por  7  y  el  segmento  d  se  
enciende  por  9  (la  pantalla  alternativa  para  cada  uno  de  estos  

dígitos).  ■  14.  Use  dos  multiplexores  74151  y  una  puerta  NOT  para  implementar  

f(a,  b,  c,  d)  m(0,  3,  4,  5,  7,  8,  12,  13)
Machine Translated by Google

D.4  Un  conjunto  de  experimentos  de  diseño  lógico 603

D.4.3  Experimentos  basados  en  el  material  del  Capítulo  6
■  15.  Conecte  el  siguiente  circuito,  usando  la  mitad  de  un  cable  principal  7474
flip­flop  D  disparado  por  borde .

Cambiar D q Luz

Reloj/Pulsador CLR q Luz

Cambiar

HW,  BB:  (a)  Siga  la  secuencia  de  pasos  enumerados  a  continuación  y
Registre  lo  que  se  muestra  en  las  dos  luces.

BB:  Abra  el  menú  del  reloj  y  configúrelo  en  pulso  positivo.

1.  Interruptor  D  –>  0   8.  Pulso
2.  Interruptor  CLR  –>  0   9.  Pulso
3.  Pulso   10.  Cambiar  CLR  ­>  1
4.  Interruptor  CLR  –>  1   11.  Pulso
5.  Pulso   12.  Pulso
6.  Interruptor  D  –>  1   13.  Interruptor  D  ­>  0
7.  Interruptor  CLR  –>  0 14.  Pulso

HW:  (b)  En  lugar  del  pulsador,  conecte  la  entrada  del  reloj  a  la
salida  del  generador  de  onda  cuadrada,  donde  se  establece  en  el  valor  más  bajo
frecuencia.  Repita  los  patrones  para  los  dos  interruptores  y  observe
lo  que  sucede.

BB:  (b)  Establezca  la  velocidad  del  reloj  bastante  lenta  y  cambie  el  reloj  a
Funcionamiento  libre.  Restablezca  el  diagrama  de  tiempo  y  pruebe  los  interruptores  en
varias  posiciones.  Observe  cuando  las  salidas  cambian  en  relación  con
cuando  cambian  las  entradas  y  cuando  cambia  el  reloj.

LW:  tenga  en  cuenta  que  la  entrada  preestablecida  debe  estar  conectada  a  la  lógica  1
(5  voltios)  o  a  un  interruptor  si  no  se  utiliza.  Ponga  el  reloj  a  una  hora  muy
baja  velocidad  y  observe  el  comportamiento  de  las  salidas  como  los  dos
se  cambian  los  interruptores.*  Etiquete  el  reloj,  CLR,  D,  Q  y  Q  y
observe  la  pantalla  mientras  se  manipulan  los  dos  interruptores.
■  16.  a.  Conecte  un  flip  flop  JK  activado  por  el  borde  de  salida  de  un  7473,
usando  un  interruptor  para  J  y  otro  para  K.  Diseñe  una  prueba
secuencia  comparable  a  la  del  Experimento  14  y  observe  los  
resultados.

*Para  que  los  interruptores  funcionen,  el  reloj  debe  estar  funcionando  o  se  debe  hacer  clic  en  el  paso,  incluso  si
no  hay  nada  etiquetado  y  exhibido.
Machine Translated by Google

604 Apéndice  D  Experimentos  de  laboratorio

LW:  Asegúrese  de  que  el  claro  esté  conectado  y  que  el  flip  flop  esté
inicializado

b.  Conecte  las  salidas  de  uno  de  los  flip  flops  JK  (en  el  7473)

a  las  entradas  del  siguiente  como  se  muestra  a  continuación.

j q1 j q2
  ECIDNÉPA

X k q1 k q2

Reloj

Diseñe  una  secuencia  de  prueba  y  observe  los  resultados.  ■  17.  

Construya  el  siguiente  circuito  usando  un  7473,  un  7404  y  un  7408.

X
j q1 j q2

k q1 1 k q2

Reloj

Siga  el  patrón  de  entrada  a  continuación.

Reloj

HW:  Use  el  interruptor  de  pulso  para  el  reloj,  manteniéndolo  presionado  durante  un

pocos  segundos.  (De  esa  manera,  lo  que  sucede  en  el  borde  de  ataque  es

visto  como  el  pulsador  es  empujado  y  en  el  borde  de  fuga  como  es

liberado.  Tenga  cuidado  de  mantenerlo  firmemente  presionado;  de  lo  contrario,  puede  ir

hacia  adelante  y  hacia  atrás  entre  0  y  1.)

BB:  Pruébelo  tanto  con  el  reloj  configurado  en  Step  como  en  Free  Run  en  un

velocidad  lenta.
Machine Translated by Google

D.4  Un  conjunto  de  experimentos  de  diseño  lógico 605

LW:  conecte  un  interruptor  a  x  y  ajuste  el  reloj  a  la  velocidad  más  lenta.  

Etiquete  el  reloj,  x,  q1  y  q2  para  que  se  pueda  mostrar  el  comportamiento.  
Manipule  el  interruptor  para  que  se  obtenga  el  patrón  de  entrada  descrito  
en  el  problema.  Detenga  la  pantalla  cuando  llegue  al  final  e  imprima  el  diagrama  
de  tiempos.*  ■  18.  a.  Construya  el  circuito  del  Ejercicio  8a  (al  

final  del  Capítulo  6)  y  pruébelo.

b.  Construya  el  circuito  del  Ejercicio  8b  (al  final  del  Capítulo  6)
y  probarlo.

D.4.4  Experimentos  basados  en  el  material  del  Capítulo  7
■  19.  Para  cada  una  de  las  tablas  de  estado  en  los  siguientes  ejercicios  del  Capítulo  7,  
diseñe,  construya  y  pruebe  un  circuito  usando  compuertas  NAND  e  i.  Chanclas  
D  ii.  Chanclas  JK  
a.  7.2a  b.  7.2d  c.  7.2f  
d.  7.3c  e.  
7.3e

■  20.  Construya  un  contador  síncrono  de  base  12  utilizando  flip  flops  JK  y  una  puerta  
NAND.  ■  21.  

Construya  un  contador  síncrono  usando  flip  flops  D  y  puertas  NAND  que  pase  por  la  
secuencia  i.  1  3  5  7  6  4  2  0  y  repite.  ii.  1  3  4  7  
2  6  0  y  repite.  iii.  654321  y  repetir.  IV.  1  3  4  7  6  y  repite.  
v.  1  2  4  5  0  6  y  repita.  vi.  1  4  0  3  5  2  y  repite.

Ajuste  el  reloj  a  su  velocidad  más  baja.  a.  

Muestra  los  resultados  en  tres  luces.  b.  Conecte  
las  salidas  a  una  de  las  pantallas  de  siete  segmentos.
(Por  supuesto,  el  primer  bit  de  la  entrada  de  la  pantalla  es  0.  Asegúrese  de  
conectar  la  entrada  de  habilitación  para  esa  pantalla).

HW:  En  el  IDL­800,  la  velocidad  del  reloj  no  se  puede  hacer  lo  suficientemente  
lenta.  Agregue  un  flip  flop  JK  que  esté  conectado  para  cambiar  de  estado  cada  
período  de  reloj.  La  salida  de  ese  flip  flop  será  una  onda  cuadrada  a  la  mitad  de  la  
frecuencia  de  la  entrada.  Úsalo  para  controlar  la  pantalla.

*Para  imprimir,  haga  clic  en  la  pantalla  de  tiempo  y  seleccione  Imprimir  tiempo  en  el  menú  
Archivo.  También  es  posible  seleccionar  todo  y  copiar  el  tiempo  a  otro  documento.
Machine Translated by Google

606 Apéndice  D  Experimentos  de  laboratorio

■  22.  Construya  un  contador  de  décadas  asíncrono  utilizando  flip  flops  JK  y  puertas  NAND.

HW,  BB,  LW:  muestra  los  resultados  en  una  pantalla  de  siete  segmentos.

LW:  conecte  un  interruptor  a  la  entrada  CLR  para  restablecer  el  contador;  eso  hay  que  
hacerlo  al  principio.  Establezca  el  retraso  a  través  de  cada  uno  de  los  flip­flops  en  3.  
(Haga  esto  resaltándolos  todos,  bajando  los  Parámetros  de  simulación  del  menú  
Simular  y  cambiando  el  retraso  de  1  a  3.  Observe  el  seguimiento  del  tiempo  y  vea  que  
el  contador  llega  a  su  punto  máximo).  estado  bien  entrado  en  el  período  del  reloj.
  ECIDNÉPA

Además,  el  contador  llega  a  10  y  permanece  allí  durante  un  breve  período.

Amplíe  la  pantalla  (haciendo  clic  en  Paleta   en  el  simulador

dos  o  tres  veces)  y  determine  cuándo  la  respuesta  es  estable  en  relación  con  el  
borde  posterior  del  reloj  y  cuánto  tiempo  permanece  el  sistema  en  el  estado  10.  
(Tenga  en  cuenta  que  al  hacer  clic  en  la  pantalla  de  tiempo,  una  línea  vertical  
aparecerá  en  ese  punto.  Eso  ayudará  a  medir  el  tiempo  con  mayor  precisión.)

D.4.5  Experimentos  basados  en  el  material  del  Capítulo  8
■  23.  Usando  un  registro  de  desplazamiento  74164  y  un  número  mínimo  de  compuertas  
AND,  OR  y  NOT,  diseñe  y  construya  un  sistema  que  produzca  una  salida  de  1  
cuando  las  últimas  nueve  entradas  fueron  0.

HW,  BB,  LW:  use  un  pulsador  para  el  reloj  y  un  interruptor  para  la  entrada.

■  24.  Diseñe  un  sumador  serial  para  sumar  dos  números  de  4  bits.  Cada  número  se  almacena  
en  un  registro  de  desplazamiento  7495.

Chanclas

Lleno
Registros  de  turnos
Sumador
Machine Translated by Google

D.5  Disposición  de  fichas  a  las  que  se  hace  referencia  en  el  texto  y  experimentos 607

Cárguelos  usando  la  capacidad  de  carga  paralela.  Debe  borrar  la  
chancleta  de  almacenamiento  de  transporte  antes  de  comenzar.  Use  
un  pulsador  para  el  reloj  y  un  interruptor  para  controlar  si  se  está  
cargando  o  cambiando.  Muestre  el  contenido  del  registro  de  
desplazamiento  inferior  y  el  flip  flop  de  acarreo,  que  tendrá  el  resultado  
después  de  cuatro  pulsos.
■  25.  Diseñe  un  contador  que  vaya  de  0  a  59  y  muestre  la  cuenta  en
las  dos  pantallas  de  siete  segmentos.

HW:  Dado  que  las  pantallas  necesitan  un  reloj  para  alternar  entre  los  
dígitos  mucho  más  rápido  que  el  reloj  de  conteo,  hay  dos  alternativas:  
a.  Use  el  
pulsador  para  verificar  el  conteo.  b.  Establezca  la  
frecuencia  del  reloj  lo  suficientemente  rápido  para  obtener  una
buena  visualización  y  luego  use  contadores  adicionales  para  reducir  
la  frecuencia.  (Recuerde  que  la  salida  OV  en  el  contador  binario  
le  da  una  salida  por  cada  16  entradas  de  reloj).  ■  26.  Construya  
la  
solución  para  el  Ejercicio  12a  en  el  Capítulo  8.

D.5  DISPOSICIÓN  DE  CHIPS  REFERENCIADOS  EN  
EL  TEXTO  Y  EXPERIMENTOS

puertas

A0 1 14 5 A0 1 14 5 Y  0 1 14 5

Y  0 2 13 A3 segundo  0 2 13 A2 A0 2 13 Y2

A1 3 12 año  3 Y  0 3 12 B  2 segundo  0 3 12 A2

año  1 4 11 un  4 A1 4 11 Y2 año  1 4 11 B2

un  2 5 10 Y4 B1 5 10 A3 A1 5 10 Y3

año  2 6 9 un  5 año  1 6 9 B  3 B1 6 9 A3

Tierra 7 8 año  5 Tierra 7 8 año  3 Tierra 7 8 B3

7404  NO 7400  NAND 7402  NI


7408  Y
7432  O
7486  XOR
Machine Translated by Google

608 Apéndice  D  Experimentos  de  laboratorio

A0 1 14 5 A0 1 14 5 A 1 14 5

segundo  0 2 13 C  0 segundo  0 2 13 A1 B 2 13

A1 3 12 Y  0 3 12 B  1 C 3 12 GRAMO

B1 4 11 A2 C  0 4 11 D 4 11 H

C1 5 10 B  2 D  0 5 10 C  1 mi 5 10

año  1 6 9 C  2 Y  0 6 9 D1 F 6 9

Tierra 7 8 Y2 Tierra 7 8 año  1 Tierra 7 8 Y


  ECIDNÉPA

7410  NAND 7420  NAND 7430  NAND


7411  Y 7421  Y
7427  NI

A1 es  una  entrada  a  la  puerta   B1 es  la  segunda  entrada, . . . ; año  1 es  la  salida.


1,  los  pines  sin  etiquetar  no  están  conectados.

sumadores comparador

A4 1 dieciséis B4 2 1 dieciséis 5 B4 1 dieciséis 5

3 2 15 4 B2 2 15 B3 2 15 A4

A3 3 14 C afuera A2 3 14 A3 3 14 A3

B3 4 13 C en 1 4 13 3 4 13 B3

5 5 12 Tierra A1 5 12 A4 5 12 A2

2 6 11 B1 B1 6 11 B4 6 11 B2

B2 7 10 A1 C en 7 10 4 INAB  INAB  INAB  OUTAB  OUTAB  OUTAB 7 10 A1

A2 8 9 1 Tierra 8 9 C afuera Tierra 8 9 B1

7483 74283 7485

Decodificadores

A 1 dieciséis 5 Y  0 1 24 5 ENA1 1 dieciséis 5

B 2 15 Y  0 año  1 2 23 A ENA2 2 15 ENB1

C 3 14 año  1 año  2 3 22 B B 3 14 ENB2

ES  3 4 13 año  2 año  3 4 21 C YA3 4 13 A

ES  2 5 12 año  3 4  años 5 20 D YA2 5 12 YB3

EN1 6 11 4  años año  5 6 19 EN1 YA1 6 11 YB2

año  7 7 10 año  5 año  6 7 18 EN2 YA0 7 10 YB1

8Gnd 9 año  6 año  7 8 17 año  15 8Gnd 9 YB0

74138 año  8 0 dieciséis año  14 74155

9 10 15 año  13

año  10 11 14 año  12

12Tierra 13 año  11

74154
Machine Translated by Google

D.5  Disposición  de  fichas  a  las  que  se  hace  referencia  en  el  texto  y  experimentos 609

siete  segmentos
Codificador  de  prioridad Decodificador/Controlador

4 1 dieciséis 5 B 1 14 5

5 2 15 C 2 13 F

6 3 14 D ES 3 12 gramo

7 4 13 3 D 4 11 a

8 5 12 2 A 5 10 b

C 6 11 1 mi 6 9 C

B 7 10 9 Tierra 7 8 d

8Gnd 9 A 7449

74147

Multiplexores

A3 1 dieciséis 5 ES 1 dieciséis 5 S 1 dieciséis 5

A2 2 15 A4 S1 2 15 ENB A0 2 15 ES

A1 3 14 A5 A3 3 14 S0 A1 3 14 D  0

A0 4 13 A6 A2 4 13 B  3 Ya 4 13 D1

Y 5 12 A7 A1 5 12 B  2 B0 5 12 YARDA

Y 6 11 S0 A0 6 11 B1 B1 6 11 C  0

ES 7 10 S1 Ya 7 10 segundo  0 YB 7 10 C1

8Gnd 9 S2 8Gnd 9 YB 8Gnd 9 YC

74151 74153 74157

Chancletas

CLR  1 1 14 5 ck 1 1 14 J  1 ck 1 1 dieciséis k  1

D1 2 13 CLR  2 CLR1 2 13 P  1 PRE1 2 15 P  1

ck 1 3 12 D  2 K1 3 12 P  1 CLR1 3 14 P  1

ANTERIOR  
1 4 11 ck 2 5 4 11 Tierra J1 4 13 Tierra

Q1 5 10 PRE  2 ck 2 5 10 K  2 5 5 12 K  2

Q1 6 9 P  2 CLR  2 6 9 P  2 ck 2 6 11 P  2

Tierra 7 8 P  2 J  2 7 8 P  2 PRE  2 7 10 P  2

7474 7473 CLR2 8 9 J  2

7476

*WinBreadboard  incluye  el  7473A,  para  el  cual  se  intercambian  las  conexiones  para  
J1  y  K1 ,  al  igual  que  para  J2  y  K2.
Machine Translated by Google

610 Apéndice  D  Experimentos  de  laboratorio

CLR 1 dieciséis 5 CLR 1 dieciséis 5

Q  0 2 15 P  5 Q  0 2 15 P  3


D  0 3 14 D  5 Q  0 3 14 P  3

P  1 4 13 D  4 D  0 4 13 D  3


D1 5 12 P  4 D1 5 12 D  2

P  2 6 11 D  3 Q1 6 11 P  2


D  2 7 10 P  3 Q1 7 10 P  2
  ECIDNÉPA

8Gnd 9  Ck 8Gnd 9  Ck

74174 74175

Registros  de  turnos

PECADO 1 14 5 ck 1 dieciséis CLR A 1 14 5


EN  0 2 13 Q  0 EN  0 2 15 Q  0 B 2 13 P  7
EN  1 3 12 P  1 EN  1 3 14 P  1 Q  0 3 12 P  6
EN  2 4 11 P  2 EN  2 4 13 P  2 P  1 4 11 P  5
EN  3 5 10 P  3 5 5 12 Tierra P  2 5 10 P  4
S 6 9 CkS EN  3 6 11 P  3 P  3 6 9 CLR
Tierra 7 8 CkL EN  4 7 10 P  4 Tierra 7 8 ck

7495 LD 8 9 S 74164
S 0:  cambio, S 1:  carga
7496
CkS:  reloj  de  turno
CkL:  Cargar  reloj
PECADO :  Entrada  de  bit  izquierdo  en  serie

Registros  de  turnos

LD 1 dieciséis 5 PECADO 1 dieciséis 5 CLR 1 dieciséis 5

ck 2 15 ES EN  0 2 15 LD RS 2 15 Q  0

IN4 3 14 EN  3 EN  1 3 14 IN7 IN0 3 14 P  1

EN  5 4 13 EN  2 EN  2 4 13 P  7 EN  1 4 13 P  2

EN  6 5 12 EN  1 EN  3 5 12 EN  6 EN  2 5 12 P  3

EN  7 6 11 IN0 ES 6 11 EN  5 EN  3 6 11 ck

P  7 7 10 PECADO ck 7 10 EN  6 LS 7 10 S1

8Gnd 9 P  7 8Gnd 9 CLR 8Gnd 9 S0

74165 74166 74194


Machine Translated by Google

D.5  Disposición  de  fichas  a  las  que  se  hace  referencia  en  el  texto  y  experimentos 611

Contadores  síncronos

CLR 1 dieciséis 5 EN  1 1 dieciséis 5 EN  1 1 dieciséis 5

ck 2 15 VO P  1 2 15 IN0 P  1 2 15 IN0

EN  0 3 14 Q  0 Q  0 3 14 ck Q  0 3 14 CLR

EN  1 4 13 P  1 ES 4 13 OVC CkD 4 13

EN  2 5 12 P  2 U/D 5 12 VO CKU 5 12 OVCD  OVCU

EN  3 6 11 P  3 P  2 6 11 LD P  2 6 11 LD

ENP 7 10 Otorrinolaringología P  3 7 10 EN  2 P  3 7 10 EN  2

8Gnd 9 LD 8Gnd 9 EN  3 8Gnd 9 EN  3

74160  –  74163 74190,  74191 74192,  74193


OVC :  Reloj VO

Contadores  asíncronos

ck 1 1 14 ck 0 ck 1 1 14 ck 0 ck 1 1 14 ck 0
CLR  1 2 13 2 13 CLR  1 2 13
CLR  2 3 12 Q  0 3 12 Q  0 CLR  2 3 12 Q  0
4 11 P  3 4 11 P  1 4 11 P  3
5 5 10 Tierra 5 5 10 Tierra 5 5 10 Tierra

SERIE  1 6 9 P  1 CLR  1 6 9 P  2 6 9 P  1


CONJUNTO  
2 7 8 P  2 CLR  2 7 8 P  3 7 8 P  2

7490 7492 7493


CLR1 y CLR2 ambos  deben  ser  1  para  borrar. SERIE  1 y SET2 ambos  1  conjunto  a  1000.
Machine Translated by Google

APÉNDICE  E:  EJEMPLOS  COMPLETOS

E.1  EJEMPLOS  COMBINACIONALES
  ECIDNÉPA

EJEMPLO  E.1
Las  entradas  w,  x,  y  y  z  representan  un  entero  binario  positivo.  La  salida,  f,
es  1  si  la  entrada  es  un  primo  o  un  cuadrado  perfecto,  pero  es  0  si  la  entrada  es  0.  Un  primo
número  es  un  entero  positivo  divisible  (sin  resto)  solo  por  1  y  por  sí  mismo.
(Aunque  0  es  un  cuadrado  perfecto,  hemos  excluido  específicamente  ese  caso).
Diseñe  este  sistema  utilizando  un  número  mínimo  de  paquetes  de  puertas  
NAND  o  NOR.
La  siguiente  es  la  tabla  de  verdad:

wx  y z F

00000
00011
00101
00111
01001
01011
01100
01111
10000
10011
10100
10111
11000
11011
11100
11110

A  continuación  se  muestran  mapas  para  f  y  f.

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 1 00 1 11

01 1 1 1 1 01

11 1 1 1 11 1

10 1 10 1 1 1

F F

612
Machine Translated by Google

E.1  Ejemplos  combinacionales 613

f  =  wz  +  xz  +  yz  +  wxy  +  wxy  f  =  wz  +  xyz  
+  wxy  +  xyz  f  =  (w  +  z)  (x  +  y  +  z)  
(w  +  x  +  y)  (x  +  y  +  z)

La  implementación  de  la  puerta  NAND  de  dos  niveles  requiere  3  puertas  de  dos  entradas,  
2  puertas  de  tres  entradas  y  1  puerta  de  cinco  entradas,  tres  paquetes.  El  NOR  de  dos  
niveles  usa  1  puerta  de  cuatro  entradas,  3  puertas  de  tres  entradas  y  1  puerta  de  dos  
entradas,  solo  dos  paquetes  (ya  que  la  puerta  de  dos  entradas  usa  la  sobrante  de  cuatro  entradas).
La  implementación  de  NOR  es

w
z

yz
F

wx
y

X
y
z

Podríamos  reducir  el  número  de  paquetes  usando  puertas  NAND  a  dos  por
factorizando  z  del  segundo  y  tercer  término  y  w  de  los  otros

f  =  z  (x  +  y)  +  w  (z  +  xy  +  xy)
=  z  (x  +  y)  +  w  [z  +  (x  +  y)  (x  +  y)]

Eso  da  como  resultado  el  siguiente  circuito,  que  usa  solo  7  puertas  NAND  de  dos  entradas  
(dos  paquetes).

y
X

y
z w

z
Machine Translated by Google

614 Apéndice  E  Ejemplos  completos

EJEMPLO  E.2
Las  entradas  representan  un  dígito  decimal  en  el  código  2421  (Ver  Tabla  1.7).  En  eso
código  ponderado,  cada  una  de  las  combinaciones  no  utilizadas  también  representan  una  de  las
dígitos  decimales.  Diseñe  un  sistema  con  dos  salidas,  f  y  g,  tal  que  f  sea  1  iff
el  dígito  representado  es  un  múltiplo  de  2  o  3  (o  ambos)  y  g  es  1  si  esto  no  es
el  código  normalmente  utilizado.  Por  ejemplo,  el  7  normalmente  se  codifica  como  1101  
(2  +  4  +  0  +  1)  y  el  código  0111  (0  +  4  +  2  +  1)  no  se  usa.  Por  lo  tanto,  f  =  0  en  ambas  filas,
pero  g  =  0  para  la  fila  1101  y  g  =  1  para  la  fila  0111.
  ECIDNÉPA

A  continuación  se  muestra  una  tabla  de  verdad  para  estas  funciones.

wx  y z Dígito F gramo

0000000
0001100
0010210
0011310
0100410
0101501
0110611
0111701
1000211
1001311
1010411
1011500
1100610
1101700
1110810
1111910

Comenzaremos  obteniendo  la  suma  de  las  representaciones  de  los  productos,  lo  que  nos  llevará  a
Soluciones  de  puertas  NAND.  Las  funciones  f  y  g  se  representan  a  continuación.

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 11 1 00 1

01 1 01 1 1

11 1 1 11 1

10 1 1 1 1 10 1 1

F gramo
Machine Translated by Google

E.1  Ejemplos  combinacionales 615

Las  expresiones  de  suma  mínima  de  productos  para  f  y  g  son

f  =  xz  +  wxy  +  wxy  +  wxy  +  {wz  o  yz}
g  =  wxy  +  wxz  +  wxy  +  wxz

Una  solución  de  dos  niveles  requeriría  2  compuertas  de  dos  entradas,  6  compuertas  de  tres  
entradas  (ya  que  podríamos  compartir  la  compuerta  que  produce  wxy),  1  compuerta  de  cuatro  
entradas  y  1  compuerta  de  cinco  entradas.  Eso  requeriría  cinco  paquetes.
Podríamos  aprovechar  compartir,  usando  wxz  en  lugar  del  último  término  en  f.  
Eso  ahorraría  una  puerta  de  dos  entradas,  reduciendo  el  conteo  de  paquetes  a  cuatro,  
ya  que  la  puerta  de  dos  entradas  podría  implementarse  usando  la  entrada  adicional  
de  cuatro.
Cada  función  podría  implementarse  con  solo  dos  puertas  de  entrada,  
compartiendo  dos,  pero  requiriendo  un  total  de  17  puertas  (cinco  paquetes):

f  =  z  (x  +  y)  +  [w  +(x  +  y)  (x  +  y)]  [w  +  xy]  g  =  w  (xy  
+  xz)  +  w  (xy  +  xz)

Otro  enfoque,  que  utiliza  puertas  de  dos  y  tres  entradas,  proviene  de  las  siguientes  
ecuaciones:

f  =  xz  +  y  (wx  +  wx)  +  wx  (y  +  z)  g  =  wx  (y  
+  z)  +  wx  (y  +  z)

dando  como  resultado  un  circuito  que  usa  3  puertas  de  tres  entradas  y  8  puertas  de  dos  entradas,  
solo  tres  paquetes.  El  circuito  se  muestra  a  continuación.

X
z

w F
X
y

w
X w
X
y
z
gramo

y
z w
X
Machine Translated by Google

616 Apéndice  E  Ejemplos  completos

A  continuación,  veremos  el  producto  de  expresiones  de  sumas  y  las  implementaciones  
de  compuertas  NOR.  Los  mapas  de  f  y  g  se  muestran  a  continuación.

wx wx
yz 00 01 11 10 yz 00 01 11 10

00 1 00 11
  ECIDNÉPA

01 1 1 1 01 11

11 1 1 11 1 1

10 10 11 1

F gramo

f  =  wxy  +  w  xz  +  xy  z  +  wx  yz  g  =  wx  +  
wx  +  { wyz  o  xy  z }  +  {wyz  o  x  yz }

o,  eligiendo  el  primero  de  los  suplentes,

f  =  (w  +  x  +  y)  (w  +  x  +  z)  (x  +  y  +  z )  ( w  +  x  +  y  +  z )  gramo  =  ( w  +  
x)  ( w  +  x )  ( w  +  y  +  z )  ( w  +  y  +  z )

La  solución  de  dos  niveles  requiere  2  puertas  de  dos  entradas,  5  puertas  de  tres  entradas  y  
3  puertas  de  cuatro  entradas,  que  podrían  implementarse  con  cuatro  paquetes.  No  hay  forma  
de  hacerlo  con  todas  las  puertas  de  dos  entradas  o  con  menos  de  cuatro  paquetes.

xy
z

w
F gramo

X wyx  
x  ywz wz

X xw

yz yz
Machine Translated by Google

E.1  Ejemplos  combinacionales 617

EJEMPLO  E.3
El  problema  es  diseñar  un  contador  de  bolas  y  strikes  para  béisbol.  El
las  entradas  son  cuántas  bolas  (0,  1,  2,  3)  antes  de  este  lanzamiento,  cuántos  strikes
(0,  1,  2)  antes  de  este  lanzamiento,  y  lo  que  sucede  en  este  lanzamiento.  las  salidas
son  cuántas  bolas  después  de  este  lanzamiento  (0,  1,  2,  3)  o  cuántos  strikes  después
este  tono  (0,  1,  2).  En  el  béisbol,  hay  cuatro  resultados  de  cualquier  lanzamiento  (de
el  punto  de  vista  de  este  problema).  Puede  ser  un  strike,  un  foul,  una  pelota  o
cualquier  otra  cosa  que  termine  el  turno  de  este  bateador  (como  un  hit  o  un  elevado).
Una  bola  foul  se  considera  strike,  excepto  cuando  ya  hay  dos
huelgas,  en  cuyo  caso  el  número  de  huelgas  sigue  siendo  2.  La  salida  es
indicar  el  número  de  bolas  y  strikes  después  de  este  lanzamiento  a  menos  que  el  turno  del  
bateador  haya  terminado.  Si  el  turno  del  bateador  ha  terminado  por  alguna  razón,  la  salida
debe  indicar  0  bolas  y  0  strikes.

Muestre  el  código  para  las  entradas  (debería  haber  6—2  para  qué
sucedió  en  ese  campo,  2  por  el  número  de  bolas  y  2  por  el  número
de  strikes)  y  para  las  salidas  (debe  haber  5­3  para  balones  y  2  para
huelgas).  Luego  muestre  mapas  y  una  implementación  usando  puertas  NAND.

Comentario:  Un  problema  más  completo  incluiría  el  número  de  outs,
pero  eso  implicaría  dos  entradas  más  por  el  número  de  outs  antes  del
lanzamiento  y  al  menos  una  columna  de  entrada  más  para  el  resultado  del  lanzamiento,  ya  que
necesitaría  diferenciar  entre  hits  y  outs,  así  como  doble
jugadas  y  jugadores  robando.

Usaremos  las  dos  primeras  entradas,  a  y  b,  para  indicar  el  número  de
bolas,  las  dos  siguientes,  c  y  d,  para  indicar  el  número  de  strikes  (que  es
nunca  3),  y  las  dos  últimas,  e  y  f,  para  indicar  el  resultado  del  lanzamiento,
como  sigue:

mi F Resultado
0   0   Huelga
0   Falta
1   Pelota

1  1 0  1 Algo  más

Las  salidas,  w  y  x,  son  el  número  de  bolas  después  del  lanzamiento,  y  y  y
z  son  el  número  de  strikes  después  del  lanzamiento.
Los  seis  mapas  de  variables  se  muestran  a  continuación.  Las  capas  corresponden  a  la
número  de  bolas;  las  columnas  son  el  número  de  huelgas.  Puesto  que  hay
nunca  tres  strikes  antes  de  un  lanzamiento,  la  columna  11  no  le  importa.
Machine Translated by Google

618 Apéndice  E  Ejemplos  completos

0  0 0  1 abdominales


1  1 1  0
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10
00 X 00 X 00 11 X 00 11 X

01 X 01 X 01 1 1 X 1 01 11 X 1
W
11 X 11 X 11 X 11 X
  ECIDNÉPA

10 X 10 11  1 X 10 X 10 11  1 X

0  0 0  1 abdominales


1  1 1  0
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10
00 X 00 11 X 00 11 X 00 X

01 X 01 1 1 X 1 01 1 1 X 1 01 X
X
11 X 11 X 11 X 11 X

10 11 X 1 10 X 10 X 10 11  1 X

0  0 0  1 abdominales 1  1 1  0


cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10
00 1 X 00 1 X 00 1 X 00 1 X

01 1 X 1 01 1 X 1 01 1 X 1 01 1 X 1
Y
11 X 11 X 11 X 11 X

10 X 10 X 1 10 X 10 X 1

0  0 0  1 abdominales


1  1 1  0
cd cd cd cd
ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10 ef 00 01 11 10
00 1 X 00 1 X 00 1 X 00 1 X

01 1 X 1 01 1 X 01 1 X 01 1 X
Z
11 X 11 X 11 X 11 X

10 1 X 10 1 X 10 X 10 1 X

La  suma  mínima  resultante  de  las  ecuaciones  del  producto  es
w  =  abef  +  abef  +  as  +  aef
x  =  antes  +  bce  +  antes
y  =  de  +  cef  +  abcef  +  abcef
z  =  cde  +  adef  +  bdef

No  hay  implicantes  primos  comunes  que  se  aprovechen  de  compartir  (como
en  la  Sección  3.8).  Implementarlos  directamente  requiere
Machine Translated by Google

E.1  Ejemplos  combinacionales 619

Paquetes  de  puertas
cinco  entradas 2 2

cuatro  entradas 6 3

Tres  entradas 9 3

dos  entradas 1 1

para  un  total  de  nueve  paquetes.
Aprovechando  lo  que  es  común  en  los  dos  primeros  términos  de  w  y  el
últimos  dos  términos  de  y,  y  también  factorizando  literales  en  x  y  z,  podemos  manipular
a  ellos

w  =  (ab  +  ab)  ef  +  ae  (c  +  f )
x  =  antes  de  +  ser  (c  +  f )
y  =  de  +  cef  +  (ab  +  ab)  cef  =  de  +  c  [ef  +  (ab  +  ab)  ef]
z  =  cde  +  def  (a  +  b)

Teniendo  en  cuenta  que  los  términos  (ab  +  ab)  ef  y  (c  +  f )  son  compartidos,  esto  requiere
solo  seis  paquetes  (en  los  que  se  utiliza  la  puerta  adicional  de  tres  o  cuatro  entradas  para
el  13  de  dos  entradas).

Paquetes  de  puertas
cuatro  entradas 1 1

Tres  entradas 5 2

dos  entradas 13 3 d
mi

y
mi

F
a C

mi
a F
w
b

a
mi

b
mi

b
mi

F
a

definitivamente

C
d
mi
Machine Translated by Google

620 Apéndice  E  Ejemplos  completos

E.2  EJEMPLOS  SECUENCIALES
EJEMPLO  E.4
Diseñe  un  sistema  de  Moore  con  una  entrada,  x,  y  una  salida,  z,  tal  que  z
cambia  cada  vez  que  ha  habido  dos  entradas  0  consecutivas.  El  sistema
la  salida  es  inicialmente  0.  Implementarlo  con  flip  flops  JK  y  NAND.

Muestra
  ECIDNÉPA

X  1  1  0  0  1  0  0  1  0  0  0  1  0  0  1  0  1  0  0  0  0  0
z  0  0  0  0  1  1  1  0  0  0  1  0  0  0  1  1  1  1  1  0  1  0  1

A  partir  de  la  traza  de  tiempo  de  la  muestra,  está  claro  que  cuando  hay  más  de  dos
0  entradas  consecutivas,  la  salida  sigue  cambiando.
Hay  dos  estados  de  ninguna  parte,  A  donde  la  salida  es  0  y  B  donde  la  
salida  es  uno.  En  cualquiera  de  estos  estados,  una  entrada  1  deja  el  estado
sin  cambios,  y  una  entrada  0  avanza.  Los  otros  dos  estados  son  C,  donde
la  salida  sigue  siendo  0,  pero  ha  habido  una  entrada  0  y  D,  donde  la  salida  es
sigue  siendo  1.  Esto  conduce  al  siguiente  diagrama  de  estado.

1 1
A B
0 1

1 0 0 1

0
C D 1
0 0 1
0

Con  entradas  0  consecutivas,  vamos  y  volvemos  entre  los  estados  C  y  D.
La  tabla  de  estado  para  esto  es

q z
Q  x  =  0  x  =  1
ACA  0
BD  B  1
CD  A  0
CC  B  1

Hay  tres  asignaciones  estatales  que  podríamos  considerar.

a.  Q  Q1  Q2  b.  Q  Q1  Q2  A  0  0 C.  Q  Q1  Q2
un  0  0 un  0  0
segundo  0  1 segundo  0  1 B  1 1
C  1  0 C  1 1 C  0 1
D  1 1 D  1 0 D  1 0
Machine Translated by Google

E.2  Ejemplos  secuenciales 621

Las  asignaciones  primera  y  tercera  no  requieren  lógica  de  salida;  z  =  Q2  para  la  
asignación  ayz  =  Q1  para  la  asignación  c .  Para  la  asignación  b,  z  =  Q1  Q2  +  Q1  Q2,
requiere  tres  puertas.  Completaremos  el  diseño  usando  asignaciones  a
y  c.
a. C.
x  Q1  Q2  00  0  00   Q1 Q1 Q1 Q2
1  01  0  01  1  10   1 0 0 1
0  10  1  11  0 1 1 1 0
1 1 0 1
1 0   1 0
0   0 0   0
0   1 0 0
0   0 1 1
11  1 0 1 1 1

Para  la  tarea  a,  los  mapas  son
X X
0 1 0 1
Q1  Q2 Q1  Q2

00 1 00

01 1 01 11

11 1 11 1

10 1 10 1

Q1 Q2

J1  =  x K1  =  x J2  =  K2  =  x  Q1  z  =  Q2

Esto  requiere  1  NAND  de  dos  entradas  y  dos  inversores.*

Para  la  asignación  c,  los  mapas  son
X X
0 1 0 1
Q1  Q2 Q1  Q2

00 00 1

01 1 01

11 1 1 11 1

10 1 10 1 1

J1  =  K1  =  x  Q2 J2  =  x  +  Q1 K2  =  x  +  Q1 z  =  Q1

*En  el  Capítulo  9,  veremos  que  esta  asignación  para  Q1  producirá  las  entradas  más  simples  para
esa  chancleta  JK .
Machine Translated by Google

622 Apéndice  E  Ejemplos  completos

Esto  requiere  3  NAND  de  dos  entradas  y  dos  inversores.  (La  tarea  b  sería
requieren  4  NAND  de  dos  entradas  y  un  inversor).
El  circuito  para  la  asignación  a  se  convierte  en

X
  ECIDNÉPA

j j
q 1
q2 Z

k q k q2
1

RELOJ
CLARO

donde  se  necesita  la  compuerta  NOT  para  que  las  entradas  a  Q2  creen  un  AND.  También,
se  muestra  una  señal  CLEAR  para  inicializar  el  sistema  al  estado  00.

EJEMPLO  E.5
Estamos  diseñando  un  controlador  de  luz  automático  para  una  habitación  pequeña,  uno  que  aguanta
un  máximo  de  tres  personas.  Hay  una  señal  que  es  1  durante  un  período  de  reloj  en
línea  x1  cada  vez  que  alguien  entra  en  la  habitación  y  una  señal  similar  en  la  línea  x2  cuando
alguien  se  va  Cuando  la  habitación  está  vacía,  la  luz  de  la  habitación  está  apagada;  cuando
hay  alguien  en  la  habitación,  la  luz  está  encendida.  La  salida  z1  controla  esa  luz.  si  la  habitación
está  llena,  se  enciende  una  luz  roja,  controlada  por  la  línea  de  salida  z2,  fuera  de  la  habitación.
Necesitamos  un  contador  arriba/abajo,  AB,  inicializado  a  0,  para  realizar  un  seguimiento  de  la
número  de  personas  en  la  habitación.  Es  algo  diferente  del  que  se  analiza  en  el  ejemplo  7.8  porque  
hay  entradas  separadas  para  contar
y  contando  hacia  atrás.
La  tabla  de  estados  es  así

ABx1x2  0   AB z1z2
0 0  1 1  0 1  1
0  0   0  0  XX  0  1  0  1  0  0  1  0   0  0   0  0
0  1   1  0  0  1  1  1  1  1 0  1   1  0
1  0   1  0   1  0
1  1 1  0XX 1  1 1  1

El  contador  sube  cuando  alguien  entra  (la  columna  10)  y  baja
cuando  alguien  se  va  (la  columna  01).  Suponemos  que  nadie  entra
cuando  la  habitación  está  llena  y  nadie  sale  cuando  está  vacía  (teniendo  en  cuenta  la
no  le  importa).  La  primera  salida  es  1  cuando  el  conteo  no  es  0,  y  la  segunda  es  1  cuando  el  conteo  
es  3.  (Este  es  un  sistema  de  Moore).
Las  ecuaciones  para  las  salidas  se  pueden  leer  de  la  tabla  de  estado.

z1  =  A  +  B z2  =  AB
Machine Translated by Google

E.2  Ejemplos  secuenciales 623

Los  mapas  para  el  siguiente  estado,  con  las  secciones  J  sombreadas,  se  muestran  a  continuación.

XX
1 2
X 1 X2

AB 00 01 11 10 AB 00 01 11 10

00 X 00 X 1

01 1 01 1 1

11 1 1 1 X 11 1 1X

10 1 1 1 10 1 1

A B

JA  =  x1  x2  B KA  =  x1  x2  B JB  =  KB  =  x1  x2  +  x1  x2

El  circuito  se  muestra  a  continuación,  con  CLEAR  para  inicializarlo.

X2

X1

z2

z1
j A j B

ka KB

RELOJ
CLARO

EJEMPLO  E.6
Diseñe  un  sistema  Moore  usando  flip  flops  JK  que  produzca  una  salida  1  si  el
el  patrón  de  entrada  ha  sido  1  0  1  1

a. Si  NO  se  permite  la  superposición  (5  estados).
b.  Si  se  permite  la  superposición  (5  estados).
C.  Una  vez  que  la  salida  es  1,  permanece  1  mientras  el  patrón  continúa  (7  estados).
Machine Translated by Google

624 Apéndice  E  Ejemplos  completos

Muestras  x  
0  0  1  0  1  1  0  1  1  1  0  1  1  0  1  1  0  0  za ?  0  0  0  0  0  1  0  0  0  0  0  0  1  0  0  0  

0  0  0  0  zb ?  0  0  0  0  0  1  0  0  1  0  0  0  1  0  0  1  0  0  0  0  zc ?  0  0  0  0  0  1  1  1  1  0  0  0  1  
1  1  1  1  0  0  0

Los  tres  comienzan  de  la  misma  manera,  donde  el  estado  A  no  está  en  ninguna  parte,  buscando
  ECIDNÉPA

el  primer  1,  el  estado  B  se  alcanza  con  el  primer  1,  C  se  alcanza  con  el  0,  D  en
el  segundo  1,  y  E  se  alcanza  cuando  el  patrón  está  completo  y  la  salida  es  1.  El  primer  diagrama  de  
estado  muestra  las  respuestas  para  las  partes  ay  b.

0
A
0
1
0 (No)

1 B 1 mi
0 1

0 0
0 (encima)
1
0
C D
0 0
1

Después  de  llegar  al  estado  E,  una  entrada  1  sería  el  primer  1  en  una  nueva  secuencia
(estado  B).  Si  no  se  permite  la  superposición,  una  entrada  0  no  nos  deja  en  ninguna  parte,  de  vuelta  en
estado  A.  Si  se  permite  la  superposición,  ahora  tenemos  el  10  de  un  nuevo  patrón  y
ir  al  estado  C.
Para  la  parte  c,  necesitamos  dos  nuevos  estados.  Desde  E,  una  entrada  0  continúa  la
patrón  y  por  lo  tanto  debe  producir  una  salida  1.  Entonces  una  entrada  1  lo  mantiene  en  marcha
(al  estado  G).  Finalmente,  otro  1  nos  devuelve  al  estado  G  como  se  muestra  a  continuación.
Machine Translated by Google

E.2  Ejemplos  secuenciales 625

0
A 0
0
1
F
0
GRAMO

1 1 1

B 1 0
1 mi
0 1

00
1
0
C D
0 0
1

A  continuación,  veremos  la  implementación  de  este  sistema  utilizando  chanclas  JK .  Nosotros
considerará  dos  asignaciones  estatales:

a.  Q  q1  q2  q3   b.  Q  q1  q2  q3
A  000  B   un  000
001  C   B  010
010  D  011   C001  _
E  100  F   D  011
101  G  110 mi  110
F  101
G  111

El  primero  solo  asigna  los  estados  en  orden  numérico.  El  segundo  utiliza  algunos
información  del  Capítulo  9.  Primero,  convertiremos  el  diagrama  de  estado  en  un
tabla  de  estado  y  luego  cree  la  tabla  de  verdad  usando  la  primera  asignación.

q z
Q  x  =  0 X  =  1
AA  B  0
BC  B  0
CAD  0
CC  E  0
EF  B  1
FA  G  1
CG  E  1
Machine Translated by Google

626 Apéndice  E  Ejemplos  completos

La  tabla  de  verdad  de  diseño  tiene  16  filas:

xq  1  q  2  q  3  q  1  q  2  q  3 J  1 k  1 j 2  K2J  _ 3  K3


0000  0  0  0 0  X  0  X  0  X
B  0001  0  1  0 0X1XX1
0010  0  0  0 0  X  X1  0X
D  0011  0  1  0 0  X  X0  X1
E  0100  1  0  1 X  0  0X  1X
  ECIDNÉPA

F  0101  0  0  0 X  1  0X  X1
G  0110  0  1  0 X  1  X0  0X
0111 XX  XX  XX
1000  0  0  1 0  X  0  X  1  X
B  1001  0  0  1 0X0XX0
C  1010  0  1  1 0XX0  1X
D  1011  1  0  0 1X1X1
E  1100  0  0  1 X  1  0X  1X
F  1101  1  1  0 X  0  1X  X1
G  1110  1  0  0 X  0  X1  0X
1111  XXX XX  XX  XX

Después  de  mapear  estos,  obtenemos

J1  =  x  q2  q3 k  1 =  xq  2  +  xq  3  +  xq  2  q  3


J  =  xq  1  q  3  +  xq  1  q  3  2  +  xq  1 K2  =  xq  1  q  3  +  xq  1  +  xq  3
J  =  q  1  q  2  3 K3  =  x  +  q  1  +  q  2
Z  =  q  1

Esto  requiere  8  compuertas  de  dos  entradas  y  8  compuertas  de  tres  entradas  más  NOT  para  x .
Usando  la  segunda  asignación,  obtenemos  la  siguiente  tabla  de  verdad  de  diseño:

xq  1  q  2  q  3 q  1  q  2  q  3
0000  0  0  0
0001  0  0  0
B  0010  0  0  1
D  0011  0  0  1
0100  XXX
F  0101  0  0  0
E  0110  1  0  1
G  0111  0  0  1
1000  0  1  0
C  1001  0  1  1
B  1010  0  1  0
D  1011  1  1  0
1100  XXX
F  1101  1  1 1
E  1110  0  1  0
G  1111  1  1  0

Los  mapearemos  y  usaremos  el  método  rápido.
Machine Translated by Google

E.2  Ejemplos  secuenciales 627

xq 1 xq 1 xq 1
qq 00 01 11 10 qq 00 01 11 10 qq 00 01 11 10
2 3 2 3 2 3

00 X X 00 X X 1 00 X X

01 1 01 1 1 01 1 1

11 1 1 11 1 1 11 1 1

10 1 10 1 1 10 1 1

q1 q2 q3

Las  secciones  J  de  cada  uno  de  los  mapas  están  sombreadas,  produciendo  las  ecuaciones

J1  =  x  q2  q3  K1  =  x  q3  +  x  q3
J2  =  x k2  =  x
J3  =  xq2  _ K3  =  x  q2  +  x  q2
Z  =  q1

Esta  asignación  requiere  solo  7  puertas  de  dos  entradas  y  1  puerta  de  tres  entradas  más
el  NOT  para  x  (sin  puertas  de  tres  entradas).
Machine Translated by Google
Machine Translated by Google

ÍNDICE

Nota:  Los  números  de  página  que  tienen  el  formato  9­x  indican  material  en  el  Capítulo  9,  que  se  puede  encontrar  en  línea  en  
http://www.mhhe.com/marcovitz.

A arreglos  Consulte  la  ley  

absorción,  65   asociativa  de  arreglos  

señales  activas   de  puertas,  39  contadores  asíncronos,  447–450,  503–506

alta,  258  
baja,  258  
B
sumador,  10,  252–255  
carry­look­ahead,  255  carry­ base,  4  
ripple,  252  en   aritmética  binaria,  9­15  
cascada,  255   suma,  9­14  
diseños  de  chips,  607–611   conversión  de  binario  a  decimal,  4–6  
decimal,  292–293   dígitos,  1,  5  
cuatro  bits,  10–  11,  30,  264,  267   conversión  de  decimal  a  binario,  6–7  
completo,  10,  58,  76–78,  250–252   códigos  de  detección  y  corrección  de  errores,  
medio,   301–304

11  experimentos  de  laboratorio,   números  hexadecimales,  8  
599–601  multibit,  252– enteros,  4  
255  de  un  bit,  10,  76– números  con  signo,  11–14  
78  en  serie,  514– resta,  14–15  decimal  
515  Verilog,  289–292   codificado  en  binario  (BCD),  15–16,  22–23  bits,  1,  3
sumador/restador,  266  
adyacencia,  44–45   Boole,  Jorge,  78
cuadrados  adyacentes,   Álgebra  booleana,  37,  78–80  
66  álgebra.  Ver  álgebra  de  conmutación   placas  de  prueba,  
booleana,  78–80   27  lógica  de  hardware,  4,  567–591
diagramas  de  máquina  de  estados  algorítmicos  (ASM), Macbreadboard,  4,  591–593
511–515 Winbreadboard,  4,  591–593  
Juego  de  herramientas  Altera,  4 burbuja,  60  
Código  estándar  estadounidense  para  la  información bus,  275  
Intercambio  (ASCII),  17–18  Y.   diseño  de  controlador,  416,  461–464
Véase  también  puerta
Y/O/NO  implementación,  48–52  arreglos,  276–
278  definido,  38–39   C

compuerta,  40   producto  canónico,  47  
cableada,   suma  canónica,  44  
274 sumadores  anticipados,  255

629
Machine Translated by Google

630 Índice

en  cascada CE10,  415–416,  446–447
sumadores,   CE11,  416,  461–464
255  comparadores,  256–268   convertir

contadores,  492–494   binario  a  decimal,  4–6  binario  
bit  de  control,  302   a  hexadecimal,  8  decimal  a  
chips,  50.  Ver  también  circuitos  integrados   binario,  6–7  decimal  a  
circuitos hexadecimal,  8  hexadecimal  a  
integrado,  50  (ver  también  circuitos  integrados)  número   decimal,  8  contador,  437–450  
de  niveles,  48–49  señal  clara,   aplicación  de,  499–
376–377  reloj,  2,  365   506  asíncrono,  447–450,  503–
sincronizado,   506  chip  diseños,  611  decimal  (década),  
365  entradas  y   441–442,  502–503  
salidas   señales  de  habilitación,  499–500  experimentos  
de  codificación,  30,  34–36,  416  estados,  417,   de  laboratorio,  605–607  
9­22  a  9­28 sincrónico,  437–447,  499–503  
sistemas  combinacionales,  2 arriba/abajo,  439–440,  449–450,  502–  
proceso  de  diseño  para,  29–37   503  portada,  119
errores  comunes,  53,  67,  128  propiedad  
conmutativa,  39  comparador,  
256–258  diseño  de  chips,   CPLD  (dispositivo  lógico  programable  complejo),  510–511
608  complemento,  
44.  Véase  también  NO  el  teorema  de  
DeMorgan,  52–54  raíz,  12  dos,  11–
D
14  completo  
ejemplos   contador  de  décadas,  441–442,  502–503  
combinacional,  612–619   sistemas  decimales
secuencial,  620–627  dispositivos   BCD,  16–17  (ver  también  decimal  
lógicos  programables   codificado  en  
complejos  (CPLD),  510–511  consenso,  67–70.  Ver  también   binario)  decodificadores,  
ejemplos   258–267  diseños  de  
continuos  de  consenso  iterados  (CE) chips,  608  señales  de  
habilitación,  258–267  implementación  de  
CE1,  29,  33–34,  57  CE2,   funciones  

29,  34–35,  57  CE3,  29,   lógicas,  263–267  
35,  58,  76–78,  250–252  CE4,  29,  35–36,  
293–301  CE5,  29,  35  CE6 ,  366– experimentos  de  
369,  415n,  450– laboratorio,  601  sumadores  de  retardo,  251–255  sistemas  combinacionales,  25
452,  454  CE7,  415,  452–454  CE8,  415,  458– chanclas  de  retardo  (D),  372–377  
459  CE9,  415,  442–445 análisis,  380–390  
técnicas  de  diseño,  420–421
PLD  y,  506–509
Machine Translated by Google

Índice 631

Teorema  de  DeMorgan,  52–54   Compuertas  OR  exclusivas,  63–64  
demultiplexor,  273–274  procesos   comparadores,  269–270  
de  diseño  sistemas   ejercicios,  7n  

combinacionales,  29–37  sistemas   expresiones  
secuenciales,  416–418 producto  de  sumas,  46–47  suma  
tabla  de  verdad  de  diseño,  418–420   de  productos,  43
sistemas  digitales,  1  
distributivo,  41–42  
F
condiciones  indiferentes,  32–33,  112  consenso  
iterado,  206 factorización,  41  

Mapa  de  Karnaugh,  135–139 salidas  falsas,  387–389  fan­in,  

Quine­McCluskey,  204   253  matriz  
conductores lógica  programable  de  campo,  276n,  279,  510  máquinas  de  estado  

pantallas  de  siete  segmentos,  35–36,  293–301  dual,  40   finito  (FSM),  365.  Ver  también  máquinas  de  estado,  sistemas  
paquetes   secuenciales  5421  código,  16–17  mapas  de  

duales  en  línea  (DIP),  50 cinco  variables ,  143–

149  flip  flops,  366,  371–380  entradas  
claras  asíncronas,  376–377  
mi
diseños  de  chips,  609–610  retraso,  372–377,  420–
Código  8421,  16   422  (ver  también  retraso  flip  
contadores  de   flops  (D))  tabla  de  diseño,  420–425  técnicas  de  diseño  para,  
señales  de  habilitación,   420–436  
decodificadores  499–503,  258–267 experimentos,  603–605  JK,  
PLD,  506–507   378–379,  422–423,  425–430  (ver  también  
registros  de  desplazamiento,   flip  flops  JK )  activado  por  
496–497  codificadores,   vanguardia,  373–375  maestro/esclavo,  372  PLD,  506–511  
268–269  diseños  de   método  rápido,  
chips,  609  prioridad,  268–269 428–430  registros,  493  (ver  también  registros)
Inglés,  
equivalente  a  3,  9­1  a  9­3
particiones,  9­17  a  9­22  
reducción  tabular,  9­3  a  9­10  borrables  

programables  memorias  de  solo  lectura Set­Reset,  377–378,  423–424  (consulte  también  Flip  flop  
(EPROM),  279 Set  Reset  (SR) ),  estado,  
detección/corrección  de  errores,  301–304   373  entrada  

implicante  principal  esencial,  121 de  borrado  estático,  376–377  Toggle,  
no  me  importan  las  condiciones,  135–136   378–379,  424–425  (consulte  también  Flip  flop  Toggle  (T) )  
tablas  de  implicantes  primos,  208   activado  por  el  
código  de  exceso  3,  16–17 borde  posterior,  371–380  FPGA  (matriz  de  
Puertas  NOR  exclusivas,  63   puertas  programables  en  campo),  276n,  279
comparadores,  256–258
Machine Translated by Google

632 Índice

sumador  completo,  10,  58,  76–78,  250– peligro,  251  
252  funcionalmente  completo,   hexadecimal,  8  
59  funciones caliente,  515
complemento  de,  52–54  
salida  múltiple,  150–161,  216,  226  
I
simplificación,  65–70  
fusible,  279 idempotencia,  41  
identidad,  41  
implicante,  118–119.  Véase  también  implicante  
GRAMO
principal  incluido  en,  204–
puerta,  32,  39 205  Inclusive­OR,  
Y,  39   50  funciones  especificadas  de  forma  incompleta,  32.  
diseños  de  chips,  607– Véase  también  
608  retraso,  250–252 condiciones  indiferentes  Registro  
OR  exclusivo,  63 de  instrucciones,  519–521  circuitos  integrados  (IC),  50
NOR  exclusivo,   serie  7400,  51  (ver  también  chips  
implementación  de  63  funciones,  48–52,  59– de  la  serie  
65  experimentos  de  laboratorio,   7400)  inversión,  
598–600  pestillos,  370–371 40  involución,  
NAND,  59–62 41  aislado,  121
NI,  61–62 Método  de  mapa  1,  122–130
NO,  40 consenso  iterado,  201
OR,  39   salida  múltiple,  219–222  una  
arreglos  de  puertas,  249,  276–288 salida,  204–207  tablas  
programable  en  campo,  276n de  implicantes  primos,  208–216,  222–
Diseño  PAL,  286–288 226
Diseño  PLA,  281–284 sistemas  iterativos,  249,  250–258
PLD,  506–511
Diseño  de  ROM,  280–281  
j
generar,  transportar,  
255  falla,  251,  387–388 Chanclas  JK  (JK),  378–377.  Véase  también  análisis  
código  gris,  18 de  chanclas,  381–
390  técnicas  de  diseño,  422–423,  425–430

H
k
medias  sumadoras,  11

Código  de  Hamming,  301–304 Mapa  de  Karnaugh,  111–
Distancia  de  Hamming,   161  simplificación  algebraica,  543–547  
lenguaje  de  diseño  de  hardware  302  (HDL),  289– no  importa,  135–139  
292,  516–517 cinco  variables,  143–149
Machine Translated by Google

Índice 633

Método  de  mapa  1,  122–130 mínimo

Método  de  mapa  2,  130–135   minimización  algorítmica,  201–226  condiciones  
salida  múltiple,  150–161  producto   indiferentes,  135–139  mapas  de  cinco/seis  
de  sumas,  140–143  seis  variables,   variables,  143–149
144,  149  suma  de  productos,   Redes  de  puertas  NAND,  72–78  
122–139 producto  de  sumas,  47,  140–143  suma  
Karnaugh,  Mauricio,  111 de  productos,  44
no  me  importa,  135–139  
usando  el  mapa  de  Karnaugh,  121–135  
L
minterm,  43
sistemas  de  laboratorio,  3 Modelo  de  Moore,  367–369  
Altera,   análisis,  367–369
diseño  de  4  chips,  607–611   diagramas  ASM,  512–513  
experimentos,  598–607   diagramas  de  estado,  derivación  de,  450–452,  454–
hardware,  3,  583–587 455,  458–459,  461–464  problemas  de  
LogicWorks,  4,  589–594 salida  múltiple
MacBreadboard,  4,  587–589 consenso  iterado,  219–222
WinBreadboard,  4,  587–589  integración   Mapa  de  Karnaugh,  150­161
a  gran  escala  (LSI),  51  pestillos,  370–371   Quine­McCluskey,  216–222
niveles,  48–49  literal,   multiplexores  (mux),  269–272
43

norte
LogicWorks,  593–598
LUT  (tabla  de  consulta),  510–511 puertas  NAND.  Véase  también  puerta
sumadores,  76–78  (ver  también  sumador)  
implementación  con,  59–62,  72–78  costo  mínimo,  
METRO
154–156  lenguaje  natural,  3  
MacBreadboard,  4,  591–593 tablas  de  verdad  para,  33–
Método  de  mapa  1,  122–130 37  lógica  negativa,  52  números  
Método  de  mapa  2,  130–135   negativos,  10–15  
biestable  maestro/esclavo,  372   siguiente  estado,  367–368  
maxterm,  46 compuertas  NOR,  61–62  
modelo  harinoso,  369–370   NO.  Ver  también  puertas  
análisis,  369–370 definidas,  38,  40  puertas,  
Diagramas  ASM,  513–514  salida   40  propiedad  nula,  
falsa  (falla),  387–388  diagramas  de   41  sistemas  
estado,  derivación  de,  452–461 numéricos,  4–18.  
integración  a  mediana  escala  (MSI),  51  memoria,   Véase  también  aritmética  binaria
2,  364–365,  518–521.  Ver  también  sistemas  secuenciales
decimal  codificado  en  binario  (BCD),  16–17
Machine Translated by Google

634 Índice

sistemas  numéricos,  continuación   propiedad  de  sustitución  (SP),  9­11  a  9­12,  9­14
hexadecimal  (hexadecimal),   al  período  

8  números  con  signo,  11–14 9­17 ,  365
Método  de  Petrick,  210–213
PLA  (matriz  lógica  programable),  279,  281–284
O

codificación  one­hot,  515–516  OR.   PLD  (dispositivo  lógico  programable),  276n,  506–
Véase  también   511  

implementación  de  puerta  Y/O/NO,  48– PLS100,  284  
52 lógica  positiva,  52  
matrices,  276–288   precedencia,  40  
definido,  38–39   entrada  preestablecida,  
exclusivo,  63–64   376–377  implicante  principal,  
puerta,   111,  120  no  importa,  
39  término  de   138  esencial,  121,  138  
suma,  46   consenso  iterado,  219–  222  Quine­
McCluskey,  201–204  tablas  de,  
cableado,  274  salida   208–216,  222–226  implicados  
alta  activa,  258   primos,  140  codificador  de  
baja  activa,  258   prioridad,  268–269  producto,  38.  
falso,  387–388  múltiple,  150–161,   Véase  también  Y  producto  de  
216–226  tres   particiones,  9­13  a  9­14  producto  de  suma  
estado,  280  salida   estándar  términos,  55  producto  de  sumas,  
consistente,  9­11  desbordamiento,  10,  13–15 46–47,  48–50,  53–54  implementación,  49–50,  62  
Mapa  de  Karnaugh,  140–143  
término  producto,  43  Contador  
PAG
de  programa,  519–
PAL  (lógica  de  matriz  programable),  249,  279,  286–288 521  matriz  lógica  programable,  
249  matriz  lógica  programable,  249  
Contador   dispositivos  lógicos  programables,  249,  
paralelo,  499–500   506–511  propagar,  llevar,  255
registro  de  desplazamiento,  
496–498  paréntesis,  
40  bits  de  paridad,  
302  particiones,  búsqueda   q

9­10  a  9­28 ,  salida   método  rápido,  428–430
consistente  9­14  a  9­17 ,  propiedades   Método  de  Quine­McCluskey,  201  salida  
9­11  a  9­12  de,  9­13  a  9­14 múltiple,  216–222  una  salida,  
SP,  9­11  a  9­12,  9­14  a  9­17   201–204  tablas  de  
asignación  estatal,  9­22  a  9­28   implicantes  primos,  208–216,
reducción  estatal,  9­17  a  9­22 222–226
Machine Translated by Google

Índice 635

R Diseños  de  chips  de  
radix,   chips  de  la  serie  7400,  607–

complemento  de  4  radix,   611  7400,  64,  

12  memoria  de  solo  lectura  (ROM),  249,  278–281   607  7402,  64,  

salidas  registradas,  506–511   607  7404,  51,  

registros,  493   607  7408,  51,  

diseños  de  chips,  609–611   607  7410,  64,  

contadores,  499–506  (ver  también  contador ) 608  7411,  51,  

Instrucción,  519–521   608  7420,  64,  

Contador  de  programa,  519–521   608  7421 ,  51,  

cambio,  493–499  (ver  también  registro  de   608  7427 ,  64,  

desplazamiento)  reinicio,  370.  Ver   608  7430,  64,  

también  flip  flops  r/w,  518–521 608  7432,  51,  
607  7449,  294,  
S 608  7473,  380,  
sistemas  secuenciales,  3 609  7474,  380,  
análisis  de,  380–390 609  7476,  
diagramas  ASM,  511–515   609  7483,  254–255,  608  
contadores  asíncronos,  447–450,  503–506 7485,  257 ,  309,  608  
7486,  64,  304,  607  
derivación  de  tablas/diagramas  de  estado,   7490,  503,  611  
450–464 7492,  503,  611  
proceso  de  diseño  para,  416–477   7493,  503–504,  611  
tabla  de  verdad  de  diseño,  418– 7495,  497,  610  
420  equivalencia,  9­1  a  9­3   7496,  610  
flip  flops,  366,  371–380   74138,  260–262,  608  
lenguajes  de  diseño  de  hardware,  516–517   74147,  269,  609  74  
experimentos  de  laboratorio,   151,  273,  609  
603–607  pestillos,  370–371 74153,  273,  315  –316,  609  
Modelo  de  Moore,  367–369   74154,  261,  608  
particiones,  9­10  a  9­28  registro   74155,  261,  608  
de  desplazamiento,  493–499   74157,  273,  609  
asignación  de  estado,  417,  9­22  a  9­28   74160,  502,  611  
reducción  de  estado,  417,  9­3  a  9­10,  9­17  a  9­22  contadores   74161,  499–501,  504–505,  611  74162,  
síncronos,  437–447,  499–503  entrada  en  serie,  registro   502,  611  741  63,  
de  desplazamiento  de  salida  en  paralelo,  495–496  entrada   502,  504–506,  611  74164 ,  496,  
en  serie,  registro  de  desplazamiento  de  salida  en  serie,   610  74165,  496–
493–495  conjunto,  370 497,  610  74166,  496–497,  
Pestillo  Set­Reset  (SR) ,  370–371 610  74174,  380,  610  
Flip  flop  Set­Reset  (SR) ,  377–378,  423–424  pantalla   74175,  380,  610
de  siete  segmentos,  30,  35–36,  293–301
Machine Translated by Google

636 Índice

Chips  de  la  serie  7400,  continuación   restador,  14–15,  256  suma,  
74190,  502,  611   38.  Véase  también  OR  
74191,  502–504,  611   suma  de  particiones,  9­14  
74192,  502,  611   suma  de  productos,  43  
74193,  502,  611   implementación,  48–49,  59–60  Mapa  
74194,  497–498,  610   de  Karnaugh,  122–129  mínimo,  
74283,  254,  608   44  salida  
registro  de  desplazamiento,   múltiple,  150–161 ,  216–226  PAL,  286–288  
493–4  99  en  paralelo,   PLA,  281–284  
496  –498  derecha/ ROM,  280–281
izquierda,  497–498  entrada  en  serie,  
salida  en  paralelo,  495–496  entrada   suma  de  términos  de  productos  estándar,  
en  serie,  salida  en  serie,   44  término  de  
493–495  magnitud  con   suma,  46  álgebra  de  cambio,  
signo,  11  números  con  signo,  11–14   37–79  absorción  (P12),  65,  544–545  
computadora  simple,   adyacencia  (P9),  44–45,  543  ley  
asociativa  (P2),  39  
diseño  de,  518–  520  simplificación,  45  de  funciones  de  conmutación,  65–70
16R4,  506–509   propiedades  básicas  de,  40–  43  
16R6,  506–509   propiedad  conmutativa  (P1),  39  
16R8,  506–509   complemento  (P5),  41,  52–54  
mapas  de  seis  variables,  144–145,  149   consenso  (P13),  67–70,  545–546  
esclavo.  Véase  Integración  a  pequeña   definición  de,  38–40  
escala  (SSI)  de  flip  flop  maestro/ teorema  de  DeMorgan  (P11),  52–54  ley  
esclavo,  51  problemas   distributiva  (P8) ,  41–42  dual,  40  
resueltos,  5n,  7n  SR.  Consulte  Término  
de  producto  estándar  del  flip   factorización,  41–42  
flop  Set­Reset  (SR) ,  43   de  la  tabla  de  verdad,  54–58  
término  de   manipulación  de  funciones,  543–48,  
suma  estándar,  46  estado,  367  asignación   65–70  

de  estado,  417,  9­22  a  9­28  diagrama  de   idempotencia  (P6),  41  
estado,  367–371,  450–464  gráfico   identidad  (P3),  41  
de  estado.  Véase  diagrama  de  estado  máquinas  de  estado,   involución  (P7),  41  
365.  Véase  también  reducción  de  estado  de  sistemas   mapa,  543  –547  
secuenciales,  417,  9­3  a  9­10,  9­17   nulo  (P4),  41  
a  9­22  tabla  de  estado,  367–371,  450–464  señales   precedencia,  40  
claras   simplificación  (P10),  45,  544  
estáticas  (asincrónicas),  376  –377  flip  flops  de   sistemas  síncronos,  365.  Ver  también  sistemas  
almacenamiento,   secuenciales
371–380  (ver  también  
flip  flops)  pestillos,  370–371  registro  de  
T
desplazamiento,  495  Verilog  estructural,  289–291,  516–517  
particiones  de  propiedad   tablas,  primer  implicante.  Ver  implicante  primo,  tablas  
de  sustitución  (SP),  9­11  a  9­12   de  

hallazgo,  9­14  a  9­17  asignación  estatal,  9­22  a  9­28  reducción  estatal,  complemento  
9­17  a  9­22 de  diez,  12
Machine Translated by Google

Índice 637

compuertas  de  tres  estados,   circuito  de  dos  niveles,  48–
274–275  diagramas   49  complemento  a  dos,  11–14
de  tiempo  contadores  asíncronos,  448–
449  flip  flops,  374–380   tu
seguimiento  de  
números  sin  signo,  4–7,  11
tiempo,  367  Toggle  ( T)  flip  flops,  378–379,  424–
425  controlador  de  
V
tráfico,  lógica  de  2  transistores  (TTL ),  51  
transiciones.  Ver  chanclas   Verilog,  289–292,  516–517  
puertas  tri­estatales.  Consulte  las  tablas  de   integración  a  muy  gran  escala  (VLSI),  51
verdad  de  puertas  de   VHDL,  289
tres  estados,  2,  31  expresiones  
W
algebraicas,  54–58  desarrollo  
de,  33–37  condiciones  indiferentes,   códigos  ponderados,  17
32–33  chanclas,  371–380,  420–425   WinBreadboard,  4  
prueba  de  igualdad,  42–43   cables  Y/O,  284  problemas  
2421  código,  16–17  2   verbales,  29–30,  36–37,  450–464  palabras,  518
de  5  código,  16–17
Machine Translated by Google
Machine Translated by Google

Figura  2.3  Una  pantalla  de  siete  segmentos.

a a
W b
F b
X C
Mostrar d
gramo

Conductor
Y
mi
mi C
Z F

gramo
d
(a) (b)

(C)
Machine Translated by Google

CHANCLETAS CHANCLETAS

Dqq   SRqq 10
q
D 00  0  01  0  10  1  11  1 000  0  001  1  010  0  011  0  100   00   00  
0 0 1 1 0 RS 1
1  101  1  1  0  —  no  1  1  —   01 10
qq RS q permitido
1D0 01

q   D  q
  D  q
00  0  01  1  10  0  11  1
1  1

q   SR  q

000X
  SR  qq
0 1  10
1 0  01
1 1 x0

JKq  q 10   Tqq  


q
11
000  0  001  1  010  0  011  0  100   T 00  0  01  1  10  1  11  0 0 1
0 0
1  101  1  110  1  111  0 00   00  
0 JK 1 qq
JK q 01 10
1T1

01
11
q   T  q
  Tqq
000
  qq JK 011
101
00  0X
q   Jq  Kq 01  1  X  1  0
110

X  1  1  1
x0
Machine Translated by Google

RESUMEN  DE  PROPIEDADES  DE
ALGEBRA  DE  CAMBIO
P1a.  abba P1b. ab  ba Conmutativo

P2a.  una  (b  c)  (a  b)  c P2b. a(bc)  (ab)c De  asociación

P3a.  un  0  un P3b.  un  1  un Identidad

P3aa.  0  aa P3bb.  1  aa

P4a.  un  1  1 P4b.  un  0  0 Nulo

P4aa.  1  a  1 P4bb.  0  a  0

P5a.  Automóvil  club  británico 1 P5b.  un  0 Complementar

P5aa.  a  1 P5bb.  un  0

P6a.  aaa P6b.  aaa idempotencia

P7. (a)  un Involución

P8a. a(b  c)  ab  ac P8b.  a  bc  (a  b)  (a  c) Distributivo

P9a.  ab  ab  a P9b. (a  b)  (a  b)  a Proximidad

P9aa.  ab  ab  ab  ab  1 P9bb.  ( ab)( ab)(ab)(ab)  0

P10a.  un  ab  ab P10b.  a(a  b)  ab Simplificación

P11a.  (a  b)  ab P11b.  (ab) abdominales


demorgan

P11aa.  (abc . . .)  abc... P11bb.  (ab. . .) ab  c...

P12a.  un  ab  un P12b.  un  (un  b)  un Absorción

t )
t  1t  2  en  1  en2 1)(a
P13a.  en  1  en 2 P13b.  (en t  2)(t   2
Consenso
(en 11 )(a  t  2)

P14a.  ab  ac  (a  c)(a  b)
Machine Translated by Google

PUERTAS

un  ba  b

00  0  01  1  10  1   a
O 11  1 abdominales

ab  ab

00  0  01  0  10   a
Y 0  11  1 abdominales

Automóvil  club  británico

NO a a
0 1
1 0

ab  ( ab)
a
00  1
NAND (un  b)
01  1 b
10  1
11  0

ab  ( ab)
a
00  1  01  0  10  
NI (un  b)
0  11  0 b

abab
a
00  0  01  1  10  
Exclusivo  o abdominales

1  11  0 b

ab  ( ab)
00  1  01  0  10   a
Exclusivo­NOR 0  11  1 (un  b)
b
Machine Translated by Google

Introducción  al  diseño  lógico,  tercera  edición  por  Alan  Marcovitz:  ¡el  compañero  del  
estudiante  en  el  diseño  lógico!  Una  presentación  clara  de  los  fundamentos  y  un  estilo  de  
escritura  a  buen  ritmo  hacen  de  este  libro  el  compañero  ideal  para  cualquier  primer  curso  
de  lógica  digital.  Un  extenso  conjunto  de  ejemplos,  bien  integrado  en  el  cuerpo  del  texto  
e  incluido  al  final  de  cada  capítulo  en  secciones  de  problemas  resueltos,  brinda  a  los  
estudiantes  múltiples  oportunidades  para  comprender  los  temas  que  se  presentan.

En  la  tercera  edición,  se  enfatiza  el  diseño  y  se  desarrolla  el  álgebra  de  conmutación  
como  una  herramienta  para  analizar  e  implementar  sistemas  digitales.  El  diseño  de  
sistemas  secuenciales  incluye  la  derivación  de  tablas  de  estado  a  partir  de  problemas  
verbales,  enfatizando  aún  más  la  implementación  práctica  del  material  que  se  
presenta.

Se  incluyen  experimentos  de  laboratorio  que  también  sirven  para  integrar  circuitos  
prácticos  con  la  teoría.  Los  experimentos  de  hardware  prácticos  tradicionales,  
así  como  los  ejercicios  de  laboratorio  de  simulación  que  utilizan  paquetes  de  software  
populares,  están  estrechamente  vinculados  al  material  de  texto  para  permitir  
que  los  estudiantes  implementen  los  conceptos  que  están  aprendiendo.

nuevo  en  la  Tercera  Edición:
•  Toda  la  cobertura  del  mapa  K  (mapa  de  Karnaugh)  se  presenta  en  una
capítulo  (capítulo  3)  en  lugar  de  la  cobertura  que  aparece  en  dos  capítulos.

•  El  nuevo  Apéndice  A  (Relación  del  álgebra  con  el  mapa  de  Karnaugh)  une  la  cobertura  
del  álgebra  y  la  cobertura  del  mapa  K.

•  Se  han  agregado  experimentos  adicionales  al  Apéndice  D  para  permitir  a  los  
estudiantes  la  oportunidad  de  realizar  una  variedad  de  experimentos.

•  Se  han  agregado  nuevos  problemas  en  el  Apéndice  E  para  sistemas  combinacionales  
y  secuenciales,  que  van  desde  un  problema  verbal  hasta  un  circuito,  todo  en  un  solo  
lugar.

También podría gustarte