ANDRÉS FELIPE SIERRA VALLEJO - Javeriana

81
1 DISEÑO E IMPLEMENTACIÓN DE UN CONVERTIDOR ANALÓGICO DIGITAL MEDIANTE UN REGISTRO DE APROXIMACIONES SUCESIVAS EN TÉCNICAS DE MICROELECTRÓNICA ANDRÉS FELIPE SIERRA VALLEJO PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRÓNICA BOGOTÁ D.C 2013

Transcript of ANDRÉS FELIPE SIERRA VALLEJO - Javeriana

1

DISEÑO E IMPLEMENTACIÓN DE UN CONVERTIDOR ANALÓGICO DIGITAL MEDIANTE

UN REGISTRO DE APROXIMACIONES SUCESIVAS EN TÉCNICAS DE

MICROELECTRÓNICA

ANDRÉS FELIPE SIERRA VALLEJO

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

BOGOTÁ D.C

2013

2

DISEÑO E IMPLEMENTACIÓN DE UN CONVERTIDOR ANALÓGICO DIGITAL MEDIANTE

UN REGISTRO DE APROXIMACIONES SUCESIVAS EN TÉCNICAS DE

MICROELECTRÓNICA

ANDRÉS FELIPE SIERRA VALLEJO

TRABAJO DE GRADO PARA OPTAR POR EL TITULO DE INGENIERO

ELECTRÓNICO

DIRECTORES

ING. GERMAN YAMHURE KATTAH Msc.

ING JORGE ANDRÉS GARCÍA PhD.

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA

BOGOTÁ D.C

2013

3

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA ELECTRÓNICA

RECTOR MAGNÍFICO: JOAQUÍN EMILIO SÁNCHEZ GARCÍA, S.J.

DECANO ACADÉMICO: Ing. JORGE LUIS SÁNCHEZ TÉLLEZ Msc.

DECANO DEL MEDIO UNIVERSITARIO: P. SERGIO BERNAL RESTREPO, S.J.

DIRECTOR DE CARRERA: Ing. JAIRO ALBERTO HURTADO LONDOÑO PhD.

DIRECTOR DE DEPARTAMENTO Ing. FRANCISCO VIVEROS.

DIRECTOR DEL PROYECTO: Ing. GERMAN YAMHURE KATTAH Msc.

DIRECTOR DEL PROYECTO Ing JORGE ANDRES GARCÍA LÓPEZ PhD.

4

ARTÍCULO 23 DE LA RESOLUCIÓN No. 13 DE JUNIO DE 1946

"La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos

de grado. Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque los

trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se vea en ellos el

anhelo de buscar la verdad y la justicia".

Artículo 23 de la Resolución No. 13, del 6 de julio de 1946, por la cual se reglamenta lo concerniente

a Tesis y Exámenes de Grado en la Pontificia Universidad Javeriana

5

TABLA DE CONTENIDO

INTRODUCCIÓN ....................................................................................................................................... 10

I. MARCO TEÓRICO ............................................................................................................................. 12

1. CONCEPTOS BÁSICOS DE CONVERTIDORES ANALÓGICOS-DIGITALES ....................... 12

1.1. Parámetros básicos. .................................................................................................................. 12

1.2. Error de Cuantización ( ) ...................................................................................................... 13

1.3. No linealidad Diferencial (DNL Differential Nonlinearity) ..................................................... 13

1.4. No linealidad Integral (ILN Integral Nonlinearity) .................................................................. 14

1.5. Relación Señal a Ruido (SNR Signal to Noise Ratio) .............................................................. 14

2. DESCRIPCIÓN GENERAL DE UN CONVERTIDOR ANALÓGICO DIGITAL POR

APROXIMACIONES SUCESIVAS ....................................................................................................... 15

2.1 Arquitectura general ................................................................................................................. 15

2.2 Registro de corrimiento y SAR (Lógica SAR) ......................................................................... 16

2.3 Comparador .............................................................................................................................. 17

2.4 DAC (Convertidor Digital Analógico) ..................................................................................... 18

2.5 Circuito de Sample and Hold ................................................................................................... 18

2.6 Generación de reloj .................................................................................................................. 18

II. ESPECIFICACIONES ......................................................................................................................... 19

3. ESPECIFICACIONES Y TECNOLOGÍA UTILIZADA. ............................................................... 19

4. SOLUCIÓN PROPUESTA – DIAGRAMA EN BLOQUES .......................................................... 19

III. DESARROLLOS ............................................................................................................................. 20

5. SIMULACIÓN DE ALTO NIVEL .................................................................................................. 20

5.1 Comparador .............................................................................................................................. 20

5.2 DAC ......................................................................................................................................... 20

5.3 SAR y Control .......................................................................................................................... 26

5.4 Generación de Reloj. ................................................................................................................ 27

5.5 DataOut .................................................................................................................................... 27

5.6 Resultados de simulación de alto nivel .................................................................................... 28

6. DISEÑO DEL CONVERTIDOR EN CMOS DE 0.6 um. ............................................................... 31

6.1 Comparador .............................................................................................................................. 31

6.2 DAC ......................................................................................................................................... 34

6.3 SAR y Control .......................................................................................................................... 39

6.4 Generación de Reloj ................................................................................................................. 41

6.5 Data Out ................................................................................................................................... 46

6.6 Simulación analógica Pre-Layout del sistema completo. ......................................................... 47

6

6.7 Simulación de señal mixta pre-layout del sistema completo. ................................................... 48

6.8 Layout de los bloques del convertidor. .................................................................................... 53

6.9 Simulación con componentes parásitos de los bloques analógicos del convertidor ................. 61

6.10 Resultados de simulación mixta del sistema completo con componentes parásitos. ............... 63

IV. ANÁLISIS DE RESULTADOS ...................................................................................................... 64

7. ANÁLISIS ........................................................................................................................................ 64

7.1 Comparador .............................................................................................................................. 64

7.2 Generación de reloj .................................................................................................................. 65

7.3 Sistema completo ..................................................................................................................... 66

V. CONCLUSIONES ............................................................................................................................... 69

BIBLIOGRAFÍA .......................................................................................................................................... 70

ANEXOS...................................................................................................................................................... 71

7

LISTA DE FIGURAS

Figura 1. Diagrama básico de entradas y salidas de un ADC [3] ................................................................. 12 Figura 2. (a) Función de transferencia de un ADC ideal de 3 bits. (b) Error de cuantización centrado en 0.

[3] ................................................................................................................................................................. 13 Figura 3. DNL para un ADC de 3 bits. [3] ................................................................................................... 14 Figura 4. INL para un ADC de 3 bits. [3] .................................................................................................... 14 Figura 5. Arquitectura general de un ADC SAR .......................................................................................... 15 Figura 6. Logica SAR Tipo I [4] .................................................................................................................. 16 Figura 7. Logica SAR Tipo 2 [4] ................................................................................................................. 17 Figura 8. Símbolo esquemático de un comparador. [3] ............................................................................... 17 Figura 9. Esquemático de un comparador dinámico básico. [2] .................................................................. 17 Figura 10a. DAC implementado con fuentes de corriente con pesos binarios. [3] b) DAC Implementado

con Resistencias.[3] ...................................................................................................................................... 18 Figura 11. Implementación básica de un circuito de Sample and Hold. ...................................................... 18 Figura 12. Diagrama en bloques de la solución propuesta. .......................................................................... 19 Figura 13. DAC por redistribución de carga para N-Bits [3] ....................................................................... 20 Figura 14. El proceso de redistribución de carga: (a) Muestrear la entrada, cancelación de offset, (b)

Voltaje en la placa superior de los condensadores después del muestreo, (c) Circuito equivalente mientras

se convierte el MSB, (d) Circuito equivalente mientras se convierte el siguiente bit con el MSB igual a 1.

[3] ................................................................................................................................................................. 21 Figura 15. Arreglo “partido” de condensadores para un DAC de 6 Bits. [3] ............................................... 21 Figura 16. Implementación de BOT_Switch. ............................................................................................... 24 Figura 17. DAC con redistribución de carga. TOP_Switch (Azul), BOT_Switch (Rojo) ........................... 25 Figura 18. Implementación del SAR y Control. ........................................................................................... 26 Figura 19. Implementación del registro de salida de carga paralela. ........................................................... 28 Figura 20. Convertidor completo con componentes ideales. ....................................................................... 29 Figura 21. Resultados de simulación para Vin=10mV................................................................................. 30 Figura 22. Resultados de simulación para Vin=1.25 V ................................................................................ 30 Figura 23. Resultados de simulación para Vin=2.5 V .................................................................................. 31 Figura 24. Diagrama de bloques de un comparador. [3] .............................................................................. 31 Figura 25. Etapa de preamplificación del comparador. [3] .......................................................................... 32 Figura 26. Circuito de decisión del comparador. [3] .................................................................................... 32 Figura 27. Etapa de salida del comparador. [3] ............................................................................................ 32 Figura 28. Implementación del Comparador ................................................................................................ 33 Figura 29. Formas de onda del comparador. ................................................................................................ 34 Figura 30. Compuertas y tamaños de las celdas digitales. ........................................................................... 38 Figura 31. Señales de control y de salida de Bot_Switch ............................................................................ 39 Figura 32.Circuito esquemático de un Flip-Flop Master-Slave con Set y Reset .......................................... 39 Figura 33. Circuito esquemático del SAR y control. ................................................................................... 40 Figura 34. Señales de salida de la máquina de control. ................................................................................ 40 Figura 35. Valor guardado en cada Flip-Flop del SAR, dependiendo de la señal de COMP. ..................... 41 Figura 36. Tiempos de retardo de una inversora [3]. ................................................................................... 42 Figura 37. Grafica IV para hallar la resistencia promedio de un NMOS [3]. .............................................. 42 Figura 38. Compuerta inversora y oscilador en anillo. ................................................................................ 43 Figura 39. Salida del oscilador en anillo con f=713 kHz y ................................................... 44

Figura 40. Oscilador en anillo con divisor de frecuencia. ............................................................................ 44 Figura 41. Señales de salida del oscilador en anillo y del divisor de frecuencia.......................................... 45 Figura 42. Esquemático del registro de salida DataOut. .............................................................................. 46

8

Figura 43. Señales de salida del SAR y registro de salida de DataOut. ....................................................... 46 Figura 44. Diagrama en bloques del sistema completo. ............................................................................... 47 Figura 45. Señales de salida de simulación analógica del convertidor para una entrada rampa de 0 a 2.5 V

en pasos de 10 mV ....................................................................................................................................... 48 Figura 46. Retardos agregados en el SAR .................................................................................................... 48 Figura 47. Retardos agregados en el Oscilador de anillo. ............................................................................ 49 Figura 48. Resultados de simulación para una entrada rampa de 0 a 2.5 V en pasos de 1 LSB. ................. 49 Figura 49. Salida del convertidor para una entrada sinusoidal de 10 Hz, y amplitud 1.25 V

...................................................................................................................................................................... 50 Figura 50. Voltaje de entrada, salida y error para una entrada sinusoidal de 10 Hz, y

amplitud 1.25 V ............................................................................................................................................ 50 Figura 51. Detalle del pico positivo de la señal de entrada, salida y error del convertidor. ......................... 51

Figura 52. DNL e INL del convertidor para una entrada sinusoidal de 10 Hz, y amplitud

1.25 V ........................................................................................................................................................... 51 Figura 53. Parámetros de desempeño obtenidos con el ADC Toolbox. ....................................................... 52 Figura 54. Layout de la compuerta inversora con carga capacitiva del oscilador en anillo. ........................ 53 Figura 55. Layout del Oscilador en anillo .................................................................................................... 53 Figura 56. Layout del Flip-Flop tipo Data con Set y Reset DFRRSX1 de la librería digital de XFAB....... 54 Figura 57. Layout del Oscilador completo. .................................................................................................. 54 Figura 58. Layout del comparador ............................................................................................................... 55 Figura 59. Layout del bloque Top_Switch. .................................................................................................. 56 Figura 60. Layout del Bot_Switch. .............................................................................................................. 56 Figura 61. Layout de arreglo de condensadores binarios usando (a) condensadores sencillos (b)

condensadores unitarios para minimizar el efecto de undercutting (c) centroide común para minimizar los

gradientes del óxido. [3] ............................................................................................................................... 57 Figura 62. Layout de la red de condensadores. ............................................................................................ 58 Figura 63. Layout del SAR y Control. ......................................................................................................... 59 Figura 64. Layout del registro de salida DataOut. ....................................................................................... 59 Figura 65. Layout del sistema completo. ..................................................................................................... 60 Figura 66. Floorplan del circuito completo. ................................................................................................. 60 Figura 67. Resultados de simulación del bloque CLK con componentes parásitos. .................................... 61 Figura 68. Resultados de simulación del comparador con componentes parásitos ...................................... 62 Figura 69. ENOB para el convertidor pre-layout y post-layout. Izquierda escala logarítmica, derecha

