22
Presentación de pruebas de fallos en Dsch versión 3.5 Este documento presenta el concepto de fallas de simulación a nivel lógico en Dsch35. Se describen los mecanismos de inyección de fallos de lógica, la simulación y la extracción óptima de prueba del vector. Las funciones de prueba de Dsch35 se ilustran con una serie de diseños lógicos. 1 INTRODUCCIÓN Los diseños de circuitos integrados lógicos en la tecnología CMOS se están volviendo más y más complejo, ya que VLSI (integración a muy gran escala) es el interés de muchos usuarios y fabricantes de electrónica de IC. Un problema común a resolver por los diseñadores, fabricantes y usuarios es la prueba de estos circuitos integrados. En esta nota de aplicación, se introduce el concepto de falla, concentrándonos en las hipótesis stuck-at-0 y stuck-at-1, y mostrar cómo pueden aparecer estos fallos. Luego, utilizando DSCH, mostramos cómo construir una tabla de verdad de referencia, y la manera de simular estas fallas aplicadas a los nodos de entrada y salida del circuito bajo prueba. Investigamos cómo los patrones de prueba detectan dichos errores. El objetivo final es clasificar la eficacia de patrones de prueba, con el fin de seleccionar los vectores de prueba más eficientes, y por lo tanto reducir el número de patrones de prueba. 1.1 Prueba de un IC La prueba de un circuito integrado se puede expresar mediante la comprobación de si sus salidas corresponden a las entradas aplicadas a la misma. Si la prueba es positiva, entonces el sistema es bueno para usarse. Si las salidas son diferentes de lo esperado, la IC es rechazado (Go / No Go test). El diagnóstico se puede aplicar a la misma, con el fin de señalar e identificar las causas del problema. La prueba se aplica para detectar fallas después de varias operaciones: diseño, fabricación, envasado, como se ilustra en la

Test Dsch35 Traducido

Embed Size (px)

DESCRIPTION

TESTS DSCH

Citation preview

Page 1: Test Dsch35 Traducido

Presentación de pruebas de fallos en Dsch versión 3.5

Este documento presenta el concepto de fallas de simulación a nivel lógico en Dsch35. Se describen los mecanismos de inyección de fallos de lógica, la simulación y la extracción óptima de prueba del vector. Las funciones de prueba de Dsch35 se ilustran con una serie de diseños lógicos.

1 INTRODUCCIÓN

Los diseños de circuitos integrados lógicos en la tecnología CMOS se están volviendo más y más complejo, ya que VLSI (integración a muy gran escala) es el interés de muchos usuarios y fabricantes de electrónica de IC. Un problema común a resolver por los diseñadores, fabricantes y usuarios es la prueba de estos circuitos integrados. En esta nota de aplicación, se introduce el concepto de falla, concentrándonos en las hipótesis stuck-at-0 y stuck-at-1, y mostrar cómo pueden aparecer estos fallos. Luego, utilizando DSCH, mostramos cómo construir una tabla de verdad de referencia, y la manera de simular estas fallas aplicadas a los nodos de entrada y salida del circuito bajo prueba. Investigamos cómo los patrones de prueba detectan dichos errores. El objetivo final es clasificar la eficacia de patrones de prueba, con el fin de seleccionar los vectores de prueba más eficientes, y por lo tanto reducir el número de patrones de prueba.

1.1 Prueba de un IC

La prueba de un circuito integrado se puede expresar mediante la comprobación de si sus salidas corresponden a las entradas aplicadas a la misma. Si la prueba es positiva, entonces el sistema es bueno para usarse. Si las salidas son diferentes de lo esperado, la IC es rechazado (Go / No Go test). El diagnóstico se puede aplicar a la misma, con el fin de señalar e identificar las causas del problema.

La prueba se aplica para detectar fallas después de varias operaciones: diseño, fabricación, envasado, como se ilustra en la figura 1. Si se considera una estrategia de prueba a nivel de CI, el fallo se puede detectar en las etapas de diseño del sistema inicial, ubicarlo y eliminarlo a muy bajo costo. Cuando el chip defectuoso está soldado en una placa de circuito impreso, el coste para remediar el fallo se multiplica por diez. Y estos factores de costos continuan aplicándose hasta que el sistema se ha montado y embalado y enviado a los usuarios finales, como se ilustra en la Figura 2.

