Módulos Aritméticos Avanzados

Download Report

Transcript Módulos Aritméticos Avanzados

TEMA 5. MÓDULOS ARITMÉTICOS AVANZADOS
Circuitos vlsi (4º curso)
Circuitos vlsi
01011
00101
10000
Dr. José Fco. López
Desp. 307, Pab. A
[email protected]
Índice
Circuitos vlsi (4º curso)
Introducción
Rutas de procesamiento de datos
El sumador
• El sumador binario: definiciones
• El sumador completo: diseño del circuito
• El sumador binario: consideraciones de diseño lógico
El multiplicador
• Definiciones
• Generador de productos parciales
• Acumulación de productos parciales
El desplazador
• Desplazador de barril
• Desplazador logarítmico
Otros operadores aritméticos
Introducción
Vamos a aprender a utilizar las técnicas estudiadas en capítulos
anteriores para diseñar una serie de circuitos utilizados en las
cadenas de procesamiento de datos de los microprocesadores y
procesadores de señal.
Circuitos vlsi (4º curso)
Analizaremos específicamente un conjunto de módulos representaticos, como es el caso de sumadores, multiplicadores y desplazadores
Para cada módulo existen múltiples topologías de circuitos, y como
siempre, la elección de una estrategia u otra se basará en un
compromiso área/potencia/retardo.
Un procesador digital consta de 4 componentes:
• Ruta de procesamiento de datos
• Memorias
• Unidad de control
• Bloques de entrada/salida
Una ruta de procesamiento de datos típica consta de una interconexión de funciones combinatorias básicas, como operadores
aritméticas (suma, multiplicación, comparación y desplazamiento) o
lógicos (AND, OR y XOR)
bit 3
bit 2
bit 1
bit 0
Organización en secciones de bit (bit-slice)
Datos de
salida
Multiplicador
Desplazador
Sumador
Registro
Control
Datos
entrantes
Circuitos vlsi (4º curso)
Rutas de procesamiento de datos
Circuitos vlsi (4º curso)
Rutas de procesamiento de datos
Circuitos vlsi (4º curso)
El sumador
La suma es la operación aritmética más comúnmente utilizada y
suele ser el elemento que impone los límites a la velocidad máxima
alcanzada, por lo que es importante realizar un exhaustivo estudio
del mismo.
La optimización de un sumador se puede realizar desde un punto
de vista lógico o circuital:
• Optimización lógica: se basa en reordenar las ecuaciones booleanas
para obtener un circuito más rápido o más pequeño (sumador con
propagación de acarreo, sumador de acarreo anticipado…)
• Optimización circuital: manipula los tamaños de los transistores
y la topología del circuito para optimizar sus características.
El sumador binario: definiciones
El sumador
Circuitos vlsi (4º curso)
A
Cin
B
Full
Adder
S
Cout
El sumador binario: definiciones
Circuitos vlsi (4º curso)
El sumador
A
B
A
S
B
Ci
0
1
0 0
1
1 1
0
Co
¡¡¡¡53 transistores!!!!
El sumador binario: definiciones
Circuitos vlsi (4º curso)
El sumador
El sumador binario: definiciones
El sumador
Circuitos vlsi (4º curso)
F=A·B+C·D
El sumador binario: definiciones
El sumador
Circuitos vlsi (4º curso)
¡¡¡¡42 transistores!!!!
El sumador binario: definiciones
El sumador
Circuitos vlsi (4º curso)
¡¡¡¡36 transistores!!!!
El sumador binario: definiciones
El sumador
Circuitos vlsi (4º curso)
A
Cin
B
Full
Adder
Cout
S
A menudo resulta útil definir S y Cout en función de ciertas señales
intermedias G (generar), P (propagar) y D (descartar)
El sumador binario: definiciones
El sumador
G=AB
D=A’B’
P=AB
Circuitos vlsi (4º curso)
descartar
descartar
propagar
propagar
propagar
propagar
generar
generar
Co(G,P)=G+PCi
S(G,P)=PCi
1. G y P dependen de A y B y no
de Ci
2. También podemos determinar
expresiones Co(D,P) y S(D,P)
El sumador binario: definiciones
El sumador
Podemos construir un sumador de N bits conectando en cascada
N circuitos sumadores de forma que Co,k-1 se conecte a Ci,k para
K=1,___,N y conectando la primera entrada de acarreo Ci,0 a 0.
A0
B0
Ci,0
A1
Co,0
FA
Circuitos vlsi (4º curso)
B1
A2
B2
Co,1
A3
B3
Co,2
Co,3
FA
FA
FA
S1
S2
S3
(= Ci,1)
S0
Sumador de 4 bits con propagación de acarreo
El retardo del circuito depende del número de etapas lógicas que
haya que recorrer, y estará en función de las señales de entrada
aplicadas (camino crítico)
El sumador binario: definiciones
El sumador
A0
B0
Ci,0
A1
B1
Co,0
FA
A2
B2
Co,1
FA
A3
B3
Co,2
FA
Co,3
FA
(= Ci,1)
Circuitos vlsi (4º curso)
S0
S1
S2
S3
tadder = (N-1)tcarry + tsum
El retardo de caso peor se produce cuando un acarreo generado en
la posición del bit menos significativo se propaga a través de todo el
circuito hasta la posición del bit más significativo.
Se extraen dos conclusiones importantes:
• El retardo de propagación de un sumador con propagación de
acarreo es linealmente proporcional a N.
• Es mucho más importante optimizar la ruta del acarreo (tcarry) que
la de la suma (tsum), ya que este último valor tiene menor influencia
sobre en tiempo total del sumador.
El sumador binario: definiciones
El sumador
Propiedad de inversión: Si se invierten todas las entradas de un
sumador completo, se obtienen valores invertidos en todas las
salidas.
A
B
A
B
Circuitos vlsi (4º curso)
Ci
FA
S
Co
Ci
FA
Co
S
S  A B C i  = S  A B  Ci 
C  A B C  = C  A B  C 
o
i
o
i
Esta propiedad resultará muy útil a la hora de optimizar la velocidad
del sumador con propagación de acarreo.
El sumador completo:
diseño del circuito
El sumador
Algunas manipulaciones lógicas pueden ayudar a disminuir el número
de transistores a utilizar a la hora de implementar un sumador.
Co=AB+BCi+ACi
S=ABCi+C’o(A+B+Ci)
VDD
A
¡¡¡¡28 transistores!!!!
VDD
Ci
A
B
B
A
Circuitos vlsi (4º curso)
B
B
Ci
A
X
Ci
VDD
Ci
S
A
Ci
A
B
B
VDD
A
Co
B
Ci
A
B
El sumador completo:
diseño del circuito
El sumador
VDD
VDD
A
Ci
A
B
B
A
B
B
Ci
A
X
Ci
VDD
Ci
S
A
Ci
A
B
B
VDD
Circuitos vlsi (4º curso)
A
Co
B
Ci
A
B
1. Hay presentes pilas demasiado altas de transistores pMOS en los
circuitos de generación de acarreo y suma.
2. La capacitancia de la señal C’o es muy grande
3. La señal se propaga a través de dos etapas inversoras en el circuito de
generación de acarreo
4. La generación de la suma necesita de una etapa lógica adicional, aunque
eso no es demasiado preocupante
El sumador completo:
diseño del circuito
El sumador
VDD
VDD
A
Ci
A
B
B
A
B
B
Ci
A
X
Ci
VDD
Ci
S
A
Ci
A
B
B
VDD
Circuitos vlsi (4º curso)
A
Co
B
Ci
A
B
1. Los transistores nMOS y pMOS conectados a Ci están lo más cerca posible
de la salida de la puerta.
El sumador completo:
diseño del circuito
El sumador
Circuitos vlsi (4º curso)
RECORDATORIO TEMA 3:
Algunas técnicas de diseño para fan-in grande:
• Tamaño del transistor: La solución más obvia consiste en aumentar
el tamaño del transistor, para de esta forma disminuir la resistencia
de los transistores en serie y la constante de relajación. Cuidado,
esto puede hacer que haya más carga a la salida de la puerta
anterior.
• Aumento progresivo del tamaño de los transistores
• Reordenación de las entradas
Camino crítico
Camino crítico
In3 1 M3
cargado
CL
In2 1 M2
C2 cargado
In1
M1
01
C1 cargado
01
In1
M3
CLcargado
In2 1 M2
C2 descargado
In3 1 M1
C1 descargado
El sumador completo:
diseño del circuito
El sumador
Podemos mejorar la velocidad de este circuito utilizando el hecho de
que el numero de etapas inversoras en el camino de generación del
acarreo se puede reducir aprovechando la propiedad de inversión: si
se invierten todas las entradas de una celda de sumador completo,
también se invierten todas las salidas.
VDD
VDD
B
A
Circuitos vlsi (4º curso)
B
A
Ci
A
B
B
Ci
A
X
VDD
Ci
S
A
Ci
Ci
A
B
B
VDD
A
Co
Co
B
Ci
A
B
El sumador completo:
diseño del circuito
El sumador
Podemos mejorar la velocidad de este circuito utilizando el hecho de
que el numero de etapas inversoras en el camino de generación del
acarreo se puede reducir aprovechando la propiedad de inversión: si
se invierten todas las entradas de una celda de sumador completo,
también se invierten todas las salidas.
Circuitos vlsi (4º curso)
ao bo
ci
FA
S0
a1 b1
co
FA
S1
a2 b2
c1
FA
S2
a3 b3
c2
FA
c3
S3
De esta forma habremos conseguido eliminar un inversor en el camino
crítico de cada sumador (3 inversores en el camino crítico total)
El sumador completo:
diseño del circuito
El sumador
G=AB
D=A’B’ Co(G,P)=G+PCi
P=AB S(G,P)=PCi
VDD
VDD
A
B
VDD
A
B
B
Ci
A
B
Kill
"0"-Propagate
A
Circuitos vlsi (4º curso)
Sumador en
espejo
Ci
Ci
Co
S
Ci
A
"1"-Propagate
Generate
A
B
B
A
B
Ci
A
B
1. Eliminado inversor en el acarreo
24 transistors
2. Re-ordenación inteligente de PUN y PDN: cuando D o G están a nivel alto,
C’o toma valor VDD o GND respectivamente. Si P=1, se propaga el valor de
acarreo entrante (en formato invertido) a C’o
El sumador completo:
diseño del circuito
El sumador
VDD
VDD
A
B
VDD
A
B
B
Ci
A
B
Kill
"0"-Propagate
A
Ci
S
Ci
A
"1"-Propagate
Generate
A
Circuitos vlsi (4º curso)
Ci
Co
B
B
A
B
Ci
A
B
Observaciones:
24 transistors
1. Este sumador tiene
sólo 24 transistores
2. Las cadenas nMOS y pMOS son completamente simétricas y hay un máximo
de dos transistores en serie en el circuito de generación de acarreo
3. Los transistores conectados a Ci han sido situados lo más cerca posible de la
salida de la puerta
4. Hay que diseñar bien el layout de forma que la capacitancia del nodo C’o sea
lo mínima posible. La utilización de difusión compartida reduce la capacidad.
El sumador
El sumador binario: consideraciones
de diseño lógico
Circuitos vlsi (4º curso)
El sumador con propagación de acarreo sólo resulta adecuado para
implementaciones de sumas con longitud de palabra relativamente
pequeña.
• Equipos informáticos de sobremesa: 32 bits
• Servidores: 64 bits
• Mainframes, supercomputadoras o procesadores multimedia (ej.:
el procesador de la consola Sony PlayStation2): 128 bits
Circuitos vlsi (4º curso)
El sumador
El sumador binario: consideraciones
de diseño lógico
Sumador con puenteo de acarreo
Sólo si Po=P1=P2=P3=1, el acarreo se propagará desde la entrada
hasta la salida.
Circuitos vlsi (4º curso)
El sumador
El sumador binario: consideraciones
de diseño lógico
El sumador
El sumador binario: consideraciones
de diseño lógico
Circuitos vlsi (4º curso)
Propagación
de acarreo
Puenteo
de acarreo
El sumador binario: consideraciones
de diseño lógico
El sumador
Sumador con selección de acarreo
Anticipa los dos valores posibles de la entrada de acarreo y evalúa
por adelantado el resultado de ambas posibilidades. Una vez conocido
el valor real de la entrada de acarreo, puede seleccionarse fácilmente
el resultado correcto mediante una simple etapa multiplexora.
Setup
Circuitos vlsi (4º curso)
P,G
Co,k-1
"0"
"0" Carry Propagation
"1"
"1" Carry Propagation
Multiplexer
Co,k+3
Carry Vector
Sum Generation
El sumador binario: consideraciones
de diseño lógico
Circuitos vlsi (4º curso)
El sumador
Bit 0–3
Bit 4–7
Bit 8–11
Bit 12–15
Setup
Setup
Setup
Setup
0
0-Carry
0
0-Carry
0
0-Carry
0
0-Carry
1
1-Carry
1
1-Carry
1
1-Carry
1
1-Carry
Ci,0
Multiplexer
Co,3
Multiplexer
Co,7
Multiplexer
Co,11
Multiplexer
Sum Generation
Sum Generation
Sum Generation
Sum Generation
S0–3
S4–7
S8–11
S12–15
Co,15
El sumador
Sumador con acarro anticipado
ci+1=gi+pici
Circuitos vlsi (4º curso)
ci+2=gi+1+pi+1ci+1
ci+3=gi+2+pi+2ci+2
ci+4=gi+3+pi+3ci+3
El sumador binario: consideraciones
de diseño lógico
El sumador
Sumador con acarro anticipado
ci+1=gi+pici
Circuitos vlsi (4º curso)
ci+2=gi+1+pi+1ci+1
ci+3=gi+2+pi+2ci+2
ci+4=gi+3+pi+3ci+3
El sumador binario: consideraciones
de diseño lógico
El sumador
El sumador binario: consideraciones
de diseño lógico
Circuitos vlsi (4º curso)
Sumador con acarro anticipado (16 bits, 1 nivel)
El sumador
El sumador binario: consideraciones
de diseño lógico
Circuitos vlsi (4º curso)
Sumador con acarro anticipado (16 bits, 2 niveles)