escala lineal. ................................................................................................................................................. 66 Figura 70 SNR para el convertidor pre-layout y post-layout. Izquierda escala logarítmica, derecha escala

lineal ............................................................................................................................................................. 67

9

LISTA DE TABLAS

Tabla 1. Especificaciones del diseño ............................................................................................................ 19 Tabla 2. Funcionamiento BOT_Switch con las señales de control. ............................................................. 23 Tabla 3. Parámetros del comparador ............................................................................................................ 34 Tabla 4. Resistencia de encendido del NMOS. ............................................................................................ 34 Tabla 5. Valores de capacitancia de los condensadores del DAC. ............................................................... 37 Tabla 6. Señales de control y salida del switch. ........................................................................................... 38 Tabla 7. Resumen de los parámetros del oscilador. ..................................................................................... 45 Tabla 8. Reporte de tiempos de simulación entre el equipo empleado y el servidor de la universidad. ...... 47 Tabla 9. Tiempos de simulación y mejoras entre equipos y tipos de simulación......................................... 49 Tabla 10. Resultados obtenidos del convertidor pre-layout. ........................................................................ 52 Tabla 11. Valores obtenidos en el bloque CLK con componentes parásitos ............................................... 62 Tabla 12. Parámetros obtenidos en el comparador con componentes parásitos. .......................................... 62 Tabla 13. Resultados obtenidos del convertidor Post-Layout. ..................................................................... 63 Tabla 14. Variación de los parámetros de desempeño para el comparador pre-layout y post-layout. ......... 64 Tabla 15. Comparación de resultados estáticos del convertidor con una frecuencia de muestreo de 1 MHz.

...................................................................................................................................................................... 65 Tabla 16. Comparación de resultados dinámicos del convertidor con una frecuencia de muestreo de 1

MHz.............................................................................................................................................................. 65 Tabla 17. Variación de los parámetros del oscilador pre-layout y post-layout. ........................................... 65 Tabla 18. Resultados estáticos del convertidor pre-layout y post-layout ..................................................... 66 Tabla 19. Resultados dinámicos del convertidor pre-layout y post-layout .................................................. 66 Tabla 20. Comparación entre los tiempos de simulación de las plataformas de cómputo utilizadas. .......... 68

10

INTRODUCCIÓN

La creciente necesidad en la industria de poder obtener mediciones de variables analógicas como la

temperatura, presión, distancia, etcétera para luego procesar estos datos mediante elementos digitales

como microprocesadores o FPGAs ha hecho que los requerimientos de conversión de datos analógicos

a datos digitales sean cada vez más rápidas y precisas. Gracias a las tecnologías actuales en el campo

de la microelectrónica, el diseño de convertidores analógicos-digitales ha permitiendo alcanzar

velocidades en el orden de 10 Ms/ps y precisiones de más de 10 bits [1] necesarias para los distintos

tipos de aplicación. Se muestra como caso de estudio en este trabajo de grado el diseño e

implementación de un convertidor analógico-digital que pueda ser usado en aplicaciones de baja

frecuencia.

El primer capítulo de este trabajo pretende empapar al lector de los conceptos básicos de

convertidores, así como sus figuras de mérito y errores. Una vez explicados estos conceptos, el

capítulo 2 explica el funcionamiento de una arquitectura en particular que utiliza un SAR (Registro de

aproximaciones sucesivas) para realizar el proceso de conversión. Este capítulo describe

detalladamente el funcionamiento general de la arquitectura SAR así como el funcionamiento interno

de cada sub-bloque y algunas formas de implementaciones propuestas por diferentes autores.

Los capítulos 3 y 4 describen las especificaciones para el diseño del convertidor así como la solución

propuesta para la implementación de este. Para verificar que la arquitectura de la solución planteada

funcionara, el capítulo 5 describe la implementación y simulación de alto nivel del convertidor con

elementos ideales (compuertas, condensadores e interruptores ideales) y termina mostrando el

funcionamiento esperado del convertidor con dichos elementos.

El capítulo 6 se divide en dos partes, la primera muestra la implementación a nivel de transistores de

cada bloque de la arquitectura y se realiza la simulación individual de cada bloque para verificar que

su funcionamiento sea acorde con las especificaciones del sistema completo. Una vez se tienen los

resultados necesarios de cada bloque, estos se unen para poder realizar la simulación del sistema

completo a nivel de esquemático. La segunda parte de este capítulo muestra la implementación a nivel

de layout de cada bloque del convertidor y la simulación de cada bloque analógico con la presencia de

las componentes parásitas extraídas en cada layout. Una vez se tienen los layouts de los bloques

individuales estos se unen para terminar el layout del sistema completo y se simula, reportando luego

los resultados tanto de simulación analógica como de señal mixta con elementos parásitos del sistema

completo.

Con los resultados obtenidos en los capítulos 6 y 7, se presenta en el capítulo 8 el análisis de estos y se

muestran las diferencias entre el circuito esquemático y la implementación real del circuito en VLSI

(Very Large Scale Integration) y cómo las componentes parásitas de los elementos afectan el

desempeño del convertidor. Este capítulo consigna también la mejora en tiempos de simulación al

utilizar 2 diferentes plataformas de cómputo para ilustrar el desempeño que se puede obtener en la

reducción de los tiempos de simulación cuando los circuitos resultan ser complejos. Con todo lo

anterior se hace una “mirada hacia atrás” del trabajo descrito atrás y se consignan las conclusiones

extraídas al finalizar el proyecto.

Para realizar este proyecto se utilizaron las herramientas de Diseño Microelectrónico de la Suite de

Synopsys® y una librería de uso comercial adquirida recientemente gracias a un acuerdo entre la

universidad Javeriana y el fabricante de circuitos integrados XFAB. Debido al uso de esta nueva

librería se entregan documentación y video tutoriales que muestran la forma de instalación, manejo,

simulaciones etcétera de las diferentes herramientas y la forma de utilización a lo largo del desarrollo

del proyecto capitalizando así la experiencia adquirida para el desarrollo de futuros nuevos proyectos

11

Debido a la complejidad del proyecto y a la ventaja de estar en contacto con Intel™, se logró obtener

prestada una máquina comercial de última generación Core i7 cuyo precio está alrededor de los 1000

USD, para realizar sobre ella las simulaciones y poder comparar el desempeño entre la plataforma que

tiene la universidad y el equipo Core i7 que se utilizó en ciertas simulaciones. Se agradece

profundamente el préstamo de este equipo a Intel™, ya que sin este gran parte de este trabajo no se

hubiese podido realizar.

12

I. MARCO TEÓRICO

En este capítulo se describen brevemente los conceptos básicos de convertidores de datos, las figuras

de mérito, los errores y el funcionamiento general de un convertidor analógico-digital por medio de

aproximaciones sucesivas, así como la descripción de los bloques que conforman este convertidor.

1. CONCEPTOS BÁSICOS DE CONVERTIDORES ANALÓGICOS-DIGITALES

Los convertidores de datos analógicos-digitales son circuitos cuya función principal es la de convertir

señales analógicas, que son características de la mayoría de fenómenos en el mundo real, en

representaciones digitales para después ser utilizadas en procesamiento de información, computo,

transmisión de datos y sistemas de control. Se muestra en la Figura 1 un diagrama básico de entradas

y salidas de un ADC.

Figura 1. Diagrama básico de entradas y salidas de un ADC [3]

Para evaluar el desempeño de un ADC se han establecido parámetros, errores y especificaciones las

cuales se explicarán a continuación.

1.1. Parámetros básicos.

La información en forma digital se representa normalmente por niveles de voltaje ajustados

arbitrariamente referidos a tierra (GND). Estos niveles pueden tomar 2 valores, 0 o 1 y cada nivel

representa un voltaje o corriente definidos en el circuito. Las palabras (WORDS) son grupos de

niveles que representan números digitales, estos niveles pueden aparecer en serie o en paralelo. Una

agrupación única de niveles digitales se denomina número o código y es asignada a cada nivel de

entrada analógico que este cuantizado. A continuación se muestra un código digital típico:

El valor es llamado MSB (Most Significant Bit) mientras que el valor es llamado LSB (Least

Significant Bit).

El número de bits de un convertidor se denota con la letra N y el número máximo de combinaciones

que puede tener una palabra (Numero de niveles de cuantización) es . Mediante estos valores se

puede encontrar la salida de voltaje máxima que se puede generar a la salida del convertidor, conocido

como el Voltaje de escala completa VFS (Full Scale Voltage):

Siendo VREF un valor de voltaje constante, el valor de 1 LSB es definido como:

13

1.2. Error de Cuantización ( )

Como la entrada analógica es una cantidad de con un número infinio de valores posibles (resolución

infinita) y la salida del convertidor es un valor discreto, se producirá un error debido a la cuantización.

Este error es conocido como error de cuantización Qe que se define como la diferencia entre el valor

actual de la entrada analógica y el valor del escalón de salida del convertidor.

Donde el voltaje de salida del escalón se puede calcular como:

Siendo D el valor del código de salida (0 o 1), N el número de bits del convertidor y el voltaje de

referencia. Se muestra en la Figura 2 la función de transferencia de un ADC ideal de 3 bits y el error

de cuantización asociado a este.

Figura 2. (a) Función de transferencia de un ADC ideal de 3 bits. (b) Error de cuantización centrado en 0. [3]

Idealmente la magnitud de no será mayor que 1 LSB y no será menor que 0. Si el error de

cuantización se centra en 0, como máximo podrá valer 1/2 LSB.

1.3. No linealidad Diferencial (DNL Differential Nonlinearity)

Se define como la máxima desviación de cambio de 1 LSB en la función de transferencia del

convertidor a su valor ideal de 1 LSB. El error de DNL es el valor máximo de DNL a lo largo de todas

las entradas y salidas del convertidor. La Figura 3 muestra un ejemplo de DNL para un ADC de 3 bits.

14

Figura 3. DNL para un ADC de 3 bits. [3]

1.4. No linealidad Integral (ILN Integral Nonlinearity)

Se define como la máxima desviación de la función de transferencia del convertidor y la línea recta

que pasa por los puntos que corresponden al primer y último código del convertidor. La Figura 4

muestra un ejemplo de INL para un ADC de 3 bits.

Figura 4. INL para un ADC de 3 bits. [3]

1.5. Relación Señal a Ruido (SNR Signal to Noise Ratio)

La relación Señal a ruido en un ADC representa el mayor valor RMS que puede tener la señal de

entrada dividido entre el valor RMS del ruido del convertidor. Se expresa generalmente en dB y se

calcula como:

(

)

En [3] se demuestra la relación entre el SNR de un ADC y la resolución (número de bits) del

convertidor para el caso ideal es:

15

2. DESCRIPCIÓN GENERAL DE UN CONVERTIDOR ANALÓGICO DIGITAL POR

APROXIMACIONES SUCESIVAS

En este capítulo se describe la arquitectura general y el funcionamiento de un convertidor ADC por

medio de aproximaciones sucesivas (SAR Succesive Aproximation Register).

2.1 Arquitectura general

De las diferentes arquitecturas de ADCs, la arquitectura SAR permite realizar un diseño de bajo

consumo con una velocidad y precisión moderadas y es por esto que es ideal para equipos portátiles

con baterías como fuente de alimentación, sistemas de adquisición de datos, mediciones en la

industria, sistemas de control, biomedicina y demás [4]. La Figura 5 muestra la arquitectura general de

un convertidor por aproximaciones sucesivas, donde Vin es la señal analógica y Vref un voltaje de

referencia constante.

Figura 5. Arquitectura general de un ADC SAR

A continuación se describe el algoritmo de conversión de un SAR ADC de 8 bits.

Sea B la palabra digital de 8 bits que controla los tiempos del SAR y sea D la palabra digital de 8 bits

que representa digitalmente la señal analógica muestreada.

Se aplica un 1 en la entrada del registro de corrimiento. Por cada bit convertido, el uno es desplazado

a la derecha 1 posición. y hasta

El MSB del SAR ( ) se inicializa en 1 mientras que los demás bits, hasta son puestos a 0.

Como la salida del SAR controla el DAC, y la salida del SAR es 10000000 la salida del DAC estará

en

Ahora se compara con . Si

es mayor que la salida del comparador es 0 y este lleva

a 0. Si

es menor que la salida del comparador es 1 y permanece en 1. es el MSB del

código digital de salida final.

16

El 1 aplicado al registro de corrimiento es desplazado una posición de forma que mientras que

los bits restantes son iguales a 0.

es puesto en 1, a son puestos a 0 y mantiene el valor de la conversión previa. La salida

del DAC será entonces

(si ) o

(si )

Ahora es comparado con la salida del DAC. Si la salida del DAC es mayor que entonces el

comparador pone si la salida del DAC es menor que entonces permanece en 1.