Page 2: Test Dsch35 Traducido

Figura 1: Típico flujo de producción de un CI

Estos factores de costos continúan aplicándose hasta que el sistema ha sido ensamblado y empaquetado y luego enviado a los usuarios.

Figura 2: Coste de prueba (La regla de diez)

La primera idea para poner a prueba un circuito de entrada N sería aplicar un contador de N bits a las entradas (controlabilidad), luego generar todas las 2N combinaciones, y observar las salidas de control (observabilidad). Esto se denomina "pruebas exhaustivas" (Fig. 3), y es muy eficiente, pero sólo para los circuitos de pocas entradas. Sin embargo, esta técnica toma mucho tiempo cuando el número de entradas aumenta. Dada una serie de fallos en el circuito bajo prueba (CUT), nuestro objetivo es obtener el menor número posible de patrones de prueba que garantiza más alta cobertura de fallas. La compactación de prueba se refiere al proceso de reducir el número de patrones de prueba en un conjunto de prueba sin reducir su cobertura de fallas.

Page 3: Test Dsch35 Traducido

Figura 3: El tiempo de prueba exhaustiva se convierte en prohibitivo con un gran número de entradas de IC

Un patrón de prueba (o vector de prueba) para una fallo f en un circuito C es una combinación de entrada para las que la salida(s) de C es diferente cuando f está presente asi como cuando no lo está. (fig. 4).

Figura 4: Un patrón de prueba detecta un fallo si la respuesta libre de errores es diferente de la respuesta defectuosa.

Un vector de prueba x detecta una fallo F si: C(x) Cf(x) = 1

Dónde: C (x) es la respuesta del circuito libre de fallos, y Cf (x) es la respuesta del circuito defectuoso.

1.2 Prueba de fallos

1.2.1 Modelo de falla

Los modos de fallo se manifiestan en el nivel lógico como valores de señales incorrectas. Un fallo es un modelo que representa el efecto de un fallo por medio del cambio que se produce en la señal del sistema. Varios defectos generalmente se asignan a un modelo de falla, y se llama un mapeo muchos-a-uno. Sin embargo, algunos defectos también pueden ser representados por más de un modelo de fallo. Los modelos de fallo tienen la ventaja de ser una representación más manejable que los modos de falla física. Es posible señalar los modelos de fallo más comúnmente utilizados (Tabla 1).

Page 4: Test Dsch35 Traducido

Tabla 1: Modelos de falla más comúnmente utilizados

Como modelo, el fallo no tiene que ser una representación exacta de los defectos, sino más bien, debe ser útil en la detección de los defectos. Por ejemplo, el modelo de falla más común asume el single stuck-at (SSF) a pesar de que está claro que este modelo no representa con exactitud todos los fallos físicos reales.La razón para continuar usando el modelo de falla stuck-at es el hecho de que ha sido satisfactorio en el pasado. Además, los conjuntos de prueba que se han generado para este tipo de fallo han sido eficaces en la detección de otros tipos de fallos. Sin embargo, como con cualquier modelo, un fallo puede no representar a todos los fracasos. Además se discutirá un poco más cerca de los modelos de falla que se han traído en la Tabla 1.

1.2.2 Fallas Stuck-at

Como se mencionó anteriormente, un single stuck-at fault (SSF) representa una línea en el circuito que se fija al valor lógico 0 o 1.

Consideramos aquí las fallas permanentes que son fallas continuas y estables, cuya naturaleza no cambian antes, durante y después de la prueba. Estas fallas afectan el comportamiento funcional del sistema de forma permanente. Estas fallas son usualmente localizadas y pueden ser modelados. Otros fallos tales como fallas temporales o fallas intermitentes no se consideran en esta nota de aplicación.

La figura 5 ilustra un posible origen de un nodo pegado a tensión 0 (stuck-at 0): la implementación está cerca de un nodo VSS (aquí situado cerca, misma capa), y un puente de metal defectuosa hace una conexión robusta a la tierra.

Page 5: Test Dsch35 Traducido

Figura 5: el origen físico de un nodo con falla stuck-at 0.

Hay varias formas de designar fallas stuck-at, todos tienen el mismo significado. Considerando un nodo N, el fallo "stuck-at 0" se puede escribir: N s-a-0, N s/0, N/0 ó N@0 En DSCH, utilizaremos "N@0" para el nodo N stuck-at 0 y "N@1" para el nodo N stuck-at-1.

