Documente Academic
Documente Profesional
Documente Cultură
ELECTRÓNICA DIGITAL
Análisis y Síntesis
INGENIERÍA ELECTROMECÁNICA
INTRODUCCIÓN
Generalidades:
Actualmente el mundo está viviendo la era digital, era donde a través de los
avances de la ciencia, las nuevas tecnologías de la información y la
comunicación “TICs”, etc., han dejado de lado los componentes sólidos,
tangibles de la era industrial, para dar paso a los bits y los bytes, elementos
intangibles de la nueva era. Las grandes industrias como General Motors,
Boeing, etc. Quedan atrás con sus grandes y sólidas construcciones, para
dar paso a empresas como Microsoft, entre otras, las cuales están llamadas
a revolucionar el mundo moderno, con sus estructuras virtuales y canales
de comunicación.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
1
14/09/2010
Específicos:
1. Hacer un breve repaso sobre los sistemas de numeración y las
operaciones básicas que los caracterizan.
2. Estudiar y analizar las compuertas lógicas. (AND, OR, NOT).
3. Reconocer e interpretar los términos técnicos utilizados en el estudio de
los sistemas digitales.
4. Desarrollar habilidades para el análisis y síntesis de sistemas digitales
combinacionales, utilizando las herramientas algebraicas y
computacionales.
5. Adquirir habilidades y capacidades cognitivas para analizar y diseñar
sistemas MSI, LSI y VLSI. Lógica combinacional modular.
6. Estudiar e interpretar el lenguaje de descripción de hardware HDL.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
2
14/09/2010
CAPÍTULO I
SISTEMAS
COMBINACIONALES Y
LÓGICA COMBINACIONAL
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMAS COMBINACIONALES
Definición:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
3
14/09/2010
SISTEMAS COMBINACIONALES
Tópicos de estudio:
Para el estudio de los sistemas combinacionales, se van a tener en
cuenta los siguientes tópicos:
Sistemas de numeración.
Códigos numéricos.
Lógica de conmutadores.
Modelos lógicos.
Tablas de verdad.
Formas canónicas.
Sistemas modulares (MSI y LSI)
Análisis y síntesis de los sistemas combinacionales.
Diseño con multiplexores y codificadores.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMAS DE NUMERACIÓN
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
4
14/09/2010
SISTEMAS NUMÉRICOS
Sistema decimal
Es el más utilizado, cuenta con diez elementos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9.
Las operaciones que en el se pueden dar son las aritméticas (suma, resta,
multiplicación, división, potenciación, etc.) y lógicas (Unión - disyunción,
Intersección - conjunción, negación, Diferencia, Complemento, etc.). Las
relaciones entre los números del sistema decimal son mayor que, menor
que, igual y a nivel lógico son pertenencia y contenencia.
( N )10 an 10 n an 1 10 n 1
an 2 10 n 2
a0 10 0 a 1 10 1
a k 10 k
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMAS NUMÉRICOS
Sistema binario
Definición: El sistema de numeración Binario es el conjunto de elementos
formado por el 0 y el 1, con operaciones aritméticas (suma, resta,
multiplicación) y lógicas (OR, AND y NOT) y además sus propias relaciones
que por intermedio de reglas propias permite establecer el papel de tales
relaciones y operaciones entre sus dos elementos.
Suma: Se realiza exactamente igual que en el sistema de numeración
decimal teniendo en cuenta que si se excede la base se lleva en la siguiente
cifra una unidad de orden superior. Veamos el siguiente ejemplo:
0110 Carry
1011
0011
1110 Resultado
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
5
14/09/2010
SISTEMAS NUMÉRICOS
Sistema binario
(111101)2
- (110010)2
(001011)2
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMAS NUMÉRICOS
Sistema binario
La Multiplicación y la división: Se realizan de forma idéntica que en el
sistema decimal, por ejemplo la multiplicación se realiza multiplicando cada
uno de los bits del multiplicando por el bit menos significativo del
multiplicador, luego por el siguiente y así sucesivamente, teniendo en cuenta
que el cada resultado se va corriendo una posición hacia la izquierda para
finalmente realizar la suma entre ellos.
6
14/09/2010
SISTEMAS NUMÉRICOS
Sistema binario
El complemento a uno y a dos: Para desarrollar apropiadamente la
operación de resta se hace uso de la operación de complemento a
uno o de complemento a dos. En el primer caso se denomina
complemento a la base menos uno y en el segundo complemento a
la base.
Ejemplos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMAS NUMÉRICOS
Sistema binario
Ejemplos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
7
14/09/2010
SISTEMAS NUMÉRICOS
Representación:
Es claro que un número en cualquier base se representa por la posición de
sus cifras respectivas.
Ejemplo sistema decimal:
1265 = 1000 + 200 + 60 + 5
= 1 × 103 + 2 × 102 + 6 × 101 + 5 × 100
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMAS NUMÉRICOS
Representación:
Lo anterior se resume en la fórmula siguiente:
i
Valor di 10 i
i
Siendo di el dígito que está en la posición i.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
8
14/09/2010
SISTEMAS NUMÉRICOS
Representación:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LÓGICA COMBINACIONAL
0 VL (voltaje bajo)
Lógica Positiva
1 VH (voltaje alto)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
9
14/09/2010
LÓGICA COMBINACIONAL
Números binarios
N ú m e r o d e ci m a l N ú m e ro b in a r io
La correspondencia entre los 0 00 00
primeros 16 números decimales 1 00 01
y binarios se muestra en la 2 00 10
siguiente tabla:
3 00 11
4 01 00
5 01 01
6 01 10
7 01 11
Mientras más dígitos tiene un 8 10 00
sistema, más compacta es su 9 10 01
notación. Así, los dígitos binarios 10 10 10
tienden a ser más largos (en un 11 10 11
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LÓGICA COMBINACIONAL
Números binarios
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
10
14/09/2010
LÓGICA COMBINACIONAL
Conmutadores
Supóngase un sistema de
iluminación basado en dos
interruptores o conmutadores
(como el que existe en la
parte inferior y superior de
una escalera):
S1 = 1 (conmutador 1 en posición 1)
S1 = 0 (conmutador 1 en posición 0) A = 0 (Lámpara apagada)
S2 = 1 (conmutador 2 en posición 1) A = 1 (Lámpara encendida)
S2 = 0 (conmutador 2 en posición 0)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LÓGICA COMBINACIONAL
Toma de decisiones
Gran parte de los procesos de decisión tienen carácter binario
SI VERDADERO CORRECTO
Respuestas etc .
NO FALSO INCORRECTO
Un sistema puede
caracterizarse Si (S1=1 y S2=0) o (S1=0 y S2=1),
lingüísticamente como: entonces B=1; caso contrario, B=0.
Confiabilidad
Las señales binarias son mucho más confiables para ser
transmitidas entre dos puntos distantes. Al usar sólo dos niveles de
voltaje para representar un dígito, el sistema es más inmune a la
presencia de ruidos.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
11
14/09/2010
LÓGICA COMBINACIONAL
S1 0 S2 1 S1 1 S2 0 B 1
ó
S1 1 S2 1 S1 0 S2 0 B 0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LÓGICA COMBINACIONAL
x 0 y 1 x 1 y 0 Suma 1
ó
x 1 y 1 x 0 y 0 Suma 0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
12
14/09/2010
LÓGICA COMBINACIONAL
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LÓGICA COMBINACIONAL
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
13
14/09/2010
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 A
0011 3 3 1011 11 B
0100 4 4 1100 12 C
0101 5 5 1101 13 D
0110 6 6 1110 14 E
0111 7 7 1111 15 F
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DEFINICIONES BÁSICAS
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
14
14/09/2010
DEFINICIONES BÁSICAS
Tabla de verdad: La tabla de verdad de una función lógica es una forma
de representación de la misma, en la que se indica el valor 0 ó 1 que toma
la función para cada una de las combinaciones de valores de las variables
de dicha función
Ejemplo:
abc F
0 0 0 0 0
1 0 0 1 1
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DEDUCCIÓN DE LA FORMA
CANÓNICA
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
15
14/09/2010
SUMA DE PRODUCTOS
Construyendo la función con todos sus términos se llega a la conclusión que
para:
Obsérvese que existen seis términos que se corresponden con los seis 1 de
la función.
PRODUCTO DE SUMAS
También se puede realizar la función como producto de sumas canónicas, en
este caso se tienen en cuenta los „0‟ de la función; así para la combinación
000 y 011 del ejemplo, la función vale 0. Por tanto el término
correspondiente a la combinación 000 será (a + b + c), obsérvese que este
término sólo vale 0 para la combinación 000, para cualquier otra vale 1. Del
mismo modo para la combinación 011 el término será (a + b' + c'),
obsérvese también que este término sólo vale 0 para la combinación 011,
cualquier otra combinación hará que dicho término valga 1.
F = ( a + b + c ) · ( a + b' + c' )
Obsérvese que existen dos términos que corresponden con los dos 0 de la
función.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
16
14/09/2010
CAPÍTULO II
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Introducción:
17
14/09/2010
VHDL
Reseña histórica:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Características:
1. Fue diseñado para el modelado y simulación de sistemas digitales. La
concurrencia, temporización y señales de reloj pueden ser modeladas.
2. Actualmente se usa en síntesis de hardware.
3. Fue desarrollado a partir del ADA.
4. Permite diseñar, modelar y comprobar un sistema desde un nivel alto de
abstracción hasta el nivel estructural de definición de puertas.
5. Los circuitos descritos a partir de VHDL pueden ser sintetizados por
diferentes herramientas → portabilidad.
6. Permite reutilización del código (se puede utilizar en distintas
aplicaciones).
7. Puede utilizarse para implementar hardware usando diferentes
tecnologías sin necesidad de rediseñar los circuitos.
8. Se basa en un estándar (IEEE Std 1076-1987, IEEE Std 1076-1993).
9. Permite realizar un diseño jerárquico.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
18
14/09/2010
VHDL
Su Estructura:
Entity declaration
Descripción
Architecture body
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Su Estructura:
Las Librerías: Contienen los elementos estándar de diseño, toda descripción
en VHDL, debe tener al menos la librería 1164 estándar la cual se declara
de la siguiente manera:
Libray ieee;
Use ieee.std_logic_1164.all;
La entidad: El bloque se conoce en VHDL como ENTITY y se declara en
primer lugar. Una ENTIDAD indica las señales que entran al circuito y las
que salen, es decir, declara la relación del circuito con el mundo exterior.
La declaración de la entidad se hace de la siguiente manera:
A AND1 ENTITY
IN1 Entity MUX is
OR Port( A : In std_logic;
E F B : In std_logic;
AND2 E : In std_logic;
B F : Out std_logic);
IN2
MUX End MUX;
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
19
14/09/2010
VHDL
Su Estructura: Cláusulas library y use
entity MVLS is
port (A,B: in std_ulogic;
Z: out std_ulogic);
end MVLS;
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Su Estructura:
La entidad: Existen algunos elementos que deben considerarse a la hora de
declarar la entidad; el MODO y TIPO de los puertos.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
20
14/09/2010
VHDL
Su Estructura:
TIPO: La siguiente lista contiene los tipos más usados en VHDL.
BIT Una señal que puede tomar los valores „0‟ o „1‟.
BIT_VECTOR Vector. Agrupación de Bits. Por ej: [0 1 1 0 0]
INTEGER Representación de datos enteros decimales.
BOOLEAN Pueden tomar los valores „true‟ o „false‟.
ENUMERATED Definido por usuario.
Existen además los siguientes tipos de datos del estándar IEEE 1164:
std_logic TYPE
std_ulogic „U‟ -- No inicializado (defecto)
„X‟ -- Desconocido (conflicto)
std_ulogic_vector „0‟ -- Forzando „0‟
std_logic „1‟ -- Forzando „1‟
Puede contener los siguientes „Z‟ -- Alta Impedancia
std_logic_vector „W‟ -- Estado desconocido débil
„L‟ -- „0‟ débil
„H‟ -- „1‟ débil
„-‟ -- Don‟t care
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Tipo std_ulogic:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
21
14/09/2010
VHDL
Tipo std_logic:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Vectores Tipo std_logic y std_ulogic:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
22
14/09/2010
VHDL
Su Estructura:
La arquitectura: El bloque se conoce en VHDL como ARCHITECTURE, es
donde de describe el funcionamiento del sistema; Qué hace y cómo lo hace.
Fundamentalmente existen tres categorías de arquitectura en VHDL, estas
son:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Su Estructura:
Comportamental (Behavioral): Define un proceso descrito secuencialmente,
Esta categoría permite entender el funcionamiento del sistema desde su
comportamiento; su nivel de abstracción es alto y el nivel de realización es
bajo. En una descripción en VHDL donde existen varios procesos, éstos se
ejecutan de forma concurrente, cada uno de ellos es secuencial. Siguiendo
con el ejemplo planteado, la declaración de la Arquitectura será:
Funcional Simbólico
A AND1 ARCH
IN1
OR
E F
AND2
B
IN2
MUX
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
23
14/09/2010
VHDL
Su Estructura:
Comportamental (Behavioral): Existen dos formas de declarar la
arquitectura comportamental para el MUX del ejemplo, estas son:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Su Estructura:
Estructural (structural): Esta categoría define una serie de componentes e
interconexiones entre ellos. Tiene un nivel de abstracción bajo y su
realización es de alta complejidad. En una descripción tipo structural, se
debe tener especial cuidado del directorio donde se guardan los
componentes previamente diseñados o los componentes estándar como
compuertas, chips, etc. A continuación se presenta la descripción del
ejemplo:
IN0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
24
14/09/2010
VHDL
Su Estructura:
Architectura structural of MUX is Signal IN0, IN1, IN2 : std_logic;
Component AND2 Begin
Port( I1, I2: In std_logic; U1: NOT port map(E, IN0);
O : out std_logic); U2: AND2 port map(A, IN0, IN1);
End component; U3: AND2 port map (E, B, IN2);
Component OR2 U4: OR2 port map(IN1, IN2, F);
Port( I1, I2: In std_logic; End structural;
O : out std_logic);
End component;
Component NOT
Port( I : In std_logic;
O : out std_logic);
End component;
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Panorámica de los elementos:
Declaraciones Especificaciones
ALIAS, ATTRIBUTE, TYPE, SUBTIPE, CONSTANT, ATTRIBUTE,
SIGNAL, VARIABLE, GROUP, FILE, COMPONENT, CONFIGURATION,
PROCEDURE/FUNCTION (Subprograma y su body) DISCONNECTION
25
14/09/2010
VHDL
Palabras reservadas:
VHDL
Palabras reservadas (cont.):
return sla to
26
14/09/2010
VHDL
Operadores:
VHDL
Operadores:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
27
14/09/2010
VHDL
Objetos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Objetos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
28
14/09/2010
VHDL
Objetos:
Ejemplos:
SIGNAL selec: bit := '0';
SIGNAL datos: bit_vector(7 DOWNTO 0) BUS := B"00000000";
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Objetos:
Señales
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
29
14/09/2010
VHDL
Objetos:
Señales
Escalar:
signal name(s):=type [range_contraint][:=expression];
Vectorial:
signal name(s): array_type[index_constraint][:=expression];
Entidad:
port (name(s): direction type [range_constraint][:=expression]);
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Objetos:
Señales
Ejemplos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
30
14/09/2010
VHDL
Objetos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Ejemplo de aplicación:
-----------------------------------------------------------------
-- Comparación en la utilización de variables y señales
-----------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
Resultado de la Simulación
entity sig_var is
port( d1, d2, d3: in std_logic;
res1, res2: out std_logic);
end sig_var;
31
14/09/2010
VHDL
Atributos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Atributos:
Tipo array A. Sea P entero entre 1 y el número de dimensión de A:
• A‟left(P) : límite izquierdo rango dimensión P
• A‟right(P) : límite derecho rango dimensión P
• A‟low(P) : límite inferior rango dimensión P
• A‟high(P) : límite superior rango dimensión P
• A‟range(P) : rango índice dimensión P
• A‟reverse_range(P) : inverso rango índice dimensión P
• A‟length(P) : longitud del índice de dimensión P
signal memoria : array (0 to 5, 9 downto 1) of bit;
memoria‟left 0 memoria‟left(2) 9
memoria‟right(1) 5 memoria‟right 5
memoria‟high 5 memoria‟low 0
memoria‟high(2) 9 memoria‟low(2) 1
memoria‟range 0 to 5 memoria‟range(2) 9 downto 1
memoria‟legth 9 memoria‟reverse_range 5 downto 0
32
14/09/2010
VHDL
Atributos de Vectores:
A‟left(1) = 1 A‟low(1) = 1
A‟right(2) = 0 A‟high(2) = 31
A‟range(1) is 1 to 4 A‟reverse_range(2) is 0 to 31
A‟length(1) = 4 A‟length(2) = 32
A‟ascending(1) = true A‟ascending(2) = false
A‟left(1) ≡ A‟left
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
VHDL
Atributos: Recurso importante de simulación
Aplicables a escalar:
• T‟left : límite izquierdo de T
• T‟right : límite derecho de T
• T‟low : límite inferior de T
• T‟high : límite superior de T
• T‟base : indica el tipo base del objeto
type std_logic is ( 'U','X','0','1','Z','W','L','H','-');
subtype std_restric is std_logic range „X‟ to „Z‟;
signal flag :std_logic;
signal carry :std_restric;
flag‟left U carry‟left X
flag‟right - carry‟right Z
flag‟low U carry‟low X
flag‟high - carry‟right Z
flag‟base std_logic carry‟base std_logic
33
14/09/2010
VHDL
Atributos: Recurso importante de simulación
Para un tipo T, siendo X un miembro de T y P un entero:
• T‟pos(X) : posición de X en T (se empieza por cero)
• T‟val(P) : valor situado en la posición P de T
• T‟leftof(X) : valor de T que está a la izquierda de X
• T‟rightof(X) : valor de T que está a la derecha de X
• T‟pred(X) : valor de T que está una posición delante de X
• T‟succ(X) : valor de T que está una posición detrás de X
flag‟pos(„0‟) 2
flag‟val(4) „Z‟
flag‟leftof(„1‟) „0‟
flag‟rightof(„1‟) „Z‟
flag‟pred(„1‟) „0‟
flag‟succ(„1‟) „Z‟
VHDL
Atributos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
34
14/09/2010
VHDL
Atributos de usuario:
VHDL
Atributos:
Ejemplos:
resistencia’left=0
resistencia’right=1e9
resistencia’low=0
resistencia’high=1e9
resistencia’ascending=true
resistencia’image(2 kohm )=“2000 ohm”
resistencia’value(“5 Mohm”)=5_000_000
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
35
14/09/2010
VHDL
Ejemplo 2
indice‟left=21
indice‟right=11
indice‟low=11
indice‟high=21
indice‟ascending=false
indice‟image(14)=“14”
indice‟value(“20”)=20
nivel_logico‟left=desconocido
nivel_logico‟right=alto
nivel_logico‟low=desconocido
nivel_logico‟high=alto
nivel_logico‟ascending=true
nivel_logico‟image(alto)=“alto”
nivel_logico‟value(“bajo”)=bajo
nivel_logico‟pos(desconocido)=0
nivel_logico‟val(3)=alto
nivel_logico‟succ(deconocido)=bajo --T‟succ(alto): error ...
nivel_logico‟pred(alta_impedancia)=bajo
VHDL
Algunos ejemplos:
1. FLIP-FLOPs
2. MEMORIA RAM
3. MAQUINA DE ESTADOS
36
14/09/2010
CAPÍTULO III
INTRODUCCIÓN AL
ALGEBRA DE BOOLE Y LOS
MAPAS DE KARNAUGH
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Algebra de BOOLE
Leyes Booleanas
- Ley conmutativa
- Ley asociativa
- Ley distributiva
Funciones Lógicas
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
37
14/09/2010
Algebra de BOOLE
Definición:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Algebra de BOOLE
3. Cada operación es distributiva para la otra, esto es:
a + (b · c) = (a + b) · (a + c)
a · (b + c) = (a · b) + (a · c)
4. Para cada elemento de B, por ejemplo el elemento a, existe un
elemento a' también perteneciente a B tal que:
a + a' = 1
a · a' = 0
Ejemplos:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
38
14/09/2010
Algebra de BOOLE
Representación con interruptores.
Interruptor Abierto
equivale a nuestro 0 lógico
Interruptor Cerrado
equivale a nuestro 1 lógico
La combinación
es equivalente a
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Algebra de BOOLE
Representación con interruptores.
La combinación
Es equivalente a:
La combinación
Es equivalente a:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
39
14/09/2010
Algebra de BOOLE
Representación con interruptores.
La combinación
Es equivalente a:
La combinación
Es equivalente a:
Algebra de BOOLE
Representación con interruptores.
Lámpara = (A + B) · C == (A OR B) AND C
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
40
14/09/2010
Algebra de BOOLE
Operaciones básicas.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Algebra de BOOLE
◦ Ley conmutativa
1. X+Y=Y+X
2. X·Y=Y·X
◦ Ley asociativa
1. X+(Y+Z)=(X+Y)+Z=X+Y+Z
2. X · ( Y · Z ) = ( X · Y ) · Z + (X · Y · X )
◦ Ley distributiva
1. X·(Y+Z)=(X·Y)+(X·Z)
2. (W+X)·(Y+Z)=W·Y+X·Y+W·Z+X·Z
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
41
14/09/2010
Algebra de BOOLE
Postulados del algebra de Boole
1. X·0=0
2. X·1=X
3. X·X=X
4. X · X' = 0
5. X+0=X
6. X+1=1
7. X+X=X
8. X + X‟ = 1
9. X‟‟ = X
10. X + (X · Y) = X
11. X + (X‟ · Y) = X + Y
12. (X + Y) · (X + Z) = X + (Y · Z)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Algebra de BOOLE
Teoremas de Morgan
NAND y negativa-OR
NOR y negativa-AND
1. (X + Y)‟ = X‟ · Y‟
2. (X · Y)‟ = X‟ + Y‟
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
42
14/09/2010
Algebra de BOOLE
Funciones Lógicas
F = f (A, B, C, ...)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Algebra de BOOLE
Simplificación de circuitos lógicos
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
43
14/09/2010
Mapas de Karnaugh
◦ 2 variables, 4 cuadrados
◦ 3 variables, 8 cuadrados
◦ 4 variables, 16 cuadrados
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
A’B AB m1 m3 1 3
B 1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
44
14/09/2010
Representando funciones en
un Mapa de Karnaugh (1)
Realización.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Representando funciones en un
Mapa de Karnaugh (2)
a A
b 0 1 B 0 1
0 1 0 1 X
1 1 1 1
Condición
irrelevante
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
45
14/09/2010
AB AB
C 00 01 11 10 C 00 01 11 10
0 A’B’C’ A’BC’ ABC’ AB’C’ 0 0 2 6 4
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
01 01
A’B’C’D A’BC’D ABC’D AB’C’D
1 5 13 9
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
46
14/09/2010
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 00 1
01 01
1 1
11 11
1
10 10
AC’D A’B’D’
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
AB AB
C 00 01 11 10 C 00 01 11 10
0 0
1 1 1 1 1 1 1 1
1 1
A’C AC C
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
47
14/09/2010
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1
00 1 1
01 01
1 1 1 1 1
1 1 1 1 1
11 11
1 1 1
10 10
A’B’ AD B’D’ BD
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1 1
00 1 1 1 1
01 01
1 1
1 1
11 11
1 1 1 1 1 1
10 10
A’ D’
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
48
14/09/2010
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
xy
z 00 01 11 10
0 1 1
1 1 1 1 x’y + xy’ + xz
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Problema
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
49
14/09/2010
Ejemplo:
Decodificador de BCD a 7 segmentos
Número
Descodificador
binário
Display de 7 segmentos
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Solución al Ejemplo
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1
Restantes casos 0 0 0 0 0 0 0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
50
14/09/2010
Solución al Ejemplo
a B B B B B B B B B B B1 b B B B B B B B B B B B1
3 1 3 2 0 3 2 0 3 2 3 2 3 1 0 3 1 0 3 2
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
51
14/09/2010
TALLER 2 (Laboratorio)
DISPLAY SIETE
SEGMENTOS
SWITCHES
SW0 a SW7
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
CAPÍTULO IV
LÓGICA
COMBINACIONAL
MODULAR
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
52
14/09/2010
LÓGICA MODULAR
Generalidades:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
COMPARADORES
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
53
14/09/2010
DECODIFICADORES
A0 X0
A1 X1
A2
A3
DECODIFICADOR X2
X3
· ·
· ·
AN-1 XM-1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
A2 A1 A0 O7 O6 O5 O4 O3 O2 O1 O0
0 0 0 0 0 0 0 0 0 0 1
E1 E2 E3
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
A2 A1 A0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
DEC 3:8 1 1 0 0 1 0 0 0 0 0 0
74LS138 1 1 1 1 0 0 0 0 0 0 0
E1 E2 E3 SALIDA
0 0 1 Habilitado
Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 1 X X Deshabilitado (Altos)
X 1 X Deshabilitado (Altos)
Internamente esta formado Por
X X 0 Deshabilitado (Altos)
compuertas AND, NAND y NOT
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
54
14/09/2010
DECODIFICADOR
6 A 64
ENTRADAS
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
CODIFICADORES
A0 X0
A1 X1
A2
·
CODIFICADOR X2
·
· ·
AM-1 XN-1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
55
14/09/2010
CODIFICADOR 8:3
A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 O2 O1 O0
X 1 1 1 1 1 1 1 0 0 0
E X 0 1 1 1 1 1 1 0 0 1
X 1 0 1 1 1 1 1 0 1 0
X 1 1 0 1 1 1 1 0 1 1
CODIFICADOR
X 1 1 1 0 1 1 1 1 0 0
8 líneas a 3 líneas
X 1 1 1 1 0 1 1 1 0 1
X 1 1 1 1 1 0 1 1 1 0
X 1 1 1 1 1 1 0 1 1 1
O2 O1 O0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
MULTIPLEXORES
I0
I1
· MULTIPLEXOR SALIDA
·
IN-1
SELECTOR DE DATOS
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
56
14/09/2010
MUX 74ALS151
I0 I1 I2 I3 I4 I5 I6 I7 E E S2 S1 S0 Z Z
1 X X X 1 0
0 0 0 0 I0 I0
S0
S1 0 0 0 1 I1 I1
S2 MUX 74ALS151 0 0 1 0 I2 I2
0 0 1 1 I3 I3
0 1 0 0 I4 I4
Z Z 0 1 0 1 I5 I5
0 1 1 0 I6 I6
0 1 1 1 I7 I7
Internamente formado por
Compuertas AND, OR y NOT
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
APLICACIONES
MUX MUX
DECODIFICADORES DECODIFICADORES
VISUALIZADOR VISUALIZADOR
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
57
14/09/2010
APLICACIONES
Conversión paralelo a serial
D0
D1
D2
D3
DATOS D4 MUX Salida Serial
D5
D6
D7
RELOJ
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DEMULTIPLEXOR
Demultiplexor de 1 a 4
SELECTORES
SALIDAS
DEMUX
ENTRADAS
HABILITADOR
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
58
14/09/2010
DEMULTIPLEXOR
TABLA DE EXCITACIÓN
E S1 S0 X0 X1 X2 X3
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
1 X X 1 1 1 1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
ESTÁNDARES COMERCIALES
DEMULTIPLEXORES/DECODIFICADORES COMERCIALES
74138: Demux/decodificador de 3 a 8
74139: Demux/decodificador de 2 a 4, doble
74141: Decodificador/driver BCD - decimal
74154: Demux/Decodificador de 4 a 16
74159: Demux/decodificador de 4 a 16 con salidas de open colector
74155: Demux/decodificador doble de 2 a 4
74156: igual al 74155, pero con salidas de colector abierto
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
59
14/09/2010
DECO/DEMUX 74138
Arquitectura para el DECO/DEMUX 74138
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DECO/DEMUX 74138
Tabla de la verdad para el DECO/DEMUX 74138
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
60
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Comunicaciones digitales
ENTRADAS
SELECTORES
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
61
14/09/2010
SALIDAS
DEMUX
SELECTORES
1A4
ENTRADA
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
REALIZACIÓN DE FUNCIONES
Utilizando decodificadores
Un circuito decodificador completo genera todos los productos
fundamentales (minitérminos) de las variables de entrada.
Cuándo las salidas del decodificador son activas a nivel bajo, para realizar la
función en suma de productos basta con conectar las salidas,
correspondientes a los minitérminos de la función, a puertas NAND:
Por ejemplo: F(X,Y,Z) = m(0, 3, 6)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
62
14/09/2010
REALIZACIÓN DE FUNCIONES
Utilizando decodificadores
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
REALIZACIÓN DE FUNCIONES
Utilizando Multiplexores
Se parte de la siguiente afirmación: un multiplexor de 2n entradas puede
realizar cualquier función lógica de n+1 variables.
Se pueden usar dos métodos:
• Método algebraico
• Método tabular
Se estudiará este último, y se seguirá mediante un ejemplo:
1. A partir de la expresión canónica se escoge un MUX determinado:
Ej: Sea f(A,B,C,D) = 4m(0,2,3,7,8,13,15), Al ser una función de 4
variables se necesita un MUX de 8:1 líneas (o sea, con tres variables de
control).
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
63
14/09/2010
REALIZACIÓN DE FUNCIONES
Utilizando Multiplexores
Así, las columnas, vendrán determinadas por las variables de control del
MUX, y las filas por el dato o los datos que se quieren transmitir. Las
variables de control deben ser las de menor peso. Evaluando cada columna
se identifica el valor que hay que colocar en cada entrada.
BCD I0 I1 I2 I3 I4 I5 I6 I7
A 000 001 010 011 100 101 110 111
0 1 0 1 1 0 0 0 1
0 1 2 3 4 5 6 7
1 1 0 0 0 0 1 0 1
8 9 10 11 12 13 14 15
Resultado: 1 0 /A /A 0 A 0 1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
REALIZACIÓN DE FUNCIONES
Utilizando Multiplexores
3. Realizar el diagrama
lógico del circuito
colocando en cada
entrada de datos lo que
la tabla indique.
El circuito resultante se
aprecia en la siguiente
figura:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
64
14/09/2010
TALLER
1. Dado el circuito mostrado en la figura, se pide:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
TALLER
2. Un sistema combinacional está representado por la siguiente
función de conmutación:
Se pide:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
65
14/09/2010
TALLER
3. Deducir la función
que realiza el
siguiente circuito y
elaborar su tabla
de verdad.
¿Es óptimo este
sistema? Justifique
su respuesta.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
CAPÍTULO V
DISPOSITIVOS
LÓGICOS
PROGRAMABLES
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
66
14/09/2010
DISPOSITIVOS LÓGICOS
Módulos combinacionales:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Clasificación General:
Digital Logic
Progammable
Standard Logic ASICs Full Custom
Logic Devices
Microprocessor
SPLDs CPLDs FPGAs & RAM
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
67
14/09/2010
DISPOSITIVOS LÓGICOS
Clasificación específica:
PLA Son los dispositivos más antiguos.
Consiste en dos matrices lógicas programables de puertas AND y OR.
Programmable Logic Array Se puede expresar cualquier función lógica como suma de productos
CPLD Las CPLD surgen debidas a que los PLD no podían ser escalados a
mayores dimensiones debido a su estructura de dos niveles. Es una
Complex PLD colección de varios PLDs y una estructura de interconexión. Tanto los
PLDs, como la estructura de interconexión son programables.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Designación:
PAL ó GAL
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
68
14/09/2010
DISPOSITIVOS LÓGICOS
Estructura:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
PAL con salida combinacional: PAL16L8
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
69
14/09/2010
DISPOSITIVOS LÓGICOS
PAL con salida a registro: PAL16R8
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Estructura de la celda para una PAL16R8
Reloj dedicado
Buffer de salida
Puerta OR fija
Buffer de entrada
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
70
14/09/2010
DISPOSITIVOS LÓGICOS
Características de la GAL16V8
8 Salidas a Macrocelda.
8 Términos producto por salida.
PIN 1: Señal global de reloj CLK
PIN 11: /OE Salida Tri-estado.
PIN 20: Alimentación 5 Vdc.
PIN 10: Tierra del sistema GND.
Distribución de pines
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Estructura de una GAL16V8
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
71
14/09/2010
DISPOSITIVOS LÓGICOS
Estructura de la celda (OLMC) para una GAL16V8
HOMEWORK: El estudiante debe investigar sobre la estructura de una GAL22V10, para realizar un
cuadro comparativo que determine las características de las OLMC.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
OLMC: Output Logic Macrocell
Hay tres configuraciones posibles para la macrocelda OLMC que son:
simple, complejo y registrado.
Existen dos bits globales que son SYN y AC0 para el control del modo
de configuración. El bit XOR para control de la polaridad de la salida en
cualquiera de los tres modos, mientras que el bit AC1 para el control de
la configuración de la entrada/salida de las macroceldas.
1. En modo simple todos los pines de salida son realimentados por los
pines adyacentes.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
72
14/09/2010
DISPOSITIVOS LÓGICOS
Modo Registrado: Salida a Registro
• SYN= 0.
• AC0= 1.
• XOR= 0 defines Active Low Output.
• XOR= 1 defines Active High Output.
• AC1= 0 defines this output configuration.
• Pin 1 controls common CLK for the registered outputs.
• Pin 11 controls common /OE for the registered outputs.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Modo Registrado: Salida Combinacional
• SYN = 0.
• AC0 = 1.
• XOR = 0 defines Active Low Output.
• XOR = 1 defines Active High Output.
• AC1 = 1 defines this output configuration.
• Pin 1 & Pin 11 are permanently configured as CLK & /OE for registered output configuration.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
73
14/09/2010
DISPOSITIVOS LÓGICOS
Modo Complejo: I/O Combinacional
• SYN = 1.
• AC0 = 1.
• XOR = 0 defines Active Low Output.
• XOR = 1 defines Active High Output.
• AC1 = 1.
• Pin 13 through Pin 18 are configured to this function.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Modo Complejo: Salida Combinacional
• SYN=1.
• AC0=1.
• XOR=0 defines Active Low Output.
• XOR=1 defines Active High Output.
• AC1=1.
• Pin 12 and Pin 19 are configured to this function.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
74
14/09/2010
DISPOSITIVOS LÓGICOS
Modo Simple: Salida Combinacional con Feedback
• SYN = 1.
• AC0 = 0.
• XOR = 0 defines Active Low Output.
• XOR = 1 defines Active High Output.
• AC1 = 0 defines this configuration.
• All OLMC except Pin 15 & 16 can be configured to this function.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Modo Simple: Salida Combinacional
• SYN = 1.
• AC0 = 0.
• XOR = 0 defines Active Low Output.
• XOR = 1 defines Active High Output.
• AC1 = 0 defines this configuration.
• Pin 15 & 16 are permanently configured to this function.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
75
14/09/2010
DISPOSITIVOS LÓGICOS
Modo Simple: Entrada dedicada
• SYN = 1.
• AC0 = 0.
• XOR = 0 defines Active Low Output.
• XOR = 1 defines Active High Output.
• AC1 = 1 defines this configuration.
• All OLMC except Pin 15 & 16 can be configured to this function.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Aplicación de los PLDs
Los PLDs que se han mencionado aquí son útiles para circuitos
relativamente pequeños, típicamente no más de 32 entradas y
salidas. No obstante es posible teóricamente construir circuitos
mayores, pero es preferible usar otros dispositivos de mayor
complejidad.
Los PLDs son dispositivos muy vulnerables al ruido, por lo tanto los
diseños realizados con estos dispositivos merecen especial atención
en la implementación de circuitos que permitan aumentar
considerablemente la relación señal/ruido. Normalmente se utiliza
un capacitor de poliester de 0.01 uF a 50 voltios, conectado entre
el polo positivo de la fuente y tierra, lo más cercano posible al chip.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
76
14/09/2010
DISPOSITIVOS LÓGICOS
CPLDs y FPGAs:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Arquitectura de un CPLD Familia 9500 de xilinx:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
77
14/09/2010
DISPOSITIVOS LÓGICOS
Detalles de la Macrocelda del XC9500:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Detalles del bloque de
salida para XC9500:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
78
14/09/2010
DISPOSITIVOS LÓGICOS
Características de la familia XC9500:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Arquitectura de un FPGA:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
79
14/09/2010
DISPOSITIVOS LÓGICOS
Estructura básica
de un CLB:
1. Contiene una tabla de n entradas.
2. Esta rodeado por canales de
cableado (varios segmentos)
3. La salida del CLB es conectada a
segmentos cableados usando PIPs
(Programmable Interconection
Point)
4. Si el bloque no se usa, todos los
PIPs se desconectan y el bloque
no genera señal a ningún
segmento, y el segmento puede
ser usado para otras señales.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
CLB (Configured Logic Block):
1. Se puede Implementar
lógica combinacional, 2n
por cada celda de
memoria. Usando n
entradas 2^2n.
2. Se programa cargando
el patrón de bits de la
tabla de verdad de la
función.
3. Las entradas no usadas
se mantienen a nivel
bajo o se duplica la
lógica.
4. Punto de Interconexión
Programables (PIP).
5. Contiene Multiplexores.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
80
14/09/2010
DISPOSITIVOS LÓGICOS
Matriz de Interconexiones Programable:
Consta de canales de
conexiones de propósito
general, conexiones
directas, canales de ruteo
vertical y canales de
ruteo horizontal,
denominados líneas de
largo recorrido.
Líneas de interconexión:
1. Directas.
2. De propósito general
3. Globales
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Estructura del IOB: (Input/Output Block)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
81
14/09/2010
DISPOSITIVOS LÓGICOS
Comparativo entre CPLD y FPGA:
1. Lógica
• CPLD: Las funciones se implementan utilizando lógica
AND/OR de dos niveles.
- Puertas AND con muchas entradas
• FPGA: Las funciones se implementan utilizando múltiples
niveles de lógica con puertas de menor fan in.
- LBs más sencillos pero en mayor número.
2. Interconexión
• CPLD: Interconexión tipo crossbar. Cada salida de LB es
directamente interconectable a cada entrada a través de
1 o 2 interruptores
– Tiempo predecible
• FPGA: Interconexión segmentada. Las conexiones entre
LBs típicamente pasan a través de varios interruptores
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
MEMORIAS: Terminología empleada.
Celdas de Memoria : Dispositivo o circuito eléctrico que se usa
para almacenar un solo bit (0 ó 1).
Palabra de Memoria: Grupo de celdas de memoria que representan
instrucciones o datos de algún tipo. Algunas palabras de memoria
son:
NIBBLE: Palabra de 4 bits.
BYTE: Palabra de 8 bits.
WORD: Palabra de 16 bits.
Capacidad de Memoria: Forma de especificar el número de bits
que puede almacenar una memoria o bien un sistema de memoria
completo.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
82
14/09/2010
DISPOSITIVOS LÓGICOS
CLASIFICACIÓN DE LAS MEMORIAS:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Ejemplo Memoria PROM 16X4:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
83
14/09/2010
DISPOSITIVOS LÓGICOS
Organización y Capacidad de un Memoria:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Diagrama Funcional de un Memoria RAM:
DESCRIPCIÓN DE PINES
PIN DESCRIPCIÓN
A0 – A9 (Address Input). Entrada de Direcciones
D0 – D3 (Data Input/Output). Entrada/Salida de Datos
/CS (Chip Select). Selección del CHIP
/WE (Write Enable). Habilitación de Escritura
/OE (Output Enable). Habilitación de salida
MODOS DE FUNCIONAMIENTO
MODO /CS /WE /OE BUS DATOS
INACTIVO 1 X X HIGH Z
LECTURA 0 1 0 Dout
LECTURA 0 1 1 HIGH Z
ESCRITURA 0 0 X Din
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
84
14/09/2010
DISPOSITIVOS LÓGICOS
Conformación de un Banco de Memorias:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DISPOSITIVOS LÓGICOS
Conformación de un Banco de Memorias:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
85
14/09/2010
DESCRIPCIÓN 1 EN VHDL DE
UNA MEMORIA RAM
-- Descripción de un memoria RAM
-- Librerías
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.Numeric_Std.all;
-- Entidad
entity sync_ram is
port ( clock : in std_logic;
we : in std_logic;
address : in std_logic_vector;
datain : in std_logic_vector;
dataout : out std_logic_vector);
end entity sync_ram;
-- Arquitectura
architecture behavioral of sync_ram is
type ram_type is array (0 to (2**address'length)-1) of std_logic_vector(datain'range);
signal ram : ram_type;
signal read_address : std_logic_vector(address'range);
begin
RamProc: process(clock) is
begin
if rising_edge(clock) then
if we = '1' then
ram(to_integer(unsigned(address))) <= datain;
end if;
read_address <= address;
end if;
end process RamProc;
dataout <= ram(to_integer(unsigned(read_address)));
end architecture behavioral;
DESCRIPCIÓN 2 EN VHDL DE
UNA MEMORIA RAM
-----------------------------------------------------------------------------------
-- Otro modelo de descripción
-----------------------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
-----------------------------------------------------------------------------------
entity SRAM is
generic( width: integer:=4;
depth: integer:=4;
addr: integer:=2);
port( Clock: in std_logic;
Enable: in std_logic;
ReadD: in std_logic;
WriteD: in std_logic;
Read_Addr: in std_logic_vector(addr-1 downto 0);
Write_Addr: in std_logic_vector(addr-1 downto 0);
Data_in: in std_logic_vector(width-1 downto 0);
Data_out: out std_logic_vector(width-1 downto 0));
end SRAM;
----------------------------------------------------------------------------------
86
14/09/2010
DESCRIPCIÓN 2 EN VHDL DE
UNA MEMORIA RAM
----------------------------------------------------------------------------------------
-- Declaración de la arquitectura y el tipo definido por el usuario ram_type
----------------------------------------------------------------------------------------
architecture behav of SRAM is
type ram_type is array (0 to depth-1) of std_logic_vector(width-1 downto 0);
signal tmp_ram: ram_type;
begin
-- Proceso de lectura de la memoria RAM
process(Clock, Read)
begin
if (Clock'event and Clock='1') then
if Enable='1' then
if Read='1' then
Data_out <= tmp_ram(conv_integer(Read_Addr));
else
Data_out <= (Data_out'range => 'Z');
end if;
end if;
end if;
end process;
DESCRIPCIÓN 2 EN VHDL DE
UNA MEMORIA RAM
-----------------------------------------------------------------------------
-- Proceso para la escritura de la memoria
-----------------------------------------------------------------------------
process(Clock, Write)
begin
if (Clock'event and Clock='1') then
if Enable='1' then
if Write='1' then
tmp_ram(conv_integer(Write_Addr)) <= Data_in;
end if;
end if;
end if;
end process;
end behav;
----------------------------------------------------------------------------------
87
14/09/2010
CAPÍTULO VI
SISTEMAS SECUENCIALES
Y LÓGICA SECUENCIAL
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
INTRODUCCIÓN
Registros
Contadores
Memorias de acceso aleatorio (RAM)
Dispositivos lógicos programables (PLDs)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
88
14/09/2010
SISTEMA SECUENCIAL
MODELO GENERAL
MODELO GENERAL
Una misma combinación de
entradas puede generar
distinta salida ya que el
estado puede ser distinto
dependiendo de la historia
de las entradas.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMA SECUENCIAL
Características de funcionamiento
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
89
14/09/2010
SISTEMA SECUENCIAL
Los sistemas secuenciales pueden ser
síncronos o asíncronos.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMA SECUENCIAL
Señal de reloj
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
90
14/09/2010
SISTEMA SECUENCIAL
Señal de reloj
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
SISTEMA SECUENCIAL
Señal de reloj
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
91
14/09/2010
SISTEMA SECUENCIAL
2. Sistema Secuencial Asíncrono: es aquel sistema secuencial
en el que los cambios de estado se producen cuando cambia
alguna de sus entradas, sin necesidad de que se active por una
señal de reloj.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
BIESTABLES
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
92
14/09/2010
BIESTABLES
Introducción
Circuito secuencial con dos estados estables (salida 0 y salida 1)
en los que se pueden mantener indefinidamente.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
BIESTABLES
Latch (Cerrojo) con inversores
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
93
14/09/2010
BIESTABLES
Latch SR NOR
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
TABLA DE LA VERDAD
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
94
14/09/2010
TABLA DE LA VERDAD
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
TABLA DE LA VERDAD
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
95
14/09/2010
TABLA DE LA VERDAD
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
96
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
En tecnología TTL
las puertas NAND se
prefieren a las NOR
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
97
14/09/2010
LATHC SR (NAND)
CARACTERÍSTICAS DE FUNCIONAMIENTO
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LATHC SR SÍNCRONO
Los latches-SR vistos hasta ahora son:
• Activos por nivel („Latches‟).
• Asíncronos.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
98
14/09/2010
LATHC SR SÍNCRONO
CARACTERÍSTICAS DE FUNCIONAMIENTO
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
LATHC SR SÍNCRONO
ENTRADAS ASÍNCRONAS
Latch SR síncrono activo por nivel alto de reloj, con entradas asíncronas PRESET y
CLEAR activas por nivel bajo.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
99
14/09/2010
LATHC D SÍNCRONO
BIESTABLE D ACTIVO POR NIVEL
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
FLIP-FLOPs
Los Latches son biestables activos por nivel:
Problema:
Solución:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
100
14/09/2010
FLIP-FLOP D MASTER-SLAVE
BIESTABLE “D” ACTIVO POR FLANCO DE BAJADA
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
FLIP-FLOP D MASTER-SLAVE
DIAGRAMA DE TIEMPOS
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
101
14/09/2010
FLIP-FLOP D MASTER-SLAVE
CARACTERÍSTICAS DE FUNCIONAMIENTO
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
BIESTABLE J-K
Problema:
Solución:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
102
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
103
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
104
14/09/2010
DERIPCIÓN DE FLIP-FLOP JK
UTILIZANDO VHDL
-- Flip Flop Tipo JK
-- Declaración de Librerías (Cláusulas)
Library ieee;
Use ieee.std_logic_1164.ALL;
-- Entidad
Entity JK is
Port ( ck, J, K : in std_logic;
q, nq : out std_logic);
end JK;
-- Arquitectura
Architecture behavioral of JK is
signal estado: std_logic;
Begin
Process (ck)
Begin
if rising_edge(ck) then
case std_logic_vector'(J, K) is
when "11" => estado <= not(estado);
when "10" => estado <= '1';
when "01" => estado <= '0';
when others => null;
end case;
end if;
q <= estado;
nq <= not(estado);
End process;
End behavioral;
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
DERIPCIÓN DE FLIP-FLOP D
UTILIZANDO VHDL
-- Flip Flop Tipo D con Preset Síncrono -- Flip Flop tipo D con Reset asíncrono
-- Declaración de las librerías (Cláusulas) -- Declaración de la libreria (Cláusulas)
Library ieee; library ieee;
Use ieee.std_logic_1164.ALL; use ieee.std_logic_1164.all;
-- Entidad -- Entidad
Entity ffDpreset is ENTITY dff IS
port ( d, ck, npreset: in bit; PORT( D, Clk, Reset : IN STD_LOGIC;
q, nq: out bit); Q, Qbar : OUT STD_LOGIC);
End ffDpreset; END dff;
--Arquitectura -- Arquitectura
architecture behavioral of ffDpreset is ARCHITECTURE behavioral OF dff IS
begin BEGIN
process (ck, npreset, d) PROCESS(Clk, Reset, D)
begin BEGIN
if ck'event and ck='1' then IF Reset=„0‟ then
if npreset='0' then Q <= „0‟;
q <= '1'; Qbar <= „1‟;
nq <= „0‟; ELSIF (Clk'event) AND (Clk='1') THEN
else q <= d; nq <= not d; Q <= D;
end if; Qbar <= not D;
end if; END IF;
end process; END PROCESS;
end behavioral END behavioral;
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
105
14/09/2010
DERIPCIÓN DE FLIP-FLOP T
UTILIZANDO VHDL
--FLIP FLOP TIPO T
Library ieee;
Use ieee.std_logic_1164.ALL;
--Entidad
Entity ffT is
Port ( ck, T : in std_logic;
q, nq : out std_logic);
End ffT;
-- Arquitectura
Architecture behavioral of ffT is
signal estat: std_logic;
Begin
Process (ck, T)
Begin
if rising_edge(ck) then
estat <= T XOR estat;
end if;
q <= estat;
nq <= not(estat);
End process;
End behavioral;
CAPÍTULO VII
ANÁLISIS Y DISEÑO DE
SISTEMAS SECUENCIALES
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
106
14/09/2010
MAQUINAS DE ESTADO
Tópicos de estudio:
Definición
Clasificación
Máquinas de estado asíncronas*
Maquinas de estado síncronas
◦ Análisis
◦ Síntesis (Diseño)
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
107
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
108
14/09/2010
a, b Estados
x Entrada
z Salida
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
109
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
110
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
MOORE vs MEALY
Principales características:
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
111
14/09/2010
ANÁLISIS DE MAQUINAS DE
ESTADO
Ejemplo 1:
Determine el funcionamiento del
circuito de la figura.
1. Lo primero es establecer que en
realidad el circuito es secuencial
Esto se evidencia cuando se nota
que posee elementos de memoria
(FFs, en este caso tipo D) y lazos
de realimentación. Si no fuera
secuencial, el funcionamiento se
establecería a partir de la tabla de
verdad.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
ANÁLISIS DE MAQUINAS DE
ESTADO
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
112
14/09/2010
ANÁLISIS DE MAQUINAS DE
ESTADO
Y = Q0 · Q 1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
ANÁLISIS DE MAQUINAS DE
ESTADO
tabla de excitación
C Q1 Q0 Q *1 Q *0 Y
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 1 0 0
0 1 1 1 1 1
1 0 0 0 1 0
1 0 1 1 0 0 En este ejercicio la salida depende
1 1 0 1 1 0 TOTALMENTE del estado actual
1 1 1 0 0 1
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
113
14/09/2010
ANÁLISIS DE MAQUINAS DE
ESTADO
5. Desarrollar el diagrama de
estados
El diagrama de estados muestra
gráficamente las transiciones
entre estados. C=0
Cada círculo representa un estado. El
C=0 C=1 estado que representa se encuentra
00 01 codificado dentro del círculo, al igual
Y=0 Y=0 que la salida bajo la línea.
C=1
Los líneas tipo flecha del diagrama
C=1
representan las transiciones, que
dependen de la entrada.
11 10
A partir de esta representación es más
Y=1 Y=0
C=1
C=0
sencillo entender el comportamiento
C=0
del circuito.
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
ANÁLISIS DE MAQUINAS DE
ESTADO
X
J Q
CP _
K Q
R
J Q
CP _
K Q
R
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
114
14/09/2010
ANÁLISIS DE MAQUINAS DE
ESTADO
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
115
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
116
14/09/2010
a x=0/z=0
x=1/z=1 b x=0/z=0
x=0/z=0
x=1/z=0
c
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
117
14/09/2010
Se utilizará en el
a 00 ; b 01; c 10 ejemplo
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
0 0 0 0 Tabla Reducida
0 0 1 1 J K Qt+1
0 1 0 0 0 0 Qt
0 1 1 0 0 1 0
1 0 0 1 1 0 1
1 0 1 1 1 1 /Qt
1 1 0 1
1 1 1 0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
118
14/09/2010
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
J0 K0
Q1Q0 Q1Q0
x 00 01 11 10 x 00 01 11 10
0 1 0 0 1 0 X 0 0 X
1 0 X 0 0 1 0 1 0 0
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
119
14/09/2010
J1 K1
Q1Q0 Q1Q0
x 00 01 11 10 x 00 01 11 10
0 0 0 0 X 0 0 0 0 1
1 0 1 0 X 1 0 X 0 1
Z
Q1Q0
x 00 01 11 10
0 0 0 0 0
1 0 0 0 1
Z = Q1 AND Q0 AND X
120
14/09/2010
DESCRIPCIÓN EN VHDL DE
UNA MÁQUINA DE ESTADOS
La descripción en VHDL de máquinas de estado se realiza utilizando un patrón de
código estándar el cual utiliza sentencias secuenciales como:
• PROCESS
• CASE/END CASE
• WHEN … ELSE
• IF … THEN … ELSE/END IF
1/1
121
14/09/2010
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity Det_Sec is
Port ( x, rst, clk : in STD_LOGIC;
z : out STD_LOGIC);
end Det_Sec;
Continuación
122
14/09/2010
RESULTADO DE LA
SIMULACIÓN
Resultado de la simulación del detector de secuencia (011)
TALLER DE EJERCICIOS
Problema 7.1: Diseñe un circuito secuencial síncrono con una entrada de datos X, que
produzca una salida Z = "1 " durante un ciclo de reloj cuando la secuencia de los tres
últimos valores de la entrada sean : 111, 110 ó 000.
Problema 7.2: Diseñe un autómata de Mealy con dos entradas X, Y y una salida Z cuyo
funcionamiento sea el siguiente:
a. si XY = 00, entonces Z = 0 .
b. si XY = 11, después de que las entradas hayan sido durante dos ciclos de reloj
XY = 01, entonces Z= 1.
En el resto de los casos se mantiene la salida .
Nota: en cada ciclo sólo puede cambiar una variable de entrada, no las dos a la vez.
123
14/09/2010
FUENTES BIBLIOGRÁFICAS
Diseño Digital - IE. MSc. José Armando Becerra Vargas - UFPS 2010
124