Este proceso se repite hasta que la salida del DAC converge al valor de en la resolución del

convertidor.

2.2 Registro de corrimiento y SAR (Lógica SAR)

Este bloque se encarga de controlar el proceso de conversión del ADC así como la generación de las

diferentes señales que encienten o apagan los interruptores de las placas superior e inferior de los

condensadores o permiten la carga de datos en el registro de salida.

En [4] se muestran varias implementaciones de la lógica del SAR. La lógica SAR tipo I se muestra en

la Figura 6. Esta es una de las implementaciones más usadas debido a que el diseño de la lógica es

directo y sencillo. Consiste en un contador de anillo y un registro. Si el número de bits de resolución

del convertidor es N, este tipo de lógica requiere de 2N flip-flops para realizar la conversión, es por

esto que [5] propone utilizar una aproximación sucesiva no-redundante que permite reducir el número

de flip-flops a N mediante el uso de lógica combinatoria extra. Figura 7

Figura 6. Logica SAR Tipo I [4]

Este circuito permite ahorrar espacio al reducir el número de flip-flops, pero necesita multiplexores y

compuertas OR extra para realizar la conversión. Además de esto la señal de inicialización del SAR

Tipo 2 es externa y depende de la sincronización de esta con el reloj del circuito. La Figura 8 muestra

una implementación de este tipo de lógica.

17

Figura 7. Logica SAR Tipo 2 [4]

2.3 Comparador

Un comparador (Figura 8) puede ser visto como un circuito que toma decisiones. Si la terminal no

inversora (+) está a un potencial mayor ve la terminal inversora (-) la salida del comparador es un 1

lógico. Si por el contrario el potencial en la terminal inversora es mayor que el potencial en la entrada

no inversora, la salida del comparador será un valor lógico 0.

Figura 8. Símbolo esquemático de un comparador. [3]

Una forma sencilla de implementar un comparador es utilizar un amplificador operacional en malla

abierta, sin embargo cuando la aplicación demanda bajo consumo de potencia y alta velocidad esta

solución no es muy útil. La estructura básica de un comparador requiere que se preste atención al

retardo de propagación1 y la sensibilidad

2 del comparador. La Figura 9 muestra una implementación

de un comparador.

Figura 9. Esquemático de un comparador dinámico básico. [2]

1 Retardo de propagación: longitud de tiempo que inicia cuando la entrada de una compuerta lógica es estable

y valida, hasta que la salida de esta compuerta es estable y valida. 2 Sensibilidad: en un comparador la sensibilidad es el mínimo valor de voltaje diferencial que produce una

salida valida.

18

2.4 DAC (Convertidor Digital Analógico)

En la mayoría de arquitecturas de convertidores ADC se encuentra un bloque DAC que se encarga de

convertir la señal digital en su representación analógica cuantizada, para poder ser restada o

comparada dependiendo del tipo de arquitectura. En el caso de un SAR ADC el DAC funciona

convirtiendo la palabra temporal de conversión en un voltaje o corriente para que esta pueda ser

comparada con el voltaje de entrada y se decida cada uno de los bits restantes.

Una implementación básica de un DAC se muestra en la Figura 10a [3], sin embargo este tipo de

implementaciones no es útil cuando el consumo de potencia es una limitante de diseño. Por esto se

pueden implementar otro tipo de DAC con componentes pasivos como resistores (Figura 10b).

Figura 10a. DAC implementado con fuentes de corriente con pesos binarios. [3] b) DAC Implementado con Resistencias.[3]

2.5 Circuito de Sample and Hold

Este circuito se encarga de tomar el valor de la señal de entrada y mantener su valor durante el tiempo

que el ADC realiza el proceso de conversión. Tanto la velocidad como la precisión del convertidor

dependen principalmente de este bloque. La Figura 11 muestra una implementación básica de este

circuito utilizando componentes activos y pasivos.

Figura 11. Implementación básica de un circuito de Sample and Hold.

Debido a que la topología de diseño escogida permite incluir el circuito de sample and hold en el

DAC, se omitirá el funcionamiento y características en este bloque en el trabajo.

2.6 Generación de reloj

Este circuito se encarga de generar una señal cuadrada periódica con ciclo útil del 50% que varía entre

los niveles lógicos de 0 y 1. Existen varias formas de implementar este bloque, siendo los osciladores

con cristal y PLLs los más usados en la industria.

19

II. ESPECIFICACIONES

En este capítulo se describen las especificaciones propuestas para el circuito y la solución propuesta

para la implementación del convertidor.

3. ESPECIFICACIONES Y TECNOLOGÍA UTILIZADA.

El convertidor que se debe diseñar debe cumplir con las especificaciones mostradas en la Tabla 1:

Especificación Valor propuesto

Tecnología CMOS 0.6 um

Fuente de Voltaje (Vcc) 5 V

Tasa de muestreo (Fs) 100 kS/s

Relación señal-ruido (SNR) Mayor a 40 dB

Número efectivo de bits (ENOB) 7

No-linealidad diferencial (DNL) Menor a 1 LSB

No-linealidad integral (INL) Menor a 1 LSB

Rango de voltaje de entrada 50% de Vcc Tabla 1. Especificaciones del diseño

Para la implementación del circuito se utilizó una nueva librería comercial de diseño diferente a la que

se venía manejando en la herramienta de la universidad que es solo demostrativa para tecnología de

90nm. Se usaron las librerías digitales y el PDK suministrado por el fabricante de circuitos integrados

XFAB para una tecnología de 0.6 um que requiere fuentes de polarización de 5 V ya que es un

proceso bastante grande comparado al de 90nm cuya fuente es de solo 1.2 V. El usar tecnología

comercial tiene la ventaja de ser una librería completa para todo el flujo de diseño y que además

permite llevar a fabricación el prototipo del chip.

4. SOLUCIÓN PROPUESTA – DIAGRAMA EN BLOQUES

Para implementar el convertidor se propone el uso de la arquitectura general propuesta por [3] con la

modificación de incluir el circuito de “sample and hold” en el DAC interno del convertidor. El

sistema completo tiene como entradas el voltaje analógico que se desea convertir Vin, el voltaje de

referencia Vref, la señal de inicio y la fuente de polarización VDD. A continuación se muestra el

diagrama en bloques de la solución propuesta:

Figura 12. Diagrama en bloques de la solución propuesta.

El sistema se divide en 5 bloques mostrados en la Figura 12 de los cuales 3 son analógicos

(Generación de reloj, DAC y el comparador) y 2 digitales (DataOut, SAR y control).

20

III. DESARROLLOS

En este capítulo se describe la implementación de cada bloque del convertidor, su implementación y

simulación con elementos ideales.

5. SIMULACIÓN DE ALTO NIVEL

Para iniciar el flujo de diseño de implementaron los bloques de la arquitectura del convertidor con

modelos de componentes ideales en la herramienta Saber® qué hace parte de la suite de diseño de

Synopsys ®. Se describe a continuación la implementación de cada bloque y su funcionamiento.

Debido a que en todos los bloques se implementaron elementos ideales, se omitirán las simulaciones

de cada bloque individual y en el numeral 5.6 se mostrará la simulación del circuito completo.

5.1 Comparador

Para el comparador se usó el modelo ideal de la librería de componentes de Saber ®

5.2 DAC

Con el objeto de disminuir el consumo del circuito, se escogió implementar un DAC con

condensadores y redistribución de carga, ya que además de reducir el consumo de potencia, el banco

de condensadores funciona como circuito de “sample and hold” lo que simplifica el diseño e

implementación del circuito.

Este convertidor muestrea la señal de entrada y realiza la búsqueda binaria basado en la cantidad de

carga almacenada en cada condensador. La Figura 13 muestra la arquitectura del DAC para N-Bits.

Figura 13. DAC por redistribución de carga para N-Bits [3]

El proceso de conversión inicia descargando los condensadores por medio del interruptor de Reset.

Debido a la conexión del comparador al DAC al cerrar el interruptor de Reset el circuito está

realizando cancelación automática de offset. Esto se debe a que en este momento el comparador esta

realimentado unitariamente y el voltaje en el terminal no inversor es igual al voltaje en el terminal

inversor del comparador. Entonces el voltaje en la placa superior de los condensadores es igual al

voltaje de offset ( ) del comparador.

Después de la fase de descarga del arreglo de condensadores, se conectan las placas inferiores de estos

a y se muestrea el voltaje en el arreglo (Figura 14 a). Ahora se abre el interruptor de Reset y se

conectan las placas inferiores de los condensadores a tierra de forma que el voltaje que aparece en la

placa superior es igual a (Figura 14 b).

El proceso continúa conectando la placa inferior del condensador que representa el MSB a

(Figura 14 c). Si la salida del comparador es baja, la placa inferior del condensador MSB es conectada

21

nuevamente a tierra. Si la salida del comparador es entonces el voltaje en la placa superior del

arreglo de condensadores será:

El siguiente condensador se prueba de la misma manera (Figura 14 d) para producir un voltaje en la

placa superior del arreglo igual a

El proceso continua hasta que el voltaje en la placa superior del arreglo converge a o:

Figura 14. El proceso de redistribución de carga: (a) Muestrear la entrada, cancelación de offset, (b) Voltaje en la

placa superior de los condensadores después del muestreo, (c) Circuito equivalente mientras se convierte el MSB, (d)

Circuito equivalente mientras se convierte el siguiente bit con el MSB igual a 1. [3]

Para reducir el tamaño de los condensadores más grandes (MSB, MSB-1) de este arreglo de

capacitores se realizará un arreglo “partido” donde se utiliza un condensador de atenuación que

permite realizar 2 arreglos de condensadores: el arreglo MSB y el arreglo LSB (Figura 15).

Figura 15. Arreglo “partido” de condensadores para un DAC de 6 Bits. [3]

22

El funcionamiento del circuito con el arreglo partido y condensador de atenuación es el siguiente:

Considérese el DAC de la Figura 15, y supóngase que la salida del SAR es la palabra digital

Para este valor, los voltajes en las terminales inferiores de los condensadores serán Vref para D7 y

GND para los demás valores. La Figura 16 muestra el circuito equivalente del DAC para esa entrada

en particular.

Figura 16. Circuito equivalente del DAC para una entrada de 100000

El voltaje de salida del nodo Vo será entonces:

Lo que corresponde a la mitad del voltaje de referencia del DAC de 6 bits. Si ahora la salida del SAR

es la palabra digital

Entonces el circuito equivalente será ahora el de la Figura 17

Figura 17. Circuito equivalente del DAC para una entrada de 0000001

Para este circuito el voltaje de salida Vo será entonces

Donde es la división de voltaje entre el condensador C aasociado a D0 y el resto del circuito:

Vo

Vo

23

Ahora reemplazando (b) en (a) se encuentra que el voltaje a la salida es de

Lo que corresponde al peso de 1 LSB en el DAC de 6 bits.

Para controlar el voltaje en las placas superior en inferior del banco de condensadores se

implementaron 2 tipos de interruptores, el primero para controlar el voltaje de la placa superior

(TOP_Switch_n) y el segundo para controlar el voltaje en la placa inferior de cada condensador

(BOT_Switch_n, Figura 18). El par de interruptores superiores se activan con la señal de SAMPLE,

mientras que los de la parte inferior son funciones de dos señales de control, SAMPLE y

ConversionResult_n. dependiendo de estas señales, estos interruptores deben conectar esta terminal a

3 potenciales diferentes, GND, Vin y Vref:

SAMPLE ConversionResult_n BOT_Switch

1 X Vin

0 1 Vref

0 0 GND Tabla 2. Funcionamiento BOT_Switch con las señales de control.

De la Tabla 2 se obtienen las funciones lógicas de cada interruptor así:

Vin = SAMPLE

Vref = ¬SAMPLE AND ConversionResult_n

GND = ¬SAMPLE AND ¬ConversionResult_n = ¬(SAMPLE OR ConversionResult_n)

La Figura 19 muestra la implementación en Saber® del DAC. Debido a que los elementos son ideales,

se podía escoger un valor arbitrario de capacitancia unitaria C pero manteniendo los pesos binarios de

los demás condensadores, en este caso se utilizó C = 1pF. La Figura 18 muestra la implementación de

los interruptores que controlan el voltaje en la placa inferior de los condensadores. El condensador de

atenuación puede ser calculado como:

24

Figura 18. Implementación de BOT_Switch.

25

Figura 19. DAC con redistribución de carga. TOP_Switch (Azul), BOT_Switch (Rojo)

26

5.3 SAR y Control

Para la implementación de este bloque se utilizó la lógica de control propuesta por [9] donde se utiliza

un registro de corrimiento de 8 bits mostrado en la parte superior de la Figura 20 (rojo) que activa

secuencialmente el SAR también de 8 bits mostrado en la parte inferior (verde) para almacenar el