1.2.3 Otros fallos

La fabricación de interconexiones puede dar lugar a interrupciones o atajos, que puede tener consecuencias catastróficas en el comportamiento del circuito integrado. La figura 6 ilustra el caso de Fallas "Open" y "Short", que no se consideran en DSCH para simulaciones de fallos.

Figura6: Origen físico de las fallas “Open” y “Short”

Page 6: Test Dsch35 Traducido

1.2.4 Pruebas y cobertura de fallas

La prueba es el proceso de determinar si un dispositivo funciona correctamente o no. La cuestión es ¿Cuantas pruebas de un CI serán suficientes?

El rendimiento (Y) se define como la relación entre el número de matrices buenas por oblea con el número de matrices totales por oblea.

La cobertura de fallos (FC) es la medida de la capacidad de un equipo de prueba T para detectar un determinado conjunto de fallas que pueden ocurrir en el DUT (Dispositivo bajo prueba). Vamos a tratar de lograr una FC = 1, que es una cobertura fallos del 100%.

FC= (#detected faults)/ (#possible faults)

1) Nivel de defectos y cobertura de fallos

El nivel de defectos (DL) es la fracción de partes malas de todas las partes que pasan las pruebas.

DL= 1 – Y (1-FC)

Donde el FC se refiere a la cobertura real de defectos (probabilidad de que T detecte o no cualquier posible fallo en F) y DL es la DPM (defectos por millón). Los valores típicos exigidos son menos de 200 DPM, o un 0,02%.

2 Módulo de pruebas en DSCH

2.1 Primeros pasos

En DSCH versión 3.5, construir un circuito sencillo, como se muestra en la figura. 6, que incluye 2 entradas y una salida, y haga clic en "Simulate" → "Logic Circuit Testing".

Figura 7: Introducción a DSCH

Page 7: Test Dsch35 Traducido

La pantalla mostrada en la figura. 8 corresponde a la construcción de la tabla de verdad de referencia. En la tabla situada en la parte izquierda de la pantalla, se muestran todas las entradas y salidas. En el caso de la compuerta AND, dos entradas A y B se enumeran. DSCH siempre clasifica las entradas en orden alfabético, seguidos de las salidas también clasificadas por orden alfabético. En esta etapa, el valor de la salida todavía no se ha calculado y dispuesto.

Figura 8: Construcción de la tabla de verdad de referencia (test/And2_test.SCH)

Haga clic en "Logic Simulatión", y luego clic en "Chronograms" para ver cómo DSCH ha simulado el circuito: los relojes han sido asignados automáticamente a las entradas, con un período multiplicado por 2 con el fin de cubrir toda la tabla de verdad en una sola simulación. Haga clic en "Extract Truth-table" para llenar la tabla con los valores obtenidos en los cronogramas de la simulación lógica del circuito (Fig. 9).

Figura 9: Cálculo de la tabla de verdad de referencia de la simulación lógica (test/And2_test.SCH)

Page 8: Test Dsch35 Traducido

Haga clic en "Next". Entrar a la pestaña "2 - Inyect Fault". El menú que se muestra en la figura. 10 corresponde a la inyección de fallos. Seleccione el tipo de fallo (stuck-at-0, stuck-at-1, o ambos), los nodos en los que se aplicaran estos modelos y la salida considerada para la prueba. Por defecto, s@0 se aplica a todas las entradas, y se observa la primera salida declarada en la lista. Haga clic en "Generate Faults" para enumerar los defectos deseados en la red de prueba del vector situado a la izquierda de la pantalla. Observe que cada columna corresponde a un vector de prueba. Como tenemos 2 entradas, tenemos 4 columnas, cada una correspondiente a un vector de prueba para las entradas AB, respectivamente 00, 01, 10, y 11. Las dos fallas consideradas aquí son A@0 y B@0.

Figure 10: Definir el tipo de fallo y los nodos de interés (test/And2_test.SCH)

Page 9: Test Dsch35 Traducido

Figura 11: Dos simulaciones lógicas son necesarios para extraer la respuesta a los fallos A@0 y B@0 (test/And2_test.SCH)

