scieee AI-readable full text Open interactive document viewer

Desarrollo y evaluación de arquitecturas lógicas basadas en Nanopipeline.

Quintero Álvarez, Héctor Javier

Abstract

El potencial de la lógica dinámica, con sus fases de precarga y evaluación es una solución muy estudiada y aplicada, para implementar pipeline sin elementos de memoria usando un esquema de reloj de múltiples fases solapadas (superpipeline). Se sabe que se han desarrollado distintas variantes de este superpipeline y aplicado en entornos y productos comerciales Sin embargo, el escalado tecnológico y las altas frecuencias en las que se trabaja actualmente han aumentado los principales problemas asociados a este estilo lógico. En primer lugar, en las tecnologías DSM, el diseño de puertas dinámicas robustas y rápidas se ha convertido en una tarea difícil debido al gran incremento de las corrientes de fuga y sub-umbrales, los acoplos de señal, las fluctuaciones de potencia y la variabilidad. En segundo lugar, se trata de dificultades relacionadas con la interconexión de puertas para formar redes lógicas, como su carácter no inversor o la problemática del diseño con un nivel de puertas por fase (nano-pipelines) con dos fases de reloj. El trabajo realizado en el marco de esta Tesis Doctoral tiene como objetivo general estudiar en profundidad la problemática de los nanopipelines y explorar soluciones a nivel arquitectural y a nivel eléctrico para la realización de unidades funcionales aritmético-lógicas competitivas en aplicaciones de altas prestaciones en tecnologías DSM. Las principales aportaciones y resultados obtenidos son: Desarrollo y validación experimental de una nueva topología de puerta dinámica DOE. Presenta ventajas, en términos de compromisos entre la velocidad y tolerancia al ruido, con respecto a la solución convencional Dominó. Para una misma tolerancia al ruido razonable, el retraso de una NOR con un fan_in alto Dominó es un 77% en 32nm y un 95% en 16nm superior al de DOE. Evaluación de superpipelines Dominó con distinta profundidad lógica. Los resultados obtenidos muestran que estas arquitecturas se benefician de aplicar un pipeline muy fino. La comparación de sumadores Kogge Stone en una tecnología DSM, usando tres puertas por fase de reloj y una puerta por fase (nanopipeline), muestra cómo está última puede operar un 50% más rápido con similar energía por operación, incrementar la fortaleza del keeper un 60% sin degradar la velocidad, ni la energía, o reducir un 25% el consumo sin degradar velocidad ni tolerancia al ruido, entre otros compromisos de diseño. Análisis de la operación de arquitecturas nanopipelines Dominó y DOE. La topología DOE presenta ventajas respecto a Dominó debido a su carácter inversor. Los nanopipelines DOE son más robustos frente a variaciones de parámetros de dispositivos y de operación y a no idealidades del reloj. Se simplifica considerable del esfuerzo de diseño de estas arquitecturas para operación con dos fases de reloj. Validación experimental de nanopipelines DOE.

Full text

