Ingeniería Técnica de Telecomunicación SS. EE. Curso 3º Microelectrónica I 2010/11 Resumen TEMA 4. Principales subsistemas digitales en CMOS- VLSI Lógica dinámica. Estructuras lógicas síncronas con señales de reloj. Circuitos con estructura regular: PLAs, ROMs, RAMs, Registros. Circuitos aritméticos. Contadores. TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 1 4.2 Subsistemas digitales en CMOS Sumadores CMOS Semi-sumador (Half-Adder) Sumador completo (Full-Adder) TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 2 AOI full-adder logic Mirror AOI CMOS full-adder TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 3 Transmision-gate full-adder circuit. Este circuito tiene como característica que los retrasos para si y ci son prácticamente iguales. Cuando las entradas se activan a la vez los datos validos de suma y carry se obtienen al mismo tiempo. Sin embargo el circuito AOI el carry es producido primero y usado entonces para calcular la suma. Estructura de un sumador Ripple Carry Sumador de n bits construido mediante sumadores completos. El retraso de un sumador ripple se debe a la propagación del carry por todas las etapas. Cada etapa realiza las siguientes operaciones: si = ai XOR bi XOR ci ci+1 = aibi + aici + bici TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 4 Planificación del layout de un sumador Ripple Carry Ejercicio Identificar los terminales de la celda full adder utilizada en el sumador anterior. TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 5 Circuito de generación del Carry, considerando funciones complejas. Organización en espejo del circuito anterior TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 6 Sumador sustractor en estructura ripple La señal add_sub controla el tipo de operación que se realiza. Con add_sub a cero realiza la suma y con add_sub a 1 realiza una operación de resta. Sumadores rápidos Carry Look Ahead Diseñados para mejorar la latencia de los sumadores ripple. Considera una señal de generación de carry, Gi, y una señal de propagación del posible carry existente. Pi. Estas señales se denominan carry propagate y carry generate: – Pi = ai exor bi – Gi = ai bi Luego calcula sum and carry con P y G: – si = ci XOR Pi XOR Gi – ci+1 = Gi + Pici TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 7 Bases del algoritmo carry look-ahead C1=g0+p0c0 C2=g1+p1c1 C3=g2+p2c2 C4=g3+p3c3 Además substituyendo c1 en c2 se obtiene: C2=g1+p1(g0+p0c0) = g1+ p1g0 + p1p0c0 Estas fórmulas se repiten recursivamente – ci+1 = Gi + Pi(Gi-1 + Pi-1ci-1) – ci+1 = Gi + PiGi-1 + PiPi-1 (Gi-2 + Pi-1ci-2) Evitan la necesidad propagar serialmente los bits de carry por todad la cadena. En forma SOP el esquema del algoritmo es el siguiente: TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 8 Logic network for 4-bit CLA carry bits TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 9 TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 10 Diseño Full CMOS del bloque Carry look ahead TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 11 Sumador Manchester Es una variación del sumador carry lookahead. Explota las propiedades de los circuitos dinámicos. El nudo intermedio almacena el carry complementado. Se fundamenta en construir un circuito que realiza la siguiente operación básica que puede alimentarse en cascada en sucesivas etapas. ci+1 = gi + pi * ci Se define además un bit, ki, que se denomina carry-kill. Para cualquiera de las combinaciones de entrada sólo una de las salidas toma el valor lógico 1. (Esquema conceptual) TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 12 Implementación CMOS estática. (No depende de ki) Si pi=0 M1 OFF y no se propaga c´i . Pero M3 está ON. Si gi=0 M4 ON y c´i+1=1 Si gi=1 M4 Off y M2 ON c´i+1=0 Si pi=1 entonces gi=0 M4 está ON y M3 OFF la salida está controlada por c’i. Implementación dinámica. En la fase de precarga se almacena un 1 en el nudo intermedio. TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 13 Cadena dinámica de un sumador Manchester. TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 14 Sumador mediante selección de Carry Calcula la suma con y sin acarreo. Mediante multiplexores de 2:1 y el carry generado en la etapa previa se obtiene el resultado de la suma. Sumador de 4 bits mediante selección de Carry. TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 15 Sumador de 8 bits mediante selección de Carry. Sumador serial TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 16 Restador TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 17 Multiplicador Celda Básica Planificación de un multiplicador de 4x4 bits TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 18 Ejercicio Diseñar un multiplicador 2x2 con entrada de datos tipo latch. Barrel shifter Un shifter es un circuito muy utilizado en operaciones aritméticas. Los desplazamientos son equivalentes a multiplicaciones por potencias de 2. El shifter más simple es el registro de desplazamiento que mueve una posición por cada ciclo de reloj. Existen muchas ocasiones en las que se necesita mover un dato varias posiciones por cada ciclo de reloj. Los barrel shifter pueden realizar un desplazamiento de n-bit con una única función combinacional y con un layout muy eficiente. Estructura básica del barrel shifter TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 19 Desplazamiento de una posición Barrel shifter 4x4 con entradas A3A2A1A0 TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 20 TEMA 4.2_10_11_resumen.doc Microelectrónica I I.T.T. SS. EE. 21