valor resultante de la comparación.

Figura 20. Implementación del SAR y Control.

Este control se modificó para permitir el funcionamiento continuo del contador (sin intervención

externa) y para permitir borrar el registro SAR en cada proceso de conversión con las señales de los

flip-flops de control (azul).

A continuación se muestra el pseudo-codigo de la máquina de control con el estado de todas las

señales en cada paso del proceso de conversión. El proceso consta de 4 partes, Sample, Hold,

Conversion y Storage:

1. Sample: TOP_Switch_0=Vref, TOP_Switch_1=Vref, BOT_Switch_0 hasta BOT_Switch_7 =

Vin

2. Hold: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta BOT_Switch_7 =

GND

3. Conversion_paso0: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta

BOT_Switch_6= GND, BOT_Switch_7 = Vref

4. Conversion_paso1: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta

BOT_Switch_5= GND, BOT_Switch_6 = Vref, BOT_Switch_7= ConversionResult7

5. Conversion_paso2: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta

BOT_Switch_4= GND, BOT_Switch_5 = Vref, BOT_Switch_6= ConversionResult6,

BOT_Switch_7= ConversionResult7

6. Conversion_paso3: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta

BOT_Switch_3= GND, BOT_Switch_4 = Vref, BOT_Switch_5= ConversionResult5,

BOT_Switch_6= ConversionResult6, BOT_Switch_7= ConversionResult7

7. Conversion_paso4: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta

BOT_Switch_2= GND, BOT_Switch_3 = Vref, BOT_Switch_4= ConversionResult4,

BOT_Switch_5= ConversionResult5, BOT_Switch_6= ConversionResult6, BOT_Switch_7=

ConversionResult7

27

8. Conversion_paso5: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 hasta

BOT_Switch_1= GND, BOT_Switch_2 = Vref, BOT_Switch_3= ConversionResult3,

BOT_Switch_4= ConversionResult4, BOT_Switch_5= ConversionResult5, BOT_Switch_6=

ConversionResult6, BOT_Switch_7= ConversionResult7

9. Conversion_paso6: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 = GND

BOT_Switch_1 = Vref , BOT_Switch_2 = ConversionResult2, BOT_Switch_3= ConversionResult3,

BOT_Switch_4= ConversionResult4, BOT_Switch_5= ConversionResult5, BOT_Switch_6=

ConversionResult6, BOT_Switch_7= ConversionResult7

10. Conversion_paso7: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 = Vref

BOT_Switch_1 = ConversionResult1, BOT_Switch_2 = ConversionResult2, BOT_Switch_3=

ConversionResult3, BOT_Switch_4= ConversionResult4, BOT_Switch_5= ConversionResult5,

BOT_Switch_6= ConversionResult6, BOT_Switch_7= ConversionResult7

11. Storage: TOP_Switch_0=OPEN, TOP_Switch_1=OPEN, BOT_Switch_0 = ConversionResult0

BOT_Switch_1 = ConversionResult1, BOT_Switch_2 = ConversionResult2, BOT_Switch_3=

ConversionResult3, BOT_Switch_4= ConversionResult4, BOT_Switch_5= ConversionResult5,

BOT_Switch_6= ConversionResult6, BOT_Switch_7= ConversionResult7 Store = 1

ConversionResult_n (VoutDAC)

Si (VoutDAC>Vref) => ConversionResult_n = 0

Sino => ConversionResult_n = 1

5.4 Generación de Reloj.

Debido a la escogencia de este tipo de control, el convertidor tendrá una latencia3 de 11 ciclos de reloj

y una frecuencia de muestreo de 100 kHz lo cual permite calcular la frecuencia de reloj mínima para

garantizar el correcto funcionamiento del circuito:

Lo que implica un periodo de reloj de . Se utilizó para esta simulación un bloque

de CLK de la librería digital de la herramienta.

5.5 DataOut

Este bloque se encarga de almacenar el resultado digital de la conversión haciendo uso de un registro

de carga paralela de 8 bits. La Figura 21 muestra la implementación de este bloque en la herramienta

Saber ®.

3 Latencia: en convertidores de datos la latencia es el tiempo que toma realizar una conversión desde que se

muestrea la señal de entrada, hasta que el valor de salida digital es válido y corresponde al valor muestreado.

28

Figura 21. Implementación del registro de salida de carga paralela.

5.6 Resultados de simulación de alto nivel

La Figura 22 muestra la implementación del convertidor completo. Para verificar el funcionamiento se

ajustan valores de Vin iguales a 1 LSB,

y . En todas las simulaciones y Vref =

2.5 V. Para este convertidor el peso de 1 LSB es :

La Figura 23 muestra la salida del convertidor para una entrada de 10 mV. Como este valor es mayor

que el peso de 1 LSB, la salida es 00000001, mostrando el correcto funcionamiento del circuito.

Para una entrada de 1.25 V que corresponde a

, la salida es 011111111 que corresponde a un valor

de 1.2502 V. En la última prueba se ajustó la entrada a 2.5 V que corresponde al voltaje máximo de

entrada del convertidor. Para este valor la salida del convertidor es el código 11111111 que

corresponde a un valor analógico de 2.5002 V. En cada imagen de simulación se muestra la gráfica de

salida del convertidor, así como la forma de onda del DAC interno mostrando la conmutación de los

condensadores con cada paso de conversión. Con estas pruebas se demuestra el correcto

funcionamiento de la arquitectura en una simulación con elementos ideales.

29

Figura 22. Convertidor completo con componentes ideales.

30

Para 1 LSB < Vin < 2 LSB (Vin = 10 mV)

Figura 23. Resultados de simulación para Vin=10mV

Para Vin = 1.25 V

Figura 24. Resultados de simulación para Vin=1.25 V

31

Para Vin = 2.5 V

Figura 25. Resultados de simulación para Vin=2.5 V

6. DISEÑO DEL CONVERTIDOR EN CMOS DE 0.6 um.

En este capítulo se describirá la implementación a nivel de esquemático (transistores) de cada bloque

del convertidor. Se mostrarán también los resultados de simulación de cada bloque confirmando los

resultados teóricos obtenidos en el capítulo 5.

6.1 Comparador

Se usó el diseño de comparador propuesto por [3] (Figura 26).

Figura 26. Diagrama de bloques de un comparador. [3]

En la etapa de preamplificación los transistores M1 y M2 son la entrada de un amplificador

diferencial con cargas conectadas en diodo. La salida de estos transistores por los drains respectivos,

alimentan M3 y M4 quienes se encargan de convertir las fluctuaciones del voltaje de entrada en

corrientes para alimentar el circuito de decisión (Figura 27).

32

Figura 27. Etapa de preamplificación del comparador. [3]

El circuito de decisión se encarga de discriminar señales en niveles de mV. Se utilizó el circuito de la

Figura 28, donde las compuertas de los Mosfet conectados en cruz forman un lazo de realimentación

positiva donde el valor de salida es función de la diferencia de corrientes de entrada e .

Figura 28. Circuito de decisión del comparador. [3]

El buffer de salida es un amplificador diferencial auto polarizado en cascada con una etapa inversora

para darle más ganancia al circuito de forma tal que entregue los valores lógicos de 0 o 1 (Figura 29).

Figura 29. Etapa de salida del comparador. [3]

33

La implementación completa del circuito comparador se muestra en la Figura 30.

Figura 30. Implementación del Comparador

Para la simulación del comparador, se ajustó la entrada no inversora a un voltaje de Vref,=2.5 V y en la entrada inversora se realizó

la entrada inversora se realizó un barrido desde 2.499 V a 2.501 V que corresponde a un valor 10 veces menor que 1 LSB que es el

veces menor que 1 LSB que es el valor más pequeño que el comparador debe ser capaz de diferenciar. La

La

Figura 31 muestra las señales en la terminal inversora (v-), no inversora (v+) y la salida del

comparador (out). Cuando la señal de la terminal inversora (amarilla) pasa de 2.499 V a 2.501 V

(número 1) la salida del comparador cambia de 1 (5 V) a 0 (0 V). Así mismo cuando la señal pasa de

2.501 V a 2.499 V (número 2) la señal de salida cambia de 0 (0 V) a 1 (5 V). Cabe resaltar que la

frecuencia a la que está cambiando la señal en el terminal inversor es de 1.1 MHz (T=454 ns),

mostrando que el comprador es lo suficientemente rápido para tomar una decisión en menos de medio

ciclo de reloj.

Etapa Salida

Preamplificación

Circuito de

Decisión

34

Figura 31. Formas de onda del comparador.

En la Tabla 3 se resumen los parámetros obtenidos del comparador a nivel de simulación de

esquemático:

Parámetro Valor

15.4 ns

9.6 ns

14.7 ns

8.86ns

0 < <0.24 V

Mayor a 4.3 V Tabla 3. Parámetros del comparador

6.2 DAC

El diseño del DAC consiste de 2 partes, el banco de condensadores y los interruptores de control.

Debido a que los interruptores se realizan con transistores y estos tienen una resistencia de encendido,

se debía analizar primero como afectaba el tamaño de los interruptores en el encendido de los

condensadores, para esto se encontró la relación entre el tamaño del interruptor y la resistencia de

encendido, para confirmar el valor simulado se calcula el valor teórico de la resistencia de encendido

dada por (15) (esta ecuación solo es válida en la región activa del transistor para pequeños valores de

) donde L es el valor mínimo de la tecnología utilizada, en este caso 0.6 um:

W Ron simulado (kΩ) Ron teórico (kΩ)

0.8 3.14 3.2

1.2 2.57 2.13

1.8 1.76 1.4

2.4 1.3 1.06

3 1.03 854

10 296 310

35

100 29.6 31 Tabla 4. Resistencia de encendido del NMOS.

Con la información de la Tabla 4 podemos encontrar el valor máximo del condensador unitario C0.

Para esto se sabe que el voltaje de salida del DAC debe alcanzar su valor final en menos de medio

ciclo de reloj (

454 nS). Planteando el modelo equivalente del DAC y el interruptor se obtiene

un circuito RC donde R es la resistencia de encendido del interruptor y C es el valor del condensador

del DAC. Para facilitar el diseño de los interruptores se utilizó para este cálculo el peor caso de R y C

del DAC, que es cuando se está convirtiendo el bit más significativo ( ). Se tiene entonces:

Para evitar problemas de velocidad, la capacitancia de entrada del interruptor debe ser suficientemente

pequeña, para esto W debe ser pequeño dejando como valor de :

Resolviendo esta ecuación para se encuentra que el valor máximo es de .

Para hallar el valor mínimo, [10] demuestra que uno de los factores que define la linealidad del

convertidor es el valor de variación de la capacitancia del condensador, y que el tamaño y las

capacitancias parásitas de los interruptores superior e inferior no afectan la linealidad del convertidor.

Esto se debe a que la capacitancia del interruptor inferior esta descargada a GND o se carga por Vref y

nunca absorbe carga de la placa superior del banco de condensadores. Por el otro lado, la placa

superior está conectada a todos los condensadores, al interruptor superior y a la entrada del

comparador que resulta en una gran capacitancia parásita desde esta placa hasta GND. Sin embargo la

naturaleza del proceso de conversión es tal que el voltaje de la placa superior converge a su voltaje

inicial y de esta forma la carga almacenada en las capacitancias parásitas es la misma en el final del

proceso de conversión que al principio en el paso de muestreo [10]. En [3] se demuestra que el

“matching” de las capacitancias en el banco de condensadores afecta directamente la precisión del

convertidor y el factor que determina el ILN y el DNL del convertidor es el valor mínimo del

condensador unitario y la variación máxima de este:

| | ( | | )

| |

El valor | | es la máxima desviación de la capacitancia untaría que hace que el INL sea

máximo de 0.5 LSB, para hallar este valor se iguala la ecuación (18) al valor de 1/2 LSB del

convertidor:

| |

| |

De esta ecuación encontramos el valor de | | :

| |

36

Para el DNL, la expresión que se encontró en función del condensador unitario y la variación

máxima de este es según [3]:

| | | |

El valor | | es la máxima desviación de la capacitancia untaría que hace que el DNL sea

máximo de 0.5 LSB, para hallar este valor se iguala nuevamente la ecuación (21) al valor de 1/2 LSB

del convertidor:

| | | |

De esta ecuación encontramos el valor para | | :

| |

De estas dos expresiones obtenidas para el INL y DNL se debe encontrar el valor mínimo de cuya

variación este dentro de estos límites. De los denominadores de las expresiones de | | y

| | se ve que el denominador es mayor que y por ende el cociente de la

expresión del | | va a ser menor que el del | | . Por esta razón, el parámetro que

limita la elección del condensador unitario es el valor de | | y el valor de puede estar

entonces en el rango:

Para hallar el valor mínimo de se recurrió a la documentación del PDK donde se reporta la

