sumando y sumado avanzado

35
Circuitos vlsi (4º curso) TEMA 5. MÓDULOS ARITMÉTICOS AVANZADOS Circuitos vlsi Dr. José Fco. López Desp. 307, Pab. A [email protected] 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 +

Upload: carlosgaham

Post on 22-Jul-2015

95 views

Category:

Internet


0 download

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)

Rutas de procesamiento de datos

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

Full Adder

A B

CoutCin

S

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

RECORDATORIO

Circ

uito

s vl

si (4

º cur

so)

El sumadorEl sumador binario: definiciones

F=A·B+C·D

Circ

uito

s vl

si (4

º cur

so)

El sumadorEl sumador binario: definiciones

¡¡¡¡42 transistores!!!!

Circ

uito

s vl

si (4

º cur

so)

El sumadorEl sumador binario: definiciones

¡¡¡¡36 transistores!!!!

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

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)

Circ

uito

s vl

si (4

º cur

so)

El sumadorEl sumador binario: consideracionesde diseño lógico

Sumador con acarro anticipado (16 bits, 2 niveles)