Con el fin de calcular la respuesta del circuito a los fallos A@0 y B@0 , procedemos como sigue:

- Haga clic en "Simulate fault n°1 - A@0". Haga clic en "Chronograms" para ver la respuesta. El nodo A es stuck-at-0, y, en consecuencia, la salida C es 0.

Figura 12: El Cronograma muestra el nodo A en stuck-at-0 (test/And2_test.SCH)

- Haga clic en " Extract Fault Response”. Los valores lógicos se transfieren a la línea correspondiente. - Haga clic en "Simulate fault n°2 - B@0". - Haga clic en "Extract Fault Response". La respuesta del circuito para el segundo fallo también se transfiere, como se muestra en la figura. 13.

Figura 13: respuesta del circuito a A @ 0 y B @ 0 (test/And2_test.SCH)

Page 10: Test Dsch35 Traducido

Al seleccionar "Stuck-at 0 & Stuck-at 1", y aplicando a las entradas y salidas, se obtiene la siguiente respuesta a las 6 fallas:

Figura 13: respuesta del circuito para todas las posible fallas stuck-at (test/And2_test.SCH).

Figura 14: Puntuación de detección para todos los patrones de prueba (test/And2_test.SCH)

Haga clic en "Next". Ir a la pestaña "3 - Analyse Vectors". Haga clic en " Highlight DetectionVectors ". A partir de los resultados calculados en la figura. 14, podemos ver que no todos los vectores de prueba tienen la misma eficiencia de detección. El vector de prueba <11> (última columna) es capaz de detectar 4 fallos sobre el total de 6.