variación de proceso en los condensadores, esta parte se incluye en el Anexo 1. De la documentación

se encuentran que la capacitancia por unidad de área es de 1.87

y que la desviación del valor

del condensador es de

(

)

Para realizar los condensadores, se elige W=L por lo que la expresión anterior se simplifica a:

(

)

Para que el DAC funcione correctamente el valor | | debe ser mayor al valor de 2

desviaciones del valor del condensador (95.45% de la distribución alrededor de la media) es decir:

El valor de es función de la capacitancia por unidad de área y el área del condensador:

37

Reemplazando (29) en (27) obtenemos:

Para el banco de condensadores se utilizó entonces un . La Tabla 5

resume los valores de los condensadores en la red:

Condensador Valor (fF)

760

1520

3040

6080

760

1520

3040

6080

810.474

Tabla 5. Valores de capacitancia de los condensadores del DAC.

Cabe notar que existe otro factor que limita el tamaño mínimo del condensador y se relaciona con

el valor de ruido térmico de cada condensador del arreglo. En el capítulo 8 de [3] se demuestra que el

ruido térmico asociado a la capacitancia del condensador se puede expresar como:

Donde k es la constante de Boltzman, T es la temperatura de operación del circuito en grados Kelvin y

es el valor de capacitancia mínimo para que el valor RMS del ruido térmico no supere los límites

del convertidor.

Para la implementación de la lógica de los interruptores, se realizaron las compuertas de la ¡Error!

No se encuentra el origen de la referencia. en compuertas lógicas estáticas complementarias. Para el

diseño de las compuertas, se utilizaron las compuertas de la librería digital de XFAB, ya que estas

contenían la vista de esquemático, layout y Verilog necesarias para la simulación mixta de la que se

hablará en el capítulo 6.7 en adelante.

Debido a que estas celdas son celdas de producción, estas vienen acompañadas de las esquinas de

proceso donde se incluyen la media típica (tm) el peor caso de cero, (wz) el peor caso de uno (wo), el

peor caso de velocidad (ws) y el peor caso de potencia (wp). Estas esquinas pueden ser usadas en la

simulación para poder observar el comportamiento del diseño en estos casos. Además de esto, el

tamaño de las celdas unitarias (transistores N y P de cada compuerta) está ajustado para poder manejar

38

las cargas de las demás celdas (Flip-Flop, latches) sin limitación de manejo de corriente o

electromigración4.

La Figura 32 muestra el esquemático de las compuertas y los tamaños de los transistores.

Inversora Wp=7 um Wn=4 um Compuerta NOR Wp=14 um Wn=4 um

Compuerta AND Wp=3.5 um Wn=3 um Transmision Gate Wp=3.6 um Wn=1.2 um Figura 32. Compuertas y tamaños de las celdas digitales.

El funcionamiento del interruptor es el siguiente: dependiendo de las combinaciones de las señales de

control DATA y Sample, la salida out del interruptor puede ser Vin, Vref o GND como se resume en

la Tabla 6:

SAMPLE ConversionResult_n BOT_Switch

1 X Vin

0 1 Vref

0 0 GND

Tabla 6. Señales de control y salida del switch.

4 Electromigración: es el transporte de material causado por el movimiento gradual de los iones en un conductor

debido a la trasferencia de momento entre los electrones y los átomos del metal de la difusión.

39

Para probar el funcionamiento de los interruptores se realizó un testbench5 donde las entradas del

interruptor son Vin=1 V, Vref=2.5 V y GND. Las señales de control son DATA y Sample y la salida

es OUT. Las señales de control se ajustaron para comprobar que la salida OUT cumpliera las

ecuaciones de la Tabla 6. En la Figura 33 se pueden observar las 4 combinaciones posibles de las

señales de control y como el interruptor cambia el voltaje de salida de forma correcta.

Figura 33. Señales de control y de salida de Bot_Switch

6.3 SAR y Control

Para implementar el SAR y la lógica de control se utilizaron los Flip-Flops con Set y Reset de la

Liberia digital de XFAB. La Figura 34 muestra le implementación en transistores de estos Flip-Flops.

5 Testbench: es la configuración de pruebas que se realizan sobre los circuitos digitales para verificar el

funcionamiento de estos. Los testbench generalmente conmutan todos los posibles valores de entrada para

verificar los valores correctos a la salida.

40

Figura 34.Circuito esquemático de un Flip-Flop Master-Slave con Set y Reset

Con esta celda se implementó la lógica descrita en el capítulo 5.2 y el circuito esquemático se muestra

en la Figura 35.

Figura 35. Circuito esquemático del SAR y control.

El funcionamiento de este bloque consta de dos partes, la primera es la máquina de control que debe

activar secuencialmente los Flip-Flops del contador de anillo (Paso 1- Paso 11) ya que estas son las

señales que controlan el funcionamiento del ADC y los pasos del proceso de conversión (Sample,

Hold, Conversion, Store).

Para probar el correcto funcionamiento de la parte del control del ADC, se ajustó la entrada COMP a

0 y se realizó una simulación del transitorio de 12 ciclos de reloj cuyos resultados se muestran en la

Figura 36 donde se puede ver que la máquina de control realiza los pasos correctamente como se

describió anteriormente. Nótese cómo cada paso se activa en cada borde de subida del reloj y no hay

pasos repetidos o traslapados.

Master

Slave

SAR

Máquina de control

41

Figura 36. Señales de salida de la máquina de control.

La segunda parte del circuito es el SAR que se encarga de almacenar el valor de conversión de cada

bit (d7-d0) dependiendo del resultado de comparación. Inicialmente el SAR activa el Flip-Flop con el

borde de subida de la señal de reloj, se realiza entonces la comparación y dependiendo del nivel en

que se encuentre la señal COMP, el Flip-Flop activado puede volver a 0 o quedar en 1.

Para probar el funcionamiento del SAR, se ajustó la señal de COMP para que variara entre 0 y 1 en

valores arbitrarios y así ver si el registro guardaba los valores resultantes del proceso de comparación.

La Figura 37 muestra las formas de onda donde se puede ver la señal de COMP y el estado de salida

de cada Flip-Flop del SAR. Nótese en la imagen del ciclo de reloj 1, como el SAR activa d7, la señal

de COMP es baja luego este Flip-Flop debe regresar a 0. Para el ciclo de reloj 2, con el borde de

subida se activa d5, y la señal de COMP es alta, luego este Flip-Flop se mantiene en 1.

42

Figura 37. Valor guardado en cada Flip-Flop del SAR, dependiendo de la señal de COMP.

6.4 Generación de Reloj

Para el circuito generador de reloj, inicialmente se propuso realizar un oscilador tipo Pierce con

cristal, sin embargo se debió descartar esta solución debido a la dificultad al momento de simular el

cristal y a la conveniencia de que el número de componentes externos sea menor, se propuso como

solución para este bloque realizar un oscilador en anillo, el cual ofrece la ventaja de consumir menos

potencia y la frecuencia de oscilación puede ser fácilmente ajustada con cargas capacitivas entre cada

etapa o con los tamaños de las inversoras.

La frecuencia de oscilación de un oscilador en anillo está dada por:

( )

Donde N es el número (impar) de inversora, es el tiempo de retardo entre la señal de entrada y

salida del inversor cuando la señal de salida pasa de alto a bajo y es el tiempo de retardo entre la

señal de entrada y salida cuando la salida pasa de bajo a alto. Figura 38.

En el capítulo 5.4 se encontró que la frecuencia de oscilación del reloj debía ser de 1.1 MHz para

poder muestrear señales con una frecuencia de 100 kS/s. se debía entonces encontrar los valores para

(Figura 38) y el número de etapas N.

La relación entre de una inversora y el tamaño de las inversoras está dada por:

Donde y son las resistencias promedio de los transistores de cada inversora y es la carga de

cada etapa.

43

Figura 38. Tiempos de retardo de una inversora [3].

Para encontrar el valor estimado de y se encuentra el valor de la línea que pasa por los puntos

de polarización del transistor donde (Punto B en la Figura 39) y el punto (Punto

C en la misma figura).

Figura 39. Grafica IV para hallar la resistencia promedio de un NMOS [3].

El inverso de la pendiente de esta curva es el valor promedio de y es igual a:

Similarmente para :

Para hallar el tamaño de los transistores de la inversora, se parte de que los tiempos

deben ser iguales esto se puede realizar haciendo que . Realizando la igualdad y

reemplazando los valores (

,

, , )

se encuentra que:

44

Utilizando el valor mínimo para se encuentra . Y

Como , entonces y la frecuencia de oscilación será:

Se elige entonces un valor de N=9 para encontrar el valor de :

Con este valor de se calculó el valor de para cada etapa:

Con estos valores se creó la compuerta inversora tipo Figura 40. Con la que posteriormente se

implementó el oscilador en anillo mostrado en la misma figura.

Figura 40. Compuerta inversora y oscilador en anillo.

Al realizar la simulación del oscilador se encontró que la frecuencia de oscilación era de 713 kHz, más

baja que el valor calculado, error debido a las burdas aproximaciones de una simple resistencia

promedio ya que los Mosfet pasan por región activa, con relación cuadrática, antes de llegar a

resistiva o a corte. Para ajustar el valor requerido, se utilizó la herramienta de simulación

CustomWaveView® para determinar la magnitud de para llegar a la frecuencia deseada. Figura 41.

45

Figura 41. Salida del oscilador en anillo con f=713 kHz y

Además de la frecuencia, se encontró en esta primera simulación que los tiempos de subida y bajada

del oscilador eran muy lentos para que este pudiera ser utilizado como una señal de reloj, para

solucionar esto de decidió doblar la frecuencia del oscilador en anillo ( ) y poner a la -

salida un divisor de frecuencia utilizando un Flip-Flop tipo Data en configuración Toggle. Esto no

solo permite mejorar los tiempos de subida y de bajada de la señal, sino que la señal resultante tiene

un ciclo útil del 50%. Figura 42

Figura 42. Oscilador en anillo con divisor de frecuencia.

Se simuló este nuevo circuito con una carga y se obtuvo el siguiente resultado. Figura

43

46

Figura 43. Señales de salida del oscilador en anillo y del divisor de frecuencia.

Se resumen en la Tabla 7 las características del oscilador diseñado:

Parámetro Valor

Frecuencia 1.09 MHz

Ciclo Útil 50 %

Tiempo de subida 1.347 ns

Tiempo de bajada 1.2 ns

Vh (Voltaje alto) Mayor a 5 V

Vl (Voltaje bajo) Menor a 100 mV Tabla 7. Resumen de los parámetros del oscilador.

6.5 Data Out

El registro de salida DataOut se usa para mantener el valor de la conversión anterior mientras se realiza el proceso de conversión de

la nueva muestra. Para implementar este registro se utilizó un registro de entrada paralela salida paralela de 8 bits, donde la señal

47

de carga es la señal del Paso 1 (Sample) que permite guardar la palabra convertida de la conversión anterior. La

Figura 44 muestra la implementación del registro utilizando los Flip-Flops de la librería digital de

XFAB.

Figura 44. Esquemático del registro de salida DataOut.

Se muestra en la Figura 45 la señal de salida del SAR después de realizar la conversión de los 4

primeros bits y la señal de salida en el registro DataOut. En los datos de la línea punteada se puede ver

como el registro de salida carga los datos con el borde de subida de la señal de Sample y almacena el

estado de la señal de cada bit.

48

Figura 45. Señales de salida del SAR y registro de salida de DataOut.

6.6 Simulación analógica Pre-Layout del sistema completo.

El diagrama en bloques de la jerarquía del sistema completo se muestra en la Figura 46.

49

Figura 46. Diagrama en bloques del sistema completo.

SIMULACIÓN ANALÓGICA CON ENTRADA RAMPA

Para esta simulación se utilizó como señal de entrada una rampa de 0 a 2.5 V que cambiaba 10 mV

cada 11 ciclos de reloj, esto permitió verificar el correcto funcionamiento del circuito, ya que cada 11

ciclos el convertidor muestreaba un cambio de 1 LSB y la salida sería un conteo binario desde 0 (0 V)

hasta 255 (2.5 V). Se simuló el circuito con HSPICE y se obtuvo como salida la gráfica mostrada en la

Figura 47. Para esta simulación, el equipo Core i7 tardó 17 minutos en completarla, mientras que

Bochica reportó un tiempo estimado de 4 horas para realizar la simulación; no obstante a los 20

minutos se quedó sin espacio en el disco duro y canceló la simulación. La Tabla 8 resume los tiempos

de simulación en ambas plataformas, debido a que HSPICE® permite hacer el uso de varios Cores en

el procesador para realizar la simulación, se reportan también los tiempos usando 1, 2, 4 y 8 Cores.

Equipo Tiempo Simulación Analógica

4 Cores 2 Cores 1 Core 8 Cores

Core i7

3770K

