Академический Документы
Профессиональный Документы
Культура Документы
CONTROL
DATAPATH
Bit 3 Multiplexer Data-In Register Bit 2 Bit 1 Bit 0 Shifter Data-Out Adder
Compuesta por una interconexin de funciones combinatorias bsicas, como operadores aritmticos (suma, multiplicacin, comparacin y desplazamiento) o lgicos (AND, OR y XOR).
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador binario
A Ci B Co
S = ( A B) Ci Co = ( AB) + Ci ( A B) = Co = A B + A Ci + B C i
Full adder S
DCSE 2008-09
Sumador binario
A Ci B Co
S = ( A B) Ci Co = ( AB) + Ci ( A B) = = A B + A Ci + B Ci
Solo dependen C de A y B! o
Full adder S
G = AB D = AB P = AB
S(G, P ) = P Ci Co (G, P ) = G + P
Sumador Ripple-Carry
Sumador de N bits conectando en cascada N circuitos sumadores completos (FA) conectando Co,k-1 a Ci,k para k=1 a N-1 y con Ci,0 conectado a 0
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Ripple-Carry
El retardo del circuito depende del nmero de etapas lgicas que haya que recorrer, y estar en funcin de las seales de entrada aplicadas
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Ripple-Carry
Para algunas seales de entrada no se produce ningn efecto de propagacin, mientras que para otras el acarreo tiene que propagarse a lo largo de todo el circuito desde el bit LSB hasta el bit MSB
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Ripple-Carry
El retardo de propagacin en este caso (camino crtico) se define como el retardo de caso peor para todos los posibles patrones de entrada tp = (N-1)tcarry + tsum
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Propagacin en un RCA
0 1
0 1 0 1 1 1
3tcarry
2tcarry
tcarry
tsum
tsum
tsum
tsum
3tcarry
2tcarry
tcarry tsum
Propagacin en un RCA
0 1
0 0 0 1 1 1
tcarry
2tcarry
tcarry
Propagacin en un RCA
El retardo de propagacin del sumador RCA es linealmente proporcional a N. Este sumador resulta adecuado para la implementacin de sumas con longitud de palabra relativamente pequea. Al disear la celda de sumador completo para un sumador rpido con propagacin de acarreo, es mucho ms importante optimizar tcarry que tsum.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Carry-Bypass
Ejemplo 1 Sumar: 3456789876543 + 6543210123456
propaga acarreo
Principio: Buscar una condicin que permita un atajo en el camino crtico de propagacin.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Carry-Bypass
Ejemplo 1 Sumar: 3456789876543 + 6543210123456
propaga acarreo
Principio: Buscar una condicin que permita un atajo en el camino crtico de propagacin.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Carry-Bypass
Principio: Buscar una condicin que permita un atajo en el camino crtico de propagacin.
Si todos los Ak y Bk provocan Pk en alto (k=1,2,3), entonces un Ci,0=1 se propagar a travs de la cadena completa para dar Co,3=1
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Carry-Bypass
En otras palabras, si P1P2P3P4=1, entonces Co,3=Ci,0
DCSE 2008-09
Sumador Carry-Bypass
En otras palabras, si P1P2P3P4=1, entonces Co,3=Ci,0
Sumador Carry-Bypass
Estructura de un sumador con puenteo de acarreo de 16 bits.
DCSE 2008-09
DCSE 2008-09
tbypass
DCSE 2008-09
48
DCSE 2008-09
N
Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador Carry-Select
Principio: Precalcular los acarreos de un grupo de bits intermedios para los dos posibles valores de acarreo de entrada evitando as el tiempo de espera de su llegada. Cuando llega el acarreo de entrada definitivo, los acarreos siguientes ya estn preparados y slo hay que seleccionar el correcto mediante una etapa multiplexora.
DCSE 2008-09
Sumador Carry-Select
Setup
P,G
"0"
Se generan las seales G y P para calcular los acarreos intermedios de cada bloque Selecciona los acarreos precalculados en funcin del acarreo de entrada recibido
"1"
Co,k-1
Multiplexer
Carry Vector
C o,k+3
Sum Generation
Sumador Carry-Select
Bit 03 Setup Bit 47 Setup Bit 811 Setup Bit 1215 Setup
0-Carry
0-Carry
0-Carry
0-Carry
1-Carry
1-Carry
1-Carry
1-Carry
Ci,0
Multiplexer
Co,3
Multiplexer
Co,7
Multiplexer
Co,11
Multiplexer
Co,15
Sumador Carry-Select
Se puede construir un sumador completo de N bits con carry-select encadenando una serie de etapas sumadoras de igual longitud, de M bits cada una, como en la tcnica de carry-bypass. El retardo de propagacin de caso peor ser:
tp = tsetup + Mtcarry + N/Mtmux + tsum
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
Diseo digitales / Bloques Aritmticos S4-7 de circuitos y sistemas S8-11 S12-15 (10)
Bit 14-19
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"1" (4)
"1" (5)
"1" (6)
"1" Carry (6) (7) Multiplexer Mux (8) Sum S14-19 (9) (7)
Multiplexer
Multiplexer
Multiplexer
S0-1
S2-4
S5-8
S9-13
Se ecualizan las entradas de los multiplexores para que la seal de control y los datos llegan a la vez.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
DCSE 2008-09
P 2N
Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Este retardo est calculado para sumadores de gran tamao (M<<N), donde el retardo pasa a ser casi constante.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumadores- Retardos
50 40 30 Linear select 20
) s y a l e t i d n u ( p t
Ripple adder
10 0
DCSE 2008-09
Sumador Ripple-Carry
El retardo de propagacin en este caso (camino crtico) se define como el retardo de caso peor para todos los posibles patrones de entrada tp = (N-1)tcarry + tsum
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
G = AB D = AB P = AB
DCSE 2008-09
Para evitar el retardo de la cadena de acarreo, se generan directamente los acarreos intermedios a partir de las entradas
Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Mltiples sumadores de este tipo se pueden combinar para formar sumadores ms largos.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Arboles binarios
Una cadena serie, si el operador es asociativo, se puede transformar en un rbol (i.e., operaciones AND, OR, XOR).
A0 A1 A2 A0 A1 A2 A3 F A4 A5
DCSE 2008-09
A3
A4
A5
A6
A7
tp N
A6 A7
tp log2(N)
Arboles binarios
El retardo de la cadena serie crece linealmente con el nmero de etapas y el retardo del rbol crece logartmicamente. Un sumador logartmico de estructura de rbol de Kogge-Stone requiere un tiempo proporcional a log2(N) para el clculo de acarreo de salida.
S10 S11 S12 S13 S14 (A14, B14) S15 (A15, B15) S0 S1 S2 S3 S4 S5 S6 S7 S8 (A8, B8) S9 (A9, B9)
(A0, B0)
(A1, B1)
(A2, B2)
(A3, B3)
(A4, B4)
(A5, B5)
(A6, B6)
(A7, B7)
(A10, B10)
(A11, B11)
(A12, B12)
DCSE 2008-09
(A13, B13)
Sumadores de ms de 2 nmeros
Suma de M nmeros de N bits cada uno: Sumar los dos primeros, luego sumar el tercero al resultado anterior, etc. Total M-1 sumas, en un tiempo proporcional a Mlog2(N) usando sumadores logartmicos CLA. Formando un rbol de sumadores: tiempo proporcional a log2Mlog2N Podemos mejorar ms el tiempo de calculo?
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador carry-save
DCSE 2008-09
Sumador carry-save
Fase 1:
Fase 2:
Fase 3:
DCSE 2008-09
Sumador carry-save
Fase 1:
Fase 2:
Fase 3:
DCSE 2008-09
Sumador carry-save
Se puede aplicar el mismo principio para sumar 3 nmeros binarios:
O(1)
O(log2N)
Sumador carry-save
El bloque CSA es el mismo circuito que un FA, con algunos de los seales con nombre diferente.
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
Sumador carry-save
Para cada bit usamos 1 bloque CSA. El circuito suma M = 3 nmeros de N = 8 bits en dos nuevos nmeros.
DCSE 2008-09
Sumador carry-save
Para sumar M nmeros de N bits: Repetimos el mismo proceso M veces. Habr M-2 mdulos de 1-bit CSA bloques y un CLA al final, que sumar 2 nmeros de N+-2 bits. Total retardo: O(M+log2(N+M))
CLA
DCSE 2008-09
Sumador carry-save
Para sumar M nmeros de N bits: Reorganizacin en forma de rbol (rbol de Wallace) El ltimo CSA tendr O(N+log2M) bits y el CLA tendr un retardo de O(log2(N+log2M)) Total retardo: O(log2M + log2(N+log2M))
DCSE 2008-09 Diseo de circuitos y sistemas digitales / Bloques Aritmticos
CLA