sumando y sumado avanzado
TRANSCRIPT
Circ
uito
s vl
si (4
º cur
so)
TEMA 5. MÓDULOS ARITMÉTICOS AVANZADOS
Circuitos vlsi
Dr. José Fco. LópezDesp. 307, Pab. [email protected]
0 1 0 1 10 0 1 0 11 0 0 0 0
+
Circ
uito
s vl
si (4
º cur
so)
Índice
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ítmicoOtros operadores aritméticos
Circ
uito
s vl
si (4
º cur
so)
Introducción
Vamos a aprender a utilizar las técnicas estudiadas en capítulosanteriores para diseñar una serie de circuitos utilizados en las cadenas de procesamiento de datos de los microprocesadores yprocesadores de señal.
Analizaremos específicamente un conjunto de módulos representati-cos, 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 uncompromiso área/potencia/retardo.
Circ
uito
s vl
si (4
º cur
so)
Rutas de procesamiento de datos
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 interco-nexión de funciones combinatorias básicas, como operadoresaritméticas (suma, multiplicación, comparación y desplazamiento) ológicos (AND, OR y XOR)R
egi
stro
Sum
ado
r
De
spla
zado
r
Mu
ltip
lica
dor bit 3
bit 2
bit 1
bit 0
Dat
osen
tran
tes
Dat
os d
esa
lida
Control
Organización en secciones de bit (bit-slice)
Circ
uito
s vl
si (4
º cur
so)
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 estudiodel mismo.
La optimización de un sumador se puede realizar desde un puntode 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.
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: definiciones
¡¡¡¡53 transistores!!!!
AB 0 1
0
1
0 1
1 0
A
B
Ci
S
Co
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: definiciones
Full Adder
A B
CoutCin
S
A menudo resulta útil definir S y Cout en función de ciertas señalesintermedias G (generar), P (propagar) y D (descartar)
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: definiciones
G=A⋅BD=A’B’P=A⊕B
descartar
descartar
propagar
propagar
propagar
propagar
generar
generar
Co(G,P)=G+P⋅CiS(G,P)=P⊕Ci
1. G y P dependen de A y B y no de Ci2. También podemos determinar expresiones Co(D,P) y S(D,P)
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: definiciones
Podemos construir un sumador de N bits conectando en cascadaN circuitos sumadores de forma que Co,k-1 se conecte a Ci,k paraK=1,___,N y conectando la primera entrada de acarreo Ci,0 a 0.
FA FA FA FA
A0 B0
S0
A1 B1
S1
A2 B2
S2
A3 B3
S3
Ci,0 Co,0
(= Ci,1)
Co,1 Co,2
Sumador de 4 bits con propagación de acarreo
El retardo del circuito depende del número de etapas lógicas quehaya que recorrer, y estará en función de las señales de entradaaplicadas (camino crítico)
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: definiciones
FA FA FA FA
A0 B0
S0
A1 B1
S1
A2 B2
S2
A3 B3
S3
Ci,0 Co,0
(= Ci,1)
Co,1 Co,2
El retardo de caso peor se produce cuando un acarreo generado enla posición del bit menos significativo se propaga a través de todo elcircuito hasta la posición del bit más significativo.
tadder = (N-1)tcarry + tsum
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.
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: definiciones
Propiedad de inversión: Si se invierten todas las entradas de un sumador completo, se obtienen valores invertidos en todas las salidas.
A B
S
CoCi FA
A B
S
CoCi FA
S A B Ci, ,( ) S A B Ci, ,( )=
Co A B Ci, ,( ) Co A B Ci, ,( )=
Esta propiedad resultará muy útil a la hora de optimizar la velocidaddel sumador con propagación de acarreo.
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
Algunas manipulaciones lógicas pueden ayudar a disminuir el númerode 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)
A B
B
A
Ci
Ci A
X
VDD
VDD
A B
Ci BA
B VDD
A
B
Ci
Ci
A
B
A CiB
Co
VDD
¡¡¡¡28 transistores!!!!
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
A B
B
A
Ci
Ci A
X
VDD
VDD
A B
Ci BA
B VDD
A
B
Ci
Ci
A
B
A CiB
Co
VDD
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 grande3. La señal se propaga a través de dos etapas inversoras en el circuito de generación de acarreo4. La generación de la suma necesita de una etapa lógica adicional, aunque eso no es demasiado preocupante
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
A B
B
A
Ci
Ci A
X
VDD
VDD
A B
Ci BA
B VDD
A
B
Ci
Ci
A
B
A CiB
Co
VDD
1. Los transistores nMOS y pMOS conectados a Ci están lo más cerca posible de la salida de la puerta.
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
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
C2
C1In1
In2
In3
M1
M2
M3 CL
Camino crítico
cargado1
0→1cargado
cargado1
C2
C1In3
In2
In1
M1
M2
M3 CL
Camino crítico
1
1
0→1 cargado
descargado
descargado
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
Podemos mejorar la velocidad de este circuito utilizando el hecho de que el numero de etapas inversoras en el camino de generación delacarreo se puede reducir aprovechando la propiedad de inversión: sise invierten todas las entradas de una celda de sumador completo, también se invierten todas las salidas.
A B
B
A
Ci
Ci A
X
VDD
VDD
A B
Ci BA
B VDD
A
B
Ci
Ci
A
B
A CiB
Co
VDD
Co
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
Podemos mejorar la velocidad de este circuito utilizando el hecho de que el numero de etapas inversoras en el camino de generación delacarreo se puede reducir aprovechando la propiedad de inversión: sise invierten todas las entradas de una celda de sumador completo, también se invierten todas las salidas.
ao bo a1 b1 a2 b2 a3 b3
FA FA FA FAci c1 c3
S0 S2
co
S1
c2
S3
De esta forma habremos conseguido eliminar un inversor en el caminocrítico de cada sumador (3 inversores en el camino crítico total)
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
Co(G,P)=G+P⋅Ci
S(G,P)=P⊕Ci
G=A⋅BD=A’B’P=A⊕B
VDD
Ci
A
BBA
B
A
A BKill
Generate"1"-Propagate
"0"-Propagate
VDD
Ci
A B Ci
Ci
B
A
Ci
A
BBA
VDD
SCo
24 transistors1. Eliminado inversor en el acarreo2. 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
Sumador enespejo
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador completo: diseño del circuito
VDD
Ci
A
BBA
B
A
A BKill
Generate"1"-Propagate
"0"-Propagate
VDD
Ci
A B Ci
Ci
B
A
Ci
A
BBA
VDD
SCo
24 transistorsObservaciones:1. Este sumador tiene sólo 24 transistores2. 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 acarreo3. Los transistores conectados a Ci han sido situados lo más cerca posible de la salida de la puerta4. 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.
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
El sumador con propagación de acarreo sólo resulta adecuado paraimplementaciones de sumas con longitud de palabra relativamentepequeñ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
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
Sumador con puenteo de acarreo
Sólo si Po=P1=P2=P3=1, el acarreo se propagará desde la entradahasta la salida.
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
Propagaciónde acarreo
Puenteode acarreo
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
Sumador con selección de acarreoAnticipa los dos valores posibles de la entrada de acarreo y evalúapor adelantado el resultado de ambas posibilidades. Una vez conocidoel valor real de la entrada de acarreo, puede seleccionarse fácilmenteel resultado correcto mediante una simple etapa multiplexora.
Setup
"0" Carry Propagation
"1" Carry Propagation
Multiplexer
Sum Generation
Co,k-1 Co,k+3
"0"
"1"
P,G
Carry Vector
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
0
1
Sum Generation
Multiplexer
1-Carry
0-Carry
Setup
Ci,0 Co,3 Co,7 Co,11 Co,15
S0–3
Bit 0–3 Bit 4–7 Bit 8–11 Bit 12–15
0
1
Sum Generation
Multiplexer
1-Carry
0-Carry
Setup
S4–7
0
1
Sum Generation
Multiplexer
1-Carry
0-Carry 0-Carry
Setup
S8–11
0
1
Sum Generation
Multiplexer
1-Carry
Setup
S
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
Sumador con acarro anticipadoci+1=gi+pici
ci+2=gi+1+pi+1ci+1
ci+3=gi+2+pi+2ci+2
ci+4=gi+3+pi+3ci+3
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
Sumador con acarro anticipadoci+1=gi+pici
ci+2=gi+1+pi+1ci+1
ci+3=gi+2+pi+2ci+2
ci+4=gi+3+pi+3ci+3
Circ
uito
s vl
si (4
º cur
so)
El sumadorEl sumador binario: consideracionesde diseño lógico
Sumador con acarro anticipado (16 bits, 1 nivel)