1020 segundos 2000 segundos 3980 segundos 1300 segundos

Bochica

(Single Core)

14400 segundos

Tabla 8. Reporte de tiempos de simulación entre el equipo empleado y el servidor de la universidad.

El tiempo que se simuló en esta prueba fue de 2.57 ms, si se hubiese querido simular este circuito con

una entrada que tardara 25 ms, el tiempo de simulación sería del orden de 130 minutos (2 horas) lo

cual no permitiría realizar simulaciones más complejas o con tiempos de simulación más largos. Para

resolver este problema se puede aumentar el desempeño de la plataforma de computo como se

muestra en la Tabla 8. Una opción adicional, que además permite obtener archivos de salida más

pequeños y menores tiempos de simulación, son las simulaciones de señal mixta que solo hacen uso

de los modelos funcionales digitales y los sincronizan con las simulaciones analógicas.

50

Figura 47. Señales de salida de simulación analógica del convertidor para una entrada rampa de 0 a 2.5 V en pasos de 10 mV

6.7 Simulación de señal mixta pre-layout del sistema completo.

Para realizar estas simulaciones se utilizaron las herramientas CustomSim ® para la simulación de la

parte analógica y VCS ® para la simulación de la parte digital. Como para esta simulación se utilizó

la vista funcional de las celdas digitales (el Anexo 4 muestra a modo de ejemplo el código en

Verilog® para este Flip-Flop) que provocan desincronización entre la simulación analógica y digital;

para obviar esto, se ajustaron los retardos del Flip-Flop del oscilador y de los Flip-Flop del SAR.

Mediante el uso de un par de inversoras que ubicadas en los caminos de señal requeridos. Las

modificaciones realizadas se muestran resaltadas en la Figura 48 y Figura 49

Figura 48. Retardos agregados en el SAR

51

Figura 49. Retardos agregados en el Oscilador de anillo.

SIMULACIÓN DE SEÑAL MIXTA CON ENTRADA RAMPA.

Para esta simulación de nuevo se utilizó como señal de entrada una rampa de 0 a 2.5 V que cambiaba

10 mV cada 11 ciclos de reloj. Los resultados de simulación se muestran en la Figura 50 donde se

puede ver que la salida del convertidor, como se esperaba, es un conteo binario desde 0 hasta 255.

Figura 50. Resultados de simulación para una entrada rampa de 0 a 2.5 V en pasos de 1 LSB.

El tiempo de simulación de señal mixta se redujo drásticamente, a continuación se muestra la

comparación de tiempo entre tipos de simulaciones. Infortunadamente, por la incompatibilidad de

plataformas en las herramientas de simulación mixta (32 bits y 64 bits) esta simulación no se pudo

realizar en la maquina Core i7 montada especialmente para este trabajo de grado.

Equipo Tiempo Simulación

Digital

Core i7 3770K (64 bits) No se pudo realizar

Bochica (32 bits) 30 segundos Tabla 9. Tiempos de simulación y mejoras entre equipos y tipos de simulación.

52

SIMULACIÓN DE SEÑAL MIXTA CON ENTRADA SINUSOIDAL

Para obtener los parámetros de desempeño del convertidor definidos en el capítulo 1 (INL, DNL,

ENOB, SNDR, THD) se realizó la simulación del convertidor con una entrada sinusoidal de amplitud

1.25 V, un offset de 1.25 V, y frecuencia de 10 Hz, 100 Hz y 1kHz. Se ilustra por vía de ejemplo

desde la Figura 51 hasta la Figura 55 los resultados para la señal de 10 Hz y se enumeran los

parámetros de desempeño del circuito obtenidos con ayuda del ADC Toolbox de la herramienta

CustomWaveView de Synopsys®:

Para

Salida del convertidor:

Figura 51. Salida del convertidor para una entrada sinusoidal de 10 Hz, y amplitud 1.25 V

Entrada del convertidor (Vin, color verde, nombre USERIDEAL), salida (color amarillo, nombre

USERACQ) y error de cuantización ( , color azul, nombre USERERROR)

Figura 52. Voltaje de entrada, salida y error para una entrada sinusoidal de 10 Hz, y amplitud 1.25 V

53

Se muestra en la Figura 53 un acercamiento el pico positivo de la señal para observar con más detalle

el error en ese punto:

Figura 53. Detalle del pico positivo de la señal de entrada, salida y error del convertidor.

En la Figura 54 se muestra el DNL e INL del convertidor, en esta grafica el eje horizontal representa

el código de salida y el eje vertical el valor de error en LSB.

Figura 54. DNL e INL del convertidor para una entrada sinusoidal de 10 Hz, y amplitud 1.25 V

54

Con ayuda de la herramienta ADC Toolbox obtenemos los parámetros de desempeño del convertidor

mostrados en la Figura 55

Figura 55. Parámetros de desempeño obtenidos con el ADC Toolbox.

A continuación se resumen en la Tabla 10 los parámetros de desempeño obtenidos a diferentes

frecuencias.

Frecuencia INL DNL ENOB SNR

10 Hz -0.121 LSB -0.111 LSB 7.979 49.834 dB

50 Hz 0.213 LSB -0.264 7.930 49.523 dB

100 Hz 0.327 LSB 0.613 LSB 7.792 48.669 dB

500 Hz 1.290 LSB 1.838 LSB 6.422 40.410 dB

1 kHz 3.062 LSB 3.717 LSB 5.477 34.722 dB

5 kHz 18.079 LSB 20.226 LSB 3.165 20.835 dB

10 kHz 36.546 LSB 38.657 LSB 2.207 14.964 dB Tabla 10. Resultados obtenidos del convertidor pre-layout.

55

6.8 Layout de los bloques del convertidor.

LAYOUT CLOCK

A partir de una celda unitaria de una compuerta inversora mostrada en la Figura 40 con un transistor

NMOS con W=0.8 um, L=0.6 um, un transistor PMOS con W=1.8 um, L=0.8 um y su respectivo

condensador CPOLY de 2.351 pF, se diseñó el layout que se muestra en la Figura 56.

Figura 56. Layout de la compuerta inversora con carga capacitiva del oscilador en anillo.

Para la implementación del oscilador de anillo descrito en la Figura 40 se interconectaron 9 celdas

unitarias con carga capacitiva cuyo layout se muestra en la Figura 57

Figura 57. Layout del Oscilador en anillo

56

Para terminar el bloque CLOCK se agregó el Flip-Flop DFRRX1 (Figura 58) tomado de la librería

digital de XFAB y las inversoras necesarias para retardar la señal de realimentación que se

describieron en el numeral 6.7. El layout terminado se muestra en la Figura 59

Figura 58. Layout del Flip-Flop tipo Data con Set y Reset DFRRSX1 de la librería digital de XFAB.

Figura 59. Layout del Oscilador completo.

57

LAYOUT COMPARADOR

El layout del comparador se realizó con el esquemático de la Figura 30 y se muestra en la Figura 60

Figura 60. Layout del comparador

Nótese que se utilizaron transistores tanto verticales como horizontales, lo cual es permitido en

tecnologías de gran tamaño como es el caso de 0.6 um, lo cual no se puede generalizar para

tecnologías menores de 90 nm6.

El uso de transistores con orientaciones ortogonales hace que las direcciones del flujo de corriente no

sean rectas como se desearía. Esto no es un problema en una tecnología tan grande como la que se

utilizó en este trabajo de grado pero si se vuelve un aspecto importante cuando se está trabajando con

tecnologías por debajo de los 90 nm. De hecho, las reglas de diseño (DRC) de estas tecnologías no lo

permiten. Se debe también tener en cuenta evitar el uso de grandes porciones de metal en las

interconexiones ya que esto crea capacitancias parásitas bastante grandes lo que disminuye la

frecuencia a la que el comparador puede funcionar7. A manera de ejemplo, los metales indicados en la

Figura 60 podrían disminuir sus dimensiones dado que de una parte no manejan corrientes y de otra

están generando capacitancias parásitas innecesarias.

Además de lo anterior se recomienda que las conexiones al substrato sean lo más simétricas posible,

lo que mejora el desempeño más cuando se use como amplificador, no obstante en este caso debido a

que se usa como comparador y la salida solo va a variar entre 2 niveles, estas conexiones no son

cruciales para el correcto funcionamiento del circuito.

6 GARCIA, Jorge. Director. Conversación sostenida durante el desarrollo de este bloque.

7 Ibid

Metales

Gruesos

58

LAYOUT DAC

Este bloque contiene 3 sub-bloques, 2 Top_Switch, 8 Bot_Switch y la red de condensadores como se

describió en el numeral 6.2. El primer sub-bloque se implementó usando el circuito de Transmission

Gate (Figura 32) y se muestra en la Figura 61

Figura 61. Layout del bloque Top_Switch.

Para la implementación del Bot_Switch se utilizaron las compuertas de la Figura 32 y el esquemático

del interruptor de la ¡Error! No se encuentra el origen de la referencia.. El layout de este bloque se

muestra en la Figura 62.

Figura 62. Layout del Bot_Switch.

59

Para la implementación de la red de condensadores se tuvieron en cuenta las siguientes

consideraciones en el dibujo de layout:

Primero, la necesidad de tener relaciones que generen errores bastante inferiores a 1 LSB y

minimicen el efecto de “undercutting”8 que se presenta en el momento de fabricación que se

ilustra en la Figura 63a para un arreglo de condensadores de 3 bits.

Segundo, otro efecto que se presenta en el proceso de fabricación es crecimiento no uniforme

del óxido9. Para contrarrestar esto, se dibujó el arreglo con una distribución de centroide

común (Figura 63c) lo que minimiza el error del valor de los condensadores debido a este

fenómeno.

Figura 63. Layout de arreglo de condensadores binarios usando (a) condensadores sencillos (b) condensadores unitarios para

minimizar el efecto de undercutting (c) centroide común para minimizar los gradientes del óxido. [3]

Para el diseño del layout del DAC, se debe tener en cuenta que las interconexiones de metal entre los

condensadores puedan majear la densidad de corriente necesaria para cargar cada condensador, para

realizar este análisis se remitió a la documentación del PDK del fabricante y se encontró que la

densidad de corriente máxima permitida para la capa de Metal1 era de 1 mA/um y la de Metal2 era de

1.3 mA/um y que el ancho mínimo para una línea de Metal1 y Metal2 es de 0.9 um (esta información

se encuentra en el Anexo 2). Para definir el ancho de las líneas de interconexion se realizaron los

siguientes cálculos:

La corriente que pasa por un condensador en función del tiempo es:

8 Undercutting: efecto que se presenta en la fabricación de dispositivos debido a las variaciones en el proceso

de aplicación y remoción de máscaras, lo que produce variaciones en los tamaños de los dispositivos. 9 Crecimiento no uniforme de óxido: debido a que en la fabricación de componentes semiconductores la capa

de dióxido de silicio es creada mediante la difusión a altas temperaturas del óxido en la superficie del substrato,

ciertas partes de este presentaran variaciones lineales en su espesor.

60

Para el DAC, el peor caso de es con los condensadores más grandes ( ) y la máxima

variación de

es de 1.25. con estos valores, la máxima corriente que pasa por las interconexiones

del DAC es de:

Este valor es lo suficientemente bajo para asegurar que no se van a presentar problemas en las

interconexiones debido a las corrientes que pasan para cargar los condensadores y permitiría disminuir

el ancho de los cables hasta el valor mínimo permitido por las reglas de diseño de DRC

El layout completo de los condensadores del DAC se muestra en la Figura 64 donde se pueden ver las

capacitancias unitarias interconectadas para conformar cada condensador del arreglo, el condensador

Csplit y los dummies10

que protegen la estructura.

Figura 64. Layout de la red de condensadores.

10 Dummy: elementos no pertenecientes a un esquemático que se introducen en el layout para minimizar efectos

de “mismatch” en los componentes aledaños que si son parte del circuito funcional.

C0 C1 C1

C2

C2

C2

C2

C3 C3 C3

C3

C3 C3 C3

C3 C4 C5 C5

C6

C6

C6

C6

C7 C7 C7

C7

C7 C7 C7

C7

CS

Cd

Dummy

Dummy

Dummy Dummy

61

LAYOUT SAR Y CONTROL

Para este bloque se interconectaron manualmente los Flip-Flops tipo data tomados de la librería

digital de XFAB que se mostró en la Figura 58, para realizar el bloque SAR y Control, de acuerdo al

esquemático de la Figura 48; cuyo layout final se muestra en la Figura 65.

Figura 65. Layout del SAR y Control.

LAYOUT REGISTRO DATAOUT

Para este bloque se interconectaron manualmente los Flip-Flops tipo data tomados de la librería

digital de XFAB que se mostró en la Figura 58 para realizar el bloque DATAOUT de acuerdo al

esquemático de la Figura 44; cuyo layout se muestra en la Figura 66.

