Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CIME
µ
Capítulo 3
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante
Contenido
Resumen I-3
Introducción. I-7
Dispositivos digitales. Compuertas (puertas) lógicas. I-7
Sistemas numéricos. I-11
Códigos. I-12
Circuitos integrados digitales. Familias lógicas. I-16
Series de la familia CMOS. Series de la familia TTL. I-19
Nomenclatura de los circuitos integrados digitales I-20
Algunos índices de las familias CMOS y TTL. I-21
Márgenes de ruido. I-21
Factor de carga (Fan-out). I-22
Lógica cableada. Compuertas drenaje abierto y colector abierto. I-23
Compuertas con tercer estado. Compuertas Schmitt-trigger I-31
Consumo de potencia. I-32
Interconexión de circuitos CMOS con TTL. I-33
Electrónica molecular. I-33
Elementos del Algebra de Conmutación. I-35
Simplificación de funciones lógicas. Mapas de Karnaugh. Azares estáticos I-39
Referencias I-54
Ejercicios. I-55
2
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Anexo 2 II-38
Indice general 61
3
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Decodificadores.
Un decodificador es un conversor de código que convierte una palabra de entrada en una
palabra de salida diferente. Generalmente, en los decodificadores la palabra de salida utiliza
un código con un mayor número de bits que el código de entrada. Los decodificadores más
utilizados son los binarios. Los decodificadores binarios emplean el código binario en la
palabra de entrada, mientras que la palabra de salida se codifica de modo tal que todos sus
bits son iguales, excepto uno de ellos. La posición del bit desigual indica el valor binario de
la palabra de entrada. Además de la palabra de entrada en código binario, en estos
decodificadores puede haber otras señales de entrada que habilitan o no la función que
realiza el circuito. Cuando el decodificador no está habilitado los bits en la palabra de salida
son todos iguales.
Para comprender mejor lo explicado anteriormente, en la Tabla 3-1 se muestra el
funcionamiento de un decodificador binario de dos bits (decodificador de dos a cuatro
líneas). En este caso B y A son los bits de la palabra binaria de entrada y G es la señal de
habilitación. La palabra de salida tiene cuatro bits (Y3,Y2,Y1,Y0) que serán todos iguales a
cero si el decodificador no está habilitado (G = 0). Cuando está habilitado (G = 1), entonces
el terminal de salida que se activa depende de la palabra de entrada. En este decodificador
se dice que las salidas son activas a nivel alto porque el bit correspondiente a la salida
activada toma el valor uno y los demás toman el valor cero. Cuando las salidas son activas
4
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
a nivel bajo ocurre lo contrario. Las señales de entrada A y B en este decodificador también
son activas a nivel alto.
Entradas Salidas
G B A Y3 Y2 Y1 Y0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
0 - - 0 0 0 0
Tabla 3-1 Decodificador binario de dos bits con salidas activas a nivel alto.
Figura 3-1. Decodificador binario de dos bits con salidas activas a nivel alto.
a) Diagrama circuital b) Símbolo lógico
5
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ejemplo 3-1.
Escriba un programa en VHDL para obtener un decodificador binario cuya funcionamiento
sea igual al dado en la Tabla 3-1.
Solución:
-- Fichero: ejem3_1.vhd
ENTITY ejem3_1 IS
PORT (
G, B, A : in bit ;
end ejem3_1 ;
PACKAGE DECPKG IS
COMPONENT ejem3_1
PORT (
G, B, A: in bit ;
Y: out bit_vector (3 downto 0) ) ;
END COMPONENT ;
END DECPKG ;
6
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
La simulación permite comprobar que efectivamente el circuito diseñado cumple los
requisitos establecidos. He aquí el resultado:
Figura 3-2. Simulación del decodificador binario de dos bit diseñado en el Ejemplo 3-1.
Estos decodificadores tienen sus salidas activas a nivel bajo. El circuito integrado 74x139
contiene dos decodificadores binarios iguales de dos a cuatro líneas. El 74x138 es un
decodificador binario de tres a ocho líneas. El funcionamiento de cada uno de ellos se
muestra en las Tabla 3-2 y 3-3, respectivamente.
Entradas Salidas
G_L B A Y3_L Y2_L Y1_L Y0_L
0 0 0 1 1 1 0
0 0 1 1 1 0 1
0 1 0 1 0 1 1
0 1 1 0 1 1 1
1 - - 1 1 1 1
7
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Tabla 3-2. Funcionamiento de cada uno de los decodificadores 74x139. La entrada de
habilitación, G_L, es activa a nivel bajo.
A partir de la Tabla 3-2 podemos escribir las ecuaciones de salida del decodificador 74x139
que son la siguientes:
Y0_L = /(/G_L/B/A), Y1_L = /(/G_L/BA), Y2_L = /(/G_LB/A), Y3_L = /(/G_LBA)
Figura 3-4 Decodificador binario 74x139. Diagrama de uno de los dos decodificadores que
contiene esta pastilla. Nótese que todas las entradas están “buffereadas”.
El decodificador 74x138 posee tres entradas de habilitación, una activa a nivel alto, G1, y
dos activas a nivel bajo, G2A_L y G2B_L. El código binario de entrada está constituido por
tres señales activas a nivel alto: C, B, A donde A es el bit menos significativo (LSB).
Mediante la Tabla 3-3 se pueden escribir las ecuaciones de cada una de las salidas tal como
aparecen en el Ejercicio 3-2.
8
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ejemplo 3-2.
Escriba un programa en VHDL para obtener un decodificador binario cuyo funcionamiento
sea igual al 74x138.
Solución:
-- Fichero: ejem3_2.vhd
ENTITY ejem3_2 IS
Y_L <= Y_i when G1 = '1' AND G2A_L = ‘0’ AND G2B_L =’0’ ELSE
"11111111" ;
end ejem3_2 ;
Solución:
9
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Teniendo en cuenta que en las salidas del decodificador binario están presentes todos los
términos productos de las variables que forman la palabra correspondiente al código
binario de entrada sólo se necesita conectar las salidas adecuadas del decodificador a las
entradas de la compuerta OR ya que el decodificador binario que se utiliza en este caso
tiene sus salidas activas a nivel alto (cuando el decodificador binario tiene las salidas
activas a nivel bajo es necesario utilizar una compuerta NAND). El circuito resultante en
este caso se muestra a continuación:
Nótese lo sencillo que resulta el diseño cuando se tienen las funciones expresadas en forma
decimal. Sólo es necesario conectar las entradas de las compuertas a las salidas
correspondientes del decodificador de acuerdo a cada uno de los términos de las funciones
dadas.
Solución
En este caso el decodificador tiene las salidas activas a nivel bajo, por lo tanto es necesario
utilizar una compuerta NAND.
El circuito resultante es el siguiente:
10
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Solución:
Con este circuito se puede colocar en serie los datos A, B, C y D en el Bus. En la Tabla
siguiente se ilustra una alternativa posible:
EN_L X W Bus
1 0 0 Tercer estado
0 0 0 A
1 0 1 Tercer estado
0 0 1 B
1 1 0 Tercer estado
0 1 0 C
1 1 1 Tercer estado
0 1 1 D
11
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
12
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
En la Figura 3-6 se muestran los esquemas correspondientes a estos dos tipos de lámparas,
pd es un segmento para indicar el punto decimal:
Figura 3-6 Esquema interno de lámparas de siete segmentos a) Lámpara de ánodo común
b) ) Lámpara de cátodo común
Figura 3-7 Lámpara siete segmentos. a) Identificación de cada uno de los segmentos de la
lámpara. b) Dígitos del sistema hexadecimal.
13
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
0 0 1 0 1 0 1 1 0 1 1
0 0 1 1 1 0 0 1 1 1 1
0 1 0 0 1 1 0 0 1 1 0
0 1 0 1 1 1 0 1 1 0 1
0 1 1 0 1 1 1 1 1 0 1
0 1 1 1 1 0 0 0 1 1 1
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 0 1 1 1 1
1 0 1 0 1 1 1 0 1 1 1
1 0 1 1 1 1 1 1 1 0 0
1 1 0 0 0 1 1 1 0 0 1
1 1 0 1 1 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1
1 1 1 1 1 1 1 0 0 0 1
Solución:
-- Decodificador hexadecimal a siete segmentos para
-- lámparas de cátodo común
library IEEE; -- fichero:hex_7seg.vhd
use IEEE.std_logic_1164.all;
14
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
"1110111" when "1010",
"1111100" when "1011",
"0111001" when "1100",
"1011110" when "1101",
"1111001" when "1110",
"1110001" when others ;
end hex_7s ;
Codificadores (Encoders).
Los codificadores realizan la operación inversa a los decodificadores. Por lo tanto
generalmente tienen un número mayor de entradas que de salidas. Un ejemplo de encoder
de cuatro entradas muy sencillo es el que se muestra en la tabla siguiente:
Entradas Salidas
I3 I2 I1 I0 Y1 Y0
1 0 0 0 1 1
0 1 0 0 1 0
0 0 1 0 0 1
0 0 0 1 0 0
El codificador dado en la Tabla 3-5 es un encoder sin prioridad puesto que siempre debe
haber activada una sola de sus entradas. El código binario a la salida muestra cuál es la
entrada que se encuentra activada.
A partir de la tabla podemos escribir los Mapas de Karnaugh para YO y Y1:
15
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
00 - 0 - 0
01 1 - - -
11 - - - -
10 1 - - -
Agrupando convenientemente los unos con los opcionales se forman dos grupos con ocho
elementos cada uno de ellos, de donde se obtiene la ecuación siguiente:
Y1 = I3 + I2
Agrupando convenientemente los unos con los opcionales se forman dos grupos con ocho
elementos cada uno de ellos, de donde se obtiene la ecuación siguiente:
Y0 = I3 + I1
Ejemplo 3-8
Escriba en VHDL un programa para el diseño del codificador sin prioridad dado en la
Tabla 3-5.
Solución:
16
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
ENTITY ejem3_8 IS
PORT (
I: in std_logic_vector (3 downto 0) ;
y: out std_logic_vector (1 downto 0) ) ;
END ejem3_8 ;
with I select
Y<= "11" when "1000" ,
"10" when "0100" ,
"01" when "0010" ,
"00" when "0001" ,
"--" when others ;
end ejem3_8 ;
Encoder de prioridad
En este tipo de encoder se permite la activación simultánea de varias entradas lo que
resulta de mayor utilidad, por ejemplo, en aplicaciones donde varios dispositivos solicitan
ser atendidos simultáneamente. En la Tabla 3-6 se muestra el funcionamiento de un
encoder de prioridad de cuatro entradas, considerando que I3 es la entrada de mayor
prioridad e Io la de menor prioridad:
Entradas Salidas
I3 I2 I1 I0 Y1 Y0
1 - - - 1 1
0 1 - - 1 0
0 0 1 - 0 1
0 0 0 1 0 0
A partir de la Tabla 3-6 podemos escribir los Mapas de Karnaugh para YO y Y1:
17
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
11 1 1 1 1
10 1 1 1 1
Agrupando convenientemente los ceros se forma un grupo con los cuatro elementos de la
fila superior del mapa. Este grupo ofrece la ecuación simplificada siguiente:
Agrupando convenientemente los unos se forma un grupo con ocho elementos y otro grupo
de cuatro unos. A partir de estos grupos se obtiene la ecuación siguiente:
Y0 = i3 + /i2 * i1
Ejemplo 3-9
Escriba en VHDL un programa para el diseño del codificador con prioridad dado en la
Tabla 3-6.
Solución:
library IEEE;
use IEEE.std_logic_1164.all ;
ENTITY ejem3_9 IS
PORT ( I3, I2, I1, I0: in std_logic ;
y: out std_logic_vector (1 downto 0) ) ;
END ejem3_9 ;
18
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
end ejem3_9 ;
-- Nótese el tratamiento dado a los opcionales en las variables de entrada de la Tabla 3-6.
y_0 = /i2 * i1 + i3
Completed Successfully
19
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Los selectores de datos son conmutadores digitales que permiten seleccionar uno entre n
datos de acuerdo a un código de selección formado por una palabra de entrada que debe
tener m bits de modo tal que 2 elevado a m sea igual o mayor que n. El dato seleccionado
aparecerá en la salida del selector. Este dato puede ser de b, uno o más, bits. Además de las
entradas de selección y de datos, en un multiplexer, generalmente, hay una entrada de
habilitación.
En la Figura 3-11 se muestra la estructura de un selector de datos
20
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
EN_ L C B A Y /Y
1 - - - 0 1
0 0 0 0 D0 /D0
0 0 0 1 D1 /D1
0 0 1 0 D2 /D2
0 0 1 1 D3 /D3
0 1 0 0 D4 /D4
0 1 0 1 D5 /D5
0 1 1 0 D6 /D6
0 1 1 1 D7 /D7
A partir de la Tabla 3-7 podemos escribir las ecuaciones de diseño para el 74x151 que son
las siguientes:
Con las ecuaciones anteriores se dibuja el circuito del 74x151 como se muestra en la
Figura 3-13.
21
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
El 74x153 son dos selectores de cuatro entradas de datos de un bit cada uno o sea n = 4 y
b = 1, tiene 2 entradas de selección (m = 2) comunes para ambos selectores B y A donde A
es la menos significativa y una entrada de habilitación independiente para cada selector,
G_L, que se activa a nivel bajo. Cuando la entrada de habilitación no está activada la salida
Y = 0. La Tabla de la verdad, para cada uno de los selectores del 74x153, es la siguiente:
G_L B A Y
1 - - 0
0 0 0 C0
0 0 1 C1
0 1 0 C2
0 1 1 C3
El 74x157 son cuatro selectores de dos entradas de datos de un bit cada uno o sea n = 2 y
b = 1, tiene una entrada de selección, S, y una entrada de habilitación G_L que se activa a
nivel bajo. Cuando la entrada de habilitación no está activa las salidas de los selectores
están a nivel bajo. La entrada de selección y la de habilitación es la misma para los cuatro
selectores que contiene esta pastilla. La Tabla de la verdad, para cada uno de los selectores
del 74x157, es la siguiente:
G_L S Y
1 - 0
0 0 A
0 1 B
22
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ejemplo 3-10 Utilice VHDL y escriba un programa para el diseño de un selector semejante
al 74x151.
Solución:
-- Multiplexer tipo 74x151, fichero: ejem3_10.vhd
library IEEE ;
use IEEE.std_logic_1164.all ;
ENTITY ejem3_10 IS
PORT (
EN_L, C, B, A : in std_logic ;
D7, D6, D5, D4, D3, D2, D1, D0: in std_logic ;
Y, Y_L: out std_logic ) ;
23
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
END ejem3_10 ;
end ejem3_10 ;
24
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Solución:
Teniendo en cuenta la ecuación para el diseño de cada uno de lo selectores que forman el
74x153 que es Y = /G_L (/B*/A*C0 + /B*A*C1 + B*/A*C2 + B*A*C3)
Haciendo /G_L = 0 , B = x y A = y, quedará Cj en función de la variable z.
El valor específico de Cj se determina a partir de la tabla de la verdad de cada una de las
funciones que se desee sintetizar. En la figura que sigue se muestra el resultado.
Comparando esta solución con la encontrada en el Ejemplo 3-5, donde se utilizó un
decodificador binario 74x138, se ve que es más sencilla la solución utilizando selectores de
datos.
25
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
n3 = C n2 = B n1 = A n0 W Dj = F(n0)
0 0 0 0 1 D0 = /n0
0 0 0 1 0
0 0 1 0 1 D1 = 1
0 0 1 1 1
0 1 0 0 0 D2 = n0
0 1 0 1 1
0 1 1 0 1 D3 = 1
0 1 1 1 1
1 0 0 0 1 D4 = 1
1 0 0 1 1
1 0 1 0 1 D5 = /n0
1 0 1 1 0
1 1 0 0 1 D6 = /n0
1 1 0 1 0
1 1 1 0 1 D7 = 1
1 1 1 1 1
26
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ahora solamente resta dibujar el circuito como se muestra a continuación:
Nótese la sencillez del diseño cuando se utilizan circuitos de mediano nivel de integración
comparado con el caso del diseño basado en circuitos de nivel de integración pequeño.
Ejemplo 3-13 En la figura que aparece debajo se ilustra otra aplicación de los selectores de
datos, se trata de un sistema de trasmisión “multiplexado” en el tiempo:
En las entradas de datos del selector se coloca en paralelo los ocho bits de la palabra de
entrada y esta se trasmite bit a bit por la salida del multiplexer que está conecta al canal de
trasmisión. El tiempo que demora en trasmitirse una palabra depende de la frecuencia de la
señal de reloj.
27
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Solución:
La tabla de datos para cada uno de los selectores del 74x153 fue presentada en la Tabla 3-8
la que se repite aquí por comodidad
G_L B A Y
1 - - 0
0 0 0 C0
0 0 1 C1
0 1 0 C2
0 1 1 C3
Y la tabla de la verdad del decodificador binario fue dada en Tabla 3-1 que se repite aquí
también:
Entradas Salidas
G B A Y3 Y2 Y1 Y0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
0 - - 0 0 0 0
Tabla 3-1 Decodificador binario de dos bits con salidas activas a nivel alto.
28
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
G_L G A B Y3 Y2 Y1 Y0 Y
0 1 0 0 0 0 0 1 C0
0 1 0 1 0 0 1 0 C1
0 1 1 0 0 1 0 0 C2
0 1 1 1 1 0 0 0 C3
1 0 - - 0 0 0 0 0
Comparando la tabla anterior con la Tabla 3-8 se comprueba que el circuito dado en la
figura de este ejemplo es el correspondiente al 74x153.
Ejemplo 3-15 Utilice el diseño jerárquico en VHDL y escriba un programa que permita
obtener un selector de datos semejante al 74x153 empleando el esquema circuital
presentado en el Ejemplo 3-14.
Solución:
-- fichero ejem3_15
-- Programa principal
ENTITY ejem3_15 IS
PORT (
B, A: in bit ; -- Entradas de selección, comunes para ambos selectores
G1_L, C01, C11, C21, C31 : in bit ; -- Entradas del selector no. 1
G2_L, C02, C12, C22, C32 : in bit ; -- Entradas del selector no. 2
Y1 : out bit ; -- Salida del selector no. 1
Y2 : out bit ) ; -- Salida del selector no. 2
End ejem3_15 ;
begin
29
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
-- dec1 y dec2 son etiquetas obligatorias ;
end ejem3_15 ;
y1 =
b * a * /g1_l * c31
+ b * /a * /g1_l * c21
+ /b * a * /g1_l * c11
+ /b * /a * /g1_l * c01
y2 =
b * a * /g2_l * c32
+ b * /a * /g2_l * c22
+ /b * a * /g2_l * c12
+ /b * /a * /g2_l * c02
Completed Successfully
30
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ejemplo 3-16 Escriba, a partir de la Tabla 3-8 un programa en VHDL para obtener un
selector de datos semejante al 74x153. Verifique las ecuaciones de diseño a partir del
fichero.rpt
Solución:
La entidad es la misma que en el ejemplo anterior ya que se trata del mismo circuito. La
arquitectura se escribirá en forma diferente, aprovechando la gran flexibilidad que brinda
VHDL lo que permite escribir para una misma entidad un gran variedad de arquitecturas
aun tratándose del mismo circuito.
G_L B A Y
1 - - 0
0 0 0 C0
0 0 1 C1
0 1 0 C2
0 1 1 C3
-- Fichero: ejem3_16.vhd
ENTITY ejem3_16 IS
PORT (
B, A: in bit ;
G1_L, C01, C11, C21, C31 : in bit ; -- Entradas del selector no.1
G2_L, C02, C12, C22, C32 : in bit ; -- Entradas del selector no. 2
Y1 : out bit ; -- Salida del selector no.1
Y2 : out bit ) ; -- Salida del selector no. 2
End ejem3_16 ;
begin
31
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
end ejem3_16 ;
y1 =
b * a * /g1_l * c31
+ b * /a * /g1_l * c21
+ /b * a * /g1_l * c11
+ /b * /a * /g1_l * c01
y2 =
b * a * /g2_l * c32
+ b * /a * /g2_l * c22
+ /b * a * /g2_l * c12
+ /b * /a * /g2_l * c02
Completed Successfully
Ejemplo 3-17 Conecte adecuadamente dos selectores de datos 74x151 para obtener un
multiplexor extendido de 16 entradas de datos.
Solución:
La entrada de habilitación posibilita la solución. En este caso la entrada más significativa,
D, se conecta directamente a la entrada de habilitación del decodificador de la parte
32
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
superior de la figura, habilitándolo cuando D = 0. Mientras que esta entrada se conecta a
través de un inversor al decodificador de la parte inferior de la figura, habilitándolo cuando
D = 1. Las entradas de selección correspondientes de cada selector se unen entre sí. Las
entradas de datos desde D0 hasta D7 se corresponden con el selector de la parte superior,
mientras que D8 hasta D15 aparecen en el selector de la parte inferior. Nótese el empleo de
una compuerta NAND de dos entradas conectada a las salidas negadas de ambos selectores
para realizar la operación lógica OR de las mismas. Todo lo anterior se puede ver en la
figura siguiente:
33
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ejemplo 3-18 Determine la función lógica que realiza el circuito mostrado en la figura
siguiente:
Solución:
La ecuación correspondiente al multiplexer es la siguiente:
Sustituyendo en F, se obtiene:
34
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Nótese que la estructura anterior formada por un decodificador binario de dos a cuatro
líneas, un selector con cuatro entradas de datos y un arreglo de cuatro compuertas OR de
cuatro entradas cada una permite sintetizar cualquier función lógica combinacional de
cuatro variables. Lo único que hace falta es que el arreglo de compuertas sea
programable.
Ejemplo 3-19 Utilice la estructura del Ejemplo 3-18 y vuelva a programar las entradas del
arreglo de compuertas para que el circuito resultante realice la función lógica
F(n3,n2,n1,n0) = ∑ (0,1,4,12,13,14).
Solución:
Las filas de la tabla de la verdad de la función F(n3,n2,n1,n0) = ∑ (0,1,4,12,13,14) donde
ésta toma el valor 1 son las siguientes:
n3 n2 n1 n0 F
0 0 0 0 0 1
1 0 0 0 1 1
4 0 1 0 0 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
Conectando n1 y no a las entradas del código binario del decodificador las líneas que se
activarán en el mismo, según la tabla anterior, son Y0, Y1 y Y2.
Si se conectan n3 y n2 a las entradas de selección del selector de datos entonces los canales
seleccionados, de acuerdo a la tabla anterior, son el CO, C1 y C3.
En la tabla se puede ver también cómo se debe interconectar las salidas del decodificador a
los canales de datos del selector a través del arreglo de compuertas. Por ejemplo en la fila
12: n3 = n2 = 1 => se selecciona el canal C3 del selector
n1 = n0 = 0 => se activa la línea Y0 del decodificador
Por consiguiente la línea Y0 debe conectarse a una de las entradas de la compuerta OR
cuya salida está conectada al cana C3. Con el resto de las filas se procede de la misma
manera y se obtiene la programación de todas las entradas del arreglo de compuertas tal
como aparece en la figura siguiente:
35
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Cuando se realiza el diseño con decodificadores binarios que tienen sus salidas activas a
nivel bajo, como es el caso del 74x138 y 74x139, el arreglo de compuertas tiene que ser
NAND teniendo cuidado de conectar las entradas no utilizadas a la fuente de alimentación.
Solución:
La solución es semejante a la anterior sólo es necesario cambiar las compuertas OR por
compuertas NAND ya que el 74x139 tiene sus salidas activas a nivel bajo. El circuito queda
de la siguiente forma:
36
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Demultiplexers
Los “demultiplexores” realizan la operación inversa de los selectores de datos. Esto se
muestra en forma esquemática en la figura siguiente:
37
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-16. Trasmisión de datos en serie por una línea. En el extremo del trasmisor se
recibe en paralelo los n bits de una palabra los que, mediante las entradas de selección del
“multiplexor”, se van colocando uno a uno en la línea, como se ilustró en la Figura
correspondiente al Ejemplo 3-13. En el extremo receptor el “demultiplexor” recibe uno a
uno los datos trasmitidos y, mediante las entradas de selección, los va colocando en los
terminales de salida que corresponda.
El “demultiplexor” no es más que un decodificador binario que recibe los datos de la línea a
través de una entrada de habilitación, las entradas de selección son sus entradas de código
binario. Para entender mejor lo anterior vamos a presentar el sistema de la Figura 3-16 pero
sustituyendo el extremo trasmisor por la figura correspondiente al Ejemplo 3-13 y el
“demultiplexor” por un decodificador binario 74x138. El resultado se muestra en la Figura
3-17.
38
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Memorias ROM.
Hay varias palabras que se utilizan para referirse a este tipo de memorias pues además de
ROM se utilizan también PROM, EPROM y EEPROM. Veamos el significado de cada una
de ellas:
ROM (Read Only Memory). Memoria de lectura solamente. Estas memorias se programan
durante la fabricación del circuito integrado de acuerdo a la solicitud realizada por el
usuario. No se puede volver a programar posteriormente.
PROM. Esta memoria se programa por el usuario pero sólo una vez ya que no puede
borrarse.
EPROM. En esta memoria el usuario puede programar el contenido y borrarlo para volver a
programar la memoria numerosas veces. El borrado se realiza utilizando una lámpara de luz
ultravioleta. Esto requiere un envase especial que posee una ventana transparente a esta de
radiación.
39
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-19. a) Memoria ROM de 16x1 bit. Note la X en las entradas de las compuertas
OR la que indica que dichas entradas son programables por el usuario de la memoria.
40
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
b) Compuerta OR de cuatro entradas programable. c) Transistor MOS N con compuerta
flotante. d) Símbolo lógico.
Cuando una cualquiera de las entradas que forman el bus de control no está activada, el bus
de datos está en tercer estado. Esto se puede resumir en la tabla siguiente:
Tabla 3-9 Situación del bus de datos en función de las entradas del bus de control.
Figura 3-20 Utilización de una ROM para obtener la función F(x,w) = /x.w + x./w = x ⊕ w
41
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
a) La programación de las compuertas OR cuyas salidas están conectadas a los canales
C1, C2 y C3 es indiferente puesto que, en este caso, está seleccionado
permanentemente el canal C0.
b) Símbolo lógico de la ROM programada para obtener F(x,w) = x ⊕ w.
En la Figura 3-21 se muestra la estructura interna de la memoria ROM correspondiente al
caso anterior, suponiendo que el arreglo OR programable está construido, como es usual,
con tecnología CMOS.
42
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-21 a) Estructura interna de la memoria ROM programada para obtener la función
F(x,w) = /x.w + x./w = x ⊕ w. b) Circuito equivalente.
Compare las Figuras 3-20 a) y 3-21 con las Figuras 2-2 a) y 2-4. Note la diferencia entre la
utilización de un PAL y una ROM para sintetizar la misma función.
donde,
n = número de líneas del bus de direcciones y
m = número de líneas del bus de datos
43
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Solución:
En esta memoria n = 4 y m = 1
La memoria ROM, al igual que cualquier otro circuito lógico combinacional, es no volátil
puesto que, después de programada, la información guardada se conserva aunque falte la
alimentación. Lo anterior constituye una ventaja de este tipo de memoria sobre otras que
son volátiles.
En este caso hay que utilizar cuatro memorias de 8x1 bit. La memoria resultante tendrá un
bus de direcciones de tres líneas, igual que el de las pastillas disponibles, en cambio su bus
de datos tendrá un ancho de cuatro líneas en vez de la única línea de la pastilla disponible.
44
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-22. Extensión del bus de datos. a) Interconexión de las cuatro memorias de 8x1
bit. b) Memoria resultante de 8x4 bits.
Solución
En este caso hay que utilizar cuatro memorias de 8x1 bit. La memoria resultante tiene un
bus de direcciones de cinco líneas, aquí se ha realizado una extensión en profundidad del
bus de direcciones. En cambio el bus datos tiene una sola línea, igual que las pastillas de
memoria utilizadas. Es necesario seleccionar cada una de las memorias mediante las líneas
A3 y A4 del bus de direcciones, para esto se puede utilizar la mitad del circuito integrado
74x139 .
45
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-23. Extensión del bus de direcciones. a) Interconexión de las cuatro memorias de
8x1 bit. b) Memoria resultante de 32x1 bit.
Solución
En este caso, siguiendo el procedimiento empleado en los dos ejemplos anteriores, debemos
realizar la extensión del bus de datos y también del bus de direcciones.
a) Extensión del bus de datos: Realizamos el mismo trabajo del Ejemplo 3-22 y
obtenemos la memoria equivalente de 8x4 bits.
b) Ahora realizamos la extensión del bus de direcciones sobre la memoria obtenida
anteriormente de 8x4 bits, siguiendo el procedimiento utilizado en el Ejemplo 3-23,
el resultado es el mostrado en la Figura 3-24:
46
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-24 Memoria ROM de 32x4 bit. a) Interconexión de las cuatro memorias
equivalentes de 8x4 bit. b) Memoria resultante de 32x4 bit.
Banco de memoria
Ejemplo 3-25 Suponga que tenemos un sistema digital con un bus de direcciones de cinco
líneas y que necesitamos conectarle una memoria ROM equivalente de 24x1 bit. Se
Dispone de memorias de 8x1 bit y del circuito integrado 74x139. Dibuje el banco
suponiendo que está ubicado en la parte baja del bus de direcciones.
Solución:
En este caso necesitamos extender el bus de direcciones de la pastilla disponible de 8x1 bit
para disponer de las cinco líneas necesarias en el bus de direcciones. Como el banco está
ubicado en la parte baja del bus de direcciones las 24 localizaciones de memoria del mismo
abarcarán desde la dirección 00000 (0) hasta la dirección 10111 (23), se acostumbra
expresar estas direcciones en el sistema numérico hexadecimal, en este caso, la ubicación
del banco está entre las direcciones 00H y la 17H.
Es conveniente presentar estos resultados en una tabla, llamada mapa de memoria como la
siguiente:
47
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Mapa de memoria
Pastilla A4 A3 A2 A1 A0 Dirección hexadecimal
Cero 0 0 0 0 0 00H.
.. .. .. .. .. ..
0 0 1 1 1 07H
Uno 0 1 0 0 0 08H
.. .. .. .. .. ..
0 1 1 1 1 0FH
Dos 1 0 0 0 0 10H
.. .. .. .. .. ..
1 0 1 1 1 17H
Para resolver el problema utilizamos el procedimiento del Ejemplo 3-23 y el resultado que
se obtiene es el siguiente.
Figura 3-25. Banco de memoria ROM de 24x1 bit, ubicado en la parte baja del bus de
direcciones. El bus de datos está transparente porque OE_L = 0.
Cuando el banco está formado por pastillas de diferente capacidad se hace más difícil la
decodificación de las diferentes pastillas componentes. En el Ejemplo 3-26 se ilustra esta
situación.
48
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Ejemplo 3-26
Utilice la menor cantidad posible de los circuitos integrados disponibles y diseñe un banco
de memoria EPROM de 112 Kx8 bit el que debe ubicarse a partir de la dirección E0000H.
Circuitos integrados disponibles: 74x139
y las memorias EPROM 27512 (64Kx8 bit), 27256 (32Kx8 bit), 2764 (8Kx8 bit).
Solución
El bus de direcciones del banco tiene que tener 20 líneas puesto que debe ubicarse a partir
de la dirección E0000H.
Mapa de memoria
Pas A19A18A17 A16 A15 A14 A13 A12 A11..A8 A7..A4 A3..A0 Dirección
64K (111 0) 0 0 0 0 0 0 0 E0000H
... .. .. .. .. .. .. .. .. ..
(111 0) 1 1 1 1 1 1 1 EFFFFH
32K (111 1 0) 0 0 0 0 0 0 F0000H
… .. .. .. .. .. .. .. .. ..
(111 1 0) 1 1 1 1 1 1 F7FFFH
8K (111 1 1 0 0) 0 0 0 0 F8000H
… .. .. .. .. .. .. .. .. ..
(111 1 1 0 0) 1 1 1 1 F9FFFH
8K (111 1 1 0 1) 0 0 0 0 FA000H
… .. .. .. .. .. .. .. .. ..
(111 1 1 0 1) 1 1 1 1 FBFFFH
Las líneas del bus de direcciones del banco que no estén contenidas en la pastilla de
memoria correspondiente se utilizan en la decodificación de dicha pastilla. En el mapa de
memoria se han marcado en negritas y entre ( ), las líneas correspondientes a cada una de
las pastillas utilizadas. Así en la memoria de 64K estas líneas son la A19, A18, A17 y A16.
En la memoria de 32K estas líneas son la A19, A18, A17, A16 y A15.
En las memorias de 8K estas líneas son la A19, A18, A17, A16, A15, A14 y A13.
49
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
La decodificación de las cuatro pastillas de memoria que constituyen el banco del Ejemplo
3-26 es mucho más sencilla si utilizamos un PAL, como se muestra en el Ejemplo 3-27
Ejemplo 3-27 Repita el diseño anterior pero utilice un PAL16V8 en lugar del 74x139.
a) Escriba el programa en VHDL para programar el 16V8. b) Dibuje el banco resultante
donde se muestre las conexiones del PAL y las pastillas de memoria.
Solución:
a) El programa en VHDL es el siguiente:
library IEEE ;
use IEEE.std_logic_1164.all ;
ENTITY ejem3_27 IS
50
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
PORT (
CS_L : in std_logic ;
A: in std_logic_vector (19 downto 13) ;
CS64K_L, CS32K_L, CS8K0_L, CS8K1_L : out std_logic
) ;
END ejem3_27 ;
C64K <= '0' when A(19 downto 16) = "1110" ELSE '1' ;
C32K <= '0' when A(19 downto 15) = "11110" ELSE '1' ;
C8K0 <= '0' when A = "1111100" ELSE '1' ;
C8K1 <= '0' when A = "1111101" ELSE '1' ;
end ejem3_27 ;
Messages:
Information: All signals pre-placed in user design.
51
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
C16V8A
__________________________________________
cs_l =| 1| |20|* not used
a_19 =| 2| |19|= cs64k_l
a_18 =| 3| |18|= cs32k_l
a_17 =| 4| |17|= cs8k0_l
a_16 =| 5| |16|= cs8k1_l
a_15 =| 6| |15|* not used
a_14 =| 7| |14|* not used
a_13 =| 8| |13|* not used
not used *| 9| |12|* not used
not used *|10| |11|* not used
__________________________________________
Summary:
Error Count = 0 Warning Count = 0
Completed Successfully
Information: Checking for duplicate NODE logic.
52
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Figura 3-27. Banco de 112Kx8 bit de memoria EPROM que utiliza un PAL16V8
programado como decodificador de memoria.
53
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
En Figura 3-28 se muestra la distribución de terminales de las cuatro EPROM últimas que
aparecen en la Tabla 3-10.
Figura 3-28. EPROM comerciales de 8Kx8, 16Kx8, 32Kx8 y 64Kx8 bit encapsuladas en
envases doble en línea de 28 terminales. Los terminales 14 y 28, no representados, son los
de alimentación.
54
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
tACS: Tiempo de acceso desde el “chip select”. Es el tiempo que debe transcurrir desde que
es activada la entrada de selección (CS_L), suponiendo que la dirección ya estaba estable,
para que el dato de salida sea válido.
tOZ : Tiempo para que la salida pase al tercer estado. Es el tiempo que debe transcurrir
desde que se desactiva CS_L o OE_L antes de que el bus de salida pase al tercer estado
tOE: Tiempo para que la salida salga del tercer estado. Es el tiempo que debe transcurrir
desde que se activa CS_L o OE_L, suponiendo que la otra señal ya estaba activada, antes
de que el bus de salida abandone el tercer estado.
tOH : Tiempo de sostenimiento del dato de salida. Es el tiempo que transcurre desde que la
dirección deja de ser estable antes de que deje de ser válido el dato de salida.
void PrintHexDigit(int d)
{
if (d<10) printf("%c", '0'+d);
else printf("%c", 'A'+d-10);
}
55
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
void main()
{
int x, y;
Después de compilar este programa se obtienen los resultados que se muestran debajo,
donde la columna de la izquierda ofrece la dirección de partida impuesta en el bus de
direcciones en cada fila y los números que siguen dan el resultado de la multiplicación de x
por y. Todas las cifras de la tabla están en el sistema numérico hexadecimal. Para
comprender el contenido de la tabla debe tenerse en cuenta que el valor de x en la primera
fila es x = 0, x = 1 en la segunda fila y así sucesivamente hasta llegar a x = 7 en la fila
inferior. Mientras que y = 0 en la primera columna, y = 1 en la segunda columna, y = 2 en
la tercera columna, y = 3 en la última columna. Por ejemplo el número 15, que aparece en
la fila inferior y la última columna es el resultado de multiplicar x = 7 por y = 3 o sea 21
en el sistema decimal que es, como sabemos, igual a 15 en el sistema numérico
hexadecimal.
00: 00 00 00 00
04: 00 01 02 03
08: 00 02 04 06
0C: 00 03 06 09
10: 00 04 08 0C
14: 00 05 0A 0F
18: 00 06 0C 12
1C: 00 07 0E 15
56
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Referencias.-
[1] J. F. Wakerly, Electronic Design: Principles and Practices, Third Edition, Prentice
Hall, New Jersey, 2000.
[2] J. F. Wakerly, Electronic Design: Principles and Practices, Second Edition, Prentice
Hall, New Jersey, 1994.
[4] www.fairchildsemi.com
[5] www.amd.com
Ejercicios.
3-1 Utilice VHDL y diseñe un decodificador binario de 2 a 4 líneas semejante al 74x139.
3-2 Utilice la Tabla 3-3 y compruebe que las ecuaciones de salida del decodificador
binario 74x138 son las siguientes:
3-4 Utilice la Figura 3-8 para dibujar los dígitos obtenidos en las salidas del decodificador
hexadecimal a siete segmentos y verifique que se corresponden con la palabra de entrada.
57
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
3-5 Escriba la tabla de la verdad para un decodificador BCD a siete segmentos para
lámparas cátodo común.
3-6 Utilice VHDL y diseñe un decodificador BCD a siete segmentos semejante al del
ejercicio anterior.
3-7 Escriba un programa en VHDL que permita obtener un decodificador para lámparas de
siete segmentos del tipo cátodo común. El decodificador debe tener una entrada adicional
de selección ,S, tal que cuando S = 0 el decodificador será BCD a siete segmentos y cuando
S = 1 el decodificador será hexadecimal a siete segmentos.
3-8 Repita el ejercicio anterior pero suponiendo que la lámpara es de ánodo común.
3-10 Repita el diseño anterior utilizando circuitos integrados de nivel de integración bajo
(74x00, 74x04, 74x10, 74x20 y 74x30). Compare ambas soluciones.
3-11 En el file de reporte obtenido al compilar el fichero ejem3_8 aparecen las siguientes
ecuaciones de diseño para el encoder sin prioridad de la Tabla 3-5:
Compruebe que ellas también son válidas. (Sugerencia: utilice los mapas de Karnaugh de
Y0 y Y1 y agrupe los ceros en lugar de los unos).
3-12 A partir de las ecuaciones de diseño obtenidas para el encoder de prioridad de cuatro
entradas dado en la Tabla 3-6, dibuje el circuito correspondiente y compárelo con el
circuito de la Figura 3-9.
3-14 Utilice el 74x151 y diseñe las funciones lógicas dadas en el Ejemplo 3-11. Compare
ambas soluciones.
3-15 Utilice el 74x151 y diseñe un CLC con una salida que será W = 0 cuando en sus
entradas exista cualquier número primo de cuatro bits .
3-16 Escriba un programa en VHDL que permita obtener un selector de datos semejante al
74x253.
58
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
3-17 Escriba un programa en VHDL que permita obtener un selector de datos semejante al
74x157.
3-18 Utilice los circuitos integrados 74x151, 74x139 y 74x20 y diseñe un selector
extendido a 32 entradas de datos.
3-19 Utilice los circuitos integrados 74x153 y 74x00 y diseñe un selector extendido de 8
entradas de datos.
3-20 Dibuje el circuito del Ejemplo 3-20 utilizando como compuertas sólo una pastilla
74x10. El resto de los CI son los mismos.
3-22 Repita el ejercicio anterior pero considerando que los circuitos integrados
disponibles son: ½ 74x139, un 74x151, un 74x04 y un 74x00. Enumere los
elementos que sobren.
3-24 Escriba en VHDL un programa para diseñar la función dada en el Ejercicio 3-21
W(n4,n3,n2,n1,n0) = ∑ (0,6,11,14,15,16,18,21,25,29,30)
3-25 Suponga que al escribirse la ecuación de diseño del Ejercicio 3-21 se cometió un error
y que la función correcta era realmente
W(n4,n3,n2,n1,n0) = ∑ (0,6,11,13,15,16,18,21,25,29,30)
Realice los cambios necesarios en el diseño del Ejercicio 3-21, del Ejercicio 3-23 y del
Ejercicio 3-24 para que el mismo corresponda a la función correcta. Compare la cantidad
de cambios realizados en cada uno de los casos y establezca un criterio sobre la
conveniencia de utilizar en el diseño digital los circuitos integrados de mayor nivel de
integración posible.
3-26 Dibuje la memoria ROM de la Figura 3-19 suponiendo que ha sido programada para
obtener el uno lógico en su bus de datos cuando en su bus de direcciones hay cualquier
número primo de cuatro bits. En cualquier otro caso la salida debe estar a nivel bajo.
Compare esta solución con la encontrada en el Ejemplo 1-13.
3-27 Repita el Ejemplo 3-25, suponiendo que el banco está ubicado en la parte alta del bus
de direcciones.
59
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
3-28 Utilice los circuitos integrados disponibles, 27256, ½ 74x139 y 1/3 74x10,
y diseñe un banco EPROM de 128Kx8 bit
a) Escriba el mapa de memoria. Suponga que el bus de direcciones del sistema es de
20 líneas y que el banco está situado en la parte alta de dicho bus.
b) Dibuje el banco resultante
3-29 Diseñe un banco EPROM de 160Kx8 bit. Circuitos integrados disponibles: 27256 y
un 74x138.
Escriba el mapa de memoria. Suponga que el banco está situado a partir de la
dirección 80000H y dibuje el banco resultante
3-30 Diseñe un banco EPROM de 56Kx8 bit. Utilice la menor cantidad posible de los
circuitos integrados disponibles. El banco debe ubicarse a partir de la dirección
F0000H. Escriba el mapa de memoria y dibuje el banco resultante. Circuitos
integrados disponibles: EPROM 27256, 27128, 2764 y decodificadores 74x139.
3-31 Repita el diseño del Ejercicio 3-30 pero utilice como decodificador de memoria un
PAL16V8. Escriba el programa correspondiente en VHDL. Compare ambas
soluciones.
3-32 ¿ Cuál es la capacidad mínima que debe tener una memoria ROM para poder
programar en la misma el producto de dos números binarios enteros de dos bit cada
uno? Explique.
3-33 Diseñe un banco de memoria EPROM de 100Kx8 bit utilizando la menor cantidad de
las memorias 27512, 27256, y 2732. El bus de direcciones del sistema es de 20
líneas y bus de datos tiene 8 líneas. Además de las memorias, dispone de cualquier
otro circuito integrado que necesite. Si utiliza un PAL tiene que escribir el programa
correspondiente en VHDL.
3-34 Diseñe, utilizando la menor cantidad posible de los circuitos integrados disponibles,
un CLC al que llegan números binarios enteros de cinco bits. El CLC tiene una salida
F que se activa a nivel alto cuando en las entradas exista cualquier número impar
mayor que 9. Las combinaciones del 4 al 8, ambas inclusive, nunca ocurren.
El CLC tiene también una entrada de habilitación, G, activa a nivel alto, que al
desactivarse pone en tercer estado la salida F.
Enumere la cantidad de los circuitos integrados utilizados de cada tipo y el total.
Circuitos integrados disponibles: 74x00, 74x04, 74x10, 74x20 74x30, 74x125 y
74x126.
3-35 Escriba un programa en VHDL para realizar el diseño del Ejercicio 3-34.
3-37 Repita el Ejercicio 3-30 suponiendo que el banco está ub icado en la parte alta del bus
de direcciones
60
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Indice general
Altera II-32
AMD III-57
América, La I-3
Ampere I-3
Ánodo común (Vea lámparas de siete segmentos)
Aviram, A. I-54
Azares estáticos I-50
61
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Algunos índices I-21
PAL CMOS II-6
ROM CMOS III-39
Codificadores III-15
.Con prioridad III-17
.Sin prioridad III-15
Códigos I-12
. ASCII I-13
. BCD Natural I-13
. Binario I-16
. Biquinario I-13
. Exceso Tres I-13
. Gray I-16
. Hamming de siete bits I-14
Compuertas lógicas: AND I-7
Buffer I-9
Drenaje abierto y colector abierto I-24
Entradas no utilizadas I-30
NAND I-9
NOT I-7
OR I-7
Schmitt trigger I-32
Tercer estado I-31
XNOR I-9
XOR I-9
Constante de tiempo I-19
Consumo de potencia I-32
CPLD II-12
.Arquitectura II-12
. Familia C370 II-13
. Familia XC9500 II-13
Encapsulado II-14
Macrocelda II-13
Cypress II-13, II-32
62
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Deeker, C I-33, I-54
Demultiplexer III-37
Diseño digital I-5, II-3
Dispositivos digitales I-7
Dispositivos lógicos programables (Vea PLD)
Domínguez, N. II-32
G
Gray (Vea códigos)
H
Hamming (Vea códigos)
Hernández, A II-32, III-57
HDL II-15
ABEL II-15
AHDL II-15
PALASM II-15
63
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
VERILOG II-15
VHDL II-15
Asignaciones condicionales II-20
Atributos II-31
Bibliotecas II-21
Componente II-22
Sintaxis II-22
Diseño jerárquico II-23
Estructura II-16
Arquitectura II-18
Sintaxis II-18
Entidad I-16
Sintaxis II-16
Modo de las señales I-17
Operadores II-20
aritméticos II-20
de concatenación II-20
de relación II-20
extensión (overload) II-22
lógicos II-20
Palabras reservadas II-37
Paquetes II-21
Sintaxis II-22
Tipo de las señales II-17
L
Lámparas de siete segmentos III-13
64
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Lattice Semiconductor II-14, II-32
Lenguajes de descripción de hardware (Vea HDL)
Lógica cableada I-23
Love, J.C. I-34, I-35, I-54
N
Nanoelectrónica I-5, I-33
Nomenc latura de los circuitos integrados digitales I-20
NOT (Vea compuertas)
65
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
PAL II-4
Diagrama lógico II-4
Estructura interna II-6
Programación II-6
Perdomo, J. L. II-32, III-57
Pérez, D. I-54
PLA II-3
PLD II-3
Postulados (Vea Álgebra de Conmutación)
Potencia (Vea consumo de potencia)
PROM (Vea memorias ROM)
Puertas (Vea compuertas)
66
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
Símbolos equivalentes de las compuertas I-36
Simplificación de funciones lógicas (Vea Álgebra de Conmutación)
Sistemas numéricos I-11
Sistema Binario I-11
Sistema Decimal I-11
Sistema Hexadecimal I-11
Sistema Octal I-12
Sitios Web (Vea Web)
Std_logic II-17
Std_logic_vector II-17
Tans, S. J. I-54
Teoremas (Vea Algebra de Conmutación)
Varela, F. I-2
VERILOG (Vea HDL)
VHDL (Vea HDL)
Verschueren, A.R.M. I-54
W
Wakerly, J. F. I-54, II-32, III-57
Web
www.altera.com II-32
www.amd.com III-57
www.cypress.com II-32
www.fairchildsemi.com III-57
www.latticesemi.com II-32
www.mitre.org/research/nanotech/MITREnano group.html I-54
www.xilinx.com II-32
67
Introducción al Diseño Digital de Circuitos Lógicos Combinacionales
Autor: Dr. Alberto Hernández Pérez, Profesor Consultante, CIME, CUJAE
Capítulo 3.
68