Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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, QuineMcCluskey 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 McGrawHill, una unidad comercial de The McGrawHill Companies, Inc., 1221 Avenue of the Americas, Nueva York, NY
10020. Copyright © 2010 por The McGrawHill 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 McGrawHill 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 QuineMcCluskey 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 QuineMcCluskey
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 93 D.2 WinBreadboard™ y
9.2 Particiones 910 MacBreadboard™ 591
9.2.1 Propiedades de las particiones 913 D.3 Introducción a LogicWorks 593
9.2.2 Búsqueda de particiones SP 914 D.4 Conjunto de experimentos de diseño lógico 598
9.3 Reducción de estado usando particiones 917 D.4.1 Experimentos basados en el material
del capítulo 2 598
9.4 Elegir una asignación de estado 922
D.4.2 Experimentos basados en el material
9.5 Problemas resueltos 928 del Capítulo 5 600
9.6 Ejercicios 944
D.4.3 Experimentos basados en el material
9.7 Capítulo 9 Prueba 948 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, ExclusiveOR y
ExclusivoNOR. 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 QuineMcCluskey 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 onehot 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álezCueto, 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 EmbryRiddle Martin Reisslein,
Universidad Estatal de Arizona
Martha Sloan, Michigan Tech Wei Wang, Universidad de Indiana
Universidad de Purdue Indianápolis Xiaohe
Wu, Universidad BethuneCookman 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 McGrawHill, 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 IDL800.*
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, McGrawHill, 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
*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
*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
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
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:
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
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
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.
*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
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.
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
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
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 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.
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
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 ORAND
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 transistortransistor
(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.
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.
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
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ó ANDNOT, 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 (ORNOT) 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 ExclusiveOR 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 ORInclusivo para distinguirlo del ORExclusivo.
(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 ExclusiveOR 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 ExclusiveOR 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
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.
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
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 ExclusiveOR (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 Excess3. 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
110 1 0 0 0 110 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?
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 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
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
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).
cd 00 01 11 10 cd 00 01 11 10 cd 00 01 11 10
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
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
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
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
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
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
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
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
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
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
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
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.
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:
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
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:
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
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
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
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
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
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
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 QuineMcCluskey. 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 QUINEMcCLUSKEY
PARA UNA SALIDA*
En esta sección, usaremos el método de QuineMcCluskey 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 QuineMcCluskey 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 QuineMcCluskey para una salida 203
Tabla 4.1 Cálculo del implicante primo de QuineMcCluskey.
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 – 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 QuineMcCluskey 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 QuineMcCluskey, 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 100
D 111
Mi 111
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.
Del mapa, QuineMcCluskey, 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.
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 QUINEMcCLUSKEY PARA MÚLTIPLES
PROBLEMAS DE SALIDA
El método de QuineMcCluskey 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 QuineMcCluskey 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 QuineMcCluskey
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 10
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.
*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:
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
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 00 √
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
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.
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
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.
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
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 QuineMcCluskey. (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
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 √ 11
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
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 QuineMcCluskey.
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
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.
– 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 11 00
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
1014B _ 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
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
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 QuineMcCluskey.
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 QuineMcCluskey.
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 QuineMcCluskey.
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 QuineMcCluskey.
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)
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
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
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 fanin) 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 fanin 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
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 fanin de
la lógica. (En el ejemplo de 4 bits, requerimos un fanin 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., McGrawHill, 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 ExclusiveOR 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
ExclusiveOR 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) ExclusivoNOR
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
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 NANDNAND
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
ANDOR 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 ANDOR 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.
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:
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. McGrawHill, 2008 o Brown y Vranesic,
Fundamentos de lógica digital con diseño VHDL, 3.ª ed. McGrawHill, 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;
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 carryin) 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
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
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
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
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
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.
1100
0010 0111 .
2 7
punto
decimal
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
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
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.
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 flipflops 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 flipflop 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
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 flipflop 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 flipflop D.
0
Dqq D q
0 0 0 0 10
0 1 00
1 11
11 1
El siguiente estado de un flipflop 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 flipflop 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 flipflop.
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 flipflop 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 Flipflop 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
*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 flipflop 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 (SetReset) . 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 flipflop 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
flipflop 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 flipflops, hay al menos una combinación de entrada
que forzará al flipflop al estado 0.
Machine Translated by Google
6.3 Chanclas 379
Figura 6.19 Diagrama de temporización del flipflop 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 flipflop, 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 flipflops 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 flipflop 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
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
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 flipflops).
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
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
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,
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 flipflop
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 flipflop 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.
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 _
*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 flipflop, 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
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
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
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
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.
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.
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.
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
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 flipflops. (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 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 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.
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 2bit
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 flipflops
hayan completado su transición, que, en este caso, son cuatro retrasos de flipflops. 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
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 flipflops.
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
zMealy 0000000000000001000*
zMoore 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
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 b1. 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
b1 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
b2 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
b1 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
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
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
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
b.
q z
qx 0 x 1 x 0 x 1 q q1 q2
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
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
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
zii 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
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
mi.
q z
qx 0 x 1 x 0 x 1 q q1 q2
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
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
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.
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
zii ??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
zii 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
zii 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 flipflops
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 flipflop). 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 serialin, serialout
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 serialin, serialout 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
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
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
Reloj
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
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
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
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
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 flipflop. 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., McGrawHill, 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
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 OneHot 515
esperar 0 0
C < 0
norte < 0
0 1
s
agregar 0 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 ONEHOT
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., McGrawHill, 2008, o para VHDL, consulte Brown and Vranesic,
Fundamentals of Digital Logic with VHDL Design, 3rd ed. ., McGrawHill, 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
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, McGrawHill, 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 carryout, 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
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 serialin, serialout 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
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 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.
91
Machine Translated by Google
92 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 93
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
94 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 95
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 BCD 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
96 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 97
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
98 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 99
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
910 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 911
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.
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
912 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 913
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
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
914 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 915
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
916 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 917
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
918 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 DACE 1
D BACE 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 919
(A CE ) ( B ) ( D )
A( B ) ( CE ) ( D )
() (A CE ) ( BD )
A( BD ) ( CE )
()
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
920 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 921
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
922 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 flipflop D
mostrado.
Machine Translated by Google
9.4 Elección de una asignación estatal 923
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
924 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 925
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
926 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 927
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
928 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 929
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
BDAC 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
930 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 931
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
932 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 933
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
934 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 935
(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
936 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 937
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
938 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
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 939
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
940 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 941
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
942 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
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
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 943
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:
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
944 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
BD A 0 BD C
CA B 1 TAXI 1
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 945
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
946 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
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 947
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
948 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 949
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 ,
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 }
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
* 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
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
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
BAB 0
ECIDNÉPA
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
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 IDL800 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
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 IDL800 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 AND2. 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 OR2 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 IDL800.
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 IDL800 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 IDL800 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 IDL800, 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
flipflop D disparado por borde .
Cambiar D 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 IDL800, 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 flipflops 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
un 2 5 10 Y4 B1 5 10 A3 A1 5 10 Y3
608 Apéndice D Experimentos de laboratorio
A0 1 14 5 A0 1 14 5 A 1 14 5
B1 4 11 A2 C 0 4 11 D 4 11 H
sumadores comparador
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
Decodificadores
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
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
Chancletas
ANTERIOR
1 4 11 ck 2 5 4 11 Tierra J1 4 13 Tierra
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
74174 74175
Registros de turnos
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
ck 2 15 ES EN 0 2 15 LD RS 2 15 Q 0
D.5 Disposición de fichas a las que se hace referencia en el texto y experimentos 611
Contadores síncronos
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
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.
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 53 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
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
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
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
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
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
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
*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
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:
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
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 9x 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
carrylookahead, 255 carry base, 4
ripple, 252 en aritmética binaria, 915
cascada, 255 suma, 914
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
922 a 928 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 fanin,
QuineMcCluskey, 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, 91 a 93
particiones, 917 a 922
reducción tabular, 93 a 910 borrables
programables memorias de solo lectura SetReset, 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 InclusiveOR,
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, 150161
a gran escala (LSI), 51 pestillos, 370–371 QuineMcCluskey, 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), 911 a 912, 914
hexadecimal (hexadecimal), al período
8 números con signo, 11–14 917 , 365
Método de Petrick, 210–213
PLA (matriz lógica programable), 279, 281–284
O
codificación onehot, 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, 913 a 914 producto de suma
estado, 280 salida estándar términos, 55 producto de sumas,
consistente, 911 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
910 a 928 , salida método rápido, 428–430
consistente 914 a 917 , propiedades Método de QuineMcCluskey, 201 salida
911 a 912 de, 913 a 914 múltiple, 216–222 una salida,
SP, 911 a 912, 914 a 917 201–204 tablas de
asignación estatal, 922 a 928 implicantes primos, 208–216,
reducción estatal, 917 a 922 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, 91 a 93 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, 910 a 928 registro 74155, 261, 608
de desplazamiento, 493–499 74157, 273, 609
asignación de estado, 417, 922 a 928 74160, 502, 611
reducción de estado, 417, 93 a 910, 917 a 922 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 SetReset (SR) , 370–371 610 74174, 380, 610
Flip flop SetReset (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, 914
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 SetReset (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, 922 a 928 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, 93 a 910, 917 nulo (P4), 41
a 922 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), 911 a 912 de
hallazgo, 914 a 917 asignación estatal, 922 a 928 reducción estatal, complemento
917 a 922 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 triestatales. 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
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
P3aa. 0 aa P3bb. 1 aa
P4aa. 1 a 1 P4bb. 0 a 0
P5aa. a 1 P5bb. un 0
P9aa. ab ab ab ab 1 P9bb. ( ab)( ab)(ab)(ab) 0
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
ExclusivoNOR 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.