Figura 66. Layout del registro de salida DataOut.

62

LAYOUT DEL SISTEMA COMPLETO

A continuación se muestra el layout del sistema completo. Se interconectaron los bloques y se

agregaron condensadores de desacople cerca del comparador y los bloques digitales para suplir la

corriente necesaria Figura 67 (rojo). El floorplan del circuito completo se muestra en la Figura 68

Figura 67. Layout del sistema completo.

Figura 68. Floorplan del circuito completo.

63

6.9 Simulación con componentes parásitos de los bloques analógicos del convertidor

Las interconexiones a nivel de layout de los componentes del esquemático utilizando tanto líneas de

Metal, como difusiones o polisilicio poseen, por su construcción física condensadores y resistencias

parásitas que son función de los tamaños de las interconexiones. Los valores de estos elementos

parásitos no se tienen en cuenta en una simulación a nivel de esquemático y son extraídos por la

herramienta StarRC® después de que el layout ha sido terminado, afectando el funcionamiento de

cada bloque.

Debido a la complejidad del circuito, extraer los componentes parásitos de cada bloque, para realizar

la simulación completa del convertidor con estos componentes tardaría mucho más tiempo que una

simulación analógica simple, es por esto que solamente se extraen los componentes parásitos de los

bloques analógicos que son los más propensos a modificar el funcionamiento del circuito si no se

realizó un layout adecuado. A continuación se muestran los resultados de simulación con

componentes parásitos para el bloque generador de reloj y para el comparador. Debido a que realizar

un tesbench para el DAC implicaba conectar tanto los interruptores, como la máquina de control y las

señales de entrada y salida, esta simulación no se realizó en esta etapa. No obstante, se emplea la

simulación mixta para acortar los tiempos de simulación del sistema completo con componentes

parásitas cuyos resultados se muestran en el apartado 6.10.

RESULTADOS DE SIMULACIÓN DEL BLOQUE CLOCK

Para la simulación de este bloque se utilizó el mismo testbench de la simulación esquemática. En la

Figura 69 se muestra la señal de salida del reloj obtenida con los condensadores y resistencias

parásitas. En la Tabla 11 se resumen los resultados obtenidos de la simulación con componentes

parásitos

Figura 69. Resultados de simulación del bloque CLK con componentes parásitos.

64

Parámetro Valor

Frecuencia 1.09 MHz

Ciclo Útil 50 %

Tiempo de subida 1.347 ns

Tiempo de bajada 1.2 ns

Vh (Voltaje alto) Mayor de 5 V

Vl (Voltaje bajo) Menor de 10 mV Tabla 11. Valores obtenidos en el bloque CLK con componentes parásitos

RESULTADOS DE SIMULACIÓN DEL COMPARADOR

Para la simulación del comparador, se utilizó el mismo testbench del circuito esquemático de la Figura

30 bajo las siguientes condiciones: -la entrada no inversora a un voltaje de Vref,=2.5 V y la entrada

inversora variando desde 2.499 V a 2.501 V-. La Figura 70 muestra las señales en la terminal

inversora (v-), no inversora (v+) y la salida del comparador (out). Se ratifica el correcto

funcionamiento ya que cuando la señal de la terminal inversora es menor que la terminal no inversora,

la salida del comparador es un voltaje alto y viceversa como se describió en el apartado 6.1.

Figura 70. Resultados de simulación del comparador con componentes parásitos

Se resumen en la Tabla 12 los valores obtenidos de tiempos de subida y bajada, retardos y niveles

lógicos del comparador con elementos parásitos:

Parámetro Valor

19.8 ns

12.1 ns

18.7 ns

11.5 ns

0 < <0.24 V

Mayor a 4.3 V Tabla 12. Parámetros obtenidos en el comparador con componentes parásitos.

65

6.10 Resultados de simulación mixta del sistema completo con componentes parásitos.

La Tabla 13 resume los resultados INL, DNL, ENOB y SNR reportados por la herramienta

CustomWaveView® usando el ADC Toolbox de la simulación mixta del sistema completo con

componentes parásitas en los bloques analógicos para señales de entrada sinusoidales de 1.25 Vp-p de

amplitud, con un offset de 1.25 V y a diferentes frecuencias variando de 10 Hz a 10 kHz

Frecuencia INL DNL ENOB SNR

10 Hz -1.758 LSB 1.347 LSB 6.935 43.476 dB

50 Hz -2.061 LSB 1.635 LSB 6.004 37.871 dB

100 Hz -1.966 LSB 1.753 LSB 4.612 29.489 dB Tabla 13. Resultados obtenidos del convertidor Post-Layout.

66

IV. ANÁLISIS DE RESULTADOS

En esta sección se muestran analizan los resultados de las simulaciones obtenidas en los capítulos 5 y

6 de los bloques del convertidor pre y pos-layout11

. Posteriormente se analizaran los resultados de

simulación del sistema completo así como los tiempos de simulación obtenidos en las diferentes

plataformas de cómputo usadas en el proyecto y el efecto de utilizar simulaciones de señal mixta en

lugar de una simulación completamente analógica.

7. ANÁLISIS

7.1 Comparador

De los resultados de simulación a nivel de esquemático y con componentes parásitas mostradas en las

Figura 31 y Figura 70 respectivamente se extrajeron las tablas de parámetros Tabla 10 y Tabla 12, a

continuación se resumen en la Tabla 14 los resultados de los tiempos de subida, bajada, retardos y

valores lógicos así como las variaciones del desempeño del comparador con elementos parásitos y sin

ellos:

Parámetro Valor (sin parásitas) Valor (con parásitas) Porcentaje de variación

15.4 ns 19.8 ns 28 %

9.6 ns 12.1 ns 26 %

14.7 ns 18.7 ns 21 %

8.86ns 11.5 ns 29 %

0 < <0.24 V 0 < <0.24 V 0 %

Mayor a 4.3 V Mayor a 4.3 V 0 % Tabla 14. Variación de los parámetros de desempeño para el comparador pre-layout y post-layout.

Con estos valores se puede ver que la presencia de los elementos parásitos en el comparador, hacen

que este aumente su retardo de propagación promedio entre tiempos de subida y bajada en un 27 % lo

que afecta la velocidad máxima a la que podría operar el comparador. Debido a la inclusión de estos

elementos en la etapa de amplificación del comparador (compuerta inversora) los tiempos de subida,

bajada y retardo promedio del comparador se ven aumentados en un 21, 29 y 27 por ciento

respectivamente.

Lo ideal para este bloque hubiese sido que los valores de tiempos de subida y bajada fuesen los

mismos, así como el mismo valor entre los retardos entre la entrada y la salida. Esta variación se

presenta principalmente debido a que la carga capacitiva a la salida de la compuerta no es la misma

para las dos transiciones. Para corregir esto, se debe hacer la compuerta negadora asimétrica de la

etapa de salida para compensar la simetría de carga y tal que los tiempos de retardo, subida y bajada

sean lo más cercanos. No obstante con estos retardos se cumplen de manera holgada las

especificaciones propuestas para el diseño.

El tiempo en el que el comparador toma la decisión entre los cambios de los valores de entrada y la

generación de una salida válida sería uno de los limitantes para aumentar el desempeño del

convertidor, para este caso, el peor retardo del comparador es de 19.8 ns lo que podría permitirle al

convertidor completo operar a una velocidad de

11 Pre y post-layout hace referencia a los resultados de simulación a nivel de esquemático (pre-layout) y los

resultados obtenidos después de elaborar el layout y simularlo incluyendo los elementos parásitos generados por

las interconexiones (post-layout).

67

Lo anterior, es válido suponiendo que el comparador tiene que tomar una decisión como máximo en

menos de medio ciclo de reloj y que este es el elemento más lento del circuito.

Con base en lo anterior, de manera teórica, el circuito podría funcionar a una velocidad 25 veces

mayor a la que se diseñó. Para verificar esto se realizó una simulación del sistema completo con un

reloj de 11 MHz ( ) y una entrada sinusoidal de 10 kHz obteniéndose los valores de INL,

DNL, ENOB y SNR mostrados en la Tabla 15 y 16 que demuestran que el circuito si puede operar a la

frecuencia calculada arriba.

INL DNL

Fs 100 kHz 1 MHz 100 kHz 1 MHz

10 kHz 36.546 LSB 11.072 LSB 38.657 LSB 10.519 LSB Tabla 15. Comparación de resultados estáticos del convertidor con una frecuencia de muestreo de 1 MHz.

ENOB SNR

Fs 100 kHz 1 MHz 100 kHz 1 MHz

10 kHz 2.207 5.043 14.964 dB 32.085 dB Tabla 16. Comparación de resultados dinámicos del convertidor con una frecuencia de muestreo de 1 MHz.

Es claro entonces que el desempeño del conversor puede mejorarse aumentando la frecuencia de

muestreo y esto además permite muestrear señales con un ancho de banda del orden de 10 veces al

que fue diseñado.

7.2 Generación de reloj

En la Tabla 17 se muestra un resumen comparativo de los resultados de simulación pre y post-layout

tomados de la Tabla 7 y Tabla 11, donde se muestra la variación de frecuencia, ciclo útil, tiempos de

subida y bajada, y niveles lógicos alto y bajo.

Parámetro Valor (Sin Parásitos) Valor (Con Parásitos) Variación

Frecuencia 1.09 MHz 1.05 MHz 3.67 %

Ciclo Útil 50 % 50.1 % -0.2 %

Tiempo de subida 1.347 ns 1.44 ns -6.9 %

Tiempo de bajada 1.2 ns 1.18 ns 1.6 %

Vh (Voltaje alto) Mayor de 5 V Mayor de 5 V 0 %

Vl (Voltaje bajo) Menor de 10 mV Menor de 10 mV 0 % Tabla 17. Variación de los parámetros del oscilador pre-layout y post-layout.

De lo anterior se ve que el parámetro que más se afecta con la presencia de los componentes parásitos

en la simulación es la frecuencia de oscilación, ya que las interconexiones en metal de cada etapa

inversora adiciona capacitancia a los condensadores de carga y resistencia a la impedancia de salida

de las compuertas lo que a su vez hace que la frecuencia de oscilación disminuya (la frecuencia de

oscilación es inversamente proporcional a la resistencia de salida y a la carga capacitiva de cada etapa

como se mostró en el apartado 6.4).

Debido a que el layout del oscilador se realizó de manera tal que las interconexiones fueran lo más

cortas posibles, la variación de la frecuencia fue solo de un 3.67 %, y en los demás parámetros se

obtuvieron resultados bastante cercanos entre el esquemático y la simulación post-layout

68

7.3 Sistema completo

Los resultados de simulación del sistema completo se resumieron en la Tabla 10 y Tabla 13, a

continuación se reorganizan estos datos y se resumen en la Tabla 18 los parámetros de desempeño

estáticos, INL y DNL del convertidor pre y post layout.

INL DNL

Frecuencia Esquemático Parásitas Esquemático Parásitas

10 Hz -0.121 LSB -1.758 LSB -0.111 LSB 1.347 LSB

50 Hz 0.213 LSB -2.061 LSB -0.264 1.635 LSB

100 Hz 0.327 LSB -1.966 LSB 0.613 LSB 1.753 LSB Tabla 18. Resultados estáticos del convertidor pre-layout y post-layout

En la Tabla 19 se resumen los parámetros dinámicos (ENOB y SNR) del convertidor pre y post-

layout.

ENOB SNR

Frecuencia Esquemático Parásitas Esquemático Parásitas

10 Hz 7.979 6.935 49.834 dB 43.476 dB

50 Hz 7.930 6.004 49.523 dB 37.871 dB

100 Hz 7.792 4.612 48.669 dB 29.489 dB Tabla 19. Resultados dinámicos del convertidor pre-layout y post-layout

Para poder tener una mejor comprensión de estos datos, se creó la Figura 71 y Figura 72 mostrando el

comportamiento del ENOB y SNR en función de la frecuencia de la señal de entrada.

Figura 71. ENOB para el convertidor pre-layout y post-layout.

0

1

2

3

4

5

6

7

8

9

10 30 50 70 90 110

ENO

B

Frecuencia de entrada

ENOB Esquematico

ENOB Parasitas

69

Figura 72 SNR para el convertidor pre-layout y post-layout.

De la Figura 71 y Figura 72 se puede observar cómo, tanto el SNR como el ENOB son funciones de la

frecuencia de entrada y a medida que esta aumenta, estos valores disminuyen. Para el caso del

convertidor pre-layout (SNR, ENOB Esquemático), el ENOB y SNR son constantes al menos desde

10 Hz hasta aproximadamente 100 Hz. A partir de este punto estos valores comienzan a decrecer, esto

se debe a la latencia del convertidor ya que la variación en el valor de entrada entre 2 conversiones

consecutivas va a ser mayor de 1 LSB para señales de entrada mayores a 100 Hz. Para señales

