Captulo 4 Subsistemas integrados procesamiento de datos Diseo
Capítulo 4: Subsistemas integrados: procesamiento de datos Diseño de Circuitos Integrados para Comunicaciones
Índice 4. - DISEÑO DE SUBSISTEMAS ARITMÉTICOS 4. 1. - Los datapath en la arquitectura de procesadores digitales 4. 2. - Sumadores 4. 3. - Multiplicadores 4. 4. - Desplazadores 4. 5. - Del esquema del datapath al layout Diseño de Circuitos Integrados para Comunicaciones
Entrada/Salida Esquema de un procesador digital Memoria Contr ol Data Path Diseño de Circuitos Integrados para Comunicaciones
Bloques digitales básicos Unidad Aritmética - Bit-sliced datapath (sumador, multiplicador, desplazador, comparador…) Memoria - RAM, ROM, Buffers, registros de desplazamiento Control - Máquina de estados finitos (PLA) - Contadores Interconexiones - Interruptores - Árbitros - Buses Diseño de Circuitos Integrados para Comunicaciones
Diseño Bit-Sliced Salida de datos Multiplicador Desplazador Sumador Registro Entrada de datos Contr ol Cada bit sufre idéntico procesamiento Diseño de Circuitos Integrados para Comunicaciones
Sumador completo /p /p Diseño de Circuitos Integrados para Comunicaciones
El sumador binario i Diseño de Circuitos Integrados para Comunicaciones
S (sum) y C (carry) en función de P (propagate), G (generate) y D (delete) Tres nuevas variables que sólo dependen de A y B Alternativamente, (P) = A + B: . Para Co, P = A + B (Si A = B = 1, Co = 1). Para S, (Si A = B = 1, S = 0 ó 1, según el valor de Ci) = AB + Ci (A + B) Es también posible obtener expresiones para S y Co basadas en D y P Diseño de Circuitos Integrados para Comunicaciones
El sumador de Rizado ( Ripple-Carry Adder) En el peor caso, el retardo es lineal con el número de bits (Ci, 0 = 0) Objetivo: Hacer lo más rápido posible el circuito del camino Diseño de Circuitos Integrados para Comunicaciones
Sumador completo CMOS Largas cadenas de p. MOS Co : 2 capacidades de difusión + 6 capacidades de puerta + Cw Diseño de Circuitos Integrados para Comunicaciones
Propiedad de inversión (*) Diseño de Circuitos Integrados para Comunicaciones
Reducción de las etapas inversoras para minimizar el camino crítico Celda Par Celda Impar Utilizamos la propiedad de FA’ = FA sininversión inversor del carry FA’ = FA sin inversor del carry se precisan dos. Comunicaciones tipos de Diseño Pero de Circuitos Integrados para
Estructura mejorada: el sumador Espejo (Mirror Adder): Estructura simétrica, no dual 4 capacidades de difusión 6 capacidades de puerta externas 2 capacidades de puerta internas Si G = 1 (A = B = 1), Co = 1 Si D = 1 (A = B = 0), Co = 0 Si A ó B = 1 (el otro es 0), Si Ci = 1, Co = 1 Si Ci = 0, C 0 = 0 Diseño de Circuitos Integrados para Comunicaciones
El sumador Espejo ü Las cadenas NMOS y PMOS son completamente simétricas. Ello garantiza transiciones de subida y bajada idénticas si los dispositivos NMOS y PMOS están adecuadamente dimensionados. En el circuito de generación del carry existe un máximo de dos transistores en serie. ü Uno de los aspectos críticos del diseño es la minimización de la capacidad del nodo Co. La reducción de la capacidad de difusión es particularmente importante. ü La capacidad del nodo Co está constituida por cuatro capacidades de difusión, dos capacidades de puerta internas, y seis capacidades de puerta de la celda sumadora conectada a la salida. ü Los transistores conectados a Ci deben situarse lo más cerca posible de la salida. ü Para obtener las mejores velocidades sólo deben dimensionarse los transistores etapa del carry. Los Diseño de Circuitos Integrados de parala. Comunicaciones transistores de la etapa sumadora pueden ser de tamaño
Sumador basado en puertas de transmisión P P VDD # 6 tt A Ci S P CO P S CO Total: Ci Ci P GND 6+6+4+4+2+2=24 tt P A A P B # 4 tt A GND P B B # 4 tt B A A A Diseño de Circuitos Integrados para Comunicaciones
SUMADOR MANCHESTER VDD Pi Gi CO Ci Pi Di La puerta de transmisión se puede hacer sólo con el transistor N ya que al ser la precarga a “ 1” sólo se producirá la transmisión de un “ 0”, nunca de un “ 1” Φ CO Ci Gi LA PRECARGA ELIMINA LA NECESIDAD DE DI: • Si Gi=1 el nodo se descarga • Si Pi=1 el nodo eventualmente se descarga GND Φ GND Diseño de Circuitos Integrados para Comunicaciones
SUMADOR MANCHESTER VDD P 0 P 1 P 3 P 2 Φ C 1 C 0 Ci, 0 G 1 G 0 C 3 C 2 G 3 G 2 Φ GND C 0 C 1 C 2 Diseño de Circuitos Integrados para Comunicaciones C 3
Consideraciones de diseño lógico: Sumador con Carry-Bypass Si (P 0 y P 1 y P 2 y P 3 = 1), Entonces Co 3 = Ci 0, si no “kill” o “generate” Diseño de Circuitos Integrados para Comunicaciones
Carry-Bypass en el sumador Manchester Impacto en área: 10 – 20 % Diseño de Circuitos Integrados para Comunicaciones
Sumador con Carry-Bypass: N/M etapas (I) Ca mi no crí tic o Diseño de Circuitos Integrados para Comunicaciones
Sumador con Carry-Bypass: N/M etapas (II) • Sea N el # de bits. Sea M la longitud de cada etapa. • El camino crítico ocurre cuando el carry se tiene que generar en el primer bit de la primera etapa y se propaga – por bypass – por las intermedias; si se generara en alguna etapa posterior el camino sería más corto. • Al llegar a la última etapa el carry debe generarse porque es necesario para obtener el valor de la suma: Bits 0 -3 Se pasa por todos los mux, excepto por el último Bits 12 -15 Suma final tsetup : tiempo máximo para que se generen las señales P y G. tcarry : retardo de propagación del carry a través de un bit. El tiempo de propagación del carry a través de una etapa que contiene M bits es, en el peor caso, Mtcarry tbypass : retardo de propagación a través del multiplexor de una etapa tsum : tiempo para suma de lapara etapa final Diseño degenerar Circuitosla. Integrados Comunicaciones
Acarreo rizado vs. Bypass Sumador de rizado Sumador bypass Aún es lineal con N, pero la pendiente es menor Diseño de Circuitos Integrados para Comunicaciones
Sumador con selección de acarreo (Carry-Select Adder) Diseño de Circuitos Integrados para Comunicaciones
Camino crítico en el sumador con selección de acarreo Diseño de Circuitos Integrados para Comunicaciones
Selección de acarreo lineal (I) 1 N bits (16) M etapas (4) 1 5 5 6 5 7 5 8 5 10 Lineal con N Diseño de Circuitos Integrados para Comunicaciones
Selección de acarreo lineal (II) –Ejemplo: N bits (16), M etapas (4). # de bits por etapa = N/M = 4 Supongamos: Retardo de 10 unidades para 16 bits Diseño de Circuitos Integrados para Comunicaciones
Selección de acarreo proporcional a la raíz cuadrada (I) N bits (20) P etapas (5) La 1ª M bits (2) La 2ª M+1 bits (3) 1 1 3 3 4 4 5 5 6 6 7 7 8 9 P-1 M Depende de P = Diseño de Circuitos Integrados para Comunicaciones
Selección de acarreo proporcional a la raíz cuadrada (II) • N bits (20) P etapas (5) La 1ª etapa de M bits (2) • N = M + (M+1) + (M+2) + … + (M+P-1) → 20 = 2 + 3 + 4 + …+6 • Suma de la serie: [( 1º + último ) / 2 ]* # términos: En nuestro ejemplo: tadd = 1+2+5+1 = 9 Si: Retardo de 9 unidades para 20 bits (Ej: M=2, N=64; N=2+3+4+…+11=65; P=10; N≈P 2/2) Diseño de Circuitos Integrados para Comunicaciones
Comparación del retardo de los sumadores (I) Sumador de rizado ≈N Selección de acarreo lineal ≈N Selección de acarreo raíz cuadrada ≈ Diseño de Circuitos Integrados para Comunicaciones
Sumador de arrastre anticipado (Look. Ahead) : Idea básica Diseño de Circuitos Integrados para Comunicaciones
Topología del sumador de arrastre anticipado ─ Diseño de Circuitos Integrados para Comunicaciones
Sumador de arrastre anticipado logarítmico Diseño de Circuitos Integrados para Comunicaciones
Sumador de arrastre anticipado logarítmico Co, 0 = G 0 + P 0 Ci, 0 Co, 1 = G 1 + P 1 Co, 0 = G 1 + P 1 G 0 + P 1 P 0 Ci, 0 = (G 1 + P 1 G 0)+(P 1 P 0)Ci, 0 = = G 1: 0+P 1: 0 Ci, 0 Co, 2 = G 2 + P 2 Co, 1 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 Ci, 0 Co, 3 = G 3 + P 3 Co, 2 = G 3 + P 3 G 2 + P 3 P 2 G 1 +P 3 P 2 P 1 G 0+ P 3 P 2 P 1 P 0 Ci, 0 = (G 3 + P 3 G 2)+(P 3 P 2)Co, 1 = G 3: 2+P 3: 2 Co, 1 Definiciones: . Par de funciones de grupo (Gi: j, Pi: j). Operador Dot ( • ): (G, P) • (G’, P’) = (G + PG’, PP’) Así: (G 3: 2, P 3: 2) = (G 3, P 3) • (G 2, P 2) Diseño de Circuitos Integrados para Comunicaciones
Operador Dot . El operador Dot verifica la propiedad asociativa. (Co, 3, 0) =[(G 3, P 3) • (G 2, P 2) • (G 1, P 1) • (G 0, P 0)] • (Ci, 0, 0) Entonces: (Co, 3, 0) = [[(G 3, P 3) • (G 2, P 2)] • [(G 1, P 1) • (G 0, P 0)]] • (Ci, 0, 0) = (G 3: 2, P 3: 2) • (G 1: 0, P 1: 0) • (Ci, 0, 0) Podemos calcular los valores del carry en las posiciones: 2 i -1, con i = 1, 2, 3, …, log 2 N (N: el número de bits) Posiciones: 1, 3, 7, 15 … Tiempo de operación: tp ~ log 2 N Diseño de Circuitos Integrados para Comunicaciones
Sumador de Brent-Kung Co 1: (G 1: 0, P 1: 0) Co 3: (G 3: 2, P 3: 2) • (G 1: 0, P 1: 0) Co 7: (G 7: 4, P 7: 4) • (G 3: 0, P 3: 0) = (G 7: 6, P 7: 6) • (G 5: 4, P 5: 4) • (G 3: 2, P 3: 2) • (G 1: 0, P 1: 0) Posiciones intermedias: Árbol inverso Co 2: (G 2, P 2) • (G 1: 0, P 1: 0) Co 4: (G 4, P 4) • (G 3: 2, P 3: 2) • (G 1: 0, P 1: 0) Co 5: (G 5: 4, P 5: 4) • (G 3: 2, P 3: 2) • (G 1: 0, P 1: 0) Co 6: (G 6, P 6) • (G 5: 4, P 5: 4) • (G 3: 2, P 3: 2) • (G 1: 0, P 1: 0) Diseño de Circuitos Integrados para Comunicaciones
Sumador de Brent-Kung d Diseño de Circuitos Integrados para Comunicaciones
La multiplicación binaria Z con Diseño de Circuitos Integrados para Comunicaciones
La multiplicación binaria Multiplicando, X: M bits Multiplicador, Y: N bits Operación AND Productos parciales Diseño de Circuitos Integrados para Comunicaciones
El multiplicador matricial X 3 X 2 X 1 X 0 Y 0 HA: Half adder (2 entradas) FA: Full adder (3 entradas) Desplazamiento de los productos parciales: por routing Diseño de Circuitos Integrados para Comunicaciones
El multiplicador matricial Mx. N (4 x 4): Camino crítico tc tc tc tand ts tc tc ts ts Critical Path 1 & 2 Para que tmult ↓ es preciso: tcarry ↓, tsum ↓. Idealmente, tcarry ≈ tsum tand = 5 tc + 3 ts + 1 tand Diseño de Circuitos Integrados para Comunicaciones
Multiplicador con reserva de acarreo (Carry-Save) os cuatro HA de la izquierda se pueden M tand eliminar, pues sólo tienen una entrada. tc N-1 tc tc tmer ge Acarreo anticipado tmult = (N-1)tcarry + tand + tmerge Diseño de Circuitos Integrados para Comunicaciones
Celdas sumadoras en el multiplicador matricial (véase p. 15) Carry y Sum presentan idéntico retardo Diseño de Circuitos Integrados para Comunicaciones
Topología del multiplicador Diseño de Circuitos Integrados para Comunicaciones
El multiplicador en árbol de Wallace ( X 3 X 2 X 1 X 0 * Y 3 Y 2 Y 1 Y 0 = Z 7, Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 Z 0) Productos parciales: 6 5 4 3 2 1 06 5 4 3 2 1 0 o o o o o oo o o Primera etapa 2 HAs o oooo oo o o o oooo o oo Z 7, Z 6 Z 5 Z 4 Z 3 Z 2 Z 1 Z 0 Segunda etapa 3 FAs 1 HA Tercera etapa Sumador final FA: 3 entradas, 2 salidas (compresor 3 -2) HA: 2 entradas, 2 salidas 3 FAs y 3 HAs vs. 6 FAs y 6 HAs del multiplicador carry-save Diseño de Circuitos Integrados para Comunicaciones
El multiplicador en árbol de Wallace Diseño de Circuitos Integrados para Comunicaciones
El Multiplicador Booth (I) X 3 X 2 X 1 X 0 (Multiplicando) Y 3 Y 2 Y 1 Y 0 (Multiplicador) Si Y 1 Y 0 = 00 (multiplicar por 0: una fila de ceros) Si Y 1 Y 0 = 01 (multiplicar por 1: la fila es una réplica del multiplicando) Si Y 1 Y 0 = 10 (multiplicar por 2: añadir un 0 a la derecha) Si Y 1 Y 0 = 11 (multiplicar por 3: ? ? ? ) Para evitar la multiplicación por 3, recurrimos a una CODIFICACIÓN: Si Y 1=1, restamos 4 Para “corregir” la sustracción del 4: Añadimos un 1 a Y 2 Si Y 1 Y 0 = 00 (multiplicar por 0: una fila de ceros) Si Y 1 Y 0 = 01 (multiplicar por 1: la fila es una réplica del multiplicando) Si Y 1 Y 0 = 10 (2 – 4 = -2, multiplicar por (-2): hacer el complemento a 2 y añadir un 0 a la derecha) Si Y 1 Y 0 = 11 (3 – 4 = -1, multiplicar por (-1): hacer el complemento a 2) Complemento a 2: se invierten todos los bits y se suma 1 Diseño de Circuitos Integrados para Comunicaciones
El Multiplicador Booth (II) Y 3 Y 2 Y 1 Operación 0 0 0 Multiplicar por 0 0 0 1 Multiplicar por 1 Y 2+1 0 Multiplicar por 1 0 1 1 Multiplicar por 2 Y 2+1 1 0 0 Multiplicar por -2 Y 3=1, restamos 4 1 0 1 Multiplicar por -1 Y 3=1, restamos 4 Y 2+1 1 1 0 Multiplicar por -1 Y 3=1, restamos 4 1 1 1 Multiplicar por 0 Y 3=1, restamos 4 Y 2+1 Ejemplo: Multiplicador: Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 0 1 1 1 0 Y 1 Y 0: Y 3 Y 2: Y 5 Y 4: Y 7 Y 6: 10|0 11|1 01|1 (Multiplicar por -2) (Multiplicar por 0) (Multiplicar por 2) Diseño de Circuitos Integrados para Comunicaciones
EL DESPLAZADOR BINARIO NOP = 1 Bi = Ai Right = 1 Bi = Ai+1 Left = 1 Bi = Ai-1 Diseño de Circuitos Integrados para Comunicaciones
EL DESPLAZADOR BARREL B 3 B 2 B 1 B 0 Sh 0 A 3 A 2 A 1 A 0 Sh 1 A 3 A 2 A 1 Sh 2 A 3 A 3 A 2 Sh 3 A 3 A 3 Líneas de datos Líneas de control La señal sólo pasa por una puerta de transmisión Shi : Desplaza i posiciones a la derecha (repetición del bit de signo, A 3) El área está determinada por las interconexiones Diseño de Circuitos Integrados para Comunicaciones
DESPLAZADOR BARREL 4 X 4 Sh 1 Sh 2 Sh 3 M: Máximo desplazamiento Pm : Distancia mínima entre dos pistas Diseño de Circuitos Integrados para Comunicaciones Widthbarrel ~ 2 pm M
Desplazador logarítmico La señal pasa por una puerta de transmisión en cada etapa # despl. Sh 4 Sh 2 Sh 1 0 0 1 2 0 1 0 2+1 0 1 1 4 1 0 0 4+1 1 0 1 4+2 1 1 0 4+2+1 1 Etapa i: Desplazamiento nulo ó 2 i desplazamientos 20 21 22 Máximo: M desplazamiento con log 2 M (K) etapas Diseño de Circuitos Integrados para Comunicaciones
Desplazador logarítmico de 0 -7 bits Introducción de buffers en las largas cadenas de transistores de paso A A 3 Out 3 2 Out 2 1 Out 1 0 ─ sh 1 ─ sh 2 ─ sh 3 Diseño de Circuitos Integrados para Comunicaciones Out 0 Buffer: inversor con restaurador de nivel
El diseño como un compromiso área/retardo Estático Espejo Manchester Bypass Arrastre anticipado Selección de carry Estático Selección de carry Arrastre anticipado Diseño de Circuitos Integrados para Comunicaciones Bypass Espejo Manchester
ESTRATEGIAS DE LAYOUT: BIT-SLICED DATAPATHS Líneas de control Líneas de señal y potencia paralelas potencia Diseño de Circuitos Integrados paraperpendiculares Comunicaciones
Layout de Bit-sliced Datapaths (I) Señales de control Líneas. Approach de señal y. II potencia perpendiculares Slice de control Feedthrough Canales de routing Diseño de Circuitos Integrados para Comunicaciones
Layout de Bit-sliced Datapaths (II) (a) Datapath sin feedthrough (área = 4. 2 mm 2) (b) Feedthroughs añadidos (área = 3. 2 mm 2) (c) Igualar la altura de la celda reduce el área a 2. 2 mm 2 Diseño de Circuitos Integrados para Comunicaciones
- Slides: 56