Esto significa que la aplicación de 11 a las entradas A, B conduce a un resultado en C diferente del valor lógico de referencia 1 (línea "C (Fault-libre)", que permite que el vector de prueba 11 para

Page 11: Test Dsch35 Traducido

alertar al usuario de la posibilidad de 4 posible fallos: A@0, B@0, B@1, C@0. Todos los fallos se pueden probados (100% de cobertura) usando tres vectores:. 01, 10 y 11.

3 Estudios de caso En esta sección se investiga la prueba de dos circuitos, una combinación Nand-Or y un sumador completo.

3.1 Circuito NAND-OR

El circuito NAND-OR es una simple combinación de una puerta NAND de 2 entradas y una puerta OR. El concepto de inyección de fallo manual se presenta en la figura 15. La inyección de fallos en un nodo N consiste en la apertura de la conexión y la inserción de un circuito multiplexor.Se propone un ejemplo de s@0 y s@1 circuito de inyección, basado en dos multiplexores, el primero de falla / no falla, el segundo para s@0 / s@1. Una aplicación práctica en DSCH se observa en la figura. 16.

Figura 15: Principios de inyección de fallos

Page 12: Test Dsch35 Traducido

Figura 16: inyección manual de fallos en un circuito (test / NandOr_fault.SCH)

Figure 17: Simulación (test/NandOr_fault.SCH)

Figura 18: Cálculo de la tabla de verdad de referencia de la simulación lógica (test / NandOr_test.SCH)

El circuito Nand-Or tiene 5 nodos, por lo tanto, son posibles 10 fallas stuck-at, si a ello se suma el nodo interno que une la salida NAND2 a la entrada OR.

- Haga clic en "File" "Open" y seleccione "Test \ Nandor-test.sch" - Haga clic en "Simulate" "Lógic Circuit Testing". - Haga clic en "Logic Simulation" y "Extract Truth-table" para llenar la tabla con los valores obtenidos en los cronogramas de simulación lógica del circuito (fig. 18). - Haga clic en "Next". Desplazarse a la pestaña"2 - Inject Fault". - En el menú de parámetros, seleccione el tipo de falla "s@0 & s@1", y aplicarlo a "All nodes" (Fig. 19).

Page 13: Test Dsch35 Traducido

Figura 19: Cálculo de la respuesta a la inyección de fallos (test / NandOr_test.SCH)

- Haga clic en "Generate Faults" para enumerar los defectos deseados en la red de prueba del vector. - Haga clic en "Simulate faults n°1 - A@0". Haga clic en "Chronograms" para ver la respuesta. - Haga clic en "Extract Fault Response". Los valores lógicos se transfieren a la línea correspondiente. - Repita los dos últimos pasos hasta que se complete la tabla (Fig. 19). - Haga clic en "Next". Ir a la pestaña "3 – Analyse vectors". - Haga clic en “Highlight Detection Vectors”. ". El resultado se muestra en la figura. 20.

Figura 20: Eficiencia del vector de detección (prueba / NandOr_test.SCH)

- El vector de 110 detecta un A@0, B@0, C@1 y Nandor@1 (4/8 fallas). - El vector de 100 detecta B@1 y Nandor@0 (2/8 fallos). - El vector 010 detecta el fallo A@1. - El vector de 111 detecta el fallo restante C@0.

Page 14: Test Dsch35 Traducido

Por lo tanto 4 vectores de prueba (010, 100, 110, 111) detectan todas las fallas stuck-at (tiempo de la prueba será la media de una prueba exhaustiva).3.2 Circuito Sumador Completo El circuito sumador completo propuesto en la figura. 21 incluye 3 entradas y 2 salidas.Esta implementación esta basada en compuertas XOR y NAND.

Figure 21: Sumador complete basado en compuertas XOR y NAND (test/Fadd_test.SCH)

El procedimiento para la inyección de errores y el análisis es como sigue: - Haga clic en "Next" "Open" y seleccione "Test \ Fadd-test.sch" - Haga clic en "Simulate" "Logic Circuit Testing". - Haga clic en "Logic Simulation" y " Extract Truth-table " para llenar la tabla con los valores obtenidos en los cronogramas de la simulación lógica del circuito (Fig. 22). Haga clic en "Chronograms" para observar la simulación lógica que sirve de referencia para llenar la tabla de verdad. Observe el retraso debido a las puertas lógicas que desicroniza las señales.

Page 15: Test Dsch35 Traducido

Figura 22: Cálculo de la tabla de verdad de referencia de la simulación lógica (test / Fadd_test.SCH)

- Haga clic en "Next". Ir a la pestaña "2 - Inject Fault". - En el menú de parámetros, seleccione el tipo de fallo "s@0 & s@1", que se aplican a "todas las estaciones", y seleccionar la salida "Sum" (Fig. 23). El valor sin fallos se observa en la segunda línea de la tabla. La primera línea corresponde a los 8 vectores de prueba. Tenemos 10 fallos posibles.

Figura 23: Eficiencia del vector de detección (test / Fadd_test.SCH)

- Haga clic en "Generate Faults" para enumerar los defectos deseados en la red de prueba del vector. - Haga clic en "Simulate faults n°1 - A@0". Haga clic en "Chronograms" para ver la respuesta. - Haga clic en " Extract Fault Response”. Los valores lógicos se transfieren a la línea correspondiente. - Repita los dos últimos pasos hasta que se complete la tabla. - Haga clic en "Next". Ir a la pesataña "3 - Analyse vectors". - Haga clic en " Highlight Detection Vectors ". El resultado se muestra en la figura 25.Todos los vectores alcanzan la puntuación 4/10 (Véase. Fig. 23).

Page 16: Test Dsch35 Traducido

Por lo tanto 2 vectores de prueba detectan todos los fallos stuck-at (por ejemplo 000, 111), excepto Carry@0 y Carry@1 que no están en el mismo camino. La mejor cobertura de fallo es del 80%.4 Inyección de fallos en Microwind3: Nivel de diseñoNuestra perspectiva para continuar este trabajo con un módulo para la inyección de fallos a nivel de diseño utilizando Microwind3. La idea es modelar el fallo con un espacio (a una capa específica) y luego moverlo en el diseño, simularlo con SPICE y observar su efecto en el comportamiento eléctrico del circuito, en comparación con el circuito libre de defectos (de referencia).La idea del espacio es bueno; Sin embargo, puede ser difícil de implementar. Podemos sustituir el espacio por "una corta resistencia" para simular fallas puente de circuito abierto (resistencia infinita) a cortocircuito (resistencia cero) especialmente si esto es posible con Microwind3, ya que permite la inserción y la simulación de los elementos pasivos en un diseño. Sugerimos, por tanto, que la inyección de fallos a nivel de diseño sigue los siguientes pasos:1. Establecer hasta el nivel eléctrico del diseño (diseñado en Microwind3) mediante el archivo SPICE extraído de diseño.2. Considere modelos de fallas en este nivel de abstracción que son los MOS stuck-on/open y/o fallos de puente.3. Para los MOS on / open, sólo tenemos un Drenaje short/cut a / de Fuente del transistor MOS.4. Para corto resistivos entre dos nodos en el circuito (puente fallas), se puede tratar sólo los defectos probables (2 nodos vecinos de la misma capa, rompiendo el contacto de metal / poly ...). Esta lista de fallos puede ser generada antes de la inyección de defectos o especificada por el diseñador (para una tecnología dada).5. La colocación de una resistencia (que modela la opción predeterminada) entre dos nodos y para simular los valores (pocos ohmios: shorts) a un valor infinito (open). Esto se puede lograr a través del comando "parametric analysis” de Microwind3.6. Finalmente, para analizar el efecto de cada defecto, la corriente IDDQ se puede utilizar para determinar la función correcta. Este análisis puede ser realizado por el diseñador o automáticamente por la herramienta, con el fin de clasificar los defectos por tipo: catastrófico / paramétrico / lógica.

5 Conclusión Esta nota de aplicación ha descrito una nueva característica de DSCH vinculado con inyección de fallos y simulación a nivel lógico. Los mecanismos para la inyección de errores de lógica, la simulación y la extracción óptima vector de prueba se han descrito e ilustrado en una puerta Y, una puerta complejo y un sumador completo.

6 Ejercicios

6.1 Ejercicio 1 - Multiplexor Diseñar el siguiente circuito. Inyectar atrapado-en fallos en X1, X2, X3 y Y. Cuál vectores de prueba se harían con una cobertura de la culpa del 100%?

Page 17: Test Dsch35 Traducido

6.2 Ejercicio 2 - Fallo colapso Stuck-en el colapso de fallo típicamente reduce el número total de averías en un 50 a 60% [Bushnell 2000]. Fallo colapso de pegado-en fallos se basa en el hecho de que un SA0 en la entrada a una puerta Y (NAND) es equivalente a la S @ 0 (S @ 1) en la salida de la puerta. Del mismo modo, un S @ 1 en la entrada a una puerta OR (NI) es equivalente a la S @ 1 (S @ 0) a la salida de la puerta. Para un inversor, un S @ 0 (S @ 1) en la entrada es equivalente a la SA1 (S @ 0) a la salida del inversor. Por otra parte, una engreída en falta en la fuente (salida de la puerta de conducción) de una red de conductores de salida libre es equivalente a la misma falla atascado-en el destino (entrada de puerta siendo impulsado). Por lo tanto, el número de colapsado engreída a fallas en cualquier circuito combinacional construido a partir de puertas lógicas elementales (AND, OR, NAND, NOR, y el inversor) viene dada por:

Cantidad de errores colapsadas = 2 × (número de OP + número de fanout tallos) + Número de puerta (incluyendo inversor) entradas - Número total de inversores

Una serie de interesantes propiedades están asociadas con la detección de pegada-a fallas en los circuitos lógicos combinacionales; Por ejemplo, dos de tales propiedades se describen por las siguientes teoremas: Teorema 1 Un conjunto de vectores de prueba que detecta todas las fallas individuales pegadas-a en todas las entradas principales de un circuito lógico combinacional-fanout libre detectará todos los errores individuales pegadas-en en ese circuito. Teorema 2 Un conjunto de vectores de prueba que detectan todos los fallos individuales pegadas-a en todas las entradas principales y todas las ramas fanout de un circuito lógico combinacional detectará todos los errores individuales pegadas-en en ese circuito. Teniendo en cuenta el siguiente ejemplo:- Evaluar el número de fallos colapsadas (respuesta: 10)

Page 18: Test Dsch35 Traducido

7 Referencias

[Chen2002] Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002[Sicard2005a] E. Sicard, S. Ben Dhia “Basic CMOS cell design”, McGraw Hill India, 450 pages,ISBN 0-07-0599335, June 2005 (international edition at McGraw Hill professional series in 2007)[Sicard2005b] E. Sicard “Introducing 90-nm technology in Microwind3”, application note, July 2005,www.microwind.org[Sicard2006a] E. Sicard “Microwind User’s Manual, lite version 3.1”, www.microwind.org, INSAeditor, 2006[Sicard2006b] E. Sicard “Introducing 65-nm technology in Microwind3”, application note, July 2006,www.microwind.org