menores a 100 Hz el error de cuantización del convertidor está en el rango teórico

. Para valores mayores a 100 Hz el valor de cambio de la señal de entrada se acerca al valor de 1

LSB. Se muestra a continuación el máximo cambio de la señal de entrada ya que la pendiente de la

función seno es máximo en t=0. Para este caso y a esta frecuencia dicha pendiente se determina entre

las 2 primeras muestras, t=0 y t=11 us así:

|

Este valor aún está por debajo del valor de 1 LSB, sin embargo, a partir de esta frecuencia el error

entre dichas muestras consecutivas aumenta a más de 1 LSB lo que se traduce en la disminución de

bits efectivos del conversor confirmando el comportamiento de ENOB y SNR sin componentes

parásitas observado en la Figura 71 y Figura 71 respectivamente.

La simulación con componentes parásitas arrojo los resultados esperados para las frecuencias de

diseño. No obstante para frecuencias mayores las diferencias entre simulación pre y post-layout son

mayores a lo esperado, si bien su tendencia se conserva.

Además del reporte de los resultados del conversor, otro de los objetivos propuestos en este trabajo

era reportar los tiempos de simulación de las plataformas de cómputo en la universidad Javeriana

donde se ejecutan las herramientas actualmente, y la plataforma Core i7 montada para este proyecto.

Los resultados en los tiempos de simulación se muestran en la Tabla 20:

0

10

20

30

40

50

60

10 30 50 70 90 110

SNR

Frecuencia de entrada

SNR Esquematico

SNR Parasitas

70

Equipo Tiempo Simulación Analógica Mejora

Core i7 3770K 1020 segundos 14 veces más rápido

Bochica 14400 segundos 1 Tabla 20. Comparación entre los tiempos de simulación de las plataformas de cómputo utilizadas.

Se obtuvo entonces en el equipo Core i7 una mejora de 14 veces versus el servidor de la universidad

al usar 4 Cores. Este valor puede no ser muy grande si se están realizando simulaciones cortas

(menores a 10 minutos) sin embargo cuando las simulaciones tardan más tiempo, lo que Bochica

realiza en 14 horas, un computador actual de nivel de entrada (entry level system), o computador de

bajo precio lo realiza en 1 hora. Para diseños de alta relativamente alta complejidad este parámetro de

desempeño resulta ser de gran importancia.

71

V. CONCLUSIONES

Se realizó el diseño e implementación de un convertidor analógico digital de 8 bits, obteniendo el

comportamiento deseado en los 3 niveles de abstracción usados: modelo con componentes ideales,

esquemático a nivel de transistores y layout de los transistores con componentes parásitas. Esto

permitió ver el uso de diferentes análisis para cada nivel y cómo la una simplificación no cuidadosa

de ciertas ecuaciones pueden afectar en gran manera el desempeño y funcionamiento del circuito.

Se obtuvo a nivel de esquemático valores superiores a las especificaciones propuestas y a nivel de

layout con componentes parásitas se obtuvieron valores bastante cercanos. Si bien no constituía parte

del diseño, se pretendió incluir los PAD de interconexión al exterior del circuito, no obstante no se

pudo incluir debido a que las librerías proporcionadas por XFAB no eran compatibles con la

herramienta instalada en el servidor.

Si bien las especificaciones propuestas inicialmente no eran muy exigentes, particularmente la

frecuencia de muestreo, se eligieron de este modo porque era el primer trabajo de grado que se

realizaba con una nueva librería de diseño. Se logró que el circuito funcionara a frecuencias 10 veces

mayor a la propuesta, lo cual se puede realizar de manera sencilla modificando la frecuencia del

oscilador por medio de la eliminación de etapas en el oscilador de anillo.

En el proceso del flujo de diseño una simulación totalmente analógica hubiese tomado días en

realizarse, por eso la utilización de simulaciones de señal mixta permitió poder tener resultados en

menos de 30 minutos. La buena elección de los métodos de simulación hacen la diferencia entre que

sea o no realizable la simulación de sistemas complejos.

La curva de aprendizaje de la herramienta no es fácil por tal razón se recomienda ir capitalizando la

experiencia en los diferentes proyectos mediante documentación y videos como se ha venido haciendo

en proyectos anteriores. En esta línea, este trabajo incluyo videos y documentación que permitirán

realizar trabajos de grado más complejos en el área de diseño microelectrónico debido a que la mayor

parte del desarrollo del proyecto fue buscando las herramientas para cada situación y la configuración

correcta de cada una, así como la depuración de errores en los códigos de Verilog® suministrados por

XFAB. Gracias a estos videos, los futuros ingenieros que quieran profundizar en esta área podrán

capitalizar el tiempo invertido hasta ahora para realizar proyectos que podrán incluir fabricación a

nivel de prototipo dado que se está trabajando con un PDK comercial.

La demanda de ingenieros de diseño analógico y de señal mixta que sepan utilizar herramientas

profesionales de diseño ha venido creciendo desde hace varios años. Asi las cosas, como conclusión

personal y gracias a que se tuvo que buscar consultar documentación de cada herramienta para poder

configurarla correctamente y realizar las simulaciones, solicitar soporte a los técnicos especializados y

la familiarización de nuevos sistemas operativos como Linux, entre otras dan ventaja competitiva

debido a que a nivel de pregrado y maestría es muy difícil encontrar un Ingeniero Electrónico que

maneje este tipo de conocimientos con herramientas tan especializadas.

Se espera que con los resultados obtenidos en los tiempos de simulación, motive al departamento de

electrónica a modernizar los equipos donde se ejecutan las herramientas de Synopsys®, ya que si bien

el uso correcto de la herramienta es importante, el equipo donde se ejecuta también es un factor

crucial en el desarrollo de todo un proyecto de esta magnitud. Si se deseasen desarrollar proyectos

más complejos, por más simplificaciones en las simulaciones que se hagan la barrera en el poder de

cómputo va a hacer que sea imposible llevar a buen término estos proyectos.

72

Correcciones

Poner el ejemplo de la redistrbucion de carga con el condensador

Arreglar la ortografía en la ppt

Quitar las simulaciones no validas revisar

BIBLIOGRAFÍA

[1] Dan Bu, Nanjian Wu, Chengjun Qiu, Junbo Wang. Integrated Circuit EDA Design of 10-bit SAR

ADC with Low Power. Key Laboratory of Integrated Circuit, Heilongjiang University, Harbin

150080, China.

[2] Jens Sauerbrey, Doris Schmitt-Landsiedel. A 0.5-V 1-uW Successive Approximation ADC. IEEE

JOURNAL OF SOLID-STATE CIRCUITS, VOL. 38, NO. 7, JULY 2003

[3] BAKER, Jacob. CMOS Circuit Design Layout and Simulation. IEEE Series on Microelectronic

Systems. Wiley, IEEE Press. 2010.

[4] Raheleh Hedayati. A Study of Successive Approximation Registers and Implementation of an

Ultra-Low Power 10-bit SAR ADC in 65nm CMOS Technology. Linköping University. September

2011

[5] A. Rossi and G. Fucili, “Nonredundant successive approximation register for A/D converter,”

Electronics Letters, vol.32, no.12, pp.1055-1057, 1996.

[6] You-Kuang Chang, Chao-Shiun Wang and Chorng-Kuang Wang. A 8-bit 500-KS/s Low Power

SAR ADC for Bio-Medical Applications. Graduate Institute of Electronics Engineering and

Department of Electrical Engineering, National Taiwan University, Taipei, Taiwan. IEEE Asian

Solid-State Circuits Conference 1-4244-1360-5/07/$25.00 2007 IEEE. November 12-14, 2007 / Jeju,

Korea

[7] MATTHYS, Robert. Crystal Oscillator Circuits. Krieger Publiahing Company. Malabar, Florida.

1983. Wiley and Sons Inc.

[8] EURO QUARTZ. Miniature Crystal for Pierce Oscillators. CX1V Datasheet. 10 kHz to 600 kHz

Crystal. Euroquartz Limited.

73

[9] ANDERSON, T.O. Optimun Control Logic for Succesive Aproximation Analog-to-Digital

Converters. Communications Systems Research Section. JPL Technical Report. 32-1526, VOL XIII

[10] MCREARY, James. GRAY, Paul. All MOS Charge redistribution Analog-to-Digital conversion

techniques. IEEE JOURNAL OF SOLID STATE CIRCUITS, VOL. SC 10, NO 6, DECEMBER

1975.

ANEXOS

ANEXO 1

En este anexo se muestra la hoja de especificaciones de las capacitancias del kit de diseño utilizado.

74

75

ANEXO 2

En este anexo se muestran las especificaciones de densidades de corriente de la tecnología utilizada.

76

ANEXO 3

En este anexo se muestran las curvas características y los parámetros eléctricos de los transistores

utilizados en el diseño del convertidor.

77

78

79

ANEXO 4

Codigo en Verilo® para la celda de la librería digital DFRRSX1 (Flip-Flop tipo Data con Set y Reset.)

//*****************************************************************

// technology : xc06

// module name : DFRRSX1

// version : V 4.1.0

// cell_description : posedge D-Flip-Flop with Reset, Set

// last modified by : shl

//*****************************************************************

`timescale 1ns/10ps

`celldefine

`suppress_faults

`enable_portfaults

module DFRRSX1 (C,D,Q,QN,RN,SN);

input C,D,RN,SN;

output Q,QN;

reg NOTIFY_REG;

wire ck_i;

// logic section

buf i0 (ck_i,C);

u1_fd4 i1 (qi,D,ck_i,RN,SN,NOTIFY_REG);

checkrs i4 (enable, RN, SN);

checkjk i5 (qr,Q,1'b1);

not i51 (qin,Q);

checkjk i6 (qs,qin,1'b1);

check i7 (qd,Q,D);

and i9 (de,enable,qd);

not i10 (dinv,D);

and i11 (rd,SN,D);

and i12 (sd,RN,dinv);

and i13 (check_clock,enable,1'b1);

not i2 (QN,qi);

buf i3 (Q,qi);

// param section

specify

specparam Area$ = 1092.96;

specparam FanoutLoad$SN = 0.0322;

specparam FanoutLoad$D = 0.0152;

specparam FanoutLoad$C = 0.0144;

specparam FanoutLoad$RN = 0.0154;

// specify path delays

80

// path delay

(negedge SN => (Q +: 1'b1)) = (0.1,0.1);

(negedge SN => (QN +: 1'b0)) = (0.1,0.1);

(posedge SN => (QN +: 1'b1)) = (0.1,0.1);

(posedge C => (Q+: D)) = (0.1,0.1);

(posedge C => (QN-: D)) = (0.1,0.1);

(negedge RN => (Q +: 1'b0)) = (0.1,0.1);

(posedge RN => (Q +: 1'b1)) = (0.1,0.1);

(negedge RN => (QN +: 1'b1)) = (0.1,0.1);

// specparam

specparam

D_C_SU = 0.1,

C_D_HD = 0.1,

SN_REC = 0.1,

SN_REM = 0.1,

SN_PWL = 0.1,

RN_REC = 0.1,

RN_REM = 0.1,

RN_PWL = 0.1,

SN_RN_REC = 0.1,

RN_SN_REC = 0.1,

C_PWH = 0.1,

C_PWL = 0.1;

// setup/hold

$setuphold (posedge C &&& check_clock, posedge D, D_C_SU, C_D_HD,

NOTIFY_REG);

$setuphold (posedge C &&& check_clock, negedge D, D_C_SU, C_D_HD,

NOTIFY_REG);

$hold (posedge C &&& sd, posedge SN, SN_REC, NOTIFY_REG);

$hold (posedge C &&& rd, posedge RN, RN_REC, NOTIFY_REG);

$hold (posedge SN, posedge RN, SN_RN_REC, NOTIFY_REG);

$hold (posedge RN, posedge SN, RN_SN_REC, NOTIFY_REG);

$width (posedge C &&& de, C_PWH, 0, NOTIFY_REG);

$width (negedge C &&& de, C_PWL, 0, NOTIFY_REG);

$width (negedge RN &&& qr, RN_PWL, 0, NOTIFY_REG);

81

$width (negedge SN &&& qs, RN_PWL, 0, NOTIFY_REG);

$recovery (posedge SN, posedge C &&& sd, SN_REC, NOTIFY_REG);

$recovery (posedge RN, posedge C &&& rd, RN_REC, NOTIFY_REG);

$recovery (posedge SN, posedge RN, SN_RN_REC, NOTIFY_REG);

$recovery (posedge RN, posedge SN, RN_SN_REC, NOTIFY_REG);

$hold (posedge C &&& D, posedge SN, SN_REM, NOTIFY_REG);

$hold (posedge C &&& D, posedge RN, RN_REM, NOTIFY_REG);

endspecify

endmodule

`disable_portfaults

`nosuppress_faults

`endcelldefine

//