Comparadores Sumadores y Semisumadores Multiplexores Demultiplexores Codificadores Decodificadores Convertidores de código Generadores /comprobadores de paridad Memorias ROM y Dispositivos PLA Buffer triestado
Circuitos combinacionales
Cuando se conectan puertas lógicas entre sí, sin que haya almacenamiento, el circuito resultante se califica como combinacional.
Dr. Oscar Ruano 2011-2012
¿Por qué módulos estándar?
Cualquier sistema combinacional puede implementarse como un sistema de 2 niveles: AND-OR Teóricamente es posible implementar cualquier sistema recurriendo a este modelo sistemático Utilizar esto para sistemas complejos, es muy costoso en tiempo y a veces imposible de implementar una network de 2 niveles debido a propiedades inherentes en las puertas lógicas:
FAN IN: define el máximo número de inputs que una puerta lógica puede aceptar
FAN OUT: define el máximo número de inputs que la salida de una puerta lógica puede alimentar.
Estos motivos hacen que los sistemas complejos se implemente de forma jerárquica o modular. Dr. Oscar Ruano 2011-2012
Comparadores
Comparador Básico
Dr. Oscar Ruano 2011-2012
Especificación de un comparador
Especificación en alto nivel
Codificación:
Dr. Oscar Ruano 2011-2012
Especificación de un comparador
Función:
Ecuación:
Dr. Oscar Ruano 2011-2012
Sumadores y Semisumadores
Suma de dos números
Dr. Oscar Ruano 2011-2012
Sumadores y Semisumadores
Ecuación:
Dr. Oscar Ruano 2011-2012
Sumadores y Semisumadores
Dr. Oscar Ruano 2011-2012
Semisumador elemental
El semisumador (half adder) es un circuito que suma dos bits de entrada ai y bi y devuelve un bit de resultado zi y un bit de acarreo ci.
Dr. Oscar Ruano 2011-2012
Sumador completo
El sumador completo (full adder) es un circuito que suma dos bits de entrada ai y bi más un acarreo de entrada ci-1 y devuelve un bit de resultado zi y un bit de acarreo ci
Dr. Oscar Ruano 2011-2012
Sumador completo (full adder) BCin
00
01
11
10
0
0
1 1
0
11
1
1
0
11
0
BCin
00
01
11
10
0
0
0
1
0
1
0
1
1
1
A
A
∑ = ABC + ABC + ABC + ABC =
(
) ( ) = C ( A ⊕ B ) + C (A ⊕ B ) = ( A ⊕ B ) ⊕ C
= C AB + AB + C AB + AB =
Cout = AB + ACin + BCin Cout = AB + ABCin + A BCin =
(
)
= AB + Cin AB + AB = = AB + Cin( A ⊕ B )
Dr. Oscar Ruano 2011-2012
Sumador completo compuesto de semisumadores
Dr. Oscar Ruano 2011-2012
Sumador en paralelo de 4 bits (nibble)
Un sumador de 4 bits se implementa mediante 4 full adders. Dependiendo del método elegido para manejar los acarreos el sumador puede ser
acarreo serie acarreo anticipado
Dr. Oscar Ruano 2011-2012
Ejemplo de aplicación
Dr. Oscar Ruano 2011-2012
Sumador paralelo con acarreo serie
Se construye asociando n sumadores elementales completos (full adder) que reciben y procesan todos ellos los datos en paralelo, si bien el acarreo se propaga en serie de un sumador a otro (circuito lento)
Dr. Oscar Ruano 2011-2012
Ejemplo de retardo acarreo serie
Dr. Oscar Ruano 2011-2012
El tiempo de retardo considerado es el tiempo de suma del caso peor
Sumador de acarreo anticipado
Dr. Oscar Ruano 2011-2012
Sumador de acarreo anticipado
El sumador Paralelo con Acarreo Anticipado (Look Ahead Carry, LAC) es muy rápido porque evita el overhead de propagación del acarreo a costa de una penalización en área. No se basa en las ecuaciones directas para Ci+1 y Si, sino en dos funciones adicionales llamadas de generación (Gi) y de propagación (Pi), para cada bit ‘i’ (i = 0, 1, 2…)
Generación de Acarreo: tiene lugar cuando el sumador completo genera internamente un acarreo de salida. Solo cuando ambos bits son 1 se genera acarreo
Gi = AiBi
Propagación de Acarreo: tiene lugar cuando el acarreo de entrada se transmite como acarreo de salida. Solo cuando un de los bits de entrada es 1 se propaga el acarreo i i i
P = A ⊕B
Dr. Oscar Ruano 2011-2012
Sumador de acarreo anticipado
La limitación mas importante es que a medida que aumenta el número de etapas (bits), la ecuación de acarreos se hace más larga aumentando así la complejidad del sistema. Dr. Oscar Ruano 2011-2012
Sumador de acarreo anticipado
Dr. Oscar Ruano 2011-2012
Sumador/restador binario para números de 4 bits en Ca2
Para números en complemento a 2, la substracción se implementa con el mismo hardware, negado el sustraendo; el 1 se suma poniendo a 1 el acarreo inicial
Dr. Oscar Ruano 2011-2012
Generación del segundo operando
Dr. Oscar Ruano 2011-2012
Sumador/restador de 16 bits en ca2
Dr. Oscar Ruano 2011-2012
Sumador BCD
Suma números codificados en BCD y genera otro BCD
Dr. Oscar Ruano 2011-2012
Decodificadores
Dr. Oscar Ruano 2011-2012
Decodificador de n entradas
Dr. Oscar Ruano 2011-2012
Decodificador de 2 entradas
Dr. Oscar Ruano 2011-2012
Decodificador 4 bits Salida Activa a nivel Bajo
Dr. Oscar Ruano 2011-2012
Codificadores
Dr. Oscar Ruano 2011-2012
Codificadores: Decimal-BCD
Dr. Oscar Ruano 2011-2012
Convertidores de Código
Los convertidores de código son circuitos lógicos combinacionales que permiten el paso de un código a otro.
Dr. Oscar Ruano 2011-2012
Convertidores de Código
Dr. Oscar Ruano 2011-2012
Conversor BCD a 7-segmentos
Dr. Oscar Ruano 2011-2012
Conversor BCD a decimal Un decodificador BCD a decimal convierte el código BCD en uno de los 10 posibles dígitos decimales.
Dr. Oscar Ruano 2011-2012
Multiplexor de 2n entradas
Dr. Oscar Ruano 2011-2012
Multiplexor de 2 a 1
Dr. Oscar Ruano 2011-2012
Multiplexor de 2 a 1
Dr. Oscar Ruano 2011-2012
Multiplexor de 2 a 1
Dr. Oscar Ruano 2011-2012
Multiplexores 4 a 1
Y = D0S1’S0’+ D1S1’S0+ D2S1S0’+ D3S1S0
Dr. Oscar Ruano 2011-2012
Multiplexor como generador de funciones lógicas
Sirven para generar funciones lógicas combinacionales en forma de Suma de Productos
Dr. Oscar Ruano 2011-2012
Demultiplexores (DEMUX)
Dr. Oscar Ruano 2011-2012
Generadores y comprobadores de paridad
Dr. Oscar Ruano 2011-2012
Generadores y comprobadores de paridad Paridad Par:
PO = I 0 ⊕ I1
Paridad Impar:
PE = ( PO)' = ( I 0 ⊕ I1)'
Dr. Oscar Ruano 2011-2012
Memorias ROM
Tipos de memoria:
Mask-programmed ROM
EPROM (erasable programmable ROM)
Se graba con un programador Se borra con luz ultravioleta
EEPROM (electrically erasable PROM)
Los datos son permanentes Económicamente posible en grandes cantidades debido al alto coste del diseño
Se borra con pulsos eléctricos Se pudee reprogramar 100 a 1000 veces
Flash memoria
Similar a EEPROM pero se puede escribir sin necesidad de programador Dr. Oscar Ruano 2011-2012
Líneas externas de una ROM
Líneas de datos
Dr. Oscar Ruano 2011-2012
Tabla de datos
Dr. Oscar Ruano 2011-2012
Almacenamiento de la información
Dr. Oscar Ruano 2011-2012
Estructura de una ROM
Dr. Oscar Ruano 2011-2012
Estructura de una ROM
Dr. Oscar Ruano 2011-2012
Bloques de una ROM
Dr. Oscar Ruano 2011-2012
Programmable-Logic-Arrays (PLAs)
Módulo combinacional que proporciona una implementación NOT-AND-OR para generación de funciones. Por niveles:
NOT: provee la capacidad de complementar las distintas señales de input AND: provee la capacidad de generar los productos OR: provee la capacidad de generar las sumas
Una PLA por lo tanto implementa sumas de productos Como en el caso de las ROMs la programación de una PLA puede hacerse durante el proceso de fabricación (mask-programmed PLA) o bien sobre el “field” (field-programmable PLA o FPLA)
Dr. Oscar Ruano 2011-2012
Estructura de una PAL
NOTA: Los puntos fuertes de la figura indican aquellas conexiones que han sido programadas para una determinada función Dr. Oscar Ruano 2011-2012