DESARROLLO Y EVALUACIÓN DE ARQUITECTURAS LÓGICAS BASADAS EN NANOPIPELINE Héctor Javier Quintero Álvarez Facultad de Física Universidad de Sevilla Memoria presentada para optar al grado de doctor en el programa de Ciencias y Tecnologías Físicas Junio 2018 A Slimky Agradecimientos A María José y Juan, gracias por todo el apoyo y dedicación durante todos estos años de formación. Índice General Índice de Figuras xi Índice de Tablas xvii 1. Introducción. 1 1.1. Puertas lógicas dinámicas. . . . . . . . . . . . . . . . . . . . 2 1.1.1. Limitaciones de las puertas dinámicas. . . . . . . . . 5 1.1.2. Lógica Dominó. . . . . . . . . . . . . . . . . . . . . . 7 1.1.3. Operación de redes de puertas Dominó. . . . . . . . 11 1.2. Segmentación de circuitos digitales. . . . . . . . . . . . . . . 13 1.2.1. Pipeline tradicional con puertas Dominó. . . . . . . 15 1.2.2. Superpipeline Dominó.................. 17 1.3. Topologías alternativas. . . . . . . . . . . . . . . . . . . . . 18 1.3.1. Estilos de diseño que realizan cambios en la red de pull-up. ......................... 19 1.3.2. Estilos de diseño que realizan cambios en la red de pull-down......................... 26 1.3.3. Estilos de diseño que dividen la red de pull-down. . . 29 1.4. Arquitecturas alternativas. . . . . . . . . . . . . . . . . . . . 32 1.4.1. Arquitecturas basadas en el uso de relojes retrasados. 32 1.4.2. Arquitecturas que utilizan relojes distintos para la precarga y la evaluación. . . . . . . . . . . . . . . . . 34 1.4.3. Arquitecturas que añaden latches a las puertas dinámicas. .......................... 38 1.5. Objetivos de la Tesis y organización de la memoria. . . . . . 40 2. Topología DOE. 43 2.1. Descripción de la topología. . . . . . . . . . . . . . . . . . . 44 2.2. Experimento de caracterización de puertas. . . . . . . . . . 48 viii Índice General 2.2.1. Dimensionamiento de los transistores. . . . . . . . . 48 2.2.2. Simulación para validación funcional y caracterización deretrasos. ....................... 50 2.2.3. Simulaciones de ruido y potencia. . . . . . . . . . . . 51 2.2.4. Herramienta de caracterización de puertas lógicas dinámicas......................... 51 2.3. Evaluación de topologías. . . . . . . . . . . . . . . . . . . . 54 2.3.1. Análisis de la topología Dominó. . . . . . . . . . . . 55 2.3.2. Análisis de la topología Condicional. . . . . . . . . . 57 2.3.3. Análisis de la topología DOE. . . . . . . . . . . . . . 62 2.3.4. Análisis comparativo. . . . . . . . . . . . . . . . . . 63 2.4. Conclusiones. .......................... 71 3. Análisis de arquitecturas superpipeline. 73 3.1. Arquitectura superpipeline. .................. 74 3.1.1. Impacto de los retrasos de evaluación. . . . . . . . . 76 3.1.2. Resultados de simulación con diferentes arquitecturas. 78 3.1.3. Sumador Kogge Stone.................. 87 3.2. Nanopipeline con puertas DOE. . . . . . . . . . . . . . . . . 91 3.3. Dificultades de los nanopipelines de dos fases. . . . . . . . . 92 3.4. Conclusiones. .......................... 98 4. Validación experimental. 101 4.1. Descripción general del circuito integrado. . . . . . . . . . . 101 4.1.1. Núcleo DIR. . . . . . . . . . . . . . . . . . . . . . . . 105 4.1.2. Núcleo EXT. . . . . . . . . . . . . . . . . . . . . . . 105 4.1.3. Núcleo INT. . . . . . . . . . . . . . . . . . . . . . . . 107 4.2. Diseño............................... 112 4.2.1. Circuitos de puertas DOE. . . . . . . . . . . . . . . . 112 4.2.2. Circuitos nanopipeline.................. 116 4.2.3. Circuitos aritméticos. . . . . . . . . . . . . . . . . . 119 4.2.4. Circuitos generadores de señales internas. . . . . . . 121 4.3. Resultados obtenidos. . . . . . . . . . . . . . . . . . . . . . 125 4.3.1. Entorno de medida. . . . . . . . . . . . . . . . . . . 125 4.3.2. Test de los bloques generadores de relojes. . . . . . . 127 4.3.3. Test de puertas. . . . . . . . . . . . . . . . . . . . . . 128 4.3.4. Test de nanopipelines. ................. 129 4.3.5. Test de sumadores. . . . . . . . . . . . . . . . . . . . 133 4.4. Conclusiones. .......................... 136 Índice General ix 5. Análisis de arquitecturas nanopipeline. 137 5.1. Nanopipeline con puertas dinámicas inversoras y no inversoras. 137 5.2. Evaluación de nanopipelines con tres fases de reloj. . . . . . 141 5.2.1. Análisis de frecuencias de operación teóricas. . . . . 141 5.2.2. Análisis de frecuencias de operación medidas por simulación. ........................ 150 5.2.3. Análisis de robustez. . . . . . . . . . . . . . . . . . . 153 5.2.4. Evaluación de puertas con diferentes funcionalidades. 155 5.3. Evaluación de nanopipelines con dos fases de reloj. . . . . . 158 5.3.1. Análisis de frecuencias de operación teóricas. . . . . 159 5.4. Operación del pipeline con puertas DOE sin transistor footer. 165 5.4.1. Evaluación de DOEUF en circuitos a 2 fases. . . . . 166 5.5. Recapitulación. . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.6. Conclusiones. .......................... 174 Conclusiones. 177 Bibliografía 181 Índice de Tablas 2.1. Parámetros de diseño utilizados en la evaluación de topologías. 55 3.1. Resultados de simulación de bloques CM del sumador Kogge Stone. .............................. 89 4.1. Frecuencias nominales de los relojes internos de dos fases. . 123 4.2. Frecuencias nominales de los relojes internos de tres fases. . 125 4.3. Tabla de frecuencias reales de relojes internos de dos fases. . 127 4.4. Tabla de frecuencias reales de relojes internos de tres fases. 127 5.1. Dimensionamiento del experimento. . . . . . . . . . . . . . . 143 5.2. Retrasos (ps) de puertas Dominó. . . . . . . . . . . . . . . . 145 5.3. Retrasos (ps) de puertas DOE. . . . . . . . . . . . . . . . . 145 5.4. Frecuencias teóricas para KP RE = 13 yCDIN = 27 fF. . . . 152 5.5. Retrasos medidos y frecuencia estimada normalizada para DOE. .............................. 157 5.6. Análisis de robustez. . . . . . . . . . . . . . . . . . . . . . . 158 5.7. Caracterización de rangos válidos de DTC y skew para 4GHz.171 5.8. skew nominal........................... 174 5.9. skew concórners......................... 174 Capítulo 1 Introducción. El trabajo descrito en esta Memoria surge en el contexto de un Proyecto del Plan Nacional en el que se abordaba el diseño de circuitos lógicos utilizando diodos de efecto túnel resonante (RTDs). Estos dispositivos exhiben resistencia diferencial negativa en su característica I-V, sobre cuya base es posible construir puertas que aúnan funcionalidad lógica y memoria. Esto es, además de implementar una determinada operación lógica, una puerta de este tipo también implementa un latch, de forma que, durante parte de su operación, es insensible a los cambios en sus entradas, manteniendo en su salida el valor anterior. En virtud de esta memoria, su operación a nivel de red es tipo pipeline sin necesidad de añadir flip-flops. Estas puertas operan con una señal de reloj que determina los distintos “modos de operación”. Además, se trata de un pipeline ultra-fino, ya que hay un único nivel de puertas por fase de reloj, que se ha denominado nanopipeline. La necesidad de disponer de referencias con las que comparar las arquitecturas nanopipeline que se estaban desarrollando, llevó a plantearse el estudio de la implementación de arquitecturas equivalentes en CMOS. En este sentido, la lógica dinámica, al disponer de una señal de sincronización, que define una fase de precarga durante la cual las entradas están bloqueadas, y una fase de evaluación durante la cual las entradas se propagan, presenta una adecuación natural a un estilo de operación pipeline. Su potencial para este tipo de segmentación ha sido reconocido desde hace mucho tiempo. En relación a la implementación de los pipelines ultrafinos mencionados, ya en 1987, Ji-Ren, Karlsson y Svensson propusieron el estilo True Single Phase Circuits (TSPC) [1]. TSPC combina una puerta y un latch dinámicos e intercala etapas en las que la funcionalidad se implementa con transistores NMOS con etapas en las que ésta se implementa con transistores PMOS. 2Capítulo 1. Introducción. Desde entonces se han seguido desarrollando y aplicando con éxito numerosas arquitecturas de pipeline usando lógica dinámica [2 – 7]. En particular se sabe que distintas compañías de microprocesadores han desarrollado soluciones propias, basadas en lógica Dominó y esquemas de reloj de múltiples fases solapadas, lo que permite eliminar los latches, muy eficientes, aunque no se hayan publicado [8]. Incluso se han desarrollado herramientas de síntesis lógica y física para automatizar su diseño [9]. El escalado tecnológico, las altas frecuencias en las que se trabaja actualmente, o las restricciones de potencia han incrementado los principales problemas asociados al uso de lógica dinámica. En este Trabajo de Investigación se aborda el análisis de estas dificultades y se proponen nuevas topologías de puertas dinámicas para la implementación de nanopipelines competitivos en términos de velocidad y robustez. Este capítulo se ha estructurado en cinco apartados. Como punto de partida, el Apartado 1.1 describe la operación de las puertas lógicas dinámicas e introduce la lógica Dominó. En el Apartado 1.2 se analiza el esquema de interconexión de puertas dinámicas tradicional. Posteriormente, se realiza una revisión bibliográfica de diferentes alternativas propuestas para superar distintas limitaciones de la lógica Dominó y que han servido como punto de partida a esta investigación. Concretamente, en el Aparatado 1.3 se muestran distintos estilos de diseño que modifican la topología de las puertas Dominó, mientras que en el Apartado 1.4 se muestran distintas arquitecturas de interconexión. Finalmente, en el último apartado se describen los objetivos de este trabajo y la organización de esta Memoria. 1.1. Puertas lógicas dinámicas. En una puerta CMOS estática de N entradas, se requieren N transistores PMOS y N transistores NMOS. Estas puertas tienen la desventaja de que cada entrada está conectada a dos transistores, uno PMOS y otro NMOS. Para cada nivel lógico de la entrada, sólo uno de los dos transistores se activa, lo que significa que la capacidad del otro transistor carga el nodo crítico sin aumentar la corriente de la puerta. Además, los transistores PMOS suelen ser de mayor tamaño y, por tanto, agregan más capacidad. Uno de los estilos de diseño propuestos para evitar esta desventaja se conoce como lógica pseudo-NMOS. Esta técnica reemplaza la red de transistores PMOS por un único transistor PMOS conectado a tierra. Desafortunadamente, el transistor PMOS compite con los NMOS durante las transiciones descendentes de la salida, reduciendo la velocidad de su descar- 1.1. Puertas lógicas dinámicas. 3 PDNIN VDD CL OUT CLK TPR TFT (a) Topología PDN. PUNIN VDD CL OUT CLK TFT TPR (b) Topología PUN. Figura 1.1: Puertas lógicas dinámicas. ga. Además, debe ser más débil que los NMOS, para tener niveles lógicos asociados al “0” lógico adecuados, por lo que el tiempo de subida no es muy bueno. Finalmente, cuando la salida está en bajo, hay un camino desde VDD a tierra que consume potencia. Un esquema alternativo consiste en conectar el transistor PMOS a una señal de reloj en lugar de la conexión a tierra. Este tipo de circuitos se conocen como CMOS dinámicos [10]. Su funcionamiento se divide en dos fases llamadas “precarga” y “evaluación”. La fase de precarga se produce cuando la señal de reloj está en bajo, activando el transistor PMOS y, en consecuencia, precargando el nodo de salida a VDD . La fase de evaluación se da cuando el reloj está en alto, cortando el transistor PMOS. En esta fase, la salida puede “evaluar” y, según sea el caso, descargarse a través de la red de transistores NMOS. Para permitir un funcionamiento correcto de este tipo de puertas no debe haber un camino activo a tierra durante la fase de precarga, de modo que el transistor PMOS pueda precargar completamente la salida, sin el efecto de contención que pueden provocar los transistores NMOS. Esto se puede conseguir manteniendo las entradas en un estado bajo durante la fase de precarga. Sin embargo, cuando no es posible garantizar esto, se debe emplear un transistor NMOS conectado a la señal de reloj y ubicado en la parte inferior de la red de descarga. Teniendo en cuenta esta última consideración, una puerta dinámica se compone de un transistor PMOS de precarga, TP R , y un transistor NMOS llamado transistor footer, TF T , ambos controlados por una señal de reloj y una red de transistores NMOS (PDN) que, determinan la funcionalidad de 4Capítulo 1. Introducción. la puerta, como se muestra en la Figura 1.1(a). La funcionalidad de la puerta también puede implementarse con transistores PMOS (puertas PUN), formando una red de pull-up o PUN (Figura 1.1(b)). En este caso, el papel de los transistores P y N controlados por la señal de reloj se invierte. Las puertas con una red de descarga con transistores NMOS (puertas PDN) son más rápidas, ya que la movilidad de los electrones es mayor que la de los huecos. Por simplicidad, en este apartado sólo se analiza el funcionamiento de una puerta con red PDN. En fase de precarga ( CLK = 0), el nodo de salida OUT se precarga a VDD , a través del transistor de precarga TP R , mientras que el transistor footer TF T permanece cortado. En fase de evaluación ( CLK = 1), el transistor TP R se corta y el transistor footer conduce. Dependiendo de la combinación de entradas ( IN ), y de la funcionalidad implementada por la red PDN, existirá o no un camino de descarga entre el nodo de salida y tierra. En caso de que no exista, el nodo no se descarga y la salida permanecerá en un nivel de tensión de acuerdo a la carga almacenada en CL . En caso contrario, el nodo se descarga y la salida de la puerta toma un nivel bajo. Consecuentemente, una vez descargado el nodo de salida, no podrá cargarse de nuevo hasta que tenga lugar una nueva fase de precarga. En resumen, las principales características de este estilo de diseño son: Utiliza un menor número de transistores que la lógica estática. Mientras la lógica dinámica requiere N + 2 transistores, la lógica estática emplea 2 N , donde N es el número de entradas de la puerta. Esto se traduce en una menor ocupación de área y, además, la capacidad equivalente de carga es menor respecto a otros estilos lógicos. La función lógica de la puerta puede implementarse con transistores PMOS o NMOS. Sin embargo, una red de descarga PDN, conformada por transistores NMOS exclusivamente, es más rápida que una red PUN de transistores PMOS. No presenta consumo estático, salvo las corrientes de fuga. Sin embargo, hay consumo de potencia asociado a la necesidad de precargar el nodo de salida en cada ciclo de reloj y a la red de distribución del reloj. La velocidad de conmutación, asociada a la reducción de capacidades de carga y a que la evaluación se realiza exclusivamente con transistores NMOS, es una de las ventajas principales de la lógica dinámica. No obstante, este estilo lógico de diseño presenta algunas limitaciones que se describen a continuación. 1.1. Puertas lógicas dinámicas. 5 1.1.1. Limitaciones de las puertas dinámicas. Existen diferentes aspectos que se deben tener en cuenta para obtener un funcionamiento correcto de los circuitos dinámicos [10]: Corrientes de fuga. Idealmente, cuando una puerta dinámica se encuentra en fase de evaluación y las entradas de la red PDN no activan un camino de descarga, la salida de la puerta se mantiene al nivel de tensión almacenado en la capacidad de carga CL . Sin embargo, en la práctica, la carga almacenada tiende a desvanecerse con el tiempo, ocasionando problemas de operación. Esta fuga de carga tiene su origen en que la capacidad formada entre el nodo de salida y tierra está compuesta, en parte, por la capacidad de difusión de drenador de los transistores NMOS de la red PDN, lo que supone un diodo en inversa por el que circulará una pequeña corriente. Además, cuando se tiene una combinación de entradas que no provoca la descarga por la red PDN, inevitablemente se da una corriente de fuga que fluye de drenador a fuente. Si bien esto no es un inconveniente en frecuencias de operación para las cuales la evaluación finalizará mucho antes de que ocurra una fuga considerable, sí representa un problema para los diseños en baja frecuencia o para sistemas que ejecuten interrupciones en sus procesos. Además, este problema se acrecienta por ejemplo, en puertas NOR con un elevado número de entradas, debido a la cantidad de caminos de descarga en paralelo. Estas puertas, por otra parte, se utilizan extensivamente en algunas de las aplicaciones típicas de lógica dinámica [11]. Reparto de carga. Nuevamente, durante la fase de evaluación, cuando la combinación de entradas de la puerta impide la descarga del nodo de salida, éste mantiene su valor de precarga. Pero si durante esta fase, una de las entradas aplicadas a un transistor cuyo drenador se conecta a la salida conmuta a nivel alto, la carga almacenada en la salida se redistribuiría entre la capacidad de carga y las capacidades parásitas de la red PDN, dando lugar a una caída en la tensión de salida que no puede recuperarse hasta la siguiente fase de precarga. Existen distintas formas de contrarrestar este efecto. Una consiste en precargar también los nodos internos de la red PDN para que no perturben la salida. Esto se puede hacer conectando pequeños transistores de precarga. Sin embargo, implica un sobrecosto en términos de área. Además, cada transistor de precarga agrega una capacidad de difusión adicional que 6Capítulo 1. Introducción. ralentiza levemente la puerta, por lo que es mejor precargar el menor número de nodos internos necesarios para satisfacer los márgenes de ruido. Acoplo capacitivo. La alta impedancia del nodo de salida tiene como consecuencia una alta sensibilidad al ruido. Una pista enrutada sobre un nodo dinámico, puede acoplarse capacitivamente y provocar un fallo de funcionalidad cuando este nodo se encuentre en estado flotante. De igual manera, las entradas de una puerta dinámica experimentan esta sensibilidad, ya que el margen de ruido equivale a la tensión umbral del transistor y un poco de acoplamiento es suficiente para activar la puerta dinámica y crear un camino de descarga indeseado. Existen distintas técnicas para evitar este fenómeno; una de ellas es hacer que las líneas adyacentes sólo cambien mientras que la puerta dinámica se encuentre en fase de precarga. Otra técnica consiste realizar diseños con pistas de conexión de corta longitud, de manera que la relación entre la capacidad de acoplamiento y la capacidad de carga sea pequeña y se reduzcan los problemas de ruido. Acoplamiento de reloj. El acoplamiento de reloj es el efecto causado por el acoplo capacitivo entre la señal de reloj del transistor de precarga y el nodo de salida de la puerta dinámica. En este escenario la tensión en el nodo de salida puede subir por encima de la tensión de alimentación en una transición de bajo a alto del reloj cuando en la red de descarga no existe un camino activo. Esto puede hacer que los diodos parásitos pasen de estar cortados a estar en conducción, provocando una inyección de electrones en el sustrato que eventualmente podría provocar una operación incorrecta. El diseño de circuitos dinámicos de alta velocidad requiere una fase de simulación muy cuidada para garantizar, entre otras cosas, que los efectos de acoplamiento del reloj se mantengan dentro de los unos límites razonables. Interconexión de puertas dinámicas. Otro problema que presenta este estilo de diseño se da cuando se conectan puertas dinámicas en cascada, como se muestra en la Figura 1.2. En este caso, las salidas OUT1 y OUT2 se ponen a nivel alto durante la fase de precarga. Cuando se produce una transición de 0a1en la entrada IN durante la fase de evaluación, la salida OUT1 de la primera puerta comenzará a descargarse. Mientras sucede esta descarga, el transistor de entrada de la segunda puerta continúa conduciendo y no se corta hasta que el nivel de tensión en OUT1 esté por debajo de 1.1. Puertas lógicas dinámicas. 7 IN VDD OUT1 CLK TPR TFT VDD OUT2 CLK TPR TFT CLK Figura 1.2: Conexión en cascada de puertas dinámicas. su tensión umbral. Por tanto, la salida de la segunda puerta se descarga de forma errónea durante un intervalo de tiempo. Ya que la pérdida de la carga es irreversible, la salida de la segunda permanecerá en un estado bajo hasta la siguiente fase de precarga y, en consecuencia, el circuito producirá un resultado incorrecto. Este problema surge porque la segunda puerta ve una transición de alto a bajo en una de sus entradas durante la fase de evaluación. Para evitarlo, las puertas dinámicas deben recibir únicamente transiciones de bajo a alto en la fase de evaluación. Es decir, los datos de entrada deben ser “monótonamente ascendentes”, lo que significa que la única transición permitida es de un estado bajo a uno alto. Una manera de lograr esta condición es insertar una puerta estática inversora tras cada puerta dinámica, como hace la lógica Dominó que se describe en el siguiente apartado. 1.1.2. Lógica Dominó. Una puerta dinámica Dominó [12,13], como la que se muestra en la Figura 1.3, se construye a partir de una puerta dinámica, idéntica en estructura y funcionamiento a la topología descrita anteriormente, y un inversor estático conectado a su salida. Durante la fase de precarga, el nodo dinámico se precarga a VDD y la salida del inversor se descarga a un valor bajo. 14 Capítulo 1. Introducción. latch Bloque Estático Bloque Estático Bloque Estático Bloque Estático Bloque Estático Bloque Estático latch ΔDQ ΔDQ T CLK CLK CLK CLK Figura 1.9: Etapa de un pipeline con latches como elementos de memoria. la lógica combinacional, viene dado por: ∆logica =T−∆CQ −∆DC (1.1) Desafortunadamente, en un sistema real, las señales de reloj presentan diferentes no idealidades (que denominamos conjuntamente skew), provocando que aquéllas lleguen a los distintos elementos del circuito en diferentes instantes de tiempo. Esto hace que se reduzca el tiempo útil de evaluación en cada ciclo de reloj. Por tanto, el tiempo de cómputo para la lógica combinacional queda expresado de la siguiente manera: ∆logica =T−∆CQ −∆DC −tskew (1.2) Otro de los problemas que afecta a esta arquitectura es que, en general, en los pipeline reales, lo retrasos de cada etapa son diferentes (lógica desbalanceada). Esto se traduce en una degradación de la latencia. En resumen, los pipeline construidos a partir de flip-flops tienen un sobrecoste en términos de área, potencia y de tiempo, debido a los flip-flops, al tiempo de skew y al tiempo que se “desperdicia” por la lógica desbalanceada. Las penalizaciones de tiempo que exhiben los sistemas construidos a partir de flip-flops pueden reducirse utilizando latches [22]. En la Figura 1.9 se muestra un segmento de un pipeline de lógica estática que emplea latches controlados por señales de reloj complementarias. En este ejemplo 1.2. Segmentación de circuitos digitales. 15 se muestran datos que llegan a cada latch en la mitad del medio ciclo de reloj. Por lo tanto, el latch es transparente a la llegada de su entrada, ya que la señal de reloj se encuentra en alto y se propaga con retraso (∆DQ). Por tanto, el tiempo de cómputo para la lógica combinacional viene dado por: ∆logica =T−2∆DQ (1.3) Además, los pipeline construidos con latches transparentes toleran mejor el skew impuesto por la señal de reloj y la lógica desbalanceada. Esto último se debe a un fenómeno llamado préstamo de tiempo (de ahora en adelante time borrowing). Como se muestra en la Figura 1.9, los datos pueden llegar a los latches más tarde o más temprano, siempre y cuando el latch sea transparente a estos. Esto es una ventaja de diseño ya que, si el pipeline no se encuentra perfectamente equilibrado, una etapa que requiere más tiempo para evaluar puede completarla durante el periodo de evaluación de la siguiente. Aun cuando los sistemas construidos a partir de latches transparentes también tienen penalizaciones asociadas a retrasos de propagación de los elementos de memoria, eliminan las penalizaciones asociadas a cantidades razonables de skew y de lógica desbalanceada, representando una mejora respecto a los sistemas construidos con flip-flops, y por tanto, se justifica su empleo en sistemas de alto rendimiento. 1.2.1. Pipeline tradicional con puertas Dominó. Como ya se introdujo en el apartado 1.1.3, la lógica Dominó tiene una adecuación natural a un estilo de operación pipeline, aunque se debe tener un especial cuidado en su diseño, ya que en el cambio de fase se podrían perder datos. Para evitarlo, un esquema de pipeline con puertas Dominó emplea latches transparentes entre etapas, como se muestra en la Figura 1.10. Este pipeline es similar a los pipeline que emplean puertas estáticas con latches. Sin embargo, no presenta las ventajas discutidas para el caso estático. Esto es, los retrasos propios de los latches y el skew de la señal de reloj se suman a los caminos críticos que limitan la frecuencia de operación. Además, no permiten el time borrowing entre fases. El esquema de la Figura 1.10 emplea latches que mantienen el resultado durante medio ciclo mientras las puertas de su fase precargan, y en el siguiente medio ciclo, puertas y latch evalúan. El dato debe llegar al latch 16 Capítulo 1. Introducción. Bloque Estático Bloque Dinámico Bloque Dinámico latch CLK T Bloque Estático Bloque Dinámico Bloque Dinámico latch CLK CLK CLK CLK CLK CLK CLK Figura 1.10: Temporización de pipelines Dominó con latches. del primer medio ciclo con un tiempo suficiente antes de que la señal de reloj conmute a estado bajo. De esta manera, el dato se propaga a través del latch. El sobrecoste en tiempo de cada latch es el máximo de su tiempo de establecimiento y del retraso de propagación de su entrada a su salida [8]. Asumiendo que el retraso de propagación es más largo, el tiempo disponible de cómputo para la lógica combinacional en cada ciclo es: ∆logica =T−2∆DQ (1.4) Sin embargo, en condiciones reales y en el peor de los casos, una gran cantidad de skew en la señal de reloj puéden llegar a provocar fallos funcionales en el pipeline. La primera puerta dinámica del medio ciclo y el latch pueden recibir relojes desfasados. En estas condiciones, la puerta dinámica podría recibir el reloj más retrasado, mientras que la entrada al latch debe cumplir con los tiempos de establecimiento del reloj más adelantado. Por lo tanto, el skew se tiene que sustraer de cada medio ciclo. Por lo que el tiempo de cómputo disponible para la lógica viene dado por: ∆logica =TC−2∆DC −2tskew (1.5) Al igual que ocurre con los pipeline que utilizan flip-flops como elementos de memoria, a un pipeline tradicional de puertas Dominó le afecta la lógica 1.2. Segmentación de circuitos digitales. 17 Bloque Estático Bloque Dinámico Bloque Dinámico Bloque Estático T Bloque Dinámico Bloque Estático Bloque Estático Bloque Dinámico Bloque Dinámico Bloque Estático Bloque Dinámico Bloque Estático Fase 1 - CLK1Fase 2 - CLK2 CLK2 CLK1 CLK1 CLK1 CLK1 CLK2 CLK2 CLK2 Solape Figura 1.11: Temporización de un superpipeline Dominó. desbalanceada. Las puertas no pueden obtener tiempo prestado del siguiente medio ciclo, por lo que una parte del retraso de puerta al final de cada medio ciclo se puede desperdiciar [8,23]. Existen distintas arquitecturas que utilizan latches dinámicos [24,25]. En particular, pertenece a esta categoría el estilo NORA CMOS [26] o TSPC [1,27]. Este último añade un latch a cada puerta dinámica, e intercala redes PDN y PUN operando con la misma señal de reloj. 1.2.2. Superpipeline Dominó. Existen una variedad de esquemas de sincronización de pipelines Dominó creados por las compañías de microprocesadores, capaces de tolerar el skew y de realizar prestamos de tiempo entre fases de reloj y que se han aplicado con exito para implementar circuitos con muy altas prestaciones [8,28]. En general, dichas técnicas se basan en utilizar fases de reloj solapadas. En [8] se realiza un análisis exhaustivo de este tipo de solución que denominamos superpipeline. La Figura 1.11 muestra la temporización de dos fases consecutivas de un superpipeline Dominó. La principal ventaja de este tipo de circuitos es que no requieren de latches para mantener el resultado del cálculo de la primera fase y así poder utilizarlo en la segunda. En un superpipeline, un solape entre fases de reloj lo suficientemente amplio, permite que la primera puerta de la segunda fase tenga tiempo para evaluar antes de que la última puerta de la primera fase 18 Capítulo 1. Introducción. comience a precargar, incluso en situaciones con skew. Otra característica de este estilo de diseño es que se permite el préstamo de tiempo entre fases de reloj si el solape es suficientemente amplio en comparación con el skew del reloj. De esta manera, una puerta controlada por CLK1 puede completar su evaluación incluso cuando ya ha comenzado la fase de evaluación de CLK2. En resumen, el utilizar fases de reloj solapadas no sólo permite eliminar los latches, sino que contrarresta los efectos que a menudo afectan a los circuitos Dominó tradicionales como son el skew de reloj, los retrasos de los latches y la lógica desbalanceada. Aunque el empleo de dos fases de reloj solapadas es muy atractivo, es necesario controlar la cantidad de solape entre las dos señales de reloj para evitar problemas de deslizamiento, razón por la que usualmente se utilizan más de dos fases de reloj. Esta problemática será abordada en profundidad en el Capítulo 3. 1.3. Topologías alternativas. En la topología Dominó es crítica la fortaleza relativa del transistor keeper con respecto a la red de pull-down. Esta relación impacta directamente en la velocidad de la puerta, y también determina su susceptibilidad a las corrientes de fugas o al ruido en las entradas. Si se hace el transistor keeper más fuerte para mejorar esto último, se incrementan los retrasos. En el pasado, Dominó exhibía un compromiso razonable entre la tolerancia al ruido y la velocidad, sin embargo, en las tecnologías profundamente submicrométricas (DSM), el diseño de puertas dinámicas robustas y rápidas se ha convertido en una tarea difícil [29–33]. A medida que se escala la tecnología, se reducen las tensiones de alimentación y con ellas las tensiones umbrales de los transistores. Esto se traduce en mayores corrientes de fugas y subumbrales. Además, se incrementa la variabilidad. En este escenario, la topología Dominó con transistor keeper no presenta compromisos entre la inmunidad al ruido y la velocidad satisfactorios. Se ha llegado a cuestionar, incluso, que se pueda beneficiar del escalado de la tecnología [34], ya que, mantener el mismo nivel de tolerancia al ruido, conllevaría un incremento de los retrasos que eliminaría las potenciales mejoras de velocidad asociadas al escalado. Esta problemática es especialmente relevante en el caso de puertas OR de un fan-in elevado, debido a los numerosos caminos de descarga del nodo dinámico, complicando su uso en aplicaciones de circuito que anteriormente se implementaban de forma eficiente con lógica dinámica, como los decodificadores de direcciones de los 1.3. Topologías alternativas. 19 register files [11]. El desarrollo de topologías que resuelvan estos problemas es un área de investigación muy activa y se han propuesto numerosas soluciones [35 – 58]. Se pueden clasificar en tres categorías. En la primera de ellas, las diferentes propuestas realizan cambios en la red de pull-up con circuitos que modifican el funcionamiento del transistor keeper. En la segunda categoría, los diseños se centran en realizar cambios en la red de pull-down, con circuitos que modifican el funcionamiento del transistor footer y/o la red de transistores de entrada. Finalmente, una tercera categoría comprende soluciones que dividen la red de pull-down. En este apartado se describen las técnicas más representativas de cada categoría. Algunas de las topologías descritas modifican tanto la red de pull-up como la de pull-down. 1.3.1. Estilos de diseño que realizan cambios en la red de pull-up. Lógica Dominó de alta velocidad (HS-Domino). La lógica Dominó de alta velocidad (High Speed Domino) [43] tiene como objetivo alcanzar un mejor compromiso entre velocidad y márgenes de ruido que en una técnica convencional como CD-Domino Logic [18] (será tratada en el Apartado 1.4 de este capítulo), con bajo consumo dinámico y una penalización en área mínima. En la Figura 1.12 se muestra el esquemático de una puerta HS-Domino. Durante la fase de precarga, el nodo dinámico se encuentra precargado a VDD . El transistor TN1 se encuentra cortado y el transistor TP3 activo, manteniendo cortado el transistor keeper ( TP2 ) y eliminando la contención entre el transistor keeper y la red de descarga durante el inicio de la fase de evaluación. Cuando el reloj retrasado toma un valor alto se plantean dos escenarios posibles. Por un lado, si el nodo dinámico se ha descargado (y la salida vale VDD ), el transistor TN1 está activo y, por tanto, el transistor keeper cortado. En caso de que el nodo dinámico permanezca en alto, la tensión en la puerta del transistor keeper (la salida del inversor formado por TP3 y TN1) vale cero, activándolo para compensar las corrientes de fuga. HS-Domino reduce en cierta medida el problema de contención manteniendo cortado el transistor keeper en el comienzo de la fase de evaluación. Por tanto, sería posible aumentar el tamaño del transistor keeper a medida que se reducen las tensiones umbral en tecnologías escaladas sin que esto implique pérdidas de velocidad por contención con la red de descarga du- 20 Capítulo 1. Introducción. PDNIN VDD VDD VDD Elemento de retraso CLK TP1 TP2 TP3 TN1 INV OUT NOD Figura 1.12: Topología HS Domino. rante la fase de evaluación. Sin embargo, hay que tener en cuenta que, el transistor keeper está deshabilitado al comienzo de la fase de evaluación y el nodo dinámico se encuentra en estado flotante, por lo que hay un tiempo en el que la puerta es vulnerable a cualquier señal de ruido en las entradas. Otro de los problemas reconocidos en esta técnica es que las corrientes de fuga mantienen unos valores elevados a pesar de la compensación del keeper, razón por la que estudios posteriores han buscado soluciones que emplean transistores de diferentes tensiones umbral (MTCMOS) [44,59]: de baja tensión umbral en la operación normal y de alta tensión umbral durante la fase de standby para reducir las corrientes de fuga. Esta mejora ha sido implementada tanto en los circuitos CD-Domino Logic [46] como en circuitos HS-Domino [47], llamados MTCMOS CD-Domino Logic y MHS-Domino respectivamente. Otra técnica llamada clock delayed sleep mode domino logic (CDMSDomino) [48] propone un cambio en el circuito de control del keeper de MHS-Domino. Al igual que en los diseños anteriores, CDMS-Domino reduce la contención al inicio de la fase de evaluación cortando el keeper pero empleando un menor número de transistores que MHS-Domino, reduciendo así, los sobrecostos en términos de área y de disipación de potencia. 1.3. Topologías alternativas. 21 PDNIN VDD OUT CLK TPR TFT VDD TPK1 NOD VDD NOD NOD CLK TPK2 Elemento de retraso Figura 1.13: Topología Dominó con keeper condicional. Lógica Dominó con transistor keeper condicional (CKD). A diferencia de los circuitos Dominó convencionales que emplean un único transistor keeper, en la lógica Dominó con keeper condicional [49], se usan dos, como se muestra en la Figura 1.13. El transistor keeper TP K1 (keeper débil) tiene un comportamiento similar al del keeper de una puerta Dominó convencional, mientras que el transistor keeper TP K2 (keeper fuerte) tiene un comportamiento “condicional”. En el comienzo de la fase de evaluación, el keeper débil es el único que se activa. Tras un tiempo fijado por un elemento de retraso, la salida de la puerta NAND se descarga si no se ha descargado el nodo dinámico y, en consecuencia, se activa el keeper condicional. Un keeper débil, activo durante la transición, da como resultado la reducción de la contención y una rápida transición a la salida, mientras que un keeper fuerte durante el resto del tiempo de evaluación proporciona robustez frente a las corrientes de fuga y al ruido. Dependiendo de los requerimientos de robustez de la puerta, se pueden aplicar diferentes estrategias a la hora de dimensionar ambos keeper. Este concepto de particionar el transistor keeper, también se emplea en una técnica denominada skew-tolerant high-speed domino logic [50]. Está inspirada en la topología HS-Domino, resolviendo sus problemas de temporización, separando la señal de reloj retrasada que controla la siguiente etapa lógica de la estructura que controla el transistor keeper mediante la incorporación un elemento de retraso adicional. 22 Capítulo 1. Introducción. PDN IN VDD VDD VDD OUT CLK NOD TP1 TP2 INV TP3 TNE Espejo de corriente fs·Ifuga Ifuga Figura 1.14: Topología Dominó con transistor keeper de réplica de corriente de fuga (LCR). Lógica con transistor keeper de réplica de corriente de fuga (LCR). Otra propuesta para resolver el problema de las corrientes de fuga de la red de pull-down consiste en usar una corriente de referencia para compararla con las corrientes de fuga del circuito. Una de las técnicas que emplea esta idea es la llamada Leakage Current Replica Keeper (LCR) [51]. Ésta usa un espejo de corriente que sigue el comportamiento de cualquier proceso de córner, variaciones de tensión y temperatura. Una puerta dinámica LCR, como la que se muestra en la Figura 1.14, incorpora un transistor P conectado en serie con el transistor keeper y una estructura de espejo de corriente. El espejo de corriente genera una réplica de la corriente de fuga ( Ifuga ) a partir de la corriente sensada por el transistor TNE , fs ·Ifuga , donde fs es un factor de seguridad establecido por la relación de geometrías de los transistores. El transistor TNE se usa para sensar la corriente de fuga de peor caso. Ésta corriente se copia a la puerta dinámica a través de TP1. La penalización por puerta en términos de área es igual al área del transistor TP1 más una porción del espejo de corriente, que puede ser compartido por todas las puertas que empleen esta misma topología. Lógica con transistor keeper controlado por comparación de corriente (CKCCD). Uno de los estilos de diseño que permite una mayor robustez y reducir en gran medida las corrientes de fuga es CKCCD (Con- 1.3. Topologías alternativas. 23 VDD VDD TP2 TPK VDD TP1 VDD TP2 CLK CLK K NOD IRef IPDN (a) Concepto. PDNIN VDD VDD OUT VDD VDD NOD CLK TN1 TN2 TN3 TP2 TN5 TN4 TN6 TP1 TPK TPR CLK Vst-by K (b) Esquemático. Figura 1.15: Topología Dominó con transistor keeper controlado por comparación de corriente (CKCCD). trolled keeper by current-comparison domino) [52]. El circuito propuesto realiza una comparación entre una corriente de referencia y la corriente que circula por la red de descarga de la puerta, de forma que la mayor desactiva su transistor keeper. Esta idea se ilustra conceptualmente en la Figura 1.15(a). El transistor TP1 se elimina para permitir la descarga del nodo K , activando el keeper ( TP K ) en la fase de precarga. Esto permite mejorar la inmunidad al ruido frente a otras topologías (como HS-Domino), en las que el transistor keeper está cortado al principio de la fase de evaluación. En la Figura 1.15(b) se muestra el esquemático del circuito CKCCD. El transistor TN1 , en configuración de diodo, se emplea para ayudar a reducir las corrientes de fuga cuando la red descarga está deshabilitada o el circuito 30 Capítulo 1. Introducción. PDN2 IN2 VDD OUT CLK TPR NOD KW PDN1 IN1 K1K2 ND1ND2 Figura 1.21: Topología Dominó con diodo particionado (DPD). ND1 y ND2 y de igual manera, se dividen los transistores keeper dentro del circuito, con un dimensionamiento equitativo entre las particiones. Además de los keepers de cada partición, se emplea un transistor keeper adicional KW para obtener una mayor robustez en el circuito. El dimensionamiento de este keeper puede ser débil ya que los keeper de las particiones son los que le dan al circuito una mayor inmunidad al ruido. Una de las ventajas que tiene el realizar estas particiones es que la corriente de contención es N veces más pequeña en comparación con la de una puerta Dominó convencional. El dividir el keeper no supone una pérdida de robustez en el circuito, ya que la red PDN del circuito original también se divide. Lógica Dominó dividida (Split Domino (SD)). La lógica Dominó split (SD) [58] es una solución que busca mejorar el consumo de potencia, la robustez y la reducción de las corrientes de fuga. En circuitos Dominó con un alto fan-in, la lógica SD reduce el impacto de las corrientes de fuga dividiendo la red de descarga en dos redes individuales. En la Figura 1.22 se muestra el esquemático de esta técnica que también divide al keeper entre las dos redes, de esta manera se crean dos nodos dinámicos que se conectan a una puerta NAND a la salida del circuito. Como resultado de esta división, se reduce la capacidad en el nodo dinámico y, en consecuencia, se obtiene una evaluación más rápida de la puerta. 1.3. Topologías alternativas. 31 PDN1 IN1 VDD VDD CLK NOD TPR1 TPK1 PDN2 IN2 VDD VDD CLK NOD TPR2 TPK2 OUT CLK Figura 1.22: Topología Dominó split. La operación del circuito se describe a continuación: en la fase de precarga, los transistores keeper permanecen cortados y la salida en bajo. En el comienzo de la fase de evaluación, los transistores keeper se mantienen cortados manteniendo al mínimo la contención. Durante la evaluación de la puerta pueden ocurrir dos casos que analizaremos para una puerta tipo OR. En primer lugar, cuando todas las entradas están a cero y las corrientes de fuga están al máximo, los transistores keeper controlados por la puerta NAND de tres entradas se activan para evitar la descarga indeseada de los nodos dinámicos. Esta puerta NAND está diseñada de tal manera que puede realizar una descarga muy rápida de su salida en caso de que todas las entradas permanezcan en bajo y, por tanto, activar más rápido los transistores keeper. El segundo caso se produce cuando cualquier entrada está en alto. En este escenario, el nodo dinámico descarga más rápido debido a que se ha reducido la capacidad en este nodo al dividir la red PDN. 32 Capítulo 1. Introducción. 1.4. Arquitecturas alternativas. De la misma forma que se han propuesto numerosas topologías de puertas dinámicas, también se han desarrollado distintos esquemas de interconexión y sincronización para su operación (arquitecturas) con el objetivo solventar determinadas limitaciones de la lógica Dominó. Ya se ha señalado las limitaciones que, para el diseño lógico, supone el hecho de que las puertas Dominó implementan funcionalidad no inversora, y las implicaciones que esto tienen sobre el coste en área y potencia de las soluciones de tipo dual-rail. Se han reportado distintas arquitecturas que permiten interconectar puertas dinámicas inversoras. Otra dificultad se asocia a la reducción del número de niveles lógicos por fase de pipeline, impuesta por los requisitos de velocidad de aplicaciones de altas prestaciones y en particular, por el pipeline a nivel de puerta. Así, el diseño con una puerta por fase (nanopipelines) con dos fases de reloj, atractiva desde el punto de vista de incrementar el rendimiento, es muy laborioso debido a problemas de deslizamiento (race-through failure) y en la práctica algunas de las arquitecturas de este tipo vuelven a incorporar latches [60]. En este apartado se describen distintos esquemas de interconexión reportados en la literatura. Se han clasificado en tres grupos: arquitecturas que utilizan relojes retrasados en etapas consecutivas, arquitecturas que utilizan relojes distintos para la precarga y para la evaluación de las puertas y arquitecturas que integran puertas y latches dinámicos. 1.4.1. Arquitecturas basadas en el uso de relojes retrasados. Lógica Dominó de reloj retrasado (Clock Delayed Domino CDDomino). Esta arquitectura propuesta en [18,61] resuelve la primera de las limitaciones mencionadas, permitiendo conectar tanto puertas dinámicas (sin el inversor de salida de la lógica Dominó) como etapas Dominó. Esto se logra usando relojes retrasados en niveles lógico consecutivos. Cada puerta CD-Domino se construye a partir de una puerta dinámica o Dominó, y un elemento de retraso (en caso de ser necesario), como se muestra en la Figura 1.23. El principio de funcionamiento de esta arquitectura se basa en retrasar el flanco de subida de la señal de reloj para la siguiente etapa lógica, asegurando el establecimiento de sus entradas cuando comienza su fase de evaluación. De esta manera, la señal de reloj a la salida del elemento de retraso indica a la siguiente puerta cuándo está disponible su dato de entrada. Por tanto, 1.4. Arquitecturas alternativas. 33 IN VDD CLK TPR TFT VDD TPR TFT VDD TPR TFT Elemento de retraso Elemento de retraso OUT Figura 1.23: Interconexión de puertas dinámicas con reloj retrasado (CDDomino). este retraso siempre debe ser mayor que el retraso de peor caso de la puerta dinámica más un margen de seguridad. Una red con puertas CD-Domino puede implementarse con dos esquemas de reloj diferentes. El primer esquema es similar al expuesto en [62]. Sólo la puerta más lenta de cada nivel lógico necesita un elemento de retraso. La señal de reloj a la salida de dicho elemento es empleada por las puertas de la siguiente etapa. Las salidas en este esquema de reloj deben esperar a la puerta más lenta en cada etapa lógica. De esta manera, su velocidad viene determinada por la puerta más lenta de cada etapa lógica y no necesariamente por el retraso del camino crítico. En el segundo esquema de reloj, la temporización se realiza haciendo que cada puerta use la señal de reloj proveniente de la puerta que genera su entrada más lenta, en lugar de emplear la misma señal de reloj para todas las del mismo nivel lógico. En caso de que la salida de una puerta no sea la entrada más lenta de alguna puerta, entonces no necesita un elemento de retraso. Empleando unos pocos elementos de retraso adicionales, las salidas del circuito se evalúan más rápido, ya que las puertas no tienen que esperar la señal de reloj proveniente del elemento de retraso de la etapa anterior. También se ha propuesto el uso de relojes retrasados para reducir las corrientes y el consumo de potencia cuando se usa lógica Dominó sin footer [45,63]. 34 Capítulo 1. Introducción. Lógica de predicción de salida (Output prediction logic OPL). Esta técnica fue propuesta en [64,65] y es aplicable a una variedad de familias lógicas (estáticas y dinámicas) de funcionalidad inversora y tiene como fin aumentar la velocidad conservando los atributos de la topología a la que se aplica. Se inspira en la propiedad inversora de la lógica CMOS estática, en la que la salida de cada puerta dentro de un camino crítico debe realizar transiciones alternantes de “0” a “1”, o de “1” a “0” en el peor de los casos. OPL mejora este comportamiento de peor caso al precargar en alto la salida de cada puerta antes de evaluar (predecir). Con esto estaremos prediciendo correctamente la mitad de las salidas de las puertas del camino crítico. Aplicado a la lógica dinámica se traduce en conectar directamente etapas dinámicas (sin inversor de salida), retrasando para ello el reloj de puertas consecutivas como CD-Domino. A diferencia de esta otra técnica, excluye el uso de etapas Dominó para conservar el carácter inversor de las puertas en el que se fundamentan las ventajas de velocidad de OPL. Ambas arquitecturas de interconexión propuestas en este apartado son técnicas de circuitos autotemporizados que dependen de una sincronización precisa entre los retrasos del reloj y la lógica para todos los posibles córners de diseño. Esto representa un reto considerable en el caso de tecnologías profundamente submicrométricas. 1.4.2. Arquitecturas que utilizan relojes distintos para la precarga y la evaluación. Describimos bajo este epígrafe técnicas para implementar pipelines con lógica dinámica sin elementos de memoria. En este sentido son alternativas al superpipeline descrito en el apartado 1.2.2. A diferencia de este último, permiten implementar lógica inversora sobre la base de utilizar fases de reloj distintas para la evaluación y para la precarga de las puertas. Lógica sincronizada Dominó (Clock logic domino CL-Domino). Uno de los esquemas propuestos para la temporización del pipeline consiste en retrasar la precarga de la fase previa hasta el final del período de evaluación de la fase actual [66]. Esto se logra ampliando el duty cycle de la señal de reloj de precarga. En la Figura 1.24(a) se muestra el esquema con tres fases de reloj (que corresponde con el mínimo posible). Esta implementación de CL-Domino es conocida como “Precarga-OR / Evaluación-Dominó” ya que las señales de precarga son una función lógica OR de los relojes utilizados en un esquema de reloj de múltiples fases. 1.4. Arquitecturas alternativas. 35 Bloque Estático Bloque Dinámico Bloque Dinámico Bloque Estático Bloque Dinámico Bloque Estático Bloque Estático Bloque Dinámico Bloque Dinámico Bloque Estático Bloque Dinámico Bloque Estático CLK1+2 CLK2+3 CLK3+1 CLK1 CLK2 CLK3 CLK1CLK1CLK2CLK3CLK3CLK1 CLK1+2 CLK3+1 CLK3+1 CLK2+3 CLK1+2 CLK1+2 Relojes de precarga Relojes de evaluación (a) Precarga-OR. Bloque Estático Bloque Dinámico Bloque Dinámico Bloque Estático Bloque Dinámico Bloque Estático Bloque Estático Bloque Dinámico Bloque Dinámico Bloque Estático Bloque Dinámico Bloque Estático CLK1 CLK2 CLK3 CLK3•1 CLK1•2 CLK2•3 Relojes de precarga Relojes de evaluación CLK3•1CLK3•1CLK1•2CLK2•3CLK2•3CLK3•1 CLK1 CLK3 CLK3 CLK2 CLK1 CLK1 (b) Evaluación-AND. Figura 1.24: Arquitecturas CL-Domino. 36 Capítulo 1. Introducción. Por ejemplo, las puertas de la primera fase del pipeline evalúan con CLK1 y precargan con CLK1 + CLK2 , siendo CLK2 la señal de evaluación de la siguiente fase. Esta operación entre fases se implementa a nivel de puerta, sustituyendo el transistor de precarga por dos transistores en serie. Uno controlado por CLK1y otro por CLK2. Un segundo esquema de reloj presentado también en [66] consiste en finalizar la evaluación de una fase de manera anticipada. Esto se logra limitando el período de evaluación hasta el momento en que el reloj de la fase anterior baja, como se muestra en la Figura 1.24(b). Esta segunda implementación es conocida como “Precarga-Dominó / Evaluación-AND” ya que las señales de reloj de evaluación son una función lógica AND de los relojes utilizados en un esquema de reloj de múltiples fases. Al comparar los esquemas de Precarga-OR con Evaluación-AND, este último ofrece más tolerancia al skew debido a que la operación de precarga no se ve afectada. Sin embargo, el tiempo útil por ciclo se reduce en comparación con el esquema de Precarga-OR. En ambos casos, las puertas dinámicas presentan tres fases en su operación precarga, evaluación y mantenimiento o memoria, con lo que es posible eliminar los latches de un pipeline convencional e implementar funcionalidad inversora. Técnica de pipeline sin elementos de memoria. Otro estilo de diseño basado en hacer trabajar las puestas dinámicas en tres modos de operación es conocido como memory less [67,68]. De manera similar a como ocurre en clock logic, en la fase de memoria, los transistores de control (precarga y footer) están cortados y la salida mantiene el estado de la última evaluación. También, durante esa fase de memoria, los valores de entrada en la red PDN no afectan la salida de la puerta. A diferencia de clock logic, la topología de la puerta no se modifica, sino que las fases de reloj se generan externamente. Para obtener un funcionamiento correcto a nivel de pipeline es necesario que cada puerta pase continuamente por las tres fases de operación en el siguiente orden: precarga, evaluación y memoria. La Figura 1.25(a) muestra el esquema de temporización de una puerta que usa dos fases de reloj. CLK1 controla el transistor footer yCLK2el de precarga. Un pipeline con un esquema de reloj de tres fases se muestra en la Figura 1.25(b). Las tres señales de reloj ( CLK1 , CLK3 y CLK5 ) y sus complementos (CLK4,CLK6yCLK2), se muestran en la Figura 1.25(c). Este estilo de diseño permite la implementación de puertas con funcio- 1.4. Arquitecturas alternativas. 37 Precarga Evaluación MemoriaPrecarga Evaluación Memoria CLK1 CLK2 (a) Esquema de temporización para una puerta Memory Less. Puerta Dinámica CLK1CLK5CLK3 CLK1CLK5 CLK3 CLK2CLK4CLK6CLK2CLK4CLK6 T. Footer T. Precarga Puerta Dinámica T. Footer T. Precarga Puerta Dinámica T. Footer T. Precarga Puerta Dinámica T. Footer T. Precarga Puerta Dinámica T. Footer T. Precarga Puerta Dinámica T. Footer T. Precarga (b) Estructura de pipeline con tres fases de reloj. CLK1 CLK2 CLK3 CLK4 CLK5 CLK6 (c) Esquema de tres fases de reloj. Figura 1.25: Arquitectura Memory Less. nalidad inversora y no inversora. Tiene la desventaja de requerir señales de reloj adicionales. Aunque la generación de estas señales de reloj es un gasto único que no aumenta con la complejidad del circuito. 38 Capítulo 1. Introducción. PDNIN VDD CLK TP1 TN1 VDD TP2 TN3 TN4 VDD TN2 TP3 VDD TP2 TN2 OUT OUT OUT CLK Figura 1.26: Topología LSDL. 1.4.3. Arquitecturas que añaden latches a las puertas dinámicas. Lógica dinámica de conmutación limitada (Limited switch dynamic logic LSDL). Esta arquitectura combina propiedades de los circuitos estáticos y dinámicos [69–71]. LSDL tiene como objetivo reducir la penalización de consumo tradicionalmente asociada a los circuitos dinámicos y ocupar menos área que los circuitos dinámicos convencionales [72]. Para lograr su objetivo, LSDL combina una interfaz Dominó con un latch como se muestra en la Figura 1.26. Uno de los problemas de consumo de potencia en los circuitos Dominó radica en que el nodo dinámico debe precargarse en cada ciclo de reloj, incluso para una entrada constante a “1” lógico. Esto también ocurre en LSDL, pero mientras en Dominó, el nudo de salida de la puerta también se carga y descarga repetidamente en dicha situación, en LSDL, debido al latch, el nodo de salida permanece constante. Puesto que el nodo de salida es generalmente el más capacitivo esto representa una ventaja significativa en términos de potencia. También se ha argumentado que al disponer de una etapa de salida con dos niveles lógicos, se tiene mayor flexibilidad de diseño para manejar su carga capacitiva, lo que permite reducir el tamaño de los transistores de la etapa dinámica. Esto, junto con el uso de relojes pulsantes que proponen, se traduce en que es posible reducir también el tamaño de los transistores de precarga, reduciendo así también la potencia asociada a la conmutación del reloj. Además, el latch permite intercalar lógica estática inversora y no 1.4. Arquitecturas alternativas. 39 Bloque latch LSDL Bloque estático CLK1 Bloque latch LSDL Bloque estático CLK2 Bloque latch LSDL Bloque estático CLK1 Bloque latch LSDL CLK2 (a) Con lógica estática. CLK OUT IN Latch LSDL CLK OUT IN Latch LSDL CLK OUT IN Latch LSDL CLK1CLK2CLK1 IN1IN2IN3 OUT (b) Nanopipeline con dos fases de reloj. CLK OUT IN Latch LSDL CLK OUT IN Latch LSDL CLK OUT IN Latch LSDL Retraso Retraso CLK1CLK1CLK1 IN1IN2IN3 OUT1OUT2OUT (c) Nanopipeline con una fase de reloj. Figura 1.27: Arquitecturas LSDL. inversora entre puertas LSDL, haciendo innecesaria la lógica doble rail. La inclusión de latches en cada puerta LSDL tiene implicaciones desde el punto de vista de la implementación de pipelines y por eso se ha incluido en ese apartado. En primer lugar se ha propuesto utilizarlos para reemplazar los latches en pipelines de dos fases de procesadores de altas prestaciones (Figura 1.27(a)). En estos casos se usan relojes con duty cycle reducido para disminuir la problemática asociada a las corrientes de fuga durante la fase de evaluación y eliminar el transistor keeper que protege el nodo dinámico [70]. También se han reportado diseños muy competitivos prácticamente eliminando la lógica estática entre puertas LSDL. Esto es implementando un pipeline con una puerta por fase de reloj (nanopipeline) como se muestra en la Figura 1.27(b). En algunos casos puede ser necesario añadir inversores entre dos etapas LSDL para manejar cargas asociadas a las interconexiones. En el caso de que medio ciclo no fuese suficiente para alguna de las etapas del 46 Capítulo 2. Topología DOE. .6 V (V) 0.0 .6 1.2 V (V) 0.0 1.2 V (V) 0.0 1.2 V (V) 0.0 1.2 V (V) 0.0 1.2 V (V) 0.0 1.2 CLK CLKD IN NOD NAND OUT tiempo Figura 2.2: Forma de onda para una puerta NOR de 16 entradas. de propagación. Por el contrario, si hay una combinación de entradas en la puerta que no haga descargar el nodo dinámico, la salida de la puerta NAND se descargará y la salida se pone a “1” lógico. El retraso de evaluación en este caso viene determinado por el retraso de la puerta NAND sumado al retraso del inversor de salida y al tiempo de retraso del reloj, ∆CLK . En la Figura 2.2 se muestran las formas de onda obtenidas de la simulación de una puerta NOR de 16 entradas. La señal IN se aplica a una de las entradas de la puerta, mientras las 15 restantes se fijan a tierra. En el primer ciclo de reloj ( CLK ), la entrada IN está en alto, mientras que en el segundo está en bajo. Se muestra también la señal de reloj retrasado ( CLKD ), el nodo dinámico ( NOD ), la salida de la puerta NAND ( NAND ) y la salida de la puerta (OUT ). Para el caso en el que la entrada IN está en alto en la fase de evaluación, el nodo dinámico se descarga y la salida de la NAND permanece en alto. Por tanto, la salida de la puerta no realiza ningún tipo de transición. En el segundo período de reloj, todas las entradas permanecen en bajo, lo que provoca la descarga de la puerta NAND y, en consecuencia, se carga la salida de la puerta como se espera. La velocidad de descarga del nodo dinámico no afecta al retraso de la puerta, por lo que podría incrementarse la fortaleza del transistor keeper (y por tanto la inmunidad al ruido) sin que éste se incremente. Evidentemente, esta afirmación es válida hasta cierto punto. El retraso de DOE 2.1. Descripción de la topología. 47 tiempo V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 CLK IN NOD NAND OUT Figura 2.3: Formas de onda para una puerta NOR de 16 entradas sin celda de retraso. depende de ∆ CLK y es necesario mantener una relación adecuada entre este valor y el tiempo de descarga del nodo dinámico para que la puerta opere correctamente. El retraso de la señal de reloj es necesario para controlar la evaluación de la puerta NAND, ya que sin él, su salida puede descargarse indebidamente y generar un glitch en la salida de la puerta DOE, como se ilustra a continuación. La Figura 2.3 muestra las formas de onda de una simulación realizada a una puerta DOE de 16 entradas empleando una señal de reloj sin retraso para la puerta NAND. En la figura se muestra claramente como la puerta NAND comienza a descargarse al comenzar la fase de evaluación del reloj. En caso de que la combinación de entradas provoque una descarga del nodo dinámico, la salida de la NAND se carga nuevamente a VDD , pero su descarga parcial produce un glitch en la salida de la puerta que, eventualmente podría provocar un fallo funcional. A pesar de que el mínimo ∆ CLK viene determinado por el retraso del nodo dinámico, aquél puede ser menor que éste. Así, asumiendo que un dimensionamiento similar en las etapas dinámicas de ambas topologías se traduce en una tolerancia al ruido semejante para una inmunidad al ruido igual, DOE es más rápido que Dominó. De forma análoga, diseñando para un retraso equivalente, se espera que DOE logre una mayor tolerancia al ruido. En resumen, se espera un mejor compromiso retraso-tolerancia al ruido con la topología propuesta. 48 Capítulo 2. Topología DOE. 2.2. Experimento de caracterización de puertas. Con el objetivo de evaluar la topología propuesta, se han llevado a cabo experimentos de caracterización por simulación de puertas DOE y otras topologías de puertas dinámicas. En este apartado se describe la metodología seguida, y en el siguiente se presentan los resultados obtenidos para puertas NOR de alto fan-in en tecnologías DSM, para las que Dominó exhibe compromisos velocidad-robustez no satisfactorios. 2.2.1. Dimensionamiento de los transistores. En los experimentos de caracterización realizados se utiliza como parámetro de diseño el ancho de los transistores (W), usando para la longitud (L) el mínimo permitido por la tecnología, salvo que se indique lo contrario. PDN INA VDD CLK TPR TFT NOD VDD TKP OUT INB Inversor de carga Elemento de retraso CLK Figura 2.4: Esquemático utilizado para caracterización. La Figura 2.4 muestra la etapa dinámica de una puerta DOE o una puerta Dominó. Su dimensionamiento viene por los siguientes parámetros: KP RE: Factor de escalado para el transistor de precarga. KF T : Factor de escalado para el transistor footer. KP DN : Factor de escalado del keeper. KIN : Factor de escalado de los transistores de la red PDN. KL: Factor de escalado de la longitud para el transistor keeper. 2.2. Experimento de caracterización de puertas. 49 A partir de estos factores de escalado se determina el ancho de todos los transistores de la siguiente manera: Transistor de precarga: WT P R =KP RE ∗Wmin (2.1) Transistor footer: WT F T =KF T ∗KIN ∗Wmin (2.2) Transistores de entrada: WIN P UT =KIN ∗Wmin (2.3) El ancho equivalente de la red de descarga, WP DN , para el caso de una puerta NOR, viene dado por: 1 WP DN Lmin =1 KF T ·KIN ·Wmin Lmin +1 NIN P UT ·KIN ·Wmin Lmin (2.4) Transistor keeper: WKP KL·Lmin =KP DN ·WP DN Lmin (2.5) Reemplazando 2.4 en 2.5 tenemos: WKP =KL·KP DN ·NINP UT ·KIN ·KF T ·Wmin NIN P UT +KF T (2.6) Obsérvese que el factor de escalado KP DN relaciona la fortaleza del transistor keeper respecto a la red de descarga. Es posible explorar compromisos velocidad robustez variando KP DN y manteniendo constantes los restantes parámetros de diseño asociados a la etapa dinámica y a los elementos restantes que conforman una determinada topología. Nos referimos al inversor de salida en el caso de Dominó o a la etapa de salida, formada por una NAND y un inversor en DOE. 50 Capítulo 2. Topología DOE. CLK NOD OUT 0V VDD 0V VDD VDD 0V 80% 20% 80% B A (a) Evaluación. NOD OUT 0V VDD VDD 0V 80% 20% B A CLK VDD 0V 20% (b) Precarga. Figura 2.5: Medidas de retraso. 2.2.2. Simulación para validación funcional y caracterización de retrasos. Se han realizado diferentes simulaciones para validar la funcionalidad de la puerta y medir sus retrasos. En concreto se han tomado cuatro medidas de retraso, dos de ellas asociadas a la fase de evaluación y otras dos asociadas a la fase de precarga. La puerta lógica se ha sometido a estímulos de entrada con todas las combinaciones posibles. Para cada combinación de entrada, se evalúa la funcionalidad y se miden los cuatro retrasos. De esta manera se asegura estar midiendo el retraso máximo de evaluación y de precarga, ya que se aplica la combinación de entradas de caso peor, en la que las 15 entradas conectadas a INBestán a “0” y la entrada INAa “1”. Medidas de retraso en fase de evaluación. En la fase de evaluación se mide el retraso asociado a la descarga del nodo dinámico comenzando en el 80% de la subida de la señal de reloj hasta el 20 % de la bajada del nodo dinámico (A), como se ilustra en la Figura 2.5(a). También se mide el retraso en la salida de la puerta comenzando en el 80% de la subida de la señal de reloj hasta el 80 % de la subida de la señal de salida (B). 2.2. Experimento de caracterización de puertas. 51 Medidas de retraso en fase de precarga. En la fase de precarga se mide el retraso asociado a la carga del nodo dinámico comenzando en el 20% de la bajada de la señal de reloj hasta el 80% de la subida del nodo dinámico (A), como se ilustra en la Figura 2.5(b). También se mide el retraso en la descarga de la salida comenzando en el 20% de la bajada de la señal de reloj hasta el 20 % de la bajada de la señal de salida (B). 2.2.3. Simulaciones de ruido y potencia. Se han utilizado diferentes criterios para evaluar la tolerancia al ruido de las puertas dinámicas [75 – 78]. Con propósitos de comparación está extendido el uso del UGN (Unity Gain Noise), que se define como el nivel de ruido aplicado a las entradas de la puerta dinámica que genera un nivel igual de ruido a la salida del circuito [79–83], Un nivel de ruido presente en las entradas de la puerta por encima del nivel UGN puede propagarse a la siguiente etapa del circuito y provocar un fallo de funcionalidad. Para la medida de ruido hemos considerado el escenario más desfavorable en el que se aplica la misma tensión de ruido a todas las entradas. Para realizar las medidas de consumo de potencia se han aplicado secuencias de entrada aleatorias, realizándose simulaciones transitorias de duración suficiente para que el valor de consumo converja. 2.2.4. Herramienta de caracterización de puertas lógicas dinámicas. Se ha desarrollado una herramienta software para automatizar la realización de experimentos de caracterización de puertas lógicas dinámicas en lenguaje de programación M de Matlab [84]. En este apartado se presenta una descripción general de las tareas que realiza la herramienta. En el proceso de caracterización de una puerta, la herramienta interviene en la generación de archivos de simulación, el procesamiento y análisis de las simulaciones realizadas en el entorno Virtuoso-Cadence [85] empleando el simulador Spectre [86] y la presentación de los resultados obtenidos. Sus principales características son: Evaluación de funcionalidad lógica. Caracteriza diferentes tipos de puertas con distintos fan-in. Para ello, se le proporciona como entrada a la herramienta la funcionalidad de la puerta que se está analizando. 52 Capítulo 2. Topología DOE. Topologías de celdas. La herramienta permite la caracterización de puertas construidas en distintas topologías. La única restricción es que opere con una señal de reloj, en las dos fases típicas de este tipo de lógica: precarga y evaluación, con un nodo dinámico y un nodo de salida. Nodos tecnológicos. La herramienta permite la caracterización de la puerta lógica en diferentes nodos tecnológicos. En este trabajo se ha utilizado un nodo comercial UMC 130 nm [87], en la validación de la herramienta, y tres predictivos PTM [88] de 32 nm,22 nm y16 nm. Dimensionamiento de los transistores. La herramienta explora distintos dimensionamientos de puerta y permite caracterizar puertas en diferentes nodos tecnológicos. El proceso de caracterización de una puerta lógica lo llamaremos de ahora en adelante “experimento”. Un experimento implica una topología de puerta determinada, en una o más tecnologías y un conjunto de dimensionamientos para la misma. Por lo tanto, en un experimento se simulan muchas puertas, cada una con dimensionamiento y en una tecnología determinada. En la Figura 2.6 se presenta el diagrama de flujo de un experimento. Las tareas realizadas por la herramienta se muestran con fondo azul. Un experimento comienza con la interacción de la herramienta con el usuario, para determinar cuáles serán los parámetros de diseño y sus rangos de valores que se desean explorar, así como en qué tecnologías se simulará el experimento. Una vez definidos todos los parametros de simulación, la herramienta genera de manera automática los scripts de simulación en lenguaje Ocean (Open Command Environment for Analysis) de Cadence. Estos son posteriormente ejecutados por el simulador Spectre. Spectre genera archivos en formato plano con datos referentes a las señales que intervienen en el experimento a caracterizar. Estos archivos son importados por la herramienta, que identifica los parámetros característicos de cada tecnología como la tensión de alimentación y el dimensionado mínimo permitido para los transistores. Una vez importados los archivos de simulación, la herramienta iteractua con el usuario para determinar los criterios de evaluación que permitirán a la herramienta validar o invalidar la funcionalidad de las puertas simuladas. Las tareas que se relacionan a continuación se realizan para cada una de las simulaciones. Esto es, para cada dimensionamiento de la puerta en cada una de las tecnologías. 2.2. Experimento de caracterización de puertas. 53 INICIO Generación de archivos de simulación Simulación de retrasos y de potencia en Spectre Ø Importar archivos de simulación. Ø Identificar señales. Ø Verificar la función lógica de la puerta. Ø Realizar caracterización de retrasos. Ø Calcular consumo de potencia. Ø Generar archivos de simulación de ruido. Simulación de ruido en Spectre Ø Importar archivos de simulación. Ø Identificar señales. Ø Realizar caracterización de ruido. Ø Generar resultados de análisis de ruido. FIN Figura 2.6: Diagrama de flujo de un experimento de caracterización. Identificación de señales y caracterización de la señal de reloj. Evaluación de funciones lógicas. Caracterización de retrasos. Calculo de potencia. 54 Capítulo 2. Topología DOE. Una vez procesados todos los datos importados, la herramienta genera un archivo Microsoft-Excel con información del experimento como el resultado del chequeo funcional, retrasos máximos en evaluación y precarga para nodo dinámico y nodo de salida, y el consumo de potencia. A partir de los datos procesados de cada experimento, es posible realizar un análisis de ruido a cada puerta. De manera similar a como se realiza la generación de scripts de Ocean para las simulaciones de retrasos, se realiza la generación de scripts para las simulaciones de ruido. Esta vez el usuario no interviene en el proceso, ya que los parámetros de dimensionamiento con los que se escriben los scripts son las combinaciones de parámetros que superaron la evaluación de funcionalidad en la primera parte del proceso de caracterización. Para cada dimensionamiento validado funcionalmente se le genera un script en el que se varía la amplitud del pulso de ruido en las entradas. La importación de los datos de simulación generados en Spectre se realiza de manera similar a lo descrito anteriormente, con la diferencia de que para las medidas de ruido se importan tantos ficheros como simulaciones validas se hayan tenido en la evaluación de funcionalidad. Una vez procesados todos los datos importados, la herramienta genera un nuevo archivo MicrosoftExcel con información del experimento relativa a las medidas de UGN de cada una de las puertas y la tensión del nodo dinámico y de salida para el pulso de ruido de amplitud UGN. 2.3. Evaluación de topologías. Utilizando la herramienta desarrollada se han caracterizado y comparado puertas Dominó, DOE y Dominó con keeper condicional. Los resultados que mostramos persiguen validar experimentalmente que DOE exhibe compromisos velocidad-robustez muy satisfactorios. Por ello se ha elegido puertas NOR (OR en el caso de las Dominó) de fan-in alto (16) y se han evaluado en tecnologías DSM. En concreto se han evaluado usando modelos predictivos de transistores MOSFET (PTM) en tres nodos tecnológicos: 32 nm , 22 nm y16 nm [89]. Como ya indicamos, estos compromisos velocidad-robustez pueden explorarse variando únicamente KP DN . La Tabla 2.1 muestra los parámetros de diseño utilizados. Las etapas dinámicas, el inversor de realimentación y el de salida son idénticos en las tres puertas. 2.3. Evaluación de topologías. 55 Transistor Parametro Dimensionamiento Transistor Precarga WP RE 10 ∗Wmin LP RE Lmin Transistores red PDN WP DN 5∗Wmin LP DN Lmin Transistor Footer WF oot 15 ∗Wmin LF oot Lmin Transistor P INV WP INV 2∗Wmin LP INV Lmin Transistor N INV WNINV Wmin LNINV Lmin Transistores P NAND WP NAND 2∗Wmin LP NAND Lmin Transistores N NAND WNNAND Wmin LNNAND Lmin Tabla 2.1: Parámetros de diseño utilizados en la evaluación de topologías. 2.3.1. Análisis de la topología Dominó. En este apartado se realiza un análisis de la topología Dominó a partir de las simulaciones descritas anteriormente. En la Figura 2.7(a) se muestran las curvas de retraso del nodo dinámico frente a KP DN . No se han representado retrasos por encima de 100 ps . Por ello, en 32 nm se muestran resultados hasta KP DN =0.6, en 22 nm hasta KP DN =0.7 y se llega a KP DN =0.8 en 16 nm . Como era de esperar, los resultados obtenidos en este primer análisis muestran que, para todos los nodos tecnológicos, el retraso aumenta cuando lo hace el ancho del transistor keeper. En Dominó, los retrasos vienen determinados por la velocidad de descarga el nodo dinámico, por lo que a medida que el transistor keeper se hace más ancho, aumenta la contención y, por tanto, le cuesta más descargarse. En la Figura 2.7(b) se muestran las curvas de retraso del nodo de salida frente a KP DN . Los retrasos se reducen al escalar. Para KP DN =0.6, el retraso de 32 nm ( 22 nm ) es un 46 % (21 %) mayor que el de 16 nm. En la Figura 2.8 se muestra el consumo de potencia frente a KP DN para los tres nodos tecnológicos. Se observa, que al escalar, se reduce el consumo de potencia, debido en gran parte a la tensión de polarización que usa cada tecnología. Al aumentar el ancho del transistor keeper, el consumo en cada uno de los nodos aumenta ligeramente, como también lo hacen la corriente 62 Capítulo 2. Topología DOE. 0.38 0.4 0.42 0.44 0.46 0.48 0.5 UGNN 29 30 31 32 33 34 35 36 37 38 39 Retrasos (ps) PTM-16nm PTM-22nm PTM-32nm Tecnologia Figura 2.13: Retraso frente a UGN normalizado para topología condicional en PTM 32 nm,22 nm y16 nm. 2.3.3. Análisis de la topología DOE. Se ha realizado un experimento de caracterización similar al realizado para la topología Dominó, explorando un rango de valores de KP DN de 0.1 a 0.8 en los tres nodos tecnológicos PTM de 32 nm , 22 nm y 16 nm . En los experimentos se han empleado transistores mínimos para los inversores estáticos que generan el reloj retrasado, mientras que para la puerta NAND los transistores PMOS son mínimos y los NMOS tienen un ancho doble del mínimo. En la Figura 2.14 se muestra el retraso en función de KP DN . Los valores de retraso mostrados corresponden a valores de KP DN entre 0.1 y 0.4. Para valores superiores, aparecen glitches en la salida cuando debe permanecer a cero. El nodo dinámico descarga demasiado lento para el valor de ∆ CLK que se está usando, permitiendo que la salida de la puerta NAND comience a descargarse. Aunque recupera la carga cuando el nodo dinámico completa su descarga, en la salida de la puerta se produce un glitch. Si este es suficientemente alto podría ser malinterpretado por la etapa siguiente. El criterio para descartar un dimensionamiento ha sido muy estricto. En la Figura 2.15 se muestra la relación retraso-UGN normalizado. Nótese que el retraso es constante con KP DN como esperábamos, ya que depende de ∆ CLK y de la etapa de salida. Se observa como a medida que se escala, se tiene una mayor velocidad en la puerta, sin embargo, la tolerancia al ruido se reduce ligeramente en 16 nm . El retraso de 32 nm ( 22 nm ) es un 29 % (14 %) mayor que el retraso de 16 nm . Por ejemplo, para KP DN =0.4, 2.3. Evaluación de topologías. 63 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 KPDN 20 21 22 23 24 25 26 27 28 29 Retrasos (ps) PTM-16nm PTM-22nm PTM-32nm Tecnologia Figura 2.14: Retraso frente a KP DN para topología DOE en PTM 32 nm , 22 nm y16 nm. 0.25 0.3 0.35 0.4 0.45 UGNN 20 21 22 23 24 25 26 27 28 29 Retrasos (ps) PTM-16nm PTM-22nm PTM-32nm Tecnologia Figura 2.15: Retraso frente a UGN normalizado para topología DOE en PTM 32 nm,22 nm y16 nm. el UGN normalizado de 32 nm es un 11 % mayor que en 16 nm. 2.3.4. Análisis comparativo. En este apartado se comparan las prestaciones de las tres topologías exploradas y el impacto que tiene el escalado tecnológico. La Figura 2.16 muestra la relación retraso-UGN normalizado en PTM de 32 nm (Figura 2.16(a)), 22 nm (Figura 2.16(b)) y 16 nm (Figura 2.16(c)), respectivamente. 64 Capítulo 2. Topología DOE. 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 0.44 0.46 0.48 UGNN 25 30 35 40 45 50 Retrasos (ps) Dominó Condicional DOE Topologia (a) 32 nm. 0.25 0.3 0.35 0.4 0.45 0.5 UGNN 20 25 30 35 40 45 50 55 Retrasos (ps) Dominó Condicional DOE Topologia (b) 22 nm. 0.3 0.35 0.4 0.45 0.5 UGNN 20 30 40 50 60 70 80 Retrasos (ps) Dominó Condicional DOE Topologia (c) 16 nm. Figura 2.16: Comparación de retrasos frente a UGN normalizado en PTM. 2.3. Evaluación de topologías. 65 Se observa que la topología Dominó es la que exhibe los mayores retrasos y que, además, crecen muy rápido. La pendiente de la curva es mucho menor para la topología condicional y, como ya se indicó, el retraso es constante para la topología DOE. Sin embargo, Dominó es la única topología para la que tenemos soluciones en todo el rango de valores de KP DN explorados. Recordemos que condicional con KP DN por debajo de 0.4 han sido descartados por requerir un transistor keeper débil más pequeño que el mínimo de la tecnología. Para KP DN =0.6, el retraso de la topología Dominó es un 141 % ( 32 nm ), 101% ( 22 nm ) y un 72% ( 16 nm ) superior al de la topología condicional. Para KP DN = 0.4, el de Dominó es un 77% ( 32 nm ), 85% ( 22 nm ) y un 95 % ( 16 nm ) superior al de DOE. Para este mismo valor de KP DN , el de la condicional es un 19 % ( 32 nm ), 27 % ( 22 nm ) y un 44 % ( 16 nm ) superior al de DOE. Como esperábamos, las topologías Dominó y condicional alcanzan valores de UGN más altos, a costa de un mayor retraso si se compara con la topología DOE. Se observa un rango amplio de tolerancia al ruido en el que DOE es muy competitivo. La Figura 2.17 muestra el consumo de potencia frente a KP DN para cada nodo tecnológico. En los tres casos, como era de esperarse, la potencia se incrementa con KP DN . Este incremento es menor en las topologías condicional y DOE. En el primer caso, el transistor keeper activo durante la evaluación es la cuarta parte del transistor keeper de la topología Dominó. La corriente de contención es mucho menor y esto explica las diferencias en consumo de potencia. Por ejemplo, para KP DN =0.4, el transistor keeper débil de la topología condicional es equivalente al transistor keeper de Dominó para KP DN =0.1. En el caso de DOE, no hay diferencias con Dominó en cuanto al transistor keeper que está activo, y que por tanto contribuye con corriente de contención. Las diferencias se explican por la menor actividad que presenta el nudo de salida de DOE. En Dominó y condicional, las combinaciones de entrada que descargan el nodo dinámico provocando también una transición del nodo de salida. Todas las combinaciones de entrada menos una tienen este comportamiento. En DOE, estas combinaciones también descargan el nodo dinámico, pero ni la salida de la NAND, ni el nodo de salida presentan transiciones. Para KP DN =0.6, la potencia de la topología condicional es, aproximadamente, un 50% de la potencia de la topología Dominó, en los tres nodos tecnológicos. Para KP DN =0.4, DOE consume un 54% ( 32 nm ), un 43% ( 22 nm ) y un 35% ( 16 nm ) de la potencia de la topología condicional. Para este mismo valor de KP DN , la potencia de DOE es un 37% ( 32 nm ), un 28% ( 22 nm ) y un 66 Capítulo 2. Topología DOE. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 KPDN 0 1 2 3 4 5 6 7 8 9 10 11 Potencia (uW) Dominó Condicional DOE Topologia (a) 32 nm. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 KPDN 0 1 2 3 4 5 6 7 8 9 10 11 Potencia (uW) Dominó Condicional DOE Topologia (b) 22 nm. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 KPDN 0 1 2 3 4 5 6 7 8 9 10 Potencia (uW) Dominó Condicional DOE Topologia (c) 16 nm. Figura 2.17: Comparación de consumo de potencia en PTM. 2.3. Evaluación de topologías. 67 23% (16 nm) de la de Dominó. También se ha calculado el producto potencia-retraso (PDP). En la Figura 2.18 se muestra la relación PDP-UGN normalizado de cada topología en 32 nm (Figura 2.18(a)), 22 nm (Figura 2.18(b)) y 16 nm (Figura 2.18(c)), respectivamente. En el rango de UGN normalizado entre 0.29 y 0.44, DOE es muy competitiva, como ya hemos señalado. En UGN normalizado = 0.44, DOE exhibe un PDP que es el 50% ( 32 nm ), el 33% ( 22 nm ) y el 25% ( 16 nm ) del PDP de condicional y el 21 % ( 32 nm ), el 15 % ( 22 nm ) y el 12 % (16 nm) del PDP de Dominó. Los resultados presentados muestran la superioridad de DOE en un amplio rango de valores de UGN respecto a Dominó. Además, este rango es posiblemente el de mayor interés práctico, teniendo en cuenta que se trata de una puerta NOR de 16 entradas y que el experimento de caracterización de ruido asume pulsos de ruido aplicados a las 16 entradas. Utilizar puertas con mayor UGN en este caso limitaría excesivamente la degradación del “1” lógico que es evaluada correctamente. No obstante, hay un rango de valores de UGNN para los no disponemos de diseños DOE válidos, y para el que resultaría interesante explorar su comportamiento, ya que es en el que Dominó experimenta el incremento de retrasos más significativo. Recordemos que debido a la ocurrencia de glitches, únicamente se habían considerado válidos los diseños DOE con valores de KP DN hasta 0.4. Hemos rediseñado la puerta para poder evaluar keepers por encima de ese valor. El rediseño mantiene el dimensionamiento de la etapa dinámica y modifica los inversores que generan la señal de reloj retrasada y la puerta NAND. La Figura 2.19 muestra los resultados obtenidos. En los tres nodos explorados tenemos ahora resultados hasta KP DN =0.8. Para los valores entre 0.5 y 0.8 los retrasos son ligeramente superiores a los obtenidos con el dimensionamiento inicial de los inversores que generan el reloj y la puerta NAND. Sin embargo se mantiene muy competitivo respecto a Dominó y ligeramente mejor que la topología con keeper condicional. Finalmente y puesto que el transistor FinFET es uno de los mejores candidatos para superar las restricciones de los CMOS convencionales (CMOS bulk) en tecnologías profundamente escaladas, hemos considera relevante evaluar y comparar las topologías Dominó y DOE usándolos. Se han utilizado modelos predictivos de transistores FinFET de 20 nm y se ha realizado un experimento similar al anterior para explorar compromisos velocidadinmunidad al ruido. La Figura 2.20 muestra los resultados obtenidos para las dos topologías. En todo el rango de valores de UGNN explorado, DOE es más rápido que Dominó. Las diferencias, como ocurría anteriormente, se 68 Capítulo 2. Topología DOE. hacen más importantes cuando aumentamos la tolerancia al ruido. Se observa que se ha utilizado un único dimensionado de los inversores generadores de la señal de reloj y de la puerta NAND para todos los keepers estudiados, y por ello, el retraso de DOE es constante. Es interesante mencionar que el criterio elegido ahora para aceptar un diseño DOE es menos restrictivo que el que habíamos utilizado anteriormente. Esto se justifica en base a nuestra experiencia en el desarrollo de arquitecturas nanopipeline, con capacidad para tolerar glitches con niveles de tensión más altos que los que habíamos estado considerando. Achacamos a ello las mayores diferencias de retrasos obtenidas entre las dos topologías, y no al uso de otro tipo de transistor. 2.3. Evaluación de topologías. 69 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 0.44 UGN (V) 0 0.1 0.2 0.3 0.4 0.5 PDP (fJ) Dominó Condicional DOE Topologia (a) 32 nm. 0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 UGN (V) 0 0.1 0.2 0.3 0.4 0.5 PDP (fJ) Dominó Condicional DOE Topologia (b) 22 nm. 0.18 0.2 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 UGN (V) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 PDP (fJ) Dominó Condicional DOE Topologia (c) 16 nm. Figura 2.18: Comparación de PDP frente a UGN en PTM. 70 Capítulo 2. Topología DOE. 0.3 0.35 0.4 0.45 0.5 UGNN 25 30 35 40 45 50 Retrasos (ps) Dominó Condicional DOE Topologia (a) 32 nm. 0.25 0.3 0.35 0.4 0.45 0.5 UGNN 20 25 30 35 40 45 50 55 60 Retrasos (ps) Dominó Condicional DOE Topologia (b) 22 nm. 0.3 0.35 0.4 0.45 0.5 UGNN 20 30 40 50 60 70 80 Retrasos (ps) Dominó Condicional DOE Topologia (c) 16 nm. Figura 2.19: Comparación de retrasos frente a UGN normalizado en PTM. 2.4. Conclusiones. 71 0.22 0.24 0.26 0.28 0.3 0.32 0.34 0.36 0.38 0.4 0.42 UGNN 5 10 15 20 25 30 35 40 45 50 55 60 Retrasos (ps) Dominó DOE Topologia Figura 2.20: Comparación de retrasos frente a UGN normalizado en FinFET. 2.4. Conclusiones. Se ha desarrollado una topología de puerta dinámica (DOE) que presenta un mejor compromiso entre la velocidad y la tolerancia al ruido que Dominó en tecnologías DSM. A diferencia de las propuestas previamente reportadas y que se describieron en el Capítulo 1, DOE no modifica la etapa dinámica sino la etapa de salida. De esta forma, se desacopla parcialmente el retraso de la puerta de la velocidad de descarga del nudo dinámico. Esto permite incrementar la fortaleza del transistor keeper sin tanto impacto sobre su retraso. Se mejora por tanto su inmunidad al ruido sin degradar excesivamente su velocidad. Además la topología DOE es inversora lo que tiene implicaciones positivas desde el punto de vista del diseño lógico. Se ha realizado una caracterización extensiva de puertas Dominó, Dominó con keeper condicional y DOE con el objetivo de evaluar el compromiso retraso-UGN, utilizando una herramienta de automatización desarrollada para ello. Esta herramienta toma como entrada un netlist de la puerta y una look up table para describir su funcionalidad y genera los scripts de simulación y analiza sus resultados para determinar si su funcionalidad es correcta y medir sus retrasos, su potencia y su UGN. Los experimentos llevados a cabo con modelos de transistores predictivos en distintos nodos DSM (PTM 32 nm , 22 nm y 16 nm ) muestran como, efectivamente en Domino, las ventajas de velocidad asociadas al escalado son contrarrestadas por la necesidad de incrementar el transistor keeper, como consecuencia de las mayores corrientes de fugas. 78 Capítulo 3. Análisis de arquitecturas superpipeline. VDD VDD CLK CLK INA INB INC TPR TPK TFT TIN TIN TIN OUT Transistor W / Wmin TPR 5 TFT 10 TIN 5 TPK Variable Figura 3.2: Puerta Dominó utilizada en los experimentos. 3. Se pueden obtener mejores compromisos entre las figuras de mérito anteriores. Esto es interesante desde un punto de vista práctico para conseguir circuitos con un buen compromiso de velocidad-energía y una robustez razonable en los circuitos. El análisis anterior indica que, a diferencia de los pipeline convencionales, los pipeline Dominó con relojes de múltiples fases solapados podrían beneficiarse de un pipeline muy agresivo. El caso límite es un nivel de puerta por fase de reloj. Esto es, una arquitectura nanopipeline. 3.1.2. Resultados de simulación con diferentes arquitecturas. Se han llevado a cabo distintos experimentos de simulación para probar las afirmaciones anteriores y cuantificar las ventajas del uso de pipeline de una puerta por fase de reloj (nanopipeline). Se han analizado superpipelines construidos a partir de 24 puertas Dominó interconectadas y configuradas con una señal de reloj de tres fases. La Figura 3.2 muestra la puerta Dominó seleccionada y su dimensionamiento. Las simulaciones se han realizado en una tecnología CMOS comercial de 130nm y 1.2V. La longitud del canal de todos los transistores se ha 3.1. Arquitectura superpipeline.79 seleccionado como el mínimo de la tecnología. En los experimentos se han utilizado tres tamaños diferentes para el transistor keeper, denominados keeper pequeño (S), intermedio (M) y grande (L). El tamaño del transistor keeper intermedio es el doble del keeper más pequeño. El tamaño del transistor keeper grande es el doble que el del transistor keeper intermedio. Esta puerta es un elemento clave en arquitecturas de sumadores comúnmente utilizados, como los Kogge Stone. Las puertas están conectadas de tal manera que los cambios en la entrada se propagan a través del circuito y cada puerta se excita con la combinación de entrada de peor caso. Se han simulado cuatro arquitecturas: ARQ8: ocho puertas por fase de reloj. ARQ4: cuatro puertas por fase de reloj. ARQ2: dos puertas por fase de reloj. ARQ1: una sola puerta por fase de reloj. Primer experimento. Las cuatro arquitecturas se han simulado a diferentes frecuencias para determinar la tensión de alimentación mínima ( VDD ) a la que se obtiene un funcionamiento correcto. Se aplican modelos típicos de transistores (TT) y relojes ideales. Se ha medido la potencia para cada arquitectura con este VDD mínimo. Se ha aplicado la misma secuencia de entrada alternando “0” y “1” a las cuatro arquitecturas. La Figura 3.3(a) muestra los valores mínimos de VDD para cada arquitectura con un transistor keeper intermedio a diferentes frecuencias. Se observa como la frecuencia máxima de ARQ1 está por encima de la frecuencia máxima del experimento. ARQ1 trabaja en esta frecuencia con un VDD reducido de 0.92V. La Figura 3.3(b) muestra los valores mínimos de VDD para ARQ2 con los tres tamaños del transistor keeper. Se observa que, ni siquiera con un tamaño de keeper pequeño, se puede llegar a una frecuencia máxima de operación. La Figura 3.4(a) muestra los resultados de potencia. De las cuatro arquitecturas con keeper intermedio, se observa que, al igual que en la Figura 3.3(a), la frecuencia máxima de funcionamiento se reduce con el número de niveles de puerta por fase de reloj, y que la potencia aumenta con 80 Capítulo 3. Análisis de arquitecturas superpipeline. 0123456 Frecuencia (GHz) 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 VDD Min (V) ARQ1 ARQ2 ARQ4 ARQ8 (a) Para las cuatro arquitecturas con transistor keeper intermedio. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Frecuencia (GHz) 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 VDD Min (V) Keeper S Keeper M Keeper L (b) Con tres tamaños de transistor keeper para ARQ2. Figura 3.3: VDD mínimo frente a frecuencia. la frecuencia. Se puede observar que, para una frecuencia fija, la potencia se reduce con el número de niveles de puerta por fase de reloj ya que la tensión de alimentación mínima es inferior. ARQ2 puede funcionar a la frecuencia máxima de funcionamiento de ARQ4 con menos de la mitad de potencia (43%). ARQ1 puede funcionar a la frecuencia máxima de funcionamiento de ARQ2con un 44 % de su potencia. La Figura 3.4(b) muestra gráficos de potencia para ARQ2 con los tres tamaños del transistor keeper. Se observa que la frecuencia se reduce ligeramente y la potencia se incrementa con el tamaño del keeper. Mejorar la tolerancia al ruido mediante el aumento de la fuerza del keeper se penaliza 3.1. Arquitectura superpipeline.81 0123456 Frecuencia (GHz) 0 100 200 300 400 500 600 Potencia ( W) ARQ1 ARQ2 ARQ4 ARQ8 (a) Para las cuatro arquitecturas con transistor keeper intermedio. 0 0.5 1 1.5 2 2.5 3 3.5 4 Frecuencia (GHz) 0 100 200 300 400 500 600 700 800 Potencia ( W) Keeper S Keeper M Keeper L (b) Con tres tamaños de transistor keeper para ARQ2. Figura 3.4: Potencia frente a frecuencia. en términos de velocidad y potencia. Se ha obtenido un comportamiento similar para las otras tres arquitecturas. La Figura 3.5 muestra el producto Energía*T o Potencia ∗T2 , una métrica útil para evaluar el compromiso energía-velocidad. La Figura 3.5(a) compara resultados para las cuatro arquitecturas con transistores keeper idénticos y la Figura 3.5(b) representa los resultados para ARQ2 con los tres tamaños de transistor keeper explorados. Como era de esperar, para una frecuencia fija, E · Tse reduce cuando lo hace el número de niveles de puerta por fase de reloj (Figura 3.5(a)) o el tamaño del transistor keeper (Figura 3.5(b)), así como la potencia. Se 82 Capítulo 3. Análisis de arquitecturas superpipeline. 0123456 Frecuencia (GHz) 0 0.05 0.1 0.15 0.2 0.25 E T (pJ nS) ARQ1 ARQ2 ARQ4 ARQ8 (a) Para las cuatro arquitecturas con transistor keeper intermedio. 0 0.5 1 1.5 2 2.5 3 3.5 4 Frecuencia (GHz) 0 0.05 0.1 0.15 0.2 0.25 E T (pJ nS) Keeper S Keeper M Keeper L (b) Con tres tamaños de transistor keeper para ARQ2. Figura 3.5: Producto E·T. puede observar que el producto E · Tse mantiene casi constante para las frecuencias de operación de más de 1 GHz. Segundo experimento. Repetimos el primer experimento usando un análisis de córners (incluyendo SS, FF, SF y FS) para determinar el VDD mínimo. La Figura 3.6 muestra los resultados de potencia frente a frecuencia. La Figura 3.6(a) presenta resultados para las cuatro arquitecturas con el tamaño del transistor keeper intermedio y la Figura 3.6(b) resultados para ARQ2con los tres tamaños de transistor keeper. La Figura 3.7(a) compara E · Tpara las cuatro arquitecturas con un 3.1. Arquitectura superpipeline.83 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frecuencia (GHz) 0 100 200 300 400 500 600 700 800 Potencia ( W) ARQ1 ARQ2 ARQ4 ARQ8 (a) Para las cuatro arquitecturas con transistor keeper intermedio. 0 0.5 1 1.5 2 2.5 3 Frecuencia (GHz) 0 50 100 150 200 250 300 350 400 450 500 Potencia ( W) Keeper S Keeper M Keeper L (b) Con tres tamaños de transistor keeper para ARQ2. Figura 3.6: Potencia frente a frecuencia en segundo experimento. transistor keeper intermedio y la Figura 3.7(b) representa los resultados para ARQ2 con los tres transistores keeper. Se observan las mismas tendencias y extraen las mismas conclusiones que en el análisis nominal. Sin embargo, es interesante comparar los resultados obtenidos de ambos experimentos. La Figura 3.8(a) muestra los resultados de potencia de ambos experimentos para ARQ1 y ARQ4 (simulaciones TT para el Experimento 1 y análisis de córners para el Experimento 2). Se observa, como era de esperar, que aumenta la potencia en el Experimento 2. Se requieren valores más altos de VDD para lograr un funcionamiento correcto de córners para el caso TT. También la frecuencia máxima de funcionamiento se reduce en 84 Capítulo 3. Análisis de arquitecturas superpipeline. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frecuencia (GHz) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 E T (pJ ns) ARQ1 ARQ2 ARQ4 ARQ8 (a) Para las cuatro arquitecturas con transistor keeper intermedio. 0 0.5 1 1.5 2 2.5 3 Frecuencia (GHz) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 E T (pJ ns) Keeper S Keeper M Keeper L (b) Con tres tamaños de transistor keeper para ARQ2. Figura 3.7: Producto E·Ten segundo experimento. el Experimento 2. Es interesante notar que se obtienen resultados mejores para ARQ1 con córners que con ARQ4 TT. Es decir, la potencia de ARQ1 con VDD suficientemente alto para soportar variaciones de los parámetros de córners es más baja que la potencia de ARQ4 a esa misma frecuencia, garantizando un correcto funcionamiento en TT solamente. La Figura 3.8(b) muestra los resultados de E · Tpara ARQ1 y ARQ4 para el Experimento 1 (TT) y para el Experimento 2 (córners). Una vez más, es evidente la superioridad de ARQ1 incluso cuando se opera a un VDD suficiente para tolerar variaciones de los parámetros de córners. La Figura 3.9 compara la energía de ARQ2 y ARQ4 con la energía de 3.1. Arquitectura superpipeline.85 0123456 Frequencia (GHz) 0 100 200 300 400 500 600 700 800 Potencia ( W) Arch1 CORNERS Arch1 TT Arch4 CORNERS Arch4 TT (a) Potencia frente a frecuencia. 0123456 Frecuencia (GHz) 0 0.05 0.1 0.15 0.2 0.25 E T (fJ ns) ARQ1 CORNERS ARQ1 TT ARQ4 CORNERS ARQ4 TT (b) Producto E·T. Figura 3.8: Análisis nominal y de córners de ARQ1yARQ4. ARQ1 con un transistor keeper que es dos veces más ancho y con un VDD lo suficientemente alto como para tolerar variaciones de los parámetros de córners. Los resultados muestran cómo el uso de un menor número de niveles por fase se puede aplicar simultáneamente para mejorar la velocidad, la robustez y la tolerancia al ruido, mientras se ahorra energía. Por ejemplo, la comparación de los puntos A y B muestra que ARQ1 puede soportar córners a 3 GHz y tolerar niveles de ruido más altos y con menos energía que el diseño ARQ4 de 1.5 GHz , que no tolera córners y que tolera menos ruido. Es decir, reduciendo el número de puertas por fase de reloj, se pueden lograr compromisos más competitivos entre los diferentes criterios de diseño. Es bien sabido que si se consideran las variaciones intra-die, la reduc- 86 Capítulo 3. Análisis de arquitecturas superpipeline. 0123456 Frecuencia (GHz) 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 E (pJ) ARQ1 CORNERS ARQ2 TT ARQ4 TT B A Figura 3.9: Energía frente a frecuencia comparando ARQ2 y ARQ4 TT y córners de ARQ1. ción del número de niveles lógicos incrementa la variabilidad (medida en términos de la razón entre la desviación estándar y la media del retraso) ya que se reducen los efectos de cancelación (los retrasos de unas puertas se incrementan y los de otras se reducen resultando en una menor variación global) [95]. En este sentido, incrementar la profundidad del pipeline, que reduce el número de niveles lógicos, sería negativo. Sin embargo, hay que hacer algunas puntualizaciones. En primer lugar, el impacto depende mucho del peso relativo de las variaciones intra-die einter-die. En segundo lugar, en el contexto de la implementación de pipelines, al reducir el número de niveles lógicos, el número de etapas del pipeline se incrementan. Se ha mostrado que esto último reduce la variabilidad asociada a las variaciones intra-die [96], compensando el incremento asociado a la reducción del número de niveles. Tercer experimento. Se han empleado relojes no ideales con el fin de explorar la tolerancia al skew de las arquitecturas estudiadas. Las simulaciones se han realizado con modelos de transistores típicos y el reloj modelado con no idealidades. La separación nominal entre los flancos críticos de fases consecutivas de reloj se aumenta o se reduce en un porcentaje determinado del ciclo de reloj. Aplicando estas señales de reloj, se pone a prueba el 3.1. Arquitectura superpipeline.87 funcionamiento del circuito bajo escenarios críticos. En particular, se han considerado en las simulaciones la reducción de la separación entre los flancos de subida de fases de reloj consecutivas y la reducción de la separación del flanco de subida de una fase y el flanco de bajada de su predecesor. A este último caso le corresponde acortar el tiempo de superposición, que es crítico en muchos casos. El experimento evalúa el porcentaje máximo tolerado. No se han obtenido ventajas al reducir el número de puertas por fase de reloj para las frecuencias más bajas. Con las señales de reloj con un duty cycle del 50 %, el fallo está asociado con la expresión 3.2. Es decir, los circuitos fallan debido a que el solape no es lo suficientemente grande como para dar cabida al skew y al tiempo de mantenimiento ( thold ). Claramente, cuando operamos circuitos muy por debajo de su frecuencia máxima de funcionamiento, tborrow = 0 y, así, el comportamiento es independiente del número de puertas por fase de reloj ya que thold es similar para las cuatro arquitecturas. Sin embargo, se han obtenido mejoras cuando se aumenta la frecuencia. Por ejemplo, a 4 GHz, ARQ2 tolera un skew de reloj hasta el 6 % del ciclo de reloj, mientras que ARQ1 exhibe un funcionamiento correcto con un skew de reloj del 15 %. Este resultado puede explicarse sobre la base de las diferencias entre los requisitos de tborrow para cada arquitectura. Con tborrow de ARQ2 mayor que tborrow de ARQ1 , y ya que es la suma de tborrow y tskew lo que hay que acomodar, ARQ1 tolera un tskew mayor que ARQ2 . Puesto que Tover aumenta con el duty cycle, se han explorado valores más altos para este parámetro. Es evidente que está limitado por la expresión 3.1. En ambos casos, la tolerancia al skew ha subido al aumentar el duty cycle. ARQ1 ha alcanzado un funcionamiento correcto con un skew de hasta el 25%. ARQ2 no trabaja con un skew de más del 10 %. Además, ARQ1 exhibe esa tolerancia incluso para un VDD reducido en un 20%. El skew máximo reportado para ARQ2no puede tolerar el escalado de VDD. 3.1.3. Sumador Kogge Stone. Por último, con el fin de completar los experimentos anteriores, se ha llevado a cabo el diseño de un bloque carry merge (CM) de un sumador Kogge Stone [97] en una tecnología PTM de 22 nm . Es decir, se evalúa ahora una red de interconexión que exhibe patrones más realistas. A diferencia de la cadena de puertas, las puertas del sumador son controladas por más de una puerta, y también su fan-out es mayor. Además, los experimentos se llevan a cabo en una tecnología escalada, lo que puede ser relevante para los circuitos dinámicos debido a su mayor susceptibilidad al ruido ya descrita. 94 Capítulo 3. Análisis de arquitecturas superpipeline. tiempo (ns) 0.0 5.0 10.0 15.0 20.0 25.0 OUTDOE10 OUTDOM10 OUTDOM2 OUTDOM1 CLK2 CLK1 IN V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 A B 1 2 3 4 5 1 2 3 4 5 A B A B Figura 3.15: Comportamiento de nanopipelines Dominó y DOE con dos fases de reloj y un DTC al 50 %. Si el retraso mínimo de puerta, ∆ puerta , de acuerdo con 3.7, es negativo, se garantiza un funcionamiento sin fallos de deslizamiento. En dos fases de reloj, los problemas de deslizamiento se incrementan ya que Tlow < T/ 2, por lo que una mínima variación en las señales de reloj pueden hacer que el retraso mínimo sea positivo. El carácter inversor de las puertas DOE y su evaluación y precarga retrasadas podrían ser ventajosos para la operación nanopipeline con dos fases de reloj. Con esta motivación se ha realizado el siguiente experimento. Se han simulado nanopipelines usando puertas DOE y puertas Dominó, variando el DTC de la señal de reloj. Las simulaciones se han realizado a 400 MHz. La Figura 3.15 corresponde a una simulación con un DTC del 50%. En ella se muestran la entrada de los dos circuitos ( IN ), las dos fases de reloj ( CLK1 y CLK2 ), las salidas de ambos circuitos ( OUTDOM10 y OUTDOE10 ) y las salidas de las primeras dos puertas Dominó ( OUTDOM1 y OUTDOM2 ). Con la entrada ( IN ) alternando unos y ceros, se espera que estos datos comiencen a llegar a la salida de las cadenas a partir del quinto ciclo de reloj. Se observa que el nanopipeline DOE funciona correctamente, no así el Dominó. En el pipeline de puertas Dominó la primera puerta evalúa correctamente. Sin embargo, al no haber solape, la segunda puerta no alcanza a evaluar y su salida permanece en bajo, propagándose este estado por todas las etapas. 3.3. Dificultades de los nanopipelines de dos fases. 95 El pipeline DOE propaga correctamente los datos de la entrada hasta su salida. Este comportamiento se explica en la Figura 3.16, donde se ilustra la operación del nanopipeline DOE. En la Figura 3.16(a), se muestra la entrada ( IN ), las dos fases de reloj ( CLK1 y CLK2 ) y las salidas de las primeras cuatro puertas ( OUT1 , OUT2 , OUT3 y OUT4 ). En la Figura 3.16(b) se muestra una ampliación de región delimitada en la Figura 3.16(a), para mostrar en detalle la ventaja de las puertas DOE al tener funcionalidad inversora y una precarga retrasada. En esta figura se muestran las dos fases de reloj ( CLK1 y CLK2 ) y sus señales retrasadas ( CLK1D y CLK2D ), el nodo dinámico de la segunda puerta ( NOD2 ), la salida de la puerta NAND de la segunda puerta (NAND2) y las salidas de las primeras dos puertas (OUT1yOUT2). Cuando CLK1 inicia la precarga, la salida de la primera puerta continúa en alto hasta que CLK1D baja y comienza a precargarse. Este tiempo es aprovechado por la segunda puerta que descarga su nodo dinámico al inicio de la evaluación de CLK2 . Cuando comienza la evaluación de CLK2D , el nodo dinámico de la segunda se ha descargado lo suficiente para evitar la descarga de la NAND y mantener la salida de la puerta en bajo. Esto es, puesto que la precarga de la salida de las puertas DOE está controlada por la señal de reloj retrasada, existe un solape incluso cuando operan con un DTC del 50 %. Esto no garantiza el funcionamiento con dos fases sin solape de cualquier circuito con puertas DOE. Su funcionamiento dependerá del dimensionamiento de la etapa de salida (NAND e inversor), que determina los tiempos de precarga y de la complejidad de las puertas, que incide en los tiempos de descarga del nodo dinámico. Además, en este caso la cadena DOE está funcionando con relojes ideales y no se puede garantizar un óptimo funcionamiento del pipeline cuando intervenga alguna no idealidad del reloj. La otra problemática experimentada por los superpipelines Dominó se da cuando se incrementa el DTC y aparecen los fallos de deslizamiento, provocando un fallo funcional en el pipeline como se muestra en la Figura 3.17, correspondiente a un DTC del 60%. Nuevamente se espera que la alternancia de unos y ceros en la entrada ( IN ) se vea reflejada en la salida de las cadenas ( OUTDOM y OUTDOE ) a partir del quinto ciclo de reloj. La cadena DOE funciona de acuerdo a lo esperado, sin embargo la cadena Dominó no lo hace. Para identificar donde se ha producido el fallo de deslizamiento, se han analizado las señales de salida ( OUT1 , OUT2 y OUT3 ) de las primeras tres 96 Capítulo 3. Análisis de arquitecturas superpipeline. tiempo (ns) 0.0 5.0 15.0 20.0 25.0 OUT4 OUT3 OUT2 OUT1 CLK2 CLK1 IN V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 1 2 3 4 5 12345 BCA BCA BCA BCA BCA (a) Operación del nanopipeline DOE. Transient Response tiempo (ns) 12.5 12.7 OUT1 CLK2 CLK1 NOD2 NAND2 OUT2 CLK2D CLK1D V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 (b) Detalle de la zona marcada en (a). Figura 3.16: Comportamiento de etapas internas del nanopipeline DOE con un DTC del 50 %. puertas Dominó, que se muestran en la Figura 3.18. La primera puerta evalúa correctamente de acuerdo a la entrada ( IN ). Debido al solape entre los relojes ( CLK1 y CLK2 ), cuando en la entrada hay un estado alto, este se propaga no solo a la primera puerta, sino también a las puertas sucesivas 3.3. Dificultades de los nanopipelines de dos fases. 97 tiempo (ns) 0.0 5.0 10.0 15.0 20.0 25.0 CLK2 CLK1 IN OUTDOM OUTDOE V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 12345 1 2 3 4 5 A B A B Figura 3.17: Comportamiento de nanopipelines Dominó y DOE con dos fases de reloj y un DTC del 60 %. tiempo (ns) 0.0 2.5 5.0 7.5 10.0 12.5 15.0 OUT3 OUT2 OUT1 CLK2 CLK1 IN V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 A B A B A B A B 1 2 3 4 1 2 3 4 Figura 3.18: Primeras tres etapas del pipeline Dominó con dos fases de reloj y un DTC del 60 %. como se ha marcado en la figura. El pipeline con puertas DOE no presenta los fallos de deslizamiento que presenta su equivalente Dominó, aunque el solape entre las dos fases de reloj reduce el tiempo en alto de las salidas de las puertas como se ilustra 98 Capítulo 3. Análisis de arquitecturas superpipeline. tiempo (ns) 0.0 2.5 5.0 7.5 10 OUT3 OUT2 NAND2 NOD2 OUT1 CLK2 CLK1 IN CLK2D V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 V (V) 0.0 .6 1.2 A B Figura 3.19: Señales internas de la segunda puerta DOE con DTC al 60 %. a continuación. En la Figura 3.19, se observan las señales internas de la segunda puerta DOE. Cuando la salida de la primera puerta ( OUT1 ) evalúa, el nodo dinámico de la segunda puerta ( NOD2 ) comienza a descargarse ( A ) durante el tiempo de solape entre las dos fases de reloj ( CLK1 y CLK2 ). Esta descarga del nodo dinámico, junto con el reloj retrasado que se muestra superpuesto con CLK2 , hacen que la salida de la puerta NAND ( NAND2 ) se ponga en alto ( B ) antes de que el reloj retrasado termine su fase de evaluación y por tanto disminuye el tiempo en alto de la salida de la puerta ( OUT2 ). Sin embargo, a diferencia del pulso producido en la salida de la segunda puerta del pipeline Dominó, este acortamiento no tiene ningún efecto sobre la etapa siguiente. Además, esta reducción del tiempo en alto no es acumulativa y la salida de las puertas sucesivas presenta la misma reducción. 3.4. Conclusiones. En este capítulo se ha realizado un análisis de las arquitecturas superpipeline. En primer lugar, se ha estudiado el impacto de la profundidad del pipeline asumiendo un número de fases de reloj determinado. Se han realizado simulaciones de arquitecturas superpipelines Dominó con distinto número de niveles de puertas por fase que han mostrado las ventajas en 3.4. Conclusiones. 99 frecuencia, potencia, inmunidad al ruido y tolerancia al skew al reducir dicho número. Se ha concluido que los superpipeline se benefician de un pipeline muy agresivo en términos de velocidad, eficiencia energética o robustez. Como caso de estudio, se ha evaluado una implementación nanopipeline del Carry Merge de un sumador Kogge Stone en una tecnología DSM. Se han obtenido realizaciones que exhiben compromisos muy satisfactorios entre los criterios de diseño mencionados anteriormente. En segundo lugar, se ha demostrado que las puertas DOE propuestas pueden operarse en una configuración nanopipeline. Finalmente, se ha analizado la operación de los nanopipelines con dos fases de reloj, construidos tanto con puertas Dominó como con puertas DOE. Estos últimos han demostrado que no presentan los fallos de deslizamiento de Dominó. Esto es interesante desde el punto de vista de la robustez de este tipo de arquitecturas, simplificando significativamente su diseño. Capítulo 4 Validación experimental. En los Capítulos 2 y 3 de esta Memoria se ha descrito el principio de funcionamiento de la topología DOE, tanto a nivel de puerta como de operación pipeline y se han presentado resultados de simulación. Estos primeros resultados han mostrado las ventajas de las puertas DOE en cuanto a velocidad y tolerancia al ruido y su adecuación para la implementación de arquitecturas nanopipeline. Estos resultados han motivado el diseño y fabricación de un circuito integrado para la verificación experimental de nuestras propuestas. Este capítulo se estructura en tres partes. La primera realiza una descripción general de la estructura interna del circuito integrado. La segunda muestra en detalle el diseño de cada uno de sus componentes. La tercera describe los resultados experimentales obtenidos en el laboratorio. 4.1. Descripción general del circuito integrado. El circuito integrado incluye puertas DOE de distinto número de entradas, cadenas de puertas para operación nanopipeline y demostradores funcionales. La Figura 4.1 muestra un diagrama de alto nivel del circuito integrado, indicando las tres particiones (núcleos) en los que se ha dividido. Los núcleos DIR y EXT se controlan con señales externas. La señal de reloj puede ser analógica de dos fases o digital de tres fases. Por su parte, el núcleo INT trabaja con señales de reloj generadas internamente (bloque A) para poder experimentar a frecuencias de operación más altas. Sus entradas pueden ser externas o internas, siendo, en este caso, generadas por el bloque B. El circuito se ha integrado en una tecnología CMOS UMC de 130 nm 102 Capítulo 4. Validación experimental. NÚCLEO DIR NÚCLEO EXT NÚCLEO INT GENERADOR INTERNO DE SEÑAL DE RELOJ GENERADOR INTERNO DE SEÑAL DE ENTRADA Reloj digital de tres fases Reloj analógico de dos fases Entradas de control Salidas Pads Analógicos Pads Digitales A B Entradas de datos Figura 4.1: Bloques del circuito integrado. y 1.2 V . En la Figura 4.2 se muestra la vista layout (Figura 4.2(a)) y su diagrama de pines (Figura 4.2(b)). El circuito cuenta con 21 entradas, divididas en entradas de datos, señales de reloj y entradas de control, que se describen a continuación: Entradas de datos. Son ocho las entradas de datos disponibles. Cuatro para los núcleos DIR y EXT ( IN 1 _EXT - IN 4 _EXT ) y cuatro para el núcleo INT ( IN 1 _INT - IN 4 _INT ). IN 1 _EXT e IN 1 _INT se pueden generar con un generador de patrones o bien, con un generador de señales para mayor flexibilidad a la hora de sincronizar con la señal de reloj. Entradas de señal de reloj. Dos entradas para la señal de reloj analógica de dos fases asociadas a pads analógicos, CLK 1 _ANLG y CLK 2 _ANLG , que se conectan a los núcleos DIR y EXT y se pueden generar con un generador de señal. Tres entradas para la señal de reloj digital de tres fases, CLK 1 _DIG , CLK 2 _DIG y CLK 3 _DIG que se conectan al núcleo EXT y se generan con un generador de patrones. Entradas de control. Siete entradas que permiten establecer diferentes configuraciones al sistema. TIPO_IN permite establecer el tipo 4.1. Descripción general del circuito integrado. 103 (a) Layout. 1NC 2NC 3NC 4NC 5MUX1_EXT 6MUX2_EXT 7VDD 8CLK2_ANLG 9CLK1_ANLG 10 GND 11 DIR1 12 DIR2 13 DIR3 14 NC 15 NC 16 NC 48 NC 47 NC 46 NC 45 IN1_INT 44 IN2_INT 43 IN3_INT 42 IN4_INT 41 SEL1_INT 40 SEL2_INT 39 VCC 38 VCC 37 GND 36 GND 35 NC 34 NC 33 NC IN_DIR 17 MUX5_EXT 18 MUX4_EXT 19 SEL2_EXT 20 SEL1_EXT 21 IN4_EXT 22 IN3_EXT 23 IN2_EXT 24 VDD 25 VSS 26 FREQ1 27 FREQ2 28 MUX7_INT 29 MUX8_INT 30 MUX6_INT 31 MUX5_INT 32 MUX3_EXT 64 IN1_EXT 63 MUX7_EXT 62 MUX6_EXT 61 CLK3_DIG 60 CLK2_DIG 59 CLK1_DIG 58 VDD 57 VSS 56 TIPO_OSC 55 MUX3_INT 54 MUX4_INT 53 MUX1_INT 52 MUX2_INT 51 TIPO_IN 50 VSS 51 (b) Diagrama de pines. Figura 4.2: Circuito integrado. 110 Capítulo 4. Validación experimental. la situación de peor caso para retraso en cada circuito. Las entradas de datos se comparten por los distintos bloques y las salidas de sus circuitos internos se conectan a multiplexores 4-1. Al ser un núcleo diseñado para altas frecuencias, las salidas se acondicionan para cumplir con las limitaciones de frecuencia (aproximadamente 200 MHz ) de los pads del circuito integrado. Para ello se conectan las salidas de los multiplexores a circuitos divisores que permiten dividir por 16 la frecuencia de las señales de salida de sus circuitos. La descripción general de cada uno de estos bloques se realiza a continuación: 1. B1 – Generador CLK 2 Fases. Este bloque contiene un circuito que genera una señal de reloj de dos fases cuya frecuencia viene determinada por los valores de 3 señales de control TIPO_OSC , FREQ 1 y FREQ 2. Con TIPO_OSC se puede elegir entre un oscilador rápido (nominal esquemático a 3.2 GHz ) y un oscilador lento (nominal esquemático a 1.7 GHz ). Para cada uno de ellos FREQ 1y FREQ 2 permiten seleccionar la mitad, la cuarta parte, la octava parte o la dieciseisava parte de la frecuencia del oscilador correspondiente. 2. B2 – Generador CLK 3 Fases. Este bloque contiene un circuito que genera una señal de reloj de tres fases cuya frecuencia viene dada por los valores de las señales de control FREQ 1y FREQ 2que permiten seleccionar la frecuencia o la mitad de ella, de cada uno de los osciladores. 3. B3 - Generación Entrada. Este bloque contiene un circuito divisor de frecuencia a la mitad, cuya entrada es la fase uno de la señal de reloj del generador interno de dos fases. La salida del divisor se conecta a un multiplexor 2-1 que también recibe la señal de entrada externa IN1_INT y se controla por la señal externa TIPO_IN. 4. B4 - Generación Entrada. Al igual que en el bloque B3, este bloque contiene en su interior un circuito divisor de frecuencia a la mitad cuya entrada es la fase uno de la señal de reloj del generador interno de tres fases. Esta señal interna se conecta a un multiplexor 2-1 que también recibe la señal de entrada externa IN 1 _INT que se controla por la señal externa TIPO_IN. 5. B5 – Nanopipeline DOE 2 Fases. El bloque contiene tres nanopipelines de diferentes profundidades. Los circuitos están configurados para operar con las dos fases de reloj generadas por el bloque B1. La salida 4.1. Descripción general del circuito integrado. 111 MUX 1 A B C D MUX 2 SALIDAS B1 B5: NANOPIPELINE DOE 2 FASES A. Nanopipeline 4 puertas NOR-32. B. Señal 1 del reloj de dos fases. C. Nanopipeline 10 puertas NOR-16. D. Nanopipeline 10 puertas NOR-6. A B C D CLK INT 3F B6: NANOPIPELINE DOE 3 FASES A. Nanopipeline 4 puertas NOR-32. B. Señal 1 del reloj de tres fases. C. Nanopipeline 10 puertas NOR-16. D. Nanopipeline 10 puertas NOR-6. IN IN MUX 3 MUX 4 A B C D CLK INT 2F B7: SUMADOR KS 2 FASES A. Acarreo C2. B. Acarreo C3. C. Acarreo C0. D. Acarreo C1. A. Acarreo C5. B. Acarreo C4. C. Acarreo C7. D. Acarreo C6. A B C D MUX 5 MUX 6 A B C D CLK INT 2F B8: SUMADOR CLA 2 FASES A B C D SALIDAS B2 SALIDAS B4 SALIDAS B5 SEL1_INT A. Acarreo C2. B. Acarreo C3. C. Acarreo C0. D. Acarreo C1. A. Acarreo C0_N. B. Acarreo C1_N. C. Sumando S2. D. Sumando S3. IN1_INT IN2_INT IN3_INT IN4_INT IN1_INT IN2_INT IN3_INT IN4_INT MUX1_INT MUX2_INT MUX3_INT MUX4_INT MUX5_INT MUX6_INT SEL1_INT MUX 7 MUX 8 A B C D CLK INT 3F B9: SUMADOR KS 3 FASES A B C D SALIDAS B5 A. Acarreo C2. B. Acarreo C3. C. Acarreo C0. D. Acarreo C1. A. Acarreo C5. B. Acarreo C4. C. Acarreo C7. D. Acarreo C6. IN1_INT IN2_INT IN3_INT IN4_INT MUX7_INT MUX8_INT DIV/16 DIV/16 DIV/16 DIV/16 DIV/16 DIV/16 DIV/16 DIV/16 CLK1_3F CLK2_3F CLK2_3F CLK INT 3F CLK1_2F CLK2_2F CLK1_2F CLK2_2F CLK1_2F CLK2_2F CLK1_3F CLK2_3F CLK2_3F B1: Generador CLK 2 Fases TIPO_OSC FREQ1 FREQ2 CLK1_2F CLK2_2F B2: Generador CLK 3 Fases FREQ1 FREQ2 CLK1_3F CLK2_3F CLK2_3F TIPO_OSC B3: Generador de entrada IN1_INT CLK1_2F TIPO_IN B4: Generador de entrada IN1_INT CLK1_3F TIPO_IN IN_INT_2F IN_INT_3F IN_INT_2F IN_INT_3F Figura 4.8: Diagrama de bloques del núcleo INT. 112 Capítulo 4. Validación experimental. de cada circuito y la salida de la primer fase del reloj interno de dos fases se conectan al multiplexor MUX1. 6. B6 – Nanopipeline DOE 3 Fases. Al igual que el bloque B5, este contiene tres nanopipelines de diferentes profundidades. Todos ellos configurados para operar con las tres fases de reloj generadas por el bloque B2. La salida de cada uno de los circuitos y la salida de la primera fase del reloj interno de tres fases se conectan al multiplexor MUX2. 7. B7 – Sumador KS 2 Fases. Este bloque contiene el bloque de acarreos de un sumador Kogge Stone de 8 bits. El circuito está configurado para operar con las dos fases de reloj generadas por el bloque B1. Por simplicidad, únicamente ocho de sus salidas se han dispuesto para su observación externa y están conectadas a dos multiplexores, MUX3 y MUX4. 8. B8 - Sumador CLA 2 Fases. Este bloque contiene un sumador Carry Look Ahead de 4 bits. El circuito está configurado para operar con las dos fases de reloj generadas por el bloque B1. Por simplicidad, únicamente ocho de sus salidas se han dispuesto para su observación externa y están conectadas a dos multiplexores, MUX5 y MUX6. 9. B9 - Sumador KS 3 Fases. Este bloque contiene el bloque de acarreos de un sumador Kogge Stone de 8 bits. El circuito está configurado para operar con las tres fases de reloj generadas por el bloque B2. Por simplicidad, únicamente ocho de sus salidas se han dispuesto para su observación externa y están conectadas a dos multiplexores, MUX7 y MUX8. 4.2. Diseño. 4.2.1. Circuitos de puertas DOE. Se han propuesto cuatro tipos de puertas con el fin de evaluar su comportamiento según su funcionalidad y número de entradas. Los cuatro tipos de puerta llevados a la demostración experimental se relacionan a continuación: 1. Puerta DOE de funcionalidad NAND de 2 entradas. 2. Puerta DOE de funcionalidad NOR de 6 entradas. 4.2. Diseño. 113 3. Puerta DOE de funcionalidad NOR de 16 entradas. 4. Puerta DOE de funcionalidad NOR de 32 entradas. El dimensionamiento de los transistores en cada una de las puertas se ha realizado teniendo en cuenta su funcionalidad y número de entradas. Para ello se ha modificado el ancho ( W ) de los transistores, mientras que para la longitud (L) se ha mantenido al mínimo permitido por la tecnología. Se han elegido como parámetros de diseño el ancho de los transistores de precarga, de la red PDN de entradas, del transistor footer y el de realimentación keeper. Por otra parte, los transistores de los inversores de realimentación, de salida, de la celda de retraso y de la puerta NAND de la etapa estática, se mantienen con un mismo dimensionamiento en todas las puertas como se describe a continuación: en los inversores estáticos se han empleado transistores P con un ancho de 320 nm y transistores N con ancho de 160 nm . En la puerta NAND estática se han empleado transistores P y N con el ancho mínimo permitido por la tecnología. Como se ha mencionado anteriormente, las entradas de las puertas se han conectado de manera que operen en una situación de caso peor. Para lograr esta condición se ha habilitado sólo una de las entradas, mientras que las restantes se conectan a VDD o a tierra, según la funcionalidad de la puerta. En el caso de la NAND las puertas restantes se conectan a VDD , mientras que en las NOR se conectan a tierra. NAND de 2 entradas. Su transistor de precarga se ha dimensionado con un ancho de 10 veces el mínimo de la tecnología ( 1.6µm ), los transistores de la red PDN con un ancho 5 veces el mínimo ( 800 nm ), el transistor footer con un ancho de 15 veces el mínimo ( 2.4µm ) y el transistor keeper con un ancho de 7 veces el mínimo ( 1.12 µm ). Su esquemático se muestra en la Figura 4.9(a) acompañado de la vista layout (Figura 4.9(b)). NOR de 6 entradas. Su transistor de precarga se ha dimensionado con un ancho de 5 veces el mínimo de la tecnología ( 800 nm ), los transistores de la red PDN con un ancho 5 veces el mínimo ( 800 nm ), el transistor footer con un ancho de 15 veces el mínimo ( 2.4µm ) y el transistor keeper con un ancho de 5 veces el mínimo ( 800 nm ). Su esquemático se muestra en la Figura 4.10(a) acompañado de la vista layout que se muestra en la Figura 4.10(b). 114 Capítulo 4. Validación experimental. VDD VCLK 2.4µm NOD VDD VOUT VCLKD 800nm 800nm 1.6µm 1.12µm VCLKD VCLK Elemento de retraso VIN VDD VCLK (a) Esquemático. (b) Layout. Figura 4.9: Puerta NAND de 2 entradas. 4.2. Diseño. 115 VDD VCLK 2.4µm NOD VDD VOUT VCLKD 800nm 800nm VCLKD VCLK Elemento de retraso VIN VCLK GND GND IN1 – IN6 = 800nm IN1IN2IN6 (a) Esquemático. (b) Layout. Figura 4.10: Puerta NOR de 6 entradas. 116 Capítulo 4. Validación experimental. NOR de 16 entradas. La puerta NOR de 16 entradas es la más estudiada dentro de este trabajo y, por tanto, es de las más empleadas en todos los núcleos del circuito integrado. Su transistor de precarga se ha dimensionado con un ancho de 10 veces el mínimo de la tecnología ( 1.6µm ), los transistores de la red PDN con un ancho 5 veces el mínimo ( 800 nm ), el transistor footer con un ancho de 15 veces el mínimo ( 2.4µm ) y el transistor keeper con un ancho de 7 veces el mínimo ( 1.12 µm ). Su esquemático se muestra en la Figura 4.11 (a) acompañado de la vista layout que se muestra en la Figura 4.11 (b). NOR de 32 entradas. Esta es la puerta con mayor número de entradas dentro del circuito integrado. Su transistor de precarga se ha dimensionado con un ancho de 10 veces el mínimo de la tecnología ( 1.6µm ), los transistores de la red PDN con un ancho 15 veces el mínimo ( 2.4µm ), el transistor footer con un ancho de 15 veces el mínimo ( 2.4µm ) y el transistor keeper con un ancho de 7 veces el mínimo ( 1.12 µm ). Su esquemático se muestra en la Figura 4.12 (a) acompañado de la vista layout que se muestra en la Figura 4.12 (b). 4.2.2. Circuitos nanopipeline. El diseño de los diferentes nanopipelines presentes dentro del circuito integrado se ha realizado interconectando puertas DOE en una configuración de una puerta por fase de reloj. Dentro del circuito integrado se pueden encontrar con un esquema de reloj de dos o tres fases. En la Figura 4.13 se muestra el esquemático y el layout de un nanopipeline de 10 puertas de 6 entradas. En concreto se han diseñado los siguientes nanopipelines: 1. Nanopipeline de 2 puertas DOE de funcionalidad NOR de 16 entradas. 2. Nanopipeline de 2 puertas DOE de funcionalidad NOR de 32 entradas. 3. Nanopipeline de 4 puertas DOE de funcionalidad NOR de 32 entradas. 4. Nanopipeline de 10 puertas DOE de funcionalidad NOR de 6 entradas. 5. Nanopipeline de 10 puertas DOE de funcionalidad NOR de 16 entradas. 4.2. Diseño. 117 VDD VCLK 2.4µm NOD VDD VOUT VCLKD 1.6µm 1.12µm VCLKD VCLK Elemento de retraso VIN VCLK GND GND IN1 – IN16 = 800nm IN1IN2IN16 (a) Esquemático. (b) Layout. Figura 4.11: Puerta NOR de 16 entradas. 118 Capítulo 4. Validación experimental. VDD VCLK 2.4µm NOD VDD VOUT VCLKD 1.6µm 1.12µm VCLKD VCLK Elemento de retraso VIN VCLK GND GND IN1 – IN32 = 800nm IN1IN2IN32 (a) Esquemático. (b) Layout. Figura 4.12: Puerta NOR de 32 entradas. 4.2. Diseño. 119 IN2 – IN6 1 IN1 IN CLK1 IN2 – IN6 2 IN1 CLK2 3 IN1 CLK3 4 IN1 CLK1 9 IN1 CLK3 10 IN1 CLK1 IN2 – IN6IN2 – IN6IN2 – IN6IN2 – IN6 OUT (a) Esquemático. (b) Layout. Figura 4.13: nanopipeline de 10 puertas de 6 entradas. 4.2.3. Circuitos aritméticos. Los circuitos aritméticos incluidos dentro del circuito integrado se han diseñado empleando un nanopipeline de puertas DOE. Los circuitos incluidos son dos sumadores paralelos ampliamente utilizados en circuitos aritméticos de alto rendimiento. El CLA (Carry Look Ahead) se ha diseñado para funcionar con dos fases de reloj y el KS (Kogge Stone) para funcionar en versiones de dos y tres fases. Sumador CLA. La Figura 4.14 muestra el diagrama de bloques de un sumador CLA de 4 bits. Consta de cuatro bloques de generación y predicción de acarreo, cuatro bloques sumadores y un bloque de generación de acarreo anticipado. Los bloques de predicción y generación de acarreo evalúan: Pi=Ai+Bi(4.1) Gi=AiBi(4.2) Los bloques de generación de la suma evalúan: Si=Pi⊕Ci(4.3) 126 Capítulo 4. Validación experimental. Figura 4.20: Entorno de medida. tiene la capacidad de generar señales con frecuencias de operación de hasta 50 MHz para señales cuadradas y de hasta 100 MHz para señales sinusoidales. El segundo equipo es un generador de patrones Agilent HP81134A, con capacidad para generar señales cuadradas con frecuencias de hasta 3.35 GHz . Ambos equipos se han utilizado durante el test de los diferentes circuitos, para obtener la señal de reloj externa de dos fases y la señal de entrada externa. Osciloscopio Agilent DSO6104A InfiniiVision. Con este equipo se han realizado las capturas gráficas de las tensiones de entrada y salida de los diferentes circuitos testeados. Analizador lógico Agilent 16902B. Con este equipo y el osciloscopio previamente descrito, se han capturado las formas de onda experimentales en las entradas y salidas del circuito integrado. También, se ha utilizado como generador de patrones para obtener la señal de reloj digital de tres fases y las entradas externas. 4.3. Resultados obtenidos. 127 TIPO_OSC FREQ1 FREQ2 F. Medida F. Interna 0 007 MHz 112 MHz 0 0128 MHz 448 MHz 0 1014 MHz 224 MHz 0 1155 MHz 880 MHz 1 004 MHz 64 MHz 1 0116 MHz 256 MHz 1 108 MHz 128 MHz 1 1132 MHz 512 MHz Tabla 4.3: Tabla de frecuencias reales de relojes internos de dos fases. FREQ1 FREQ2 F. Medida F. Interna 0087 MHz 1.39 GHz 0122 MHz 352 MHz 1051 MHz 816 MHz 1112 MHz 192 MHz Tabla 4.4: Tabla de frecuencias reales de relojes internos de tres fases. 4.3.2. Test de los bloques generadores de relojes. Uno de los test realizados en laboratorio ha consistido en comprobar las salidas de los generadores de señal de reloj incluidos en el núcleo INT. Se han medido las frecuencias de las salidas del MUX1 y MUX2 con las entradas de selección direccionando su entrada B, que corresponden a la primera fase de la señal de reloj en dos y tres fases respectivamente. Como se ha expuesto en la descripción del núcleo INT, las frecuencias en las salidas de los multiplexores son divididas a una dieciseisava parte para que puedan ser manejadas por los pads. Se ha incluido la columna “F. Medida” en las tablas 4.3 y 4.4, donde se muestran las frecuencias medidas a través de las salidas MUX 1 _INT y MUX 2 _INT . También, se ha incluido la columna "F. Interna"que muestra las frecuencias a las que han operado los circuitos del núcleo INT. 128 Capítulo 4. Validación experimental. 0 50 100 150 200 250 300 350 400 Tiempo [ns] 0 0.5 1 1.5 2 CLK1_ANLG [V] 0 50 100 150 200 250 300 350 400 Tiempo [ns] 0 1 2 IN1_EXT [V] 0 50 100 150 200 250 300 350 400 Tiempo [ns] 0 2 4 DIR1 [V] Figura 4.21: Formas de onda experimentales de una puerta NOR de 16 entradas del núcleo DIR. 4.3.3. Test de puertas. Se ha realizado un test en todas las puertas aisladas para comprobar su funcionalidad, obteniendo los resultados esperados en todas ellas. También se empleando de manera conjunta, el osciloscopio y el analizador lógico para la captura de datos. A continuación, se muestran algunos de los resultados obtenidos. En la Figura 4.21, se ilustra el comportamiento de una puerta DOE con funcionalidad NOR de 16 entradas incluida en el núcleo DIR. Las formas de onda obtenidas corresponden a la señal de reloj externa CLK 1 _ANLG , a la entrada IN 1 _EXT y a la salida DIR 1. Las frecuencias del test son de 20 MHz y 10 MHz , ambas con un duty cycle del 50 % para la señal de reloj y de entrada respectivamente. Concretamente, se aplica a la puerta una secuencia que alterna ceros y unos. En la salida DIR 1se observa también una secuencia de “0” y “1”, y la naturaleza inversora de las puertas DOE. El otro test que se muestra es el realizado a dos puertas del núcleo EXT. Se han seleccionado las entradas B de los multiplexores MUX1 y MUX2, que corresponden a dos puertas de funcionalidad NOR de 32 y 6 entradas respectivamente. En la Figura 4.22 se muestra la señal de reloj externa CLK 1 _ANLG con una frecuencia de 20 MHz y la señal de entrada 4.3. Resultados obtenidos. 129 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 1 2 CLK1_ANLG [V] 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 1 2 IN1_EXT [V] 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 2 4 MUX1_EXT [V] 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 2 4 MUX2_EXT [V] Figura 4.22: Formas de onda experimentales de dos puertas NOR del núcleo EXT, una de 32 entradas ( MUX 1 _EXT ) y una de 6 entradas (MUX2_EXT). IN 1 _EXT con una frecuencia de 2.5 MHz , ambas con un DTC de 50 %. Las salidas MUX 1 _EXT y MUX 2 _EXT muestran un comportamiento correcto. 4.3.4. Test de nanopipelines. Para la comprobación funcional de los nanopipelines incluidos en el circuito integrado se ha dividido el test en dos partes. Una para los nanopipelines de los núcleos DIR y EXT a bajas frecuencias, y la segunda para los nanopipelines del núcleo INT a altas frecuencias. Para el primero se han empleado dos generadores se señal, uno para generar la señal de reloj de dos fases y el segundo para generar la señal de entrada. Para generar la señal de reloj a tres fases se ha empleado el generador de patrones y para la captura de resultados, el osciloscopio y el analizador lógico. Se ha comprobado el funcionamiento correcto de todos los nanopipelines de los núcleos DIR y EXT. Los resultados que se muestran a continuación corresponden a un nanopipeline de cuatro puertas DOE de funcionalidad 130 Capítulo 4. Validación experimental. 0 50 100 150 200 250 300 350 Tiempo [ns] 0 1 2 CLK1_ANLG [V] 0 50 100 150 200 250 300 350 Tiempo [ns] 0 1 2 CLK2_ANLG [V] 0 50 100 150 200 250 300 350 Tiempo [ns] 0 1 2 IN1_EXT [V] 0 50 100 150 200 250 300 350 Tiempo [ns] 0 2 4 MUX2_EXT [V] (a) DTC 20 % 0 50 100 150 200 250 300 350 Tiempo [ns] 0 1 2 CLK1_ANLG [V] 0 50 100 150 200 250 300 350 Tiempo [ns] 0 1 2 CLK2_ANLG [V] 0 50 100 150 200 250 300 350 Tiempo [ns] 0 1 2 IN1_EXT [V] 0 50 100 150 200 250 300 350 Tiempo [ns] 0 2 4 MUX2_EXT [V] (b) DTC 90 % Figura 4.23: Formas de onda experimentales de un nanopipeline con puertas DOE-NOR de 32 entradas del núcleo EXT con un esquema de reloj de dos fases. 4.3. Resultados obtenidos. 131 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 1 2 CLK1_ANLG [V] 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 1 2 IN1_EXT [V] 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 2 4 MUX2_EXT [V] 0 100 200 300 400 500 600 700 800 900 1000 Tiempo [ns] 0 2 4 MUX3_EXT [V] Figura 4.24: Formas de onda experimentales de dos nanopipelines del núcleo EXT, uno con puertas DOE-NOR de 6 entradas a dos fases ( MUX 2 _EXT ) y otro con puertas DOE-NOR de 16 entradas a tres fases ( MUX 3 _EXT ). NOR de 32 entradas en una configuración de dos fases del núcleo EXT. Este nanopipeline incluye las puertas con el fan-in más alto del circuito integrado. Dos conjuntos de formas de onda capturadas se muestran en la Figura 4.23. La frecuencia de las dos fases de reloj ( CLK 1 _ANLG y CLK 2 _ANLG ) es de 50 MHz con un DTC del 50 %. En la Figura 4.23(a), la señal de entrada ( IN 1 _EXT ) es de 6.25 MHz con un DTC de 20% y en la Figura 4.23(b) con un DTC del 90 %. La salida del nanopipeline ( MUX 2 _EXT ) muestra un funcionamiento correcto. La secuencia de entrada aplicada se obtiene en la salida con una determinada latencia como corresponde a un nanopipeline con un número par de puertas inversoras. La Figura 4.24 captura las formas de onda de las salidas MUX 2 _EXT y MUX 3 _EXT , de los multiplexores MUX2 y MUX3 del núcleo EXT, que corresponden a circuitos que operan a dos y tres fases de reloj configurados con una frecuencia de 20 MHz y una señal de entrada externa IN 1 _EXT de 2.5 MHz , ambas con un DTC del 50 %. Por simplicidad, en la figura solo se muestra la fase 1 de la señal de reloj de dos fases (CLK1_ANLG). En la segunda parte del test se ha comprobado la funcionalidad de los nanopipelines incluidas en el núcleo INT. Se ha comprobado el funciona- 132 Capítulo 4. Validación experimental. 0 10 20 30 40 50 60 70 80 90 100 Tiempo [ns] -1 0 1 2 3 4 CLK1_INT_2F [V] 0 10 20 30 40 50 60 70 80 90 100 Tiempo [ns] -1 0 1 2 3 4 MUX1_INT [V] Figura 4.25: Formas de onda de un nanopipeline de 10 puertas DOE-NOR de 16 entradas a dos fases. miento correcto empleando todas las frecuencias configurables de dos fases y tres fases, obteniendo los resultados esperados en todos circuitos. Esto se ha logrado diseñando dos test de comprobación funcional. El primero consiste en aplicar a la entrada de los nanopipelines una entrada constante con el generador de patrones. El segundo emplea las entradas internas del núcleo. A continuación se muestran algunos de los resultados obtenidos. En primer lugar se ilustra el comportamiento de un nanopipeline de dos fases con una entrada constante. Se han configurado las señales de control para trabajar a la frecuencia más alta posible ( TIPO_OSC = 0, FREQ 1 = 1 Y FREQ 2 = 1) que corresponde a un reloj interno de dos fases entorno a 910 MHz de acuerdo con la Tabla 4.3. La señal de entrada IN 1 _INT es constante para un valor de uno lógico. Por lo tanto, la salida que corresponde al nanopipeline es una señal de la misma frecuencia que el reloj. La Figura 4.25 muestra las formas de onda experimentales de la fase uno del reloj interno de dos fases ( CLK 1 _INT_ 2 F ) y la entrada C del MUX1 que corresponde a la salida de un nanopipeline de 10 puertas DOE de funcionalidad NOR de 16 entradas. Se observa el comportamiento esperado, por lo que está operando correctamente por encima de los 900 MHz. Para el segundo test (con entrada interna), se han configurado las señales de control para obtener la frecuencia más alta posible ( FREQ 1 = 0 4.3. Resultados obtenidos. 133 0 10 20 30 40 50 60 70 80 90 100 Tiempo [ns] 0 1 2 3 4 CLK1_INT_3F [V] 0 10 20 30 40 50 60 70 80 90 100 Tiempo [ns] -1 0 1 2 3 4 MUX2_INT [V] Figura 4.26: Formas de onda de un nanopipeline de 10 puertas DOE-NOR de 16 entradas con tres fases de reloj. Y FREQ 2 = 0) en el generador de señal interno de tres fases ( 1.39 GHz ). La Figura 4.26 muestra las formas de onda experimentales de la fase uno del reloj interno de tres fases ( CLK 1 _INT_ 3 F ) y la entrada C del MUX2 que corresponde a la salida de un nanopipeline de 10 puertas DOE de funcionalidad NOR de 16 entradas. Se ha medido una frecuencia para la señal de reloj de 87 MHz . Teniendo en cuenta la división previa en 16 partes, se puede decir que se ha verificado el funcionamiento correcto del nanopipeline a una frecuencia interna aproximada de 1.39 GHz . Esta frecuencia se divide por el generador de entrada interno de tres fases, por lo que se espera que la salida del nanopipeline conmute a la mitad de la frecuencia de la señal de reloj, generando una salida con una frecuencia externa de 44 MHz. 4.3.5. Test de sumadores. Los bloques de generación de acarreos (CM) de los sumadores KS fabricados, han funcionado correctamente. Hemos comprobado que en los tres bloques CM incluidos en el circuito integrado se obtiene la salida correcta para las 16 combinaciones de entrada que se le pueden aplicar. Además se han realizado test con entrada variable. Las Figuras 4.27 y 4.28 muestran resultados para el CM de dos fases y el de tres fases en el núcleo 134 Capítulo 4. Validación experimental. 0 50 100 150 Tiempo [ns] 0 2 4 CLK1_INT_2F [V] 0 50 100 150 Tiempo [ns] 0 2 4 MUX3_INT [V] 0 50 100 150 Tiempo [ns] 0 2 4 MUX4_INT [V] Figura 4.27: Formas de onda experimentales del sumador KS con dos fases de reloj. INT. Las formas de onda mostradas en la Figura 4.27 corresponden a un test con la señal de reloj más alta disponible (por encima de 900 MHz de acuerdo a la Tabla 4.4) y una señal de entrada constante para la que los acarreos medidos son “1”. Con las entradas de selección apuntando a las entradas B de los multiplexores, obtenemos las señales de la fase uno de la señal de reloj ( CLK_INT _ 2 F ), el acarreo C3 ( MUX 3 _INT ) y el acarreo C4 ( MUX 4 _INT ). Se comprueba que las salidas medidas conmutan a la misma frecuencia de la señal de reloj ( 55 MHz ). Esto se corresponde con el comportamiento esperado para salidas que son “1”. La Figura 4.28 muestra formas de ondas correspondientes al test del CM de tres fases. También se ha realizado este test con la señal interna de reloj más alta ( 1.39 GHz de acuerdo con la Tabla 4.4). El patrón de test aplicado se ha generado con el generador de patrones de test. Alterna una combinación de entrada para las que los acarreos que se muestra en las Figuras valen “1” y otra para la que valen cero. Se aplican a una frecuencia apróximada de ( 5 MHz ), muy lenta en comparación con la frecuencia interna del reloj e incluso con la frecuencia del reloj enlentecido a la salida del chip ( 87 MHz ). Se observa el comportamiento esperado. Cuando la salida del correspondiente acarreo es “0”, la salida tras el divisor de frecuencia es 4.3. Resultados obtenidos. 135 0 200 400 600 800 1000 1200 1400 Tiempo [ns] -2 -1 0 1 2 3 4 MUX7_INT [V] 0 200 400 600 800 1000 1200 1400 Tiempo [ns] -2 -1 0 1 2 3 4 5 MUX8_INT [V] Figura 4.28: Formas de onda experimentales del sumador KS con tres fases de reloj. constante. Puede estar en bajo o en alto porque no cuenta pulsos. Cuando la salida del CM es un “1”, en la salida del chip se obtiene una señal de la misma frecuencia del reloj. Por lo tanto tras el divisor, obtenemos señales de la misma frecuencia en el reloj externo y en la salida que se está midiendo. Vemos como estos dos comportamientos se alternan correctamente. No se han obtenido resultados satisfactorios del sumador CLA. Ninguna de los integrados en el chip ha funcionado correctamente. Hay que puntualizar que ya sabíamos que las salidas suma era muy probable que no funcionasen. La implementación realizada conecta dos puertas DOE intercalando un inversor estático. Esto es, la segunda de las mencionadas puertas recibe valores lógicos altos durante la precarga de la etapa anterior. A pesar de tratarse de una configuración no permitida, por simulación se observó funcionamiento correcto para determinadas frecuencias de reloj. No obstante el diseño era poco robusto y ya preveíamos una alta probabilidad de que no funcionase. Por otra parte, el bloque CLA no estaba diseñado para operar a las frecuencias más altas de los relojes internos. El CLA muestra un patrón complejo de interconexiones debido a que las puertas de esta arquitectura de sumador tienen, en general, un fanout alto. Se resolvió con un esquema de interconexiones que resultó en líneas muy largas con