UNIDAD III Electrónica Digital

Anuncio
UNIDAD III Electrónica Digital
OBJETIVOS PARTICULARES DE LA UNIDAD
Al término de la unidad, el alumno:
- Determinará los aspectos básicos de la implementación teórica en dispositivos
electrónicos, partiendo de los elementos mínimos bit-transistor, base del
estado sólido.
3.1 Electrónica Digital.
Son circuitos electrónicos que llevan a cabo las operaciones necesarias para
obtener las decisiones lógicas.
En la tabla 3.1 se muestran los símbolos de empleados en las normas
americanas y en las normas Europeas para representar las compuertas más
comunes:
TABLA No 3.1 Simbolos de compuertas más comúnmente empleadas
Símbolo americano
Símbolo Europeo
AND
AND
NAND
NAND
OR
OR
NOR
O
exclusiva
NOR
O
exclusiva
Y
exclusiva
Realiza
funciones
de AND y NAND
Inversor
Diferencial
Puerta
triestado
Realiza
funciones
de OR y NOR
Inversor
Inversor
schmitt
Buffer
Buffer
triestado
Buffer
negado
Driver
3.2 Circuitos combinacionales.
Circuito combinacional
Un circuito combinacional es un circuito cuya salida es función exclusivamente
del estado del valor lógico de sus entradas. Está compuesto por compuertas
lógicas y no deben presenta realimentación, es decir, ninguna salida de ningún
componente debe usarse como entrada del circuito. Se diseña atendiendo a las
reglas de lógica combinacional. Un circuito combinacional puede describirse
utilizando una fórmula con álgebra de Boole en la que las salidas sean
dependientes solamente de las entradas.
Existen muchos circuitos combinacionales típicos. Algunos de ellos son:

Codificadores: Convierten una señal binaria en otra señal binaria de
distintas características.

Multiplexores y Demultiplexores: Seleccionan una salida entre varias
señales de entrada o al contrario, de una señal de entrada se obtienen
varias salidas.

Comparadores: comparan 2 números en código binario.

Unidades aritméticas: suman, restan, multiplican, números binarios.
En los siguientes apartados se presentan estos circuitos con mayor detalle
3.2.1 Familias de circuitos lógicos.
Familia TTL (Lógica de Transistor - Transistor)
Esta fue la primera familia de éxito comercial, se utilizó entre 1965 y 1985. Los
circuitos TTL utilizan transistores bipolares y algunas resistencias de
polarización. La tensión nominal de alimentación de los circuitos TTL son 5 V
DC.
Niveles Lógicos TTL
En el estudio de los circuitos lógicos, existen cuatro especificaciones lógicos
diferentes: VIL, VIH, VOL y VOH.
En los circuitos TTL, VIL es la tensión de entrada válida para el rango 0 a 0.8 V
que representa un nivel lógico 0 (BAJO). El rango de tensión VIH representa la
tensiones válidas de un 1 lógico entre 2 y 5 V. El rango de valores 0.8 a 2 V
determinan un funcionamiento no predecible, por la tanto estos valores no son
permitidos. El rango de tensiones de salida VOL, VOH se muestra en la figura
Figura 3.1Nivel lógico de entrada de un circuito TTL
Circuitos Lógicos CMOS (Metal Óxido Semiconductor Complementario)
La tecnología CMOS es la más utilizada actualmente para la construcción de
circuitos integrados digitales, como las compuertas, hasta los circuitos como las
memorias y los microprocesadores. La tensión nominal de alimentación de los
circuitos CMOS son +5 V y +3,3 V.
Niveles Lógicos CMOS
En la figura 3.2 se muestran las tensiones VIL, VIH, VOL, VOH válidas para los
dispositivos CMOS de nivel +5 VDC.
figura 3.2 Nivel Lógico de Entrada de un circuito CMOS +5 V
Familias lógicas
Los circuitos digitales emplean componentes encapsulados, los cuales pueden
albergar puertas lógicas o circuitos lógicos más complejos.
Estos componentes están estandarizados, para que haya una compatibilidad
entre fabricantes, de forma que las características más importantes sean
comunes. De forma global los componentes lógicos se engloban dentro de una
de las dos familias siguientes:
TTL: diseñada para una alta velocidad.
CMOS: diseñada para un bajo consumo.
Actualmente dentro de estas dos familias se han creado otras, que intentan
conseguir lo mejor de ambas: un bajo consumo y una alta velocidad.
Tabla 3.2 Comparación de las familias
TTL
Schottky de
baja
potencia
(LS)
Fairchild
4000B
CMOS (con
Vcc=5V)
Fairchild
4000B CMOS
(con
Vcc=10V)
5 ns
40 ns
20 ns
PARAMETRO
TTL
TTL
estándar 74L
Tiempo de
propagación
10 ns
33
ns
Frecuencia
máxima de
funcionamiento
35 MHz
3
45 MHz
MHz
8 MHz
16 MHz
Potencia disipada 10 mW
1
mW
2 mW
10 nW
10 nW
Margen de ruido
admisible
1V
1V
0'8 V
2V
4V
Fan out
10
10
20
50 (*)
50 (*)
(*) O lo que permita el tiempo de propagación admisible
Dentro de la familia TTL encontramos las siguiente sub-familias:




L: Low power = disipación de potencia muy baja
LS: Low power Schottky = disipación y tiempo de propagación pequeño.
S: Schottky = disipación normal y tiempo de propagación pequeño.
AS: Advanced Schottky = disipación normal y tiempo de propagación
extremadamente pequeño.
TENSION DE ALIMENTACION
CMOS: 5 a 15 V (dependiendo de la tensión tendremos un tiempo de
propagación).
TTL: 5 V.
Parámetros de compuerta
Las compuertas lógicas no son dispositivos ideales, por lo que vamos a tener
una serie de limitaciones impuestas por el propio diseño interno de los
dispositivos lógicos. Internamente la familia TTL emplea transistores bipolares ,
por lo que tienen mayor consumo de potencia, mientras que la familia CMOS
emplea transistores MOS por lo que presentan bajo consumo de potencia).
MARGEN DEL CERO
Es el rango de tensiones de entrada en que se considera un cero lógico:
VIL máx: tensión máxima que se admite como cero lógico.
VIL mín: tensión mínima que se admite como cero lógico.
MARGEN DEL UNO
Es el rango de tensiones de entrada en que se considera un uno lógico:
VIH máx: tensión máxima que se admite como uno lógico.
VIH mín: tensión mínima que se admite como uno lógico.
MARGEN DE TRANSICION
Se corresponde con el rango de tensiones en que la entrada es indeterminada y
puede ser tomada como un uno o un cero. Esta zona no debe ser empleada
nunca, ya que la puerta se comporta de forma incorrecta.
MT = VIH mín - VIL máx
AMPLITUD LOGICA
Debido a que dos puertas de la misma familia no suelen tener las mismas
características debemos emplear los valores extremos que tengamos, utilizando
el valor de VIL máx más bajo y el valor de VIH mín más alto.
AL máx: VH máx - VL mín
AL mín: VH mín - VL máx
RUIDO
El ruido es el elemento más común que puede hacer que nuestro circuito no
funcione habiendo sido diseñado perfectamente. El ruido puede ser inherente al
propio circuito (como consecuencia de proximidad entre pistas o capacidades
internas) o también como consecuencia de ruido exterior (el propio de un
ambiente industrial).
Si trabajamos muy cerca de los límites impuestos por VIH y VIL puede que el
ruido impida el correcto funcionamiento del circuito. Por ello debemos trabajar
teniendo en cuenta un margen de ruido:
VMH (margen de ruido a nivel alto) = VOH mín - VIH mín
VML (margen de ruido a nivel bajo) = VIL máx - VOL máx
VOH y VOL son los niveles de tensión del uno y el cero respectivamente para la
salida de la puerta lógica.
Supongamos que trabajamos a un nivel bajo de VOL = 0'4 V con VIL máx = 0'8
V. En estas condiciones tendremos un margen de ruido para nivel bajo de:
VML = 0'8 - 0'4 = 0'4 V
FAN OUT
Es el máximo número de puertas que podemos excitar sin salirnos de los
márgenes garantizados por el fabricante. Nos asegura que en la entrada de las
puertas excitadas:
VOH es mayor que VOH mín
VOL es menor que VOL mín
Para el caso en que el FAN OUT sea diferente a nivel bajo y a nivel alto,
escogeremos el FAN OUT más bajo para nuestros diseños.
Si además nos encontramos con que el fabricante no nos proporciona el FAN
OUT podemos calcularlo como:
FAN OUT = IOL máx / IIL máx
Donde IOL e IIL son las corrientes de salida y entrada mínimas de puerta.
POTENCIA DISIPADA
Es la media de potencia disipada a nivel alto y bajo. Se traduce en la potencia
media que la puerta va a consumir.
TIEMPOS DE PROPAGACION
Definimos como tiempo de propagación el tiempo transcurrido desde que la
señal de entrada pasa por un determinado valor hasta que la salida reacciona a
dicho valor.
vamos a tener dos tiempos de propagación:
Tphl = tiempo de paso de nivel alto a bajo.
Tplh = tiempo de paso de nivel bajo a alto.
Como norma se suele emplear el tiempo medio de propagación, que se calcula
como:
Tpd = (Tphl + Tplh)/2
FRECUENCIA MAXIMA DE FUNCIONAMIENTO
Se define como:
Fmáx = 1 / (4 * Tpd)
3.2.2 Conmutadores lógicos.
Los conmutadores lógicos o más comúnmente llamados compuertas lógicas
son dispositivos o circuitos electrónicos que permiten implementar las
operaciones lógicas AND, OR Y NOT. En lo general con base a estos circuitos
simples se construyen todas las compuertas que existen en el mercado y cuyos
símbolos se muestran en la tabla 2. En teoría se pueden construir cualquier
circuito lógico solamente con estas tres compuertas, obviamente dependiendo
de la complejidad del circuito a implementar, puede resultar prácticamente
incosteable hacerlo solo con estas compuertas por el tamaño y gran posibilidad
de fallas. La tecnología actual permite que en un solo circuito integrado fabricar
una gran cantidad de compuertas, que por el número de ellas se les conocen
como de baja (SSI), media (MSI) y alta (LSI) integracion
3.2.3 Integración de compuertas.
Los circuitos para las compuertas lógicas actualmente se fabrican para realizar
desde funciones lógicas básicas AND, OR, NOT (SSI) , hasta aplicaciones muy
complejas, (LSI) como son los dispositivos de lógica programable, memorias,
microprocesadores, pasando por circuitos con funciones lógicas especificas
(MSI) como son codificadores, decodificadores , multiplexores, demultiplexores,
contadores, etc.
3.2.4 Codificadores y decodificadores
Codificador
En general, se puede decir que un codificador es un circuito hecho para pasar
información de un sistema a otro con clave diferente,
. En otras palabras, es un circuito integrado por un conjunto de componentes
electrónicos con la habilidad para mostrar en sus terminales de salida una
palabra binaria ( word binario 01101, 1100, etc.), equivalente al número presente
en sus entradas, pero escrito en un código diferente. Por ejemplo, un codificador
de Octal a Binario es un circuito codificador con ocho entradas (un terminal para
cada dígito Octal, o de base 8) y tres salidas (un terminal para cada bit binario).
Otro ejemplo es el codificador de teclado (Keyword encoder) que convierte la
posición de cada tecla (9, 3, . 5, + , %, etc.) en su correspondiente palabra
binaria (word) asignada previamente.
Un ejemplo de lo anterior es el teclado codificador en ASCII (American Standard
Code for Information Interchange), que genera lapalabra de 7 bits 0100101
cuando es presionada la tecla del porcentaje (%).
Decodificador
El decodificador es un circuito combinacional diseñado para convertir un número
binario a un orden distinto, para ejecutar un trabajo especial.
Esto es , la palabra binaria que sale, tiene un formato diferente, a la palabra
que entró, aunque tenga la misma cantidad de bits.
Ejemplo 34
El circuito lógico que convierte una entrada en código binario BCD a decimal
Figura ejemplo 35 decodificador BCD a decimal
En Electrónica Digital es a menudo necesario pasar un número binario a otro
formato, tal como el requerido para energizar los siete segmentos de los
“display” hechos con diodos emisores de luz, en el orden adecuado para que se
ilumine la figura de un número decimal en particular..
Ejemplo. 36
El circuito que convierte una entrada en codigo BCD a un formato de salida para
manejar un display de 7 segmentos se muestra en su tabla de verdad y
esquema de la compuerta 74HC42.
Figura ejemplo 36.- Decodificador BCD a 7 segmentos
Los decodificadores son también usados en los microprocesadores para
convertir instrucciones binarias en señales de tiempo, para controlar máquinas
en procesos industriales o implementar circuitos lógicos avanzados
3.2.5 Multiplexores y demultiplexores.
Multiplexor
El multiplexor es el equivalente lógico digital de un interruptor giratorio de varias
posiciones, tal como la llave que sirve para seleccionar las bandas de un
receptor de radio.
Un multiplexor típico en circuitos integrados es aquel que puede seleccionar
cualquiera de varias líneas de entrada y comunicar a una línea común de salida
el nivel lógico que allí encuentre.
Mediante unas líneas auxiliares de control binario se le puede "direccionar" para
que se "estacione" en determinada línea de entrada de datos (la primera, la
quinta, séptima, etc.) con el fin de que aquellos sean comunicados a la línea de
salida.
Un integrado multiplexor común tiene 8 entradas de datos (bits), tres entradas
direccionadas (address) y una sola línea para salida de datos. Cuando la
dirección 101 -leer "uno- cero - uno" - es aplicada al multiplexor, la entrada 5 es
"comunicada" con la salida.
Una aplicación muy importante es la facilidad de implementar una función lógica
usando un multiplexo.
Ejemplo 36 a
Implementar la función lógica Q = x’y’z +x’yz’+xyz’+xyz usando un circuito
multiplexor.
SOLUCION
Q (xyz) = x’y’z +x’yz’+xyz’+xyz = ∑(1,2,6,7)
Se emplea un multiplexor de 4 a 1 es decir 4 entradas (E0, E1, E2, E3) a una
salida F, este circuito tiene entonces dos lineas de entrada de control S0 y S1
Conviene tener en cuenta que el circuito funciona de la siguiente manera: si la
entradas S0 y S1 son 0 0 a la salida estará el valor de la entrada E0, de igual
forma si S0 y S1 están con el valor 0 1 a la salida tendremos E1, y asi
sucesivamente.
Procedemos de la siguiente forma
Las dos primeras dos variables x, y se aplican a las lineas de control en ese
orden, x a entrada S1, y y a entrada S0. Los valores de las lineas de entrada E0, a
E3 se deducen de la tabla de verdad de la función.(Ver figura 36 a de tabla de
verdad) Cuando A B valen 0 0 a la salida deberá estar el valor F igual a E 0=0,
por lo tanto a la entrada E0 pondremos el valor lógico de z. cuando A B valen 0 1
a la salida deberá estar el valor F igual a E1=z’, por lo tanto a la entrada E1
conectamos el valor de z’. cuando A B valen 1 0 el valor de F deberá ser 0 por lo
que conectamos en E2, el valor lógico de 0 y finalmente si A B valen 11, F sera
tanbien igual a 1 , por lo que nuevamente conectamos 1 a la entrada E 3
.Con esto ya se tiene el circuito que se muestra en la figura ejemplo 36
implementacion con multiplexor.
Con este ejemplo se muestra la ventaja de que una función lógica de tres
variables se puede implementar con una sola compuerta multiplexora y una
compuerta inversora sin necesidad de reducir el circuito.
En general se puede implementar cualquier función de n variables con un
multiplexor de n-1 entradas de selección y 2n-1 entradas de datos.
Ejemplo 36b
Implementar con multiplexor la función
F(ABCD) = ∑(1,3,4,11,12,13,14,15)
Solucion.
Se tiene una función con n = 4 variables, por tanto se requiere un multiplexor de
8 X 1, ocho entradas de datos por una salida, el cual tendrá 3 entradas de
control
A las entradas de control S2, S1, S0 les asignamos, el valor A,B,C
respectivamente, y a las 8 entradas (E0, E1, E2, E3 ,E4, E5, E6, E7) los que se
deducen de los valores que se muestran en la tabla de verdad de la figura
ejemplo 36b.
Figura del ejemplo 36b Implementacion de una función de 4 variables
F(ABCD) = ∑(1,3,4,11,12,13,14,15)
Aprovechando el fenómeno conocido como "persistencia visual", se emplean
con mucha frecuencia circuitos multiplexor en el manejo de los visualizadores
numéricos de las calculadoras y relojes electrónicos portátiles, ya que así se
logra disminuir el consumo de corriente y la cantidad de pines (patas) que
deberían llegar hasta el circuito activador.
Por ejemplo, un display estático de 3 dígitos LED de 7 segmentos, tiene en total
24 pines (8 por cada dígito) y un consumo de corriente igual a la suma de lo
gastado por cada segmento activado. En el mismo caso, un display dinámico
(multiplexado) tiene solamente 10 pines (7 líneas que unen en paralelo los
correspondientes segmentos en cada dígito, y 3 líneas de salida individual por
dígito (el cátodo o el ánodo común, según sea la polaridad del display). El
consumo total de corriente para iluminar digamos el 888 sería aproximadamente
igual al gastado por un sólo dígito en la forma estática.
Debido a la "persistencia visual" en nuestros ojos, es posible multiplexor los tres
dígitos del display para que enciendan y apaguen sucesivamente en forma
escalonada, sin que notemos parpadeo y dé la sensación de estar
continuamente iluminados. Primero uno, luego el otro, y así sucesivamente
hasta que le toca repetir al que inició el ciclo; a las veces que les toca repetir su
encendido por cada segundo de tiempo, se les denomina RATA DE
REPETICION o cantidad de CUADROS. Igual que en televisión, la rata no debe
ser menor a 30 cuadros por segundo, pero se permite aumentar esta cifra hasta
donde lo permitan los tiempos de propagación de las compuertas empleadas en
la integración del multiplexor.
Demultiplexor
El demultiplexor funciona de manera contraria al multiplexor: tiene una sola línea
para entrada de datos y dos o más salidas seleccionables. Tal como ocurre con
el multiplexor, un conjunto de terminales de entrada conocidos como "address"
direcciona o escoge la salida.
El address necesita una cantidad de terminales suficientes para recibir la
cantidad de bits que conforman el número binario equivalente al máximo de
salidas.
Así, por ejemplo, un demultiplexor de 1 línea a 8 líneas, requiere tres bits para
poder "llevar" la entrada hasta la salida octava (address 111 es el número
binario equivalente al decimal 7, pero corresponde a la posición octava por tener
en cuenta que el 000 es la posición primera).
Los dDeMUX se utilizan también como decodificadores de binario a un solo nivel
de salida, tal como los decodificadores BINARIO a DECIMAL, o BINARIO a
HEXADECIMAL: colocando un número binario en sus entradas de
datos(address), se obtiene un estado distinto en la salida correspondiente. en
otras palabras, colocando mediante un decodificador BCD un cierto número en
los terminales de entrada, digamos 0101, podremos hacer que la salida sexta
pase a nivel bajo, lógico "0
Una aplicación muy importante es la facilidad de implementar una o mas
funciónes lógicas usando un solo demultiplexor
.
Ejemplo 37 Implementar la función lógica
Q (XYZ) = ∑(3,5,6,)
y F(XYZ) = ∑(5,7)
Teniendo presente que un multiplexor, por ejemplo de 8 salidas, el cual requiere
de 3 lineas de “adress” o de control de direccionamiento, y que el valor de estas
definen el valor de salida. Esto es, si en la entrada esta el valor de 000 a la
salida estará activo el valor en Y0, si fuese 011, a la salida estará activo el valor
de Y3 y así sucesivamente.
Solución.
Se asigna el valor de las variables XYZ a las entradas de direccionamiento en el
mismo orden de peso. Esto es, asignamos X a E2, Y a E1, y Z a E0 y para
implementar el circuito basta con sumar lógicamente los miniterminos presentes
en la función booleana para Q y para F respectivamente.
Figura 1 para el ejemplo 37b Implementacion de una función con
demultiplexores.
Cabe señalar que si se usa una compuerta comercial por ejemplo la 74138 el
peso de las entradas de direccionamiento son CBA en este orden y ademas se
debe de tener en cuenta que cuando su salida es activa presenta el valor de 0.
Por lo que para hacer la suma lógica de los miniterminos se debera usar una
compuerta NAND.
Se deja al lector realizar el diagrama esquematico de la solucion..
Ejemplo 37
Se muestra una relación de las compuertas TTL más comúnmente usadas
NAND
7400 CUADRUPLE DE 2 ENTRADAS
7410 TRIPLE DE 3 ENTRADAS
7420 DUAL DE 4 ENTRADAS
7430 UNA DE 8 ENTRADAS
AND
7408 CUADRUPLE DE 2 ENTRADAS
NOR
7402 CUADRUPLE DE 2 ENTRADAS
7427 TRIPLE DE 3 ENTRADAS
OR
7432 CUADRUPLE DE 2 ENTRADAS
NOT O INVERSOR
7404 SEXTUPLE
CODIFICADORES
74185 BINARIO A BCD
DECODIFICADOR
7446 BCD A 7 SEGMENTOS COMUN A POSITIVO +
7448 BCD A 7 SEGMENTOS COMUN A NEGATIVO 74145 BCD A DECIMAL
74138 UNA 3 ENTRADAS A 8 SALIDAS
74139 DUAL 2 ENTRADAS A 4 SALIDAS
FLIP-FLOP
7474 DOBLE TIPO D, CON SET/RESET
7476 DOBLE TIPO JK CON SET/RESET
CONPARADOR
7485 DE 4 BITS
74521 DE 8 BITS
REGISTROS
7491 REGISTRO DE DESPLAZAMIENTO SERIE DE 8 BITS
7495 REGISTRO DE DESPLAZAMIENTO PARALELO DE 4 BITS
74194 REGISTRO UNIVERSAL DE 4 BITS
CONTADORES
7492 CONTADOR DECIMAL “UP/ DOWN” PROGRAMABLE
7493 CONTADOR BINARIO “UP/DOWN” PROGRAMABLE
ARITMETICO
7483 SUMADOR COMPLETO DE 4 BITS
74181 ALU DE 4 BITS
3.2.6 Flip-flops, relojes, registros, contadores
A los circuitos que son capaces de tener dos estados estables, los cuales se
generan según sea el valor de las entradas de excitación se les conoce como
Flip-Flops, estos circuitos como se vera mas adelante son fundamentales para
realizar circuitos secuénciales los cuales a su vez son la base para la
construcción de circuitos de las computadoras.
En este apartado se muestra la construcción de los circuitos con compuertas y
sus aplicaciones se veran más adelante.
Flip-Flops
Para un mismo FLIP-FLOP existen dos tipos de circuitos, según sea su
respuesta.
Flip-Flop ,estos responden una señal de reloj durante los cambios de 1 a 0
lógico o de 0 a 1 lógico,según sea respuesta por flanco de subida o de
bajada respectivamente, notar que se dice solo responde al momento del
cambio
Flip-flop de cerrojo ( latch ) o asincronos los que su salidas responden a una
señal de relog durante todo el tiempo que permanesca el 0 o 1 lógico en
sus entradas.
Flip-Flop S-R (Set-Reset)
Este dispositivo es similar al cerrojo S-R, la diferencia radica en la inclusión de
una señal de reloj, que actúa como señal de confirmación del paso de los datos
hacia el circuito principal, el cuál se encarga de memorizar los datos. Su
representación en los sistemas digitales es la que se muestra en la figura
Este tipo de flip-flop no es muy comercial así que no se darán mas detalles
sobre este dispositivo en este apartado.
figura 3.3 Flip-flop S-R
Flip-Flop D (Data)
El flip-flop D es muy similar al cerrojo D, y su diferencia radica en que la señal
habilitadora (enable) es reemplazada por el mecanismo del flip-flop
maestro/esclavo, el cual actualiza los datos cada vez que la señal de reloj tiene
una transición de 0 a 1 o 1 a 0 dependiendo del tipo de flip-flop. La estructura del
flip-flop D y su representación simplificada se muestran en la figura
figura 3.4 Flip-flop D
La tabla 3.3 es la tabla de verdad de exitacion de este flip-flop, la cual indica que
el valor de la entrada D se trasfiere a la salida cuando ocurre un pulso de reloj.
D CLK Qi+1
0
↑
0
1
↑
1
Tabla 3.3 Tabla de excitación del flip-flop D
La forma de operación de este flip-flop es muy sencilla:
o
o
Cuando D=0 y se presenta un cambio de 0 a 1 lógico
en la entrada de reloj del flip-flop la salida Q=0.
Cuando D=1 y se presenta un cambio de 0 a 1 lógico
en la entrada de reloj del flip-flop la salida Q=1.
En otras palabras, el dato en D se transfiere y memoriza en Q cada vez que se
presenta una transición de 0 a 1 lógico en la señal de reloj (CLK); esta condición
se conoce con el nombre de transición por flanco positivo.
La condición complementaria a la anterior es cuando la transición es de 1 a 0
lógico, en este caso se dice que la transición se da por flanco negativo.
A este flip-flop tipo D, también se le denomina Espejo pues la salida es el reflejo
de la entrada.
Flip-Flop D Preset-Clear
Este flip-flop es similar al flip-flop D, excepto que este tiene dos entradas
asincrónicas activadas en bajo llamadas Preset y Clear. Estas entradas como su
nombre lo indican sirven respectivamante para poner en 1 y 0 la salida Q del flipflop independientemente de la señal de reloj. La configuración de este flip-flop y
su representación abreviada se describen en la figura 3.5.
figura 3.5 Flip-flop D Preset-Clear
La gran parte de los Circuitos Integrados que contienen flip-flops vienen con
entradas asíncrónicas de inicialización y borrado (Preset y Clear), comunmente
representados con las abreviaturas PRE y CLR.
Flip-Flop J-K
Este flip-flop es una versión modificada del flip-flop D, y su aplicación es muy
difundida en el Análisis y Diseño de Circuitos Secuenciales. El funcionamiento
de este dispositivo es similar al flip-flop S-R, excepto que en este no se
presentan indeterminaciones cuando sus dos entradas se encuentran en 1
lógico, si no que el flip-flop entra en un modo de funcionamiento llamado modo
complemento, en el cual, la salida Q cambia a su estado complementario
después de cada pulso de reloj. La configuración de este flip-flop y su
representación abreviada se muestran en la figura 3.6. y en la tabla 3.4 se
indican la tabla de exitacion de entrada y salida de este flip-flop.
figura 3.6 Representación del flip-flop J-K
Note que las entradas J y K controlan el estado de este flip-flop de la misma
manera que en el flip-flop D. Cuando las entradas son J=1 y K=1 no generan un
estado indeterminado a la salida, sino que hace que la salida del flip-flop cambie
a su estado complementario.
J K CLK
Qi+1
0 0
↑
Qi
1 0
↑
1
0 1
↑
0
1 1
↑
Q i'
Tabla 3.4Estados del flip-flop J-K
Flip-Flop T (Toggle)
Este flip-flop recibe su nombre por la función que realiza (Toggle) cambiando el
estado de la salida por su complemento. Es una modificación del flip-flop J-K
limitándolo a cumplir exclusivamente esta función, la cual se logra uniendo las
terminales J y K como se muestra en la figura 5.5.7.
figura 3.7 flip-flop tipo T
La tabla de verdad de este flip-flop se limita a las líneas 1 y 4 del flip-flop J-K.
Ejercicio 7
Se deja al estudiante hacer una investigación sobre las Compuertas comerciales
Que existen en el mercado nacional.
La principal aplicación de los flip-flop es en los circuitos secuenciales y por su
importancia, para su estudio se asigna la unidad IV que se estudiara mas
adelante.
Circuitos Integrados para Relojes
Como hemos señalado los flip-flops necesitan recibir una señal de reloj para
poder cumplir su función en los circuitos secuenciales. Los circuitos mas
conocidos para desempeñar la función de reloj son los llamados osciladores o
generadores de pulso.
Los osciladores son circuitos que cambian el estado de sus salidas
permanentemente entre dos estados lógicos (1 lógico y 0 lógico). Por esta razón
estos circuitos son útiles para generar señales de reloj para los circuitos
secuenciales sincrónos.
Existen varios osciladores que se pueden construir para generar señales de
reloj, mediante el uso resistencias, condensadores, inversores y compuertas. En
la Figura 3.8 se observan algunas configuraciones que se pueden implementar
haciendo uso de estos elementos. El esquema de la figura 3.8 (a), es un circuito
generador de pulsos sin rebote y opera de forma manual. En la posición (1) la
salida será 0 lógico y cuando el interruptor se ubica en la posición (2) la salida es
1 lógico.
En las figuras (b) y (c) se muestran dos circuitos generadores de pulso que se
pueden implementar usando inversores y compuertas. La frecuencia de
oscilación depende básicamente de los valores de la resistencia y el
condensador.
Para este tipo de circuitos se recomienda el uso de circuitos CMOS de la serie
B, ya que estos tienen tiempos de conmutación menores.
figura 3.8 Circuitos generadores de relog
A continuación se estudiaran dos tipos de osciladores cuyo uso es muy difundido
en Electrónica Digital. Se mencionaran los aspectos básicos sobre su montaje
sin tratar de explicar su funcionamiento, dejando como ejercició para el
estudiante analizar su operación.
Oscilador con Disparador de Schmitt
En la Figura 3.9 se observa la configuración de este oscilador. La salida V o es
una onda aproximadamente cuadrada y su forma depende de los valores de R y
C. En la Tabla 3.5 se observa la relación entre los valores de R y C con la
frecuencia para tres tipos de integrados con inversores tipo Schmitt, junto con
los rangos de valores que debe tener R para que el circuito oscile.
figura 3.9 Oscilador con disparador de Schmitt
Integrado Frecuencia Valor de R
7414
0.8/RC
74LS14
0.8/RC
74HC14
1.2/RC
R 500
Tabla 3.5 Frecuencia de oscilación según R y C
Es importante señalar que la estabilidad en el funcionamiento de estos circuitos
en lo que se refiere a mantener la frecuencia de salida es no mejor de un 10%,
por lo que en la practica se usan solamente si en la aplicación especifica no se
ve afectada por esta limitacion.
Ejemplo.39 – 1 Cual es la frecuencia de operación para un circuito de reloj
como se muestra en la figura 3.9 oscilador con disparador de Smith si C = .01 µF
y R = 500 ohms y se usa la compuerta 74LS14
Solucion:
F = 0.8/RC = 0.8 / (500 X .01 X 10-6 ) = 0.8 / 5 X 10-6 = 0.16 X 106 = 160 Khz
En la practica este valor podrá estar en 160 ± 16 Khz.
Se deja al estudiante corroborar o desmentir esta afirmación.
Multivibrador astable con CI-555
El CI-555 es un dispositivo de tecnología TTL que funciona de varios modos. En
la Figura 3.10 observamos la manera de conectar los componentes al Circuito
Integrado de forma que opere como un Multivibrador Astable. La frecuencia de
oscilación de la señal de salida depende de los valores de las resistencias RA,
RB y C.
figura 3.10 Multivibrador astable con CI-555
La señal de salida de este circuito es una onda cuadrada de las características
que se indican en la Figura 3.11, donde los tiempos t1 y t2 están dados por las
siguientes expresiones:
figura 3.11 Señal de salida del CI-555
El periodo y al frecuencia de esta señal están dados por:
Para que el circuito oscile es necesario que se se cumplan ciertos rangos para
los valores de las resistencias y el condensador, los cuales se relacionan a
continuación.
Es de observarse que este circuito 555 es muy versátil tiene una infinidad de
aplicaciones, se deja al estudiante hacer una investigación documental acerca
de cuales podrían ser.
Ejemplo 39 – 2 de aplicacion
Diseñar un circuito de relog para una frecuencia de 5 Hz. Con 3 ciclos en valor
alto y 2 ciclos en valor bajo.
Solucion
Ttotal = t1 + t2 = 5
t1 = 0.693 RB x C = 2
y
t2 = 0.693 (R1 + R2) C = 3
Sea RB = 10 000 ohms
→ C = 2 / 0.693 RB = 2 / 0.639 X 10 000 = 3.13 x 10 -4 = .0313 µF
para el calculo de RA
t2 = 0.693 (RA + 10 000) X 3.13 x 10 -4 = (R1 + 10 000) X 2.17 x 10 -4 = 3
→ R1 = (3 – 2.17 x 10 -4 x 10 000) / ( 2.17 x 10 -4) = 0.83/2.17 x 10 -4 = 3,824.88
los valores serán:
→ R1 = 3,824.88 → 3.8 Kohms
R2 = 10 000 → 10K
C = 0.313 µF
Figura para el ejemplo 39
Registros
Son dispositivos para el almacenamiento, o manipulación de información binaria
Existen diversos tipos de registros, dependiendo de la función que desarrollen:
- Registros de almacenamiento simple. Su función es básicamente la de
almacenar una información.
- Registros de conversión serie-paralelo. Son registros que realizan la
conversión de la información que accede a ellos en serie, a un formato en
paralelo.
- Registros conversión paralelo-serie. Son registros que realizan la función
inversa a los anteriores, es decir, a la información que accede a ellos en
paralelo, le dan formato serie.
- Registros de desplazamiento. Son registros que permiten el desplazamiento de
la información que almacenan. También suelen servir para las funciones
anteriores.
Registros de desplazamiento
Los registros de desplazamiento realizan fundamentalmente dos funciones :
rotaciones, y aplazamientos propiarnente dichos.
- ROTACIONES. Pueden ser a la derecha o la izquierda. Se realizan en bucle
cerrado y se pueden utilizar para analizar el estado de un bit que forma parte de
una información, y cuyo acceso solo es posible en una posición determinada.
Los registros que realizan esta operación se denominan registros en anillo (un
caso particular es el de los contadores en anillo, cuando aprovechamos el
desplazamiento para realizar una cuenta).
Vamos a ver los diversos tipos de rotación.
Rotación a la izquierda (ROL). Veamos aplicándolo a un acumulador del
microprocesador 6800 (tiene registros de 8 bits, y los testea a través de un
biestable C).
figura 3.12 Rotación a la izquierda
Después de ocho desplazamientos, todos los bits, que conforman el contenido
del AccA, pueden ser muestreados cuando pasan por "C" (acarreo).
Rotación a la derecha (ROR). En este caso la rotación se hace a derechas.
Siguiendo con cl ejemplo anterior, tenemos:
figura 3.13 Rotación a la derecha
Nuevamente, después de ocho desplazamientos todos los bits, que conformam
el contenido del AccA, pueden ser muestreados cuando pasan por "C".
- DESPLAZAMIENTOS. Tenemos dos tipos de desplazamientos: el lógico y el
aritmético, según se vean o no implicados elementos ajenos al propio registro.
Vamos a ver algunos tipos de desplazamientos:
Desplazamiento aritmético a la izquierda (ASL). Básicamente realiza la
siguiente función:
figura 3.14 Desplazamiento aritmético a la izquierda (ASL
Un desplazamiento a la izquierda equivale a una multiplicación por 2 en el
sistema binario.
Desplazamiento aritmético a la derecha (ASR). Básicamente realiza la función
siguiente:
figura 3.15 Desplazamiento aritmético a la derecha (ASR)
Desplazamiento lógico a la derecha (LSR). Equivale a una division por 2 en
binario.
figura 3.16 Desplazamiento lógico a la derecha (LSR).
Aquí, vemos que entra un "O" exterior al registro.
CONVERTIDORES PARALELO/SERIE:
Algunas veces es necesario convertir datos paralelos a datos serie, y viceversa.
Dicho proceso es llevado a cabo fácilmente usando un registro para almacenar
los datos, y luego transfiriendo los datos a su salida en la forma deseada.
Ejemplo40 Se deja al alumno hacer una investigación documental de cuales
convertidores serie – paralelo y viceversa existen en la familia TTL y como es
que la realizan.
Contadores.
Un contador digital es constituido exactamente en igual forma que un divisor de
frecuencia. En efecto, el circuito divisor-por-diez es en el fondo un contador,
porque cuenta hasta diez pulsos y da una salida; se repone y queda listo para
repetir el procedimiento de nuevo. Si se colocan varios flip-flops tipo JK en
cascada, que inicien en el binario CERO, un BURST de pulsos en serie,
colocados en la entrada, dejará los flip-flops en estados tales que ellos indiquen
en forma binaria la cantidad de pulsos que arribaron al terminal de entrada.
Notemos de nuevo que cada etapa debe cambiar de estado solamente cuando
la anterior pasa de lógica 1 a lógica 0. Cuando en electrónica se menciona la
expresión BURST, que traducida significa "ráfaga", "reventar", "porción", se
quiere dar a entender que esos pulsos se presentan como un tren definido,
"como una cierta cantidad de vagones unidos entre sí", iguales y mensurables
en su cantidad. (En el estudio de televisión en color se encuentra con mucha
frecuencia esta palabra BURST, y se refiere a los 8 o más pulsos encargados de
sincronizar los circuitos de crominancia, los cuales vienen a manera de "ráfaga
de metralleta" incluidos dentro de la onda portadora de TV).
Los contadores digitales son un medio muy práctico para determinar
FRECUENCIA, si la entrada del contador es "abierta" a una señal de frecuencia
desconocida, durante un tiempo exactamente controlado (recordemos que
"frecuencia" es la cantidad de ciclos que transcurren durante un segundo de
tiempo). Los medios-ciclos (half-cycles) positivos de la frecuencia desconocida
son contados, y su cantidad en el período de conteo permite establecer la
frecuencia.
Si el lado complementario del JK flip-flop es usado para manejar al que sigue,
entonces el contador es conocido como un BACKWARD COUNTER (contador
hacia atrás); esto es, el arranca en 1111 y cuenta sucesivamente hacia abajo,
1110, 1101, 1100, etc.
Este tipo de contador es muy práctico cuando se quiere determinar la
DIFERENCIA entre una frecuencia desconocida y una frecuencia asignada. El
contador puede ser pre-cargado con la frecuencia de entrada. El resíduo positivo
o negativo , a la izquierda del contador es la diferencia.
La figura 3.17 muestra un contador de 4 bits, implementado con cuatro flip-flops
tipo T (Toggles), a partir de integrados JK, recordemos que en este caso no se
tiene en cuenta las entradas J y K, por lo que se deben dejar "al aire", en lógica
1 (muchos integrados digitales están internamente hechos para que sus
entradas queden automáticamente en nivel alto cuando son dejados "al aire" sus
terminales).
Hay muchas clases distintas de flip-flops contadores en circuito integrado IC. El
módulo de un contador especifica la máxima cuenta que el alcanza antes de
reciclar. Los contadores módulo 10 son muy populares porque ellos reciclan
después de caer el décimo pulso de entrada, y por lo tanto proveen una manera
fácil de contar en decimal. Ellos son a menudo llamados CONTADORES DE
DECADAS BCD (Binario Codificado a Decimal), y siempre tienen solamente
cuatro terminales de salida (representan desde el 0000 hasta el 1001). Los
contadores que están diseñados para aprovechar al máximo los cuatro bits del
word nibble (medio byte) de salida, se llaman contadores HEXADECIMALES
(representan desde el 0000 hasta el 1111).
Los contadores pueden tener una variedad de controles de entrada. Un contador
típico, por ejemplo, se puede programar para que cuente hacia arriba o hacia
abajo (Up/Down). Puede también tener entradas de control para regresar la
cuenta a 0's, iniciar la cuenta en cualquier valor deseado, o para indicar los
momentos en los cuales el contador debe trabajar. Estos últimos terminales son
los habilitadores, o entradas ENABLE. Debido a que los contadores almacenan
la cuenta acumulada hasta que llegue el próximo pulso clock, ellos pueden ser
considerados STORAGE REGISTERS.
Los circuitos integrados TTL contadores más comunes son
74190 Contador sincrónico Up/Down, BCD, programable ( de 0 á 9)
74191 Contador binario Sincrono Programable
74192 Contador sincrónico Up/Down BCD, programable (de 0 á 9)
74193 Contador sincrónico de 4 bits binarios, programable, Up/Down
Hay operación sincrónica cuando se tienen todos los flip-flops "clocked”..
Simultáneamente, de tal forma que sus salidas cambien al mismo tiempo cuando
lo requiera el proceso lógico director. suministren los datos simultánea y
paralelamente en las salidas Q3 , Q2, Q1, y Q0
ejemplo 41 de aplicación
Ejemplo 41:
Con un contador comercial diseñar un circuito secuencial que cuente
en binario en base 8.es decir del 0000 al 0111.
SOLUCION:
Escogemos el contador 74192, en figura 1 para el ejemplo 41 se muestra
la tabla de su modo de operación,
Para hacer el circuito contador de 0000 a 0111, es necesario que el contador
este en modo “UP” que inicie en 0000 y que al llegar la cuenta a 0111 el
contador se ponga a cero “reset” y siga contando. Para lograrlo se requiere
únicamente que se ponga un circuito con una compuerta AND de 4 entradas
como detector de 0111 a la salida del contador y que se envíe su salida a la
entrada CLR del contador. Es importante observar que la señal de reset debe
ser un pulso positivo para permitir que el contador no detenga la cuenta esto se
logra pues al detectar el circuito la entrada 0111 se genera un pulso HIGH e
inmediatamente se “resetea” el circuito permitiendo que el contador siga su
cuenta. Para poder observar la cuenta se usa un reloj de 1 pulso por segundo. El
circuito completo del contador se deja como ejercicio al alumno.
ejemplo 42 de aplicacion
Con un contador diseñar un circuito que cuente en forma descendente de 1100 a
0000, que tenga una entrada E1 de inicio, que en cualquier momento de la
cuenta esta se pueda suspender con una entrada E 2 y reiniciar en 1100, pero si
la cuenta llagara a 0000 el contador se detenga.
Solucion
Seleccionamos el contador binario sincrono programable 74193, su tabla de
modo de control se muestra en la figura 1 ejemplo 42.
Y ademas usamos el circuito 7474 que es un FF tipo D doble con “preset” y
“clear”. su tabla de modo de control se muestra en la figura 2 ejemplo 42.
La entrada E2 para suspender se genera con un circuito de “push buton” de tal
manera que a su salida normalmente tenga el valor lógico de 1 y solo cuando se
accione el interruptor W1 se produzca un valor lógico de 0, esta señal es
conectada en LD’ , lo que provocara que cada vez que se accione el contador se
pondrá en el inicio con el dato de 1100 que se deberá poner permanentemente
en las entradas D, C, B, y A
Usamos el primer FF con entrada de inicio E1 en la entrada “clear” en este
mismo circuito conectamos a la entrada “preset” la salida de un cicuito detector
de cero
El circuito completo del circuito se deja al alumno como ejercicio.
3.3 Circuitos de Aritmética.
CIRCUITOS ARITMÉTICOS.
Representación de números con signo. Representación en signo-magnitud.
Representación en complemento a uno. Representación en complemento a dos.
Aritmética de sumas y restas en las diferentes representaciones. Sumadores y
restadores de un bit. Semisumador y sumador completo. Semirrestador y
restador completo. Sumadores y restadores de múltiples bits en paralelo.
Sumador y restador binario. La propagación del acarreo: generadores de
acarreo anticipado. Sumador-restador en signo-magnitud. Sumador BCD.
Sumadores y restadores de múltiples bits en serie: el registro acumulador.
Unidades aritmético-lógicas. Multiplicación y división binaria.
Circuitos Aritméticos
El diseño de sistemas digitales involucra el manejo de operaciones aritméticas.
En esta lección se implementarán los circuitos de suma y resta de números
binarios.
3.3.1 Sumadores.
Sumador Medio
El circuito combinacional que realiza la suma de dos bits se denomina sumador
medio. La figura 3.17 muestra el símbolo lógico de sumador medio. En el circuito
las entradas son A y B y la salida S corresponde a la suma y Cout al acarreo de
salida (Ver lección 1.4.).
figura 3.17 Símbolo lógico del sumador medio
La tabla de verdad tabla 3.6 está dada por las reglas de la suma binaria.
X
Y
Cout S
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
Tabla 3.6 De verdad del sumador medio
La salida obtenida a partir de la tabla de verdad es:
X + Y = Cout S
El bit de acarreo Cout es 1, sólo cuando A y B tienen el valor de 1; por tanto entre
A y B se puede establecer una operación AND:
Cout = A·B
El bit de suma S es 1, sólo si las variables A y B son distintas. El bit de acarreo
es 0 a no ser que ambas entradas sean 1. Por consiguiente, la salida S puede
expresarse en términos de la operación OR – Exclusiva:
S = A’·B + A·B = A
El circuito se muestra en la figura 3.18
B
3.18 Circuito Lógico del Sumador Medio.
Sumador Completo
El sumador completo acepta dos bits y un acarreo de entrada y genera una
suma de salida junto con el acarreo de salida. La tabla 3.9.2. muestra la tabla de
verdad del sumador completo. Las entradas A, B y Cin denotan al primer
sumando, el segundo sumando y el acarreo de entrada. Las salidas S y Cout
representan a la suma y el acarreo de salida.
A B Cin Cout S
0 0 0
0
0
0 0 1
0
1
0 1 0
0
1
0 1 1
1
0
1 0 0
0
1
1 0 1
1
0
1 1 0
1
0
1 1 1
1
1
Tabla3.7 De verdad del sumador completo
La salida S en la tabla de verdad corresponde a la operación OR- Exclusiva:
S = A·B’·Cin’ + A’·B·Cin’ + A·B·Cin + A’·B’·Cin
S = Cin’·(A·B’ + A’·B) + Cin ·(A·B + A’·B’)
S = Cin’·(A·B’ + A’·B) + Cin ·(A’·A + A’·B’ + A·B + B·B’)
S = Cin’·(A·B’ + A’·B) + Cin ·((A’ + B)·(A + B’))
S = Cin’·(A·B’ + A’·B) + Cin ·((A·B’)’·(A’·B)’)
S = Cin’·(A·B’ + A’·B) + Cin ·(A·B’ + A’·B)’
S = (A
B)
Cin
El mapa de karnaugh de la salida Cout se muestra en la figura 3.19
figura 3.19Mapa para la salida Cout de un Sumador Completo.
La salida Cout está dada por:
Cout = A·B + A·Cin + B·Cin
El circuito se muestra en la figura 3.20.
3.20 Circuito Lógico del Sumador Completo.
3.3.2. Restador.
Restador
En la diferencia, cada bit del sustraendo se resta de su correspondiente bit del
minuendo para formar el bit de la diferencia. El préstamo ocurre cuando el bit del
minuendo es menor al bit del sustraendo, de tal forma que se presta un 1 de la
siguiente posición significativa.
La resta se implementa mediante un sumador. El método consiste en llevar al
minuendo a una de las entradas y el sustraendo en complemento 2 a la otra
entrada.
Restador Medio
El circuito combinacional que realiza la resta de dos bits se denomina Restador
medio. El circuito tiene dos entrada binarias y dos salidas. La figura 3.21
muestra el símbolo lógico de Restador medio. En el circuito las entradas son
A(minuendo) y B(sustraendo) y la salida D corresponde a la diferencia y P al
préstamo de salida.
figura 3.21 Símbolo Lógico del Restador Medio.
0-0=0, 1-0=0 y 1—1=1. El resultado es el bit
de diferencia D. Si A<B se tiene 0-1 y es necesario prestar un 1 de la siguiente
posición significativa de la izquierda. El préstamo agrega 2 al bit del minuendo
de manera similar cuando en el sistema decimal se agrega 10 al dígito del
minuendo.
La tabla de verdad 3.8 está dada por las reglas de la resta binaria.
A B P D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
Tabla 3.9 De verdad del Restador medio.
La salida D coincide con la operación OR- Exclusiva y se puede expresar de la
siguiente forma:
D = A’·B + A·B’
La salida P está dada por la suma de productos de los términos presentes en el
renglón 2 de la tabla de verdad:
P = A’·B
El circuito se muestra en la figura 3.22
figura 3.22 Circuito Lógico del restador medio.
Restador Completo
El Restador completo realiza la resta entre dos bits, considerando que se ha
prestado un 1 de un estado menos significativo. En la tabla 3.9. las entradas A,
B y C denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y P
representan a la diferencia y el préstamo.
A
B
C
P
D
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
Tabla 3.9 De verdad del Restador Completo.
En las combinaciones del mapa donde C=0, se tienen las mismas condiciones
para el sumador medio. El resto de condiciones se vieron en la lección 4 del
capítulo 1.
La función de la salida D de un restador es la misma que la salida de un
sumador completo:
D = A’·B’·C + A’·B·C’ + A·B’·C’ + A·B·C = (A
B)
Cin
El mapa de karnaugh de la salida P se muestra en la figura 3.23
Figura 3.23. Mapa para la salida P de un restador completo
La salida P está dada por:
P = A’·B + A’·C + B·C
El circuito se muestra en la figura 3.20
figura 3.20 Diagrama lógico de un restador completo
3.3.3 UAL, Unidad Aritmética Lógica.
Unidad Aritmética y Lógica (ALU)
Una unidad aritmética lógica puede realizar un conjunto de operaciones
aritméticas básicas y un conjunto de operaciones lógicas, a través de líneas de
selección. En inglés ALU significa Arithmetic Logic Unit (Unidad Aritmética
Lógica). La figura 3.24. muestra el diagrama de bloques de una ALU.
figura 3.24 Diagrama de bloques de una ALU
Las cuatro entradas de A se combinan con las de B generando una operación de
salida de cuatro bits en F. La entrada de selección de modo S2 distingue entre
las operaciones aritméticas y lógicas. Las entradas de selección S0 y S1
determinan la operación aritmética o lógica. Con las entradas S0 y S1 se pueden
elegir cuatro operaciones aritméticas (con S2 en un estado) y cuatro logicas (con
S2 en otro estado). Los acarreos de entrada y salida tienen sentido únicamente
en las operaciones aritméticas. El diseño de una ALU implica el diseño de la
sección aritmética, la sección lógica y la modificación de la sección aritmética
para realizar las operaciones aritméticas y lógicas.
Sección Lógica
Los datos de entrada en una operación lógica son manipulados en forma
separada y los bits son tratados como variables binarias. En la tabla tabla 3.10.
se listan cuatro operaciones lógicas OR, OR - Exclusiva, AND y NOT. En el
circuito, las dos líneas de selección (S1, S0) permiten seleccionar una de las
compuertas de entrada, correspondientes a la función Fi .
S1 S0 Salida Función Fi
0 0 F=Ai+Bi
0 1 F=Ai
OR
i
XOR
1 0 F=Ai·Bi
AND
1 1
NOT
F=A'i
Tabla 3.10 Tabla de Función Lógica.
El circuito lógico es una etapa de un circuito lógico de n bits.
figura 3.25 Diagrama lógico de un circuito lógico de una ALU
Sección Aritmética
El componente básico de la sección aritmética es un sumador en paralelo Las
operaciones aritméticas configuradas en el circuito aritmético se presentan en la
tabla 3.12 En una ALU, la suma aritmética se puede implementar con un número
binario en A, otro número en la entrada B y el acarreo de entrada Cin en un valor
lógico 0. El resto de las funciones se enuncian en la columna descripción.
Selección de
Función
Salida N Función
S1
S0
Cin
N
F
0
0
0
0
A
Descripción
Transferir A
0
0
1
0
A+1
Incrementar A
0
1
0
B
A+B
Suma ó agregar B a A
0
1
1
B
A+B+1
Suma con accarreo ó agregar B a A
más 1
1
0
0
B’
A+B’
Agregar el complemento de 1 de B a
A
1
0
1
B’
1
1
0
Todos
unos
A-1
Decrementar A
1
1
1
Todos
unos
A
Trasferir A
A+B’+1 Agregar el complemento de 2 de B a
A
Tabla 3.12 De la funciones de un Circuito Aritmético
La implementación de las funciones anteriores por medio de un circuito lógico
sencillo se describe a continuación. El circuito se diseña bajo el precepto de
intervenir cada entrada Bi para obtener las siguientes funciones:
S1
S0
Ni
0
0
0
0
1
Bi
1
0
B i'
1
1
1
Tabla 3.13 Tabla del circuito para la entrada Bi
La figura muestra el circuito.
figura 3.26 Circuito para la tabla 3.13
Por medio de estas funciones se pueden lograr las funciones de la tabla 3.12 al
agregar el número Ni (tabla 3.13) a la entrada A a través de un sumador en
paralelo para cada etapa, teniendo en cuenta el valor de la entrada C in. El
circuito combinacional aritmético se muestra en la figura 3.14. En la figura
3.26a., la entrada A se denomina Mi en el sumador completo.
figura 3.26a Circuito aritmético
Diseño de una Unidad Aritmética Lógica
En el diseño de una ALU se deben seguir los siguientes pasos:
1.
Diseñar la sección aritmética independientemente de la sección lógica.
2.
Determinar las operaciones lógicas del circuito aritmético, asumiendo que
los acarreos de salida de todas las etapas son 0.
3.
Modificar el circuito aritmético para obtener las operaciones lógica
requeridas.
El diseño simple de una ALU se hace utilizando el sumador completo para
generar las operaciones lógicas de la unidad. Por lo tanto es necesario introducir
una variable de control adicional (S2), con el fin de seleccionar entre las
operaciones lógicas y aritméticas. En este diseño, un valor S2 = 1 hace que el
circuito efectúe operaciones lógicas. Recordando la salida de un sumador
completo:
F = (Ai
Bi
Cin
A partir de esta ecuación, es posible obtener la función lógica requerida,
utilizando la debida manipulación lógica. La función requerida se expone en la
tabla
S2 S1 S0 Ai Bi Cin
1 0 0 Ai 0
Función
requerida Fi
Ai
OR
0
1 0 1 Ai Bi 0
1 1 0 A i B i' 0
1 1 1 Ai 1
Operación
Sumador
Completo
0
Ai
i
Manipulación
Aplicar una función Ai+Bi
OR Ai + Bi
XOR
Ai·Bi
AND
A'i
NOT
Salida
Ninguna
Ai
Aplicar una función Ai·Bi
OR Ai + Bi'
Ninguna
A'i
Tabla 3.14 Tabla de obtención de las funciones lógicas con un sumador
completo
Partiendo de la tabla 3.12.4., las entradas Mi, Ni y Cini en un sumador completo,
son equivalentes a las siguientes expresiones:
Mi = Ai + S2·S1'·S0'·Bi + S2·S1·S0'·Bi'
Ni = S0·Bi + S1·Bi'
Cini = S2'·Ci
La figura 3.27 muestra el diagrama de la unidad aritmética lógica de dos etapas.
i
figura 3.27 Diagrama lógico de una ALU
Las doce operaciones generadas en el ALU se resumen en la tabla 3.15 la
función en particular se selecciona a través de S2, S1, S0 y Cin. Las operaciones
aritméticas son las mismas del circuito aritmético.
Selección Salida F
Descripción
S2 S1 S0 Cin
F
0 0 0
0
A
Trasferir A
0 0 0
1
A+1
Incrementar A
0 0 1
0
A+B
Suma
0 0 1
1
A+B+1 Suma con accarreo
0 1 0
0
A-B-1
Resta con préstamo
0 1 0
1
A-B
Sustracción
0 1 1
0
A-1
Decrementar A
0 1 1
1
A
Transferir A
A+B
OR
1 0 0 X
B
1 0 1 X
OR-Exclusiva
1 1 0 X
A·B
AND
1 1 1 X
A’
Complementar A
Tabla 3.16 Tabla de verdad de una ALU
Ejemplo 42
Se deja al estudiante trabajo de investigación documental acerca del desarrollo
histórico de las ALU
.
Documentos relacionados
Descargar