MODELAMIENTO DE SISTEMAS MIXTOS: ANALOGOS/DIGITALES – APLICACIÓN DE
DESCRIPCION VHDL-AMS PARA UN CONVERSOR A/D DE 8 BITS Y
SINTETIZACION VLSI DEL MISMO
Bogota, D.C. 11 de Febrero de 2004
Doctor Roberto Bustamante Miller Director del Departamento de Ingeniería Eléctrica y Electrónica UNIVERSIDAD DE LOS ANDES La Ciudad Respetado Doctor:
Por medio de la presente sometemos a su consideración el proyecto
“MODELAMIENTO DE SISTEMAS MIXTOS: ANALOGOS/DIGITALES –
APLICACIÓN DE DESCRIPCION VHDL-AMS PARA UN CONVERSOR A/D DE 8
BITS Y SINTETIZACION VLSI DEL MISMO”, con el objeto de cumplir con el ultimo
requisito para optar al titulo de Maestro en Ingeniería Electrónica y de
computadores.
Cordialmente, ______________________________________ JUAN ESTEBAN MARTIN JAIMES
MODELAMIENTO DE SISTEMAS MIXTOS: ANALOGOS/DIGITALES – APLICACIÓN DE
DESCRIPCION VHDL-AMS PARA UN CONVERSOR A/D DE 8 BITS Y
SINTETIZACION VLSI DEL MISMO
JUAN ESTEBAN MARTIN JAIMES
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICA Y ELECTRONICA BOGOTA, FEBRERO DEL 2004.
MODELAMIENTO DE SISTEMAS MIXTOS: ANALOGOS/DIGITALES – APLICACIÓN DE
DESCRIPCION VHDL-AMS PARA UN CONVERSOR A/D DE 8 BITS Y
SINTETIZACION VLSI DEL MISMO
JUAN ESTEBAN MARTIN JAIMES
Proyecto de grado para optar al titulo de Maestro en Ingeniería Electrónica y de Computadores
Asesor Ing. ANTONIO GARCIA ROZO
Ingeniero Electrónico
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRICA Y ELECTRONICA BOGOTA, FEBRERO DEL 2004.
A Violeta Ferrer por ser la verdadera razón de mi vida, y por demostrarme que los Dioses si existen.
AGRADECIMIENTOS
El autor agradece: Al Ingeniero Antonio García Rozo por su colaboración como asesor en el desarrollo de todo el proyecto. A mi Viole porque sin su inmenso amor ni mi vida y ni este trabajo tendrían sentido. A mis padres por tanto amor, comprensión e incondicional apoyo. Al Ingeniero Carlos Tokunaga por su gran ayuda acá y en la distancia. A los profesores y amigos Carlos Camargo, Carlos Perilla, Fredy Segura, Juan Carlos Bohórquez y Mauricio Guerrero por su amistad y constante apoyo. Al Departamento de Física por la paciencia y el gran apoyo en todo este proceso: Bernardo Gómez, Ferney Rodríguez, Juancho, Julieta, Janeth y Elsy A mis panitas de siempre a los de la Familia y a los de la Macarena. A Roland Jeangros por ser un formador de buenos seres humanos Al Mamut y su combo porque casi no se logra.
CONTENIDO Pag.
INTRODUCCION 1
1. AMPLIFICADOR DIFERENCIAL 4
1.1 AMPLIFICADOR DIFERENCIAL 4
1.1.1 Geometría 5
1.1.2 Compensación en Frecuencia 6
1.2 BLOQUES CONSTITUTIVOS BASICOS DEL AMPLIFICADOR DE MILLER 11
1.2.1 Referencia de Tensión. 11
1.2.2 Fuentes de Corriente. 12
1.2.2.1 Espejo de Corriente 12
1.2.2.1.1 Condiciones de Ruido 14
1.2.2.2 Espejo de Wilson. 15
1.2.2.3 Espejo Cascode. 16
1.2.2.4 Comparación entre Fuentes de Corriente. 19
1.2.3 Amplificador Diferencial 20
1.2.3.1 Ganancia 21
1.2.3.2 Rechazo en Modo Común 22
1.2.3.3 Rango de Linealidad 23
1.2.3.4 Tensión de OFFSET 24
1.2.3.5 Fuente de Corriente como Carga Activa 25
1.2.3.5.1 Consideraciones para la Estabilidad 27
1.2.3.5.2 Consideraciones de Ruido 28
1.2.3.6 Limitación en la Velocidad de Respuesta
(Slew-Rate) 29
1.2.3.6.1 Comparación entre etapa de entrada nMOS y pMOS 30
1.2.4 Etapa de Amplificación 33
1.2.4.1 Amplificador en Fuente Común 36
1.2.4.1.1 Compensación en Frecuencia 38
1.2.4.1.1.1 Efecto Miller 39
1.2.4.2 Amplificador Cascode 43
1.2.5 Consideraciones Prácticas de Diseño 45
2 DISEÑO EN INGENIERÍA 48
2.1 DISEÑO 48
2.2 REPRESENTACIONES DEL DISEÑO 49
2.2.1 Representación Comportamental 49
2.2.2 Representación Estructural 49
2.2.3 Representación Física 50
2.3 NIVELES DE ABSTRACCION 51 2.3.1 Nivel Transistor 51
2.3.2 Nivel de Puerta 51
2.3.3 Nivel de Transferencia de Registros 51
2.3.4 Nivel de Procesador 52
2.4 DIAGRAMAS DE DISEÑO 52
2.4.1 Diagrama Y de Gajski y Kuhn 52
2.4.2 Diagrama Y modificado para diseño análogo 52
2.4.3 Esquema de Desarrollo Mixto 55
2.5 METODOLOGIA DE DISEÑO 58
2.5.1 Metodología “Bottom-Up” 60
2.5.2 Metodología “Top-Down” 63
3 VHDL-AMS (ANALOG AND MIXED SIGNALS)
- IEEE ESTANDAR 1076.1 68
3.1 INTRODUCCION 68
3.2 CARACTERISTICAS DEL VHDL-AMS 69
3.3 ASPECTOS COMPORTAMENTALES 70
3.3.1 “Quantities” 70
3.3.1.1 “Quantities” Implícitas 71
3.3.1.2 “Branch Quantities” 71
3.3.2 “Simultaneus Statements” (Declaraciones Simultaneas) 72
3.3.3 “Tolerance Groups” (Grupos de Tolerancia) 72
3.3.4 A/D “Interaction” (Interacción A/D) 73
3.3.5 D/A “Interaction” (Interacción D/A) 73
3.4 ASPECTOS ESTRUCTURALES 74
3.4.1 “Conservative Systems” (Sistemas Conservativos) 74
3.4.2 “Natures” (Naturalezas) 74
3.4.3 “Terminals” (Terminales) 75
4 MODELAMIENTO DE CONVERSORES A/D
(ANALOGO-DIGITALES) 76
4.1 INTRODUCCION 76
4.2 MODELAMIENTO DEL CONVERSOR ANALOGO-
DIGITAL DE APROXIMACIONES SUCESIVAS 76
4.2.1 Modelo Comportamental del Conversor de
Aproximaciones Sucesivas 78
4.2.2 Modelo Estructural del Conversor de Aproximaciones
Sucesivas 80
4.2.2.1 Modelo del S/H (“Simple and Hola”) 82
4.2.2.2 Modelo del Comparador 82
4.2.2.3 Modelo del Registro de Aproximaciones
Sucesivas 82
4.2.2.4 Modelo del Conversor Digital-Análogo 83
4.2.2.5 Modelo de “Shift Register” 85
4.3 MODELAMIENTO DEL CONVERSOR ANALOGO-
DIGITAL TIPO PARALELO 85
4.3.1 Modelo Comportamental 86
4.3.2 Modelo Estructural 89
4.3.2.1 Modelo de los Comparadores 89
4.3.2.2 Modelo del Codificador 91
5 RESULTADOS Y ANALISIS 93
5.1 INTRODUCCION 93
5.2 RESULTADOS DEL MODELO COMPORTAMENTAL DEL CONVERSOR TIPO SAR 93
5.2.1 Fuente Senoidal 93
5.2.2 Fuente Triangular 94
5.3 RESULTADOS DEL MODELO ESTRUCTURAL
DEL CONVERSOR TIPO SAR 98
5.3.1 Fuente Senoidal 98
5.3.2 Fuente Triangular 101
5.4 RESULTADOS DEL MODELO COMPORTAMENTAL DEL CONVERSOR DEL TIPO PARALELO 101
5.4.1 Fuente Senoidal 101
5.4.2 Fuente Triangular 104
5.5 RESULTADO DEL MODELO ESTRUCTURAL
DEL CONVERSOR TIPO PARALELO 104
5.5.1 Fuente Senoidal 104
5.5.2 Fuente Triangular 105
5.6 COMPARACION DATOS SIMULACIONES
COMPORTAMENTAL Y ESTRUCTURAL DEL
CONVERSOR SAR 109
5.7 COMPARACION DATOS SIMULACIONES COMPORTAMENTAL Y ESTRUCTURAL DEL
CONVERSOR TIPO PARALELO 110
6 CONCLUSIONES 111
BIBLIOGRAFIA 114
ANEXO A GUIA DE REFERENCIA PARA HACER UN LAYOUT
EN CADENCE 116
ANEXO B SEMANTICAS EN VHDL-AMS 191
ANEXO C RESULTADOS ADICIONALES 196
ANEXO D MANUAL DE INSTALACION DE LIBRERIAS AMS 0.8mm EN PSPICE ESTUDIANTIL ver. 9.0 203
LISTADO DE FIGURAS
Pág.
FIGURA 1.1 Amplificador de Miller Simétrico. 4
FIGURA 1.2 Amplificador sin compensación de Miller. 6 FIGURA 1.3 Respuesta en frecuencia del
amplificador sin compensación. 7
FIGURA 1.4 Amplificador con capacidad de Miller. 7 FIGURA 1.5 Respuesta en frecuencia con
capacidad de compensación variable. 8
FIGURA 1.6 Amplificador de Miller con
compensación mejorada. 9 FIGURA 1.7 Amplificador de Miller definitivo. 9
FIGURA 1.9. Comportamiento en frecuencia del
amplificador de Miller definitivo. 10 FIGURA 1.10 Referencia nMOS y referencia CMOS. 11
FIGURA 1.11 Espejo de corriente 13
FIGURA 1.12 Curva característica del espejo de corriente. 13
FIGURA 1.13 Ruido en espejo de corriente 14 FIGURA 1.14 Espejo de corriente Wilson. 15
FIGURA 1.15 Curva característica del espejo Wilson. 15
FIGURA 1.16 Etapa cascode. 16 FIGURA 1.17 Espejo de corriente cascode. 17
FIGURA 1.18 Espejo de corriente cascote triple. 18
FIGURA 1.19 Espejo cascote optimizado para aumentar
el rango de la tensión de salida. 18 FIGURA 1.20 Comparación entre fuentes de corriente. 19
FIGURA 1.21 Amplificador diferencial resistidamente
cargado. 20
FIGURA 1.22 Par diferencial con fuentes separadas para los modos común y diferencial,
y circuito equivalente. 21 FIGURA 1.23 Medio circuito en modo diferencial puro. 21
FIGURA 1.24 Medio circuito en modo común. 22
FIGURA 1.25 Tensión de offset. 24 FIGURA 1.26 Par nMOS con espejo autopolarizado. 25
FIGURA 1.27 Ruido en el amplificador diferencial. 28
FIGURA 1.28 Par diferencial nMOS y pMOS 30
FIGURA 1.29 GBW vs W/L para el par nMOS y pMOS. 33
FIGURA 1.30 Configuraciones básicas. 34
FIGURA 1.31 Amplificador en fuente común. 36
FIGURA 1.32 Circuito equivalente fuente común. 36 FIGURA 1.33 Efecto Millar 39
FIGURA 1.34 Compensación por efecto MiIler. 41
FIGURA 1.35 Efecto del cero sobre la función de
transferencia. 42 FIGURA 1.36 Etapa Cascode. 43
FIGURA 1.37 Respuesta en frecuencia de la etapa
cascode. 44 FIGURA 2.1 Pirámide de complejidad y niveles de
abstracción [VIL98] 50
FIGURA 2.2 Diagrama Y de Gajski y Kuhn [GAJ97] 53
FIGURA 2.3 Diagrama Y modificado para sistemas análogos [COR00] 54
FIGURA 2.4 Diagrama Y modificado para sistemas
Mixtos. 56 FIGURA 2.5 Flujo de diseño mixto 57
FIGURA 2.6 Metodología de Diseño “Bottom-Up” 61
FIGURA 2.7 Metodología de Diseño “Top-Down” 64
FIGURA 4.1 Diagrama del conversor tipo SAR 77 FIGURA 4.2 Diagrama conversor tipo paralelo 86
FIGURA 5.1 Conversor SAR comportamental, fuente
Senoidal 95
FIGURA 5.2 Tiempos de simulación, conversor SAR, comportamental 96
FIGURA 5.3 Conversor SAR comportamental,
fuente triangular 97 FIGURA 5.4 Conversor SAR estructural, fuente senoidal 99
FIGURA 5.5 Tiempos de simulación, conversor
SAR, estructural 100
FIGURA 5.6 Conversor SAR estructural, fuente
Triangular. 102
FIGURA 5.7 Conversor Flash, comportamental, fuente
Senoidal. 103 FIGURA 5.8 Conversor Paralelo comportamental,
fuente triangular 106
FIGURA 5.9 Conversor Paralelo estructural, fuente
Senoidal 107 FIGURA 5.10 Conversor Paralelo estructural, fuente
Triangular 108
LISTADO DE TABLAS
Pág.
TABLA 1.1 Características eléctricas del
amplificador de Miller según simulación SPICE. 10
TABLA 1.2 Dimensiones de los transistores en
el par diferencial nMOS y pMOS. 31
Tabla 1.3 Comportamiento en DC del par diferencial nMOS y pMOS. 32
TABLA 1.4 Comportamiento en AC del par diferencial
nMOS y pMOS. 32 TABLA 5.1 Comparación SAR, fuente senoidal. 109
TABLA 5.2 Comparación SAR, fuente triangular 109
TABLA 5.3 Comparación Paralelo, fuente senoidal 110
TABLA 5.4 Comparación Paralelo, fuente triangular 110
IEM-II-03-10
1
INTRODUCCION
En el modelamiento de circuitos hasta ahora se ha trabajado mucho en
el énfasis de la electrónica digital, descuidando la descripción de alto
nivel para circuitos análogos, y para sistemas mixtos, la intención de
este documento es presentar mediante un ejemplo de aplicación un
desarrollo practico-teórico el modelamiento de un sistema mixto. Las herramientas disponibles para ayudar a la automatización del
diseño electrónico (Herramientas tipo EDA – “Electronic Design
Automation”) están enfocadas principalmente a desarrollos digitales,
dejando a un lado los sistemas análogos y mixtos; estas herramientas
son esenciales para facilitar el proceso de diseño, madurarlo y
mejorarlo, aumentando la complejidad del mismo.
La intención de este proyecto era presentar un diseño de un sistema
mixto análogo-digital empezando con una descripción de alto nivel en
VHVL-AMS para así llegar a una descripción full-custom del sistema en
un nivel básico de representación en transistores y ver su
implementación VLSI.
Se presentara en este documento la descripción de un conversor
Análogo/Digital en VHDL-AMS y se intento llegar a su síntesis sin éxito
pues la utilización de la herramienta para la descripción VLSI presento
inconvenientes del tipo técnico.
Para la parte del modelamiento en VHDL del conversor Análogo/Digital
se trabajo con una herramienta denominada SMASH versión 4.2.12 la
cual es una versión “trial” por 30 días, la cual me permitió obtener las
simulaciones de los modelos de conversores análogos/digitales
diseñados.
Un amplificador operacional normalmente consiste de cuatro etapas. La
etapa de entrada es un amplificador diferencial de alta ganancia
seguido por un conversor que transforma la salida diferencial doble a
IEM-II-03-10
2
una sencilla, esto debido a que la ganancia obtenida por la etapa inicial
se reducirá a la mitad si la señal se tomara directamente de un lado del
amplificador diferencial. Luego, se incluyen circuitos adicionales de
ganancia de tensión que pueden o no, contener elementos de
compensación para asegurar la estabilidad del amplificador.
Finalmente, se encuentra una etapa de potencia encargada de permitir
al amplificador, el manejo de corrientes de carga apreciables.
El proceso de diseño del amplificador se enfoca de acuerdo a las
mismas etapas descritas en el párrafo anterior, buscando un
amplificador de buen desempeño en cuanto al ancho de banda se
refiere. Como primera medida se hace una revisión de los conceptos
básicos de los transistores MOS, con la finalidad de lograr algún tipo de
intuición acerca de las características geométricas, corrientes y
tensiones de polarización apropiadas en aplicaciones analógicas.
Las dificultades encontradas con la instalación y lograr tener a punto la
herramienta no me permitieron llegar a una solución satisfactoria del
diseño VLSI deseado. Lo que si se logro fue tener una experiencia en la
manipulación de la herramienta la cual permitirá lograr el desarrollo y
final implementación de mi diseño VLSI.
La tecnología con la cual se cuenta gracias a la licencia dada por
Europractice, es 0.8µm AMS, diseñada por el instituto de Austria Mikro
Systeme. Esta tecnología cuenta con dos opciones en las cuales se
puede trabajar: CYE que es CMOS en la cual se consta de Doble Metal y
Doble Polisilicio; y adicionalmente otro tipo de descripción la cual se
denomina BYQ la cual trabaja igualmente con Doble Metal y Doble
Polisilicio pero adicionalmente tiene una opción para trabajar con
resistencias altas. Esta tecnología solo se puede manipular gracias a la
intervención del software de diseño CADENCE, el cual esta instalado
bajo un ambiente Unix (Solares 7).
IEM-II-03-10
3
El proyecto desarrollado está estructurado en seis capítulos y cuatro
anexos, en donde se pretende abordar la comprensión acerca del diseño
de los amplificadores diferenciales, además las técnicas de diseño
actuales, las características del lenguaje empleado, los modelos
desarrollados y los resultados obtenidos.
Presentando a su vez un manual de referencia para el manejo de la
herramienta CADENCE con la que cuenta el CMUA (Centro de
Microelectrónica de la Universidad de Los Andes).
Capítulo 1. Se presenta el amplificador definitivo escogido para ser
diseñado y llevado a su desarrollo VLSI y adicionalmente se presentan
los bloques constitutivos básicos que conforman el amplificador.
Capítulo 2. Introducción al diseño en ingeniería haciendo énfasis en
sistemas electrónicos.
Capítulo 3. En este se presenta una introducción al lenguaje VHDL-
AMS.
Capítulo 4. Modelamiento estructural y comportamental de conversores
Análogos/Digitales de tipos de aproximaciones sucesivas (SAR) y
paralelo (Flash).
Capítulo 5. Resultados y análisis.
Capítulo 6. Conclusiones y comentarios acerca del proyecto.
Anexo A. Manual de manejo de referencia para la utilización del
Software CADENCE.
Anexo B. Semánticas en VHDL-AMS
Anexo C. Mas resultados de las simulaciones de los conversores
análogos/digitales en SMASH.
Anexo D. Manual de instalación de librerías AMS 0.8 µm PSPICE
Estudiantil ver. 9.0.
IEM-II-03-10
4
1. CONCEPTOS BASICOS DEL AMPLIFICADOR
DIFERENCIAL
1.1 AMPLIFICADOR DE MILLER
La característica de este tipo de amplificador consiste en el uso de una capacidad de
compensación para generar un polo dominante que asegure la estabilidad del circuito.
Dicha capacidad se coloca entre polos de alta ganancia de tal forma que el efecto Miller
multiplique su valor al interior del circuito, por lo que no se requiere la implementación
de grandes capacidades dentro del integrado. Es por esto que esta configuración se
conoce como Amplificador de Miller.
Figura 1.1. Amplificador de Miller Simétrico.
IEM-II-03-10
5
En la figura 1.1., se presenta una versión simétrica de amplificador en el cual la salida
diferencial del par es recogida y convertida a una señal referida a través de M5, M6, M7,
M8. La etapa de ganancia es una configuración fuente común modificada para que los
dos transistores contribuyan en la señal de salida. La compensación se realiza con la
realimentación a través de CC donde también puede incluirse una resistencia para
desplazar el cero producido como se indicó en el capítulo anterior.
En este caso específico, el diseño se realizó de tal forma que no fuera necesario
adicionar una etapa de manejo de potencia puesto que la frecuencia de trabajo se recorta
seriamente con cada nueva etapa de amplificación. Nótese como en este esquema, las
tensiones DC permiten un acople directo entre las etapas y por tanto no se requiere
ningún cambio de nivel.
1.1.1 GEOMETRIA
La determinación de los tamaños de los transistores se realizó de la siguiente manera:
• El par diferencial escogido es el mismo par optimizado del capítulo anterior.
• La fuente de polarización es un espejo cascode de baja tensión de salida (Vomin =
0.7V) para 600µA. Las medidas fueron obtenidas de cálculos teóricos y
ajustadas mediante simulaciones SPICE.
• El tamaño de los transistores de la etapa de ganancia se determinó a partir de los
requerimientos en capacidad de carga de dicha etapa, de manera que no fuera
necesario incluir una etapa de potencia. Como capacidad de salida se fijó un
valor de 10pF mientras que la capacidad de entrada de la etapa no debía exceder
1pF. Con estas limitaciones se diseñó una etapa a 100MHz con un consumo
razonable de corriente (1.38mA).
• Para los transistores que convierten la señal diferencial doble a una señal
referida a tierra, el tamaño se obtuvo a partir de ka capacidad de entrada ofrecida
por la etapa de ganancia y de la figura 1.16. Dados los Vgs en todos los
IEM-II-03-10
6
transistores y la isofrecuencia de 100MHz, se llegó a un tamaño inicial que
luego fue optimizado en el circuito completo.
1.1.2 COMPENSACIÓN EN FRECUENCIA
El comportamiento en frecuencia del amplificador sin compensación (figura 1.2) es
mostrado en la figura 1.3.
Figura 1.2. Amplificador sin compensación de Miller.
Aunque el dispositivo amplifica hasta 100MHz, su ángulo de fase no permite su
utilización en lazo cerrado.
Para superar este inconveniente se colocó en primera instancia, una capacidad de
realimentación CC desde la salida hasta la entrada de la etapa de ganancia y se
realizaron simulaciones paramétrica para determinar el valor más adecuado a fin de
lograr la estabilidad (figura 1.4). Es importante tener en mente que esta capacidad afecta
la velocidad de respuesta del amplificador (Slew Rate) por lo cual debe buscarse el
menor valor posible.
IEM-II-03-10
7
Figura 1.3. Respuesta en frecuencia del amplificador sin compensación.
Figura 1.4. Amplificador con capacidad de Miller.
Los resultados de la simulación se ilustran en la figura 1.5. A diferencia de lo que se
esperaba, la capacidad de Miller no generó un cero positivo, sino por el contrario, la
fase resultante indica la existencia de un cero negativo que se desplaza hacia baja
frecuencia conforme la capacidad aumenta. Para valores entre 1pF y 2pF, la posición de
los polos no dominantes y del cero corresponden a frecuencias similares y por esto los
+20dB/década del cero no se observan en la ganancia.
IEM-II-03-10
8
Figura 1.5. Respuesta en frecuencia con capacidad de compensación variable.
En cuanto a la fase, la presencia del cero negativo detiene la caída del ángulo provocado
por los polos e incluso, a valores elevados de capacidad, la pendiente de la fase cambia
de signo. Este resultado es consecuencia de la modificación realizada en la etapa de
ganancia al conectar la compuerta del transistor pMOS para recoger parte de la señal de
salida del par diferencial. Esto introduce algunas impedencias en la realimentación que,
junto con la capacidad de compensación, determinan la posición del cero negativo. Si
este transistor fuese únicamente utilizado como carga de la fuente común, entonces se
produciría el cero positivo esperado y la frecuencia de trabajo estable no iría más allá de
los 40MHz, aunque se incluyera la resistencia adicional en el lazo de compensación.
El lazo e compensación RC es mostrado en la figura 1.6. Como se indicó anteriormente,
la resistencia desplaza el cero generado por la compensación de manera que pueda
anularse con uno de los polos no dominantes.
En un proceso interactivo de simulaciones se encontró que el mejor comportamiento en
frecuencia se tiene con una capacidad de 1.5pF, que genera un cero negativo para luego
desplazarlo con un transistor de paso que desempeña el papel de la resistencia. Este
transistor es de tipo pMOS lo que permite colocarlo en un pozo n aislado y conectar
fuente y sustrato al mismo. Mediante simulaciones se llegó al tamaño definitivo de este
transistor logrando una resistencia de aproximadamente 4KΩ lo que ubica el cero lo
más cercano posible al segundo polo con el mejor balance fase-ancho de banda. De
acuerdo con lo anterior, el circuito definitivo se presenta en la figura 1.7 relacionando
las medidas geométricas de todos los transistores y su comportamiento en frecuencia es
mostrado en la figura 1.8.
IEM-II-03-10
9
Figura 1.6. Amplificador de Miller con compensación mejorada.
Figura 1.7. Amplificador de Miller definitivo.
IEM-II-03-10
10
Figura 1.9. Comportamiento en frecuencia del amplificador de Miller definitivo.
Las principales características eléctricas del amplificador se reseñan en la siguiente
tabla.
Tabla 1.1. Características eléctricas del amplificador de Miller según simulación
SPIGE.
AMPLIFICADOR DE MILLER Caracteristicas Electricas Vsupply 2.5V
CL 10pF Av0 65,19 dB
GWB 64.3MHz PM 55
CMRR 170dB SR SRf 138V/µs
Voffset 3,81µV Ptot 17,3mW Itot 3,46mA
A continuación se enuncian los principales bloques constitutivos de nuestro
amplificador diferencial del tipo de Millar el cual tiene como intención llevar a una
representación de layout para luego capturarlo como un símbolo y así volverlo algo
recurrente en el resto del diseño.
IEM-II-03-10
11
1.2 BLOQUES CONSTITUTIVOS BASICOS DEL
AMPLIFICADOR DE MILLER.
1.2.1 REFERENCIA DE TENSIÓN
Dentro de los circuitos analógicos, es indispensable contar con niveles de referencia de
los cuales puedan derivarse las diferentes tensiones de polarización dentro del circuito.
Estas referencias pueden obtenerse con divisores de tensiones simples, como el
mostrado en la figura 1.10(a), en la cual se observan cuatro transistores conectados
como diodos, y donde las tensiones de salida dependerán de las dimensiones relativas
de los transistores implicados.
Figura 1.10. Referencia nMOS y referencia CMOS.
Como se analizó en el capitulo anterior, la tensión Vsb entre fuente y sustrato altera el
Vth y por tanto la tensión efectiva de compuerta. Por esta razón, aunque los transistores
fuesen idénticos, la división de tensiones tiene un porcentaje de error respecto al ideal,
que aumenta entre mayor sea el número de transistores en la serie, puesto que las
diferencias entre Vsb serán aún más marcadas. Para minimizar esta situación, pueden
implementarse referencias compuestas por transistores n y p (figura 1.10.(b)), de forma
que se logre cierta simetría entre los Vsb de la parte n y los Vsb de la parte p. en estos
IEM-II-03-10
12
casos, debe tenerse en cuenta la diferencia de movilidad entre transistores y realizar las
correcciones geométricas requeridas.
1.2.2 FUENTES DE CORRIENTE
Las fuentes de corriente se constituyen en uno de los circuitos básicos en la
construcción de amplificadores, desempeñándose como elementos de polarización y
como dispositivos de carga, debido a que ocupan menor área que los elementos pasivos
con un control mas preciso de las características requeridas.
El uso de fuentes de corriente para la polarización puede dar como resultado una gran
insensibilidad del funcionamiento del circuito a variaciones en la fuente de alimentación
y en la temperatura. Cuando se utilizan en amplificadores como elementos de carga, a
tensiones de alimentación bajas, la alta resistencia de salida de la fuente contribuye a
una alta ganancia de tensión.
1.2.2.1 ESPEJO DE CORRIENTE
La topología más simple utilizada se denomina espejo de corriente. La figura 1.11
muestra un espejo tipo n. el transistor M1 conectado en forma de diodo genera una
tensión de polarización Vgs1 definida por Ii.
Dado que Vgs1 es igual a Vgs2 y que tanto M1 como M2 están en la región de saturación,
se tiene:
( )2
2
1
12 22WL
CI
WL
CI
VVox
o
ox
ithgs µµ
==−
BLW
WL
II
i
o ==2
2
1
1 Ec. 1.1
IEM-II-03-10
13
Figura 1.11. Espejo de corriente
Para transistores idénticos, la relación es la unidad, esto es, la corriente de salida es un
reflejo de la corriente de entrada. En la práctica, es inusual obtener transistores
totalmente idénticos puesto que existen errores inherentes a los procesos de fabricación.
Así los Vds no son exactamente iguales lo que a su vez introduce otro error en la
relación de corrientes por efecto de la modulación en la longitud del canal.
Una diferencia significativa en relación con el espejo de corriente bipolar es que la
resistencia de salida MOSFET para Id dada, se puede elevar al incrementar la longitud
del canal. Sin embargo, en ambos casos, la resistencia de salida es inversamente
proporcional a la corriente de polarización.
Otro punto importante, es que el valor de la tensión de salida Vds2, donde la fuente de
corriente MOS ya no tiene la resistencia de salida alta deseada, esta dada por la tensión
de estrangulamiento del canal (Vds = Vgs - Vth = Vp), por debajo del cual el transistor
M2 entra en la región lineal.
La característica I-V del espejo de corriente tiene la forma de la figura 1.12.
Figura 1.12. Curva característica del espejo de corriente.
Las características del espejo simple se resumen en:
IEM-II-03-10
14
2oo rR = Ec. 1.2
po VV =min
1.2.2.1.1 Consideraciones de ruido
Considérese la fuente de corriente mostrada en la figura 1.13, con una relación de
transformación B, y donde se incluye el ruido t’ermico de cada transistor y de la
corriente de referencia.
La densidad espectral de corriente de ruido a la salida se obtiene al reflejar todas las
componentes a través de la relación de transformación B.
( ) 22222nnnn iiiBi
inout++= Ec. 1.3
( ) ooxnx IL
WCBkTiBiinout
2
222 213
16⎥⎦⎤
⎢⎣⎡++= µ
De aquí se concluye que para minimizar la corriente de ruido a la salida es conveniente
trabajar relaciones pequeñas B y W/L para el transistor de salida.
Figura 1.13. Ruido en espejo de corriente
IEM-II-03-10
15
1.2.2.2 Espejo Wilson
Una versión mejorada conocida como espejo Wilson, se construye adicionando dos
nuevos transistores que forman un lazo de realimentación negativa asegurando que las
tensiones Vds1 y Vds2 sean iguales lo que disminuye la diferencia entre la corriente de
entrada y la de salida, y además incrementa la resistencia de salida de la fuente.
Figura 1.14. Espejo de corriente Wilson.
Sin embargo, debido a su configuración, el manejo de señal es menor ya que la tensión
de salida del espejo debe ser suficiente para mantener en saturación a los transistores
por los que fluye la corriente de salida.
Figura 1.15. Curva característica del espejo Wilson.
IEM-II-03-10
16
Las características del espejo Wilson se resumen así:
( )212
2 oomo rrgR +≈ Ec. 1.4
thpo VVV += 2min
1.2.2.3 ESPEJO CASCODE
La etapa cascode consiste en dos transistores, uno de los cuales se encuentra en
configuración fuente común y el otro en compuerta común como se observa en la
figura 1.16. El transistor en compuerta común provee una alta resistencia de salida, en
particular útil para obtener desensibilización respecto a la fuente en alimentaciones de
polarización de referencia, y para grandes ganancias de tensión en una sola etapa de
amplificación con una carga activa.
La alta resistencia de salida de la etapa cascote, la hace atractiva para la implementación
de fuentes de corriente, la cual se observa en la figura 1.17. Los transistores M1 y M3
constituyen la fuente de corriente básica. El transistor M2 actúa como la parte de
compuerta común del cascote y transfiere la corriente del drenaje de M1 a la salida, en
tanto que presenta una resistencia de salida alta. El transistor M4 actúa como diodo de
cambio de nivel para asegurar que M1 se conserva en saturación.
Figura 1.16. Etapa cascode.
IEM-II-03-10
17
Figura 1.17. Espejo de corriente cascode.
A diferencia de las fuentes bipolares, donde la corriente de base limita la resistencia de
salida [GRA95], en la fuente cascote MOS, donde dicha corriente no existe, la adición
de más dispositivos cascote apilado permite alcanzar una resistencia de salida
arbitrariamente alta, limitada solamente por corriente de fuga al sustrato en niveles
moderados altos de tensión de salida.
Un inconveniente importante de la fuente cascote es que debido a que están apilados la
fuente de referencia y los dispositivos cascote, el rango de trabajo de la tensión en el
nodo de salida, para el cual ambos transistores están en saturación, resulta más pequeño
que para el espejo simple, agravándose con la adición de nuevas etapas cascotes.
Las características del espejo cascote básico se resumen de la siguiente forma:
[ ]1122
1 oomoo rrgrR ++= Ec. 1.5
ptho VVV 2min
+=
Además, cuando se agrega nuevas etapas cascote, la resistencia y la tensión mínima de
salida, se ven aumentadas. En la figura 1.18. se presenta una fuente cascote triple y sus
características se relacionan en la Ec. 1.6.
[ [ ( ) ] ( )1122112233
111 oomooomomoo rrgrrrgrgrR ++++++= Ec. 1.6
IEM-II-03-10
18
ptho VVV 42min
+=
Figura 1.18. Espejo de corriente cascote triple.
Figura 1.19. Espejo cascote optimizado para aumentar el rango de la tensión de salida.
Nótese como el efecto limitante de Vp en rango de la tensión de salida se disminuye al
aumentar el valor de W y al polarizar los transistores con pequeñas corrientes. Sin
embargo, el valor de Vth sigue siendo importante por lo que un arreglo de polarización
más óptimo, que permite un rango mayor de la tensión de salida, es aquel en el cual el
transistor M1 se polariza en el borde de la saturación. Esto se puede conseguir al insertar
un dispositivo de cambio de nivel de tensión en la compuerta de M2 tal como se muestra
en la figura 1.19.
IEM-II-03-10
19
1.2.2.4. COMPARACIÓN ENTRE FUENTES DE CORRIENTE
Figura 1.20. Comparación entre fuentes de corriente.
En la figura 1.20. se realiza una comparación entre las fuentes de corriente relacionadas
anteriormente indicando la tensión mínima y la variación en la corriente de salida, para
cada una de ellas.
De los resultados de simulación se observa un mejor desempeño de la fuente cascote,
con un incremento despreciable en la corriente de salida y una tensión m’inima
fácilmente ajustable con la configuración de la figura 1.19. A diferencia del cambio
brusco presente en la fuente Wilson por debajo del V0min, el espejo cascote exhibe una
disminución lenta en la corriente de salida lo que puede ser ventajoso en circunstancias
extremas de funcionamiento.
IEM-II-03-10
20
1.2.3 AMPLIFICADOR DIFERENCIAL
El amplificador acoplado por fuente, también conocido como par diferencial por su
capacidad de responder ante la diferencia entre las señales aplicadas, es utilizado como
etapa de entrada en la mayoría de los amplificadores MOS debido a su gran impedancia
de entrada, y a su alto rechazo de señal en modo común, que significa baja sensibilidad
al ruido ambiental.
Con el fin de lograr una primera aproximación al comportamiento de esta
configuración, considérese al amplificador diferencial de la figura 1.21., formado por
dos transistores idénticos M1 y M2 cargados con resistencias de drenaje Rd, también
idénticas. La fuente de corriente Iss provee la corriente de polarización que deberá
dividirse entre los transistores según la tensión diferencial de entrada. Como se puede
ver, este amplificador recibe dos señales a la entrada y entrega dos señales de salida
todas ellas referidas a tierra.
Dado que es un circuito puramente simétrico, es posible obtener simplificaciones a un
amplificador sencillo en fuente común. A fin de mantener el mismo comportamiento,
deben realizarse correcciones en los valores de los elementos.
Figura 1.21. Amplificador diferencial resistidamente cargado.
IEM-II-03-10
21
Figura 1.22. Par diferencial con fuentes separadas para los modos común y diferencial,
y circuito equivalente.
1.2.3.1 GANANCIA
Analícese el medio circuito con tensión entrada puramente diferencial (figura 1.23.),
donde la simetría permite cortocircuitar Rss.
Figura 1.23. Medio circuito en modo diferencial puro.
Del circuito equivalente, la expresión para la ganancia diferencial será:
( )domd RrgA −= Ec. 1.7
También puede verse como la entrada MOSFET exhibe una altísima resistencia de
entrada diferencial.
IEM-II-03-10
22
Tomando ahora el medio circuito con entrada de modo común, donde un análisis
detallado obliga a duplicar Rss
Figura 1.24. Medio circuito en modo común.
Para la ganancia en modo común se tiene:
( )
⎥⎦
⎤⎢⎣
⎡+
++
−=
do
moss
domc
Rrgr
R
RrgA
121
Ec. 1.8
1.2.3.2 RECHAZO EN MODO COMUN
La capacidad de un amplificador de rechazar las señales de modo común se especifica
en términos de la Razón de Rechazo en Modo Común (CMRR) definida usualmente en
dB como:
CMMRR = 201og c
d
AA Ec. 1.9
La CMRR es una función de la frecuencia, disminuyendo según ésta se incrementa.
De las Ec. 1.7. y 1.8., la CMRR del amplificador diferencial MOS será:
CMRR=201og ⎥⎦
⎤⎢⎣
⎡+
++
do
moss Rr
grR
121 Ec. 1.10
IEM-II-03-10
23
De donde se ve la importancia de una alta resistencia de salida en la fuente de corriente
de polarización, para que el amplificador se acerque a la condición ideal de CMRR
infinita.
1.2.3.3. RANGO DE LINEALIDAD
El rango de trabajo del amplificador diferencial está determinado por el intervalo de la
tensión diferencial de entrada, para el cual los transistores del par acoplado mantienen
una corriente Id menor que Iss y mayor que cero.
La razón de esta limitante radica en el valor fijo de la fuente de corriente de polarización
Iss, que deberá repartirse entre dos transistores según la tensión diferencial de entrada.
Cuando dicha tensión excede cierto valor, toda la corriente de polarización fluirá por
algunos de los transistores obligando al otro a mantener una corriente igual a cero.
Después de este punto, para cualquier aumento en la tensión diferencial, las corrientes
se mantienen estables en esos dos valores extremos por lo cual el amplificador ya no
estará dentro de la región lineal sino que se habla de la región de saturación del
amplificador.
Realizando una sumatoria de tensiones en la malla de entrada y despreciando el efecto
de cuerpo, se llega a la siguiente expresión para la tensión diferencial de entrada Vid:
LWC
IV
ox
ssid
2µ
≤ Ec. 1.11
Puede verse que la tensión diferencial máxima depende no sólo de los parámetros del
proceso, sino también de la geometría de los transistores de entrada y de la corriente de
polarización.
IEM-II-03-10
24
1.2.3.4. TENSIÓN DE OFFSET
La tensión de offset se define como aquella tensión DC diferencial de entrada que se
requiere para hacer que la tensión diferencial de salida sea exactamente cero. En la
figura 1.25.,se presenta el circuito para la determinación del Vos.
Al sumar tensiones alrededor de la malla de entrada se obtiene:
21 gsgsos VVV −=
21
2
2
1
1
22
⎥⎦⎤
⎢⎣⎡
−−
⎥⎦⎤
⎢⎣⎡
+=
LWC
IV
LWC
IVV
ox
dth
ox
dthos
µµ
Figura 1.25. Tensión de offset.
Redefiniendo las diferencias y los promedios de los parámetros.
21 ththth VVV −=∆ 21 ddd III −=∆
221 thth
th
VVV
+=
221 dd
d
III
==
21⎥⎦⎤
⎢⎣⎡−⎥⎦
⎤⎢⎣⎡=⎥⎦
⎤⎢⎣⎡∆
LW
LW
LW
21 ddd RRR −=∆
IEM-II-03-10
25
221 dd
d
RRR
−=
221⎥⎦⎤
⎢⎣⎡+⎥⎦
⎤⎢⎣⎡
=⎥⎦⎤
⎢⎣⎡ L
WL
W
LW Ec. 1. 12
Así, la Ec. 1.12 se convierte en
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛ ∆+⎟⎟
⎠
⎞⎜⎜⎝
⎛ ∆−−∆=
LW
LW
d
dthgtho R
RVVVV
25
5 Ec. 1. 13
En la Ec 1.13. se observa una fuerte dependencia entre la tensión de offset y el punto de
polarización; cualquier desigualdad geométrica de los transistores o en los elementos de
carga se verá multiplicada por la mitad de la tensión efectiva de compuerta. El otro
factor es un componente de desigualdad en la tensión de umbral, función directa de la
calidad y uniformidad del proceso de fabricación y se puede mejorar mediante una
cuidadosa disposición física.
1.2.3.5. FUENTE DE CORRIENTE COMO CARGA ACTIVA
La utilización de las fuentes de corriente como cargas activas, estriba en la necesidad de
obtener valores significativos de resistencia, principalmente en amplificadores, donde la
ganancia depende de la resistencia de carga y donde la implementación de un elemento
pasivo de valores semejantes requeriría demasiado espacio, además de consumir gran
cantidad del potencial de la fuente, lo que restringiría el rango de trabajo de los
elementos activos.
Figura 1.26. Par nMOS con espejo autopolarizado.
IEM-II-03-10
26
Una aplicación de lo anterior consiste en remplazar las resistencias de drenaje del
amplificador diferencial estudiado, por una fuente de corriente controlada por medio de
la corriente de drenaje de uno de los lados del par acoplado en fuente. Esta conexión
rompe la simetría tenida hasta ahora, de manera que la tensión de salida ya no es
diferencial, sino referida a tierra en el otro lado del par y el circuito equivalente no
puede ser simplificado en medio circuito.
Una característica importante derivada de la fuente de carga activa autopolarizada es la
CMRR excelente, pues las variaciones en la corriente de polarización, a causa de
tensiones de modo común, son equilibradas por el efecto reflejo de la fuente de carga, lo
que mantiene constante la tensión de salida.
De un análisis de circuito equivalente [SAN97], se obtienen las siguientes expresiones
para la ganancia diferencial, el ancho de banda a ganancia diferencial unitaria y la
resistencia de salida del par acoplado con carga activa autopolarizada.
( )421 omd rrgA
o−= Ec.1.14
L
m
Cg
GBWπ2
1= Ec.1.15
41 ooo rrR = Ec.1.16
La similitud entre ganancias diferenciales con carga resistiva y con carga activa
autopolorizada (Ec. 1.7. y Ec. 1.14.) demuestra que al incluir la fuente de corriente
como elemento de carga, la tensión diferencial de salida de dos terminales se convirtió
en una tensión referida a tierra, sin perdidas de ganancia como ocurría al tomar un solo
lado en el circuito con carga resistiva.
De otra parte, el papel de la resistencia de salida de la fuente de carga activa en el valor
de la ganancia sugiere una fuente de alta resistencia para obtener alta ganancia, esto a su
vez implicaría una alta resistencia de salida del amplificador diferencial por lo que debe
tenerse cuidado con etapas posteriores con baja resistencia de entrada.
IEM-II-03-10
27
1.2.3.5.1 Consideraciones para la Estabilidad
Un aspecto importante dentro del diseño de amplificadores operacionales consiste en
asegurar la estabilidad del circuito en esquemas realimentados negativamente. El
problema de la estabilidad se resume en determinar la posición de las raíces de la
función de transferencia del circuito en lazo cerrado, de manera tal, que dentro del rango
de trabajo del amplificador, no se presenten puntos en los cuales la realimentación
negativa se torne positiva causando oscilaciones o puntos de indeterminación que
lleven al amplificador a la saturación. Uno de los métodos para determinar la estabilidad
de un circuito, consiste en utilizar los diagramas de Bode para establecer el margen de
fase (PM), definido como la diferencia entre 180º y el ángulo de la señal de salida
cuando la ganancia se vuelve unitaria.
A fin de encontrar el diagrama de Bode del par diferencial debe considerarse las
capacidades a tierra en todos los nodos del circuito, puesto que éstas juegan un papel
fundamental en la posición de los polos de la función de transferencia.
De acuerdo con lo anterior, las mayores capacidades se encuentran en los nodos de
drenaje del par diferencial alcanzando el orden de los pico faradios. Al considerar la
capacidad de carga en el nodo de salida, este nodo presentará la capacidad más alta del
circuito generando un polo de baja frecuencia que determina el ancho de banda de
trabajo del amplificador. El polo generado por la capacidad en el otro drenaje estará
ubicado a una frecuencia mayor y es quien determina el margen de fase y el
amortiguamiento del sistema.
El circuito tendrá entonces una función de transferencia de dos polos de esta forma:
⎟⎟⎠
⎞⎜⎜⎝
⎛+⎟⎟
⎠
⎞⎜⎜⎝
⎛+
=
21
11ffj
ffj
AA o Ec.1.17
Para efectos prácticos, un amplificador se considera estable si el margen de fase, en lazo
abierto, es mayor de 45º. Sin embargo, en este punto, la ganancia unitaria en lazo
cerrado presenta un sobrepico considerable en el punto de cambio de pendiente, lo que
IEM-II-03-10
28
no lo hace muy recomendable como criterio de diseño. Si la posición del segundo polo
es aproximadamente cuatro veces el GBW, entonces el sobrepico se anula y el margen
de fase estaría alrededor de los 76º.
1.2.3.5.2 CONSIDERACIONES DE RUIDO
Considérese la figura 1.29 donde se incluyen las corrientes de ruido térmico de todos los
transistores. La fuente de polarización no contribuye al ruido por el efecto
insensibilzante de la carga activa, ante los cambios en la corriente de polarización.
Basándose en la identidad geométrica entre ambos lados del par y suponiendo corrientes
de polarización también idénticas, se simplifica el análisis al considerar igualdad en las
componentes de ruido. Así, la densidad espectral de corriente de ruido total a la salida,
se obtiene a partir de los mismos procedimientos aplicados en el estudio del ruido en el
espejo de corriente.
Figura 1.27. Ruido en el amplificador diferencial.
( ) 21
23
23
21
2 2 nnnnn iiiiiout
−++=
Refiriendo este ruido a la entrada por medio de la transconductancia y reemplazando in
se tiene:
IEM-II-03-10
29
2
22
1m
nn g
iv out
eg= Ec. 1.18
⎥⎥⎦
⎤
⎢⎢⎣
⎡+=
1
3
1
31
3162
m
m
mn g
ggkTv
eg
De donde se puede ver la conveniencia de hacer pequeña la relación [W/L]3 hacer
grande [W/L]1.
1.2.3.6. LIMITACIÓN EN LA VELOCIDAD DE RESPUESTA (SLEW
RATE)
Todo el análisis realizado anteriormente supone la operación del amplificador con una
IEM-II-03-10
30
SR=totalC
I max Ec. 1.19
Una posible solución consiste en utilizar una etapa de polarización dinámica encargada
de incrementar la corriente de polarización del par diferencial cuando se detecta una
señal diferencial grande a la entrada. Esta corriente extra es suministrada con un par
adicional de transistores de entrada, diseñado para conducir cuando señales
suficientemente grandes sean aplicadas [KLI89].
Otras maneras de aumentar la SR se vislumbran reemplazando la CL por su efecto sobre
el ancho de banda a ganancia unitaria GBW (Ec 1.15). Así:
SR=1
2
m
ss
gIπ
GBW Ec. 1.20
Esta expresión provee un enlace entre el comportamiento a pequeña y a gran señal e
indica que la SR puede ser mejorada incrementando GBW mediante reducción en la
capacidad de compensación, o reduciendo la gml.
1.2.3.6.1 COMPARACIÓN ENTRE ETAPA DE ENTRADA nMOS y
pMOS
Figura 1.28. Par diferencial nMOS y pMOS
En la figura 1.28 se observa dos amplificadores diferenciales, uno con entrada n y el
otro con entrada p, utilizando carga activa un espejo formado por transistores
complementarios.
IEM-II-03-10
31
Con el fin de comparar los dos circuitos, se diseñaron dos amplificadores con las
mismas corrientes de polarización, buscando maximizar el ancho de banda. La tensión
en la fuente de carga se fijo en un valor de 2.5V, lo que se refleja en un mínimo para la
tensión de salida cuando la tensión de entrada es cero.
Como se indicó anteriormente, las capacidades generadas por el tamaño de los
transistores afectan directamente la respuesta en frecuencia y la estabilidad, por esto, la
relación W/L del par se fue modificando a fin de alcanzar el punto óptimo de trabajo
para GBW.
Con el objetivo de aumentar el ancho de banda, la longitud del canal de los transistores
del par se tomó en 3.6µm. Para esta longitud, la incidencia del efecto de la modulación
del canal se refleja básicamente en dos puntos: disminución de la ganancia y el aumento
del rango de linealidad respecto a longitudes mayores, para la misma relación W/L.
Los resultados de la simulación son:
1. REQUERIMIENTO DE AREA
Las medidas de los transistores para el par optimizado se relacionan en la siguiente
tabla.
Tabla 1.2 Dimensiones de los transistores en el par diferencial nMOS y pMOS.
DIMENSIONES GEOMETRICAS DE LOS TRANSISTORES
Par Diferencial Carga Activa Complementada
PAR W(µm) L(µm) W/L W(µm) L(µm) W/L NMOS 144 1,44 100 28 1,92 14,5PMOS 100,2 1,44 70 10 1,92 5,25
IEM-II-03-10
32
Tabla 1.3 Comportamiento en DC del par diferencial nMOS y pMOS.
COMPORTAMIENTO EN DC Rango de Linealidad VOFFSET Vss Vgs-Vth
PAR Vin(mV) V0(V) (µV) (V) (V) NMOS -2,0346 2,9972 -0,778 1,1475 -26,271 1,3052 0,3448
PMOS -6,0427 5,0167 -1,027 0,889 -112,85 0,9924 0,6577
3. COMPORTAMIENTO EN AC
Como era de suponer, la mayor movilidad de los portadores en el par nMOS se refleja
en una mayor frecuencia de operación.
Tabla 1.4. Comportamiento en AC del par diferencial nMOS y pMOS.
COMPORTAMIENTO EN AC PAR AV(dB) GWB(MHz) PM(") NMOS 51,785 112,465 61,68 PMOS 44,65 73,05 66,9
Al tratar de incrementar la velocidad del par diferencial aumentando la relación W/L,
las capacidades parásitas generadas se convierten en un factor limitante. Lo anterior se
ilustra en la figura 1.29., donde el máximo en GBW es el punto utilizado en la
comparación.
Por otra parte, para las relaciones W/L encontradas, el par nMOS presenta una mayor
tensión efectiva de compuerta (Vgs-Vth), lo que se traduce en una mayor relación W/L
para la misma corriente y por lo mismo en una transconductancia mayor, lo que sugiere
en un incremento de ganancia y de ancho de banda.
IEM-II-03-10
33
Figura 1.29. GBW vs W/L para el par nMOS y p MOS.
En cuanto a la estabilidad, los dos amplificadores son estables siendo mejor el pMOs
con un margen de fase mayor, lo que a su vez implica un menor sobrepico en una curva
de ganancia en el lazo cerrado.
Dado que la simulación se realizó con una fuente ideal de polarización, no puede
concluirse mucho acerca de la ganancia en modo común ni de la CMRR de los
amplificadores. Sin embargo la curva de ganancia obtenida no exhibe diferencias
considerables entre un par y el otro.
1.2.4 ETAPA DE AMPLIFICACIÓN
Con el fin de lograr la alta ganancia de tensión propia de un amplificador operacional,
es necesario contar con etapas de amplificación de tensión posteriores al par diferencial
que, además de incrementar los niveles de tensión, muchas veces incluyen elementos de
compensación. Por otro lado, debe proveerse una etapa de amplificación de corriente a
la salida, capaz de manejar las cargas de valores relativamente altos.
IEM-II-03-10
34
Al igual que los transistores bipolares, los MOSFET también pueden emplearse como
amplificadores en tres configuraciones básicas: fuente común, drenaje común y
compuerta común, cada una de ellas con una combinación diferente de resistencia de
entrada, resistencia de salida, ganancia de tensión y ganancia de corriente, que las hace
apropiadas para diferentes aplicaciones.
El comportamiento a pequeña señal y baja frecuencia de estas tres configuraciones, ha
sido tratado ampliamente dentro de la literatura. Por ella, en este proyecto, no se
recogen más que los resultados, fácilmente obtenibles al emplear el circuito equivalente
simplificado para el MOSFET del capítulo anterior.
Figura 1.30. Configuraciones básicas.
En la analogía con el caso bipolar, es frecuente la utilización de la fuente común en
etapas de preamplificación mientras que el drenaje común, también conocido como
seguidor fuente, es ampliamente usado como acoplador de impedencias, como
desplazador de nivel en DC o en etapas de potencia para su baja impedencia de salida.
En general, la ganancia de tensión del seguidor fuente se acercará a la unidad y la
resistencia de salida será el inverso de la transconductancia, siempre y cuando se anule
el efecto de cuerpo.
IEM-II-03-10
35
Respecto a configuración en compuerta común, ésta presenta una alta resistencia de
salida, lo que hace especialmente útil en la realización de fuentes de corriente donde el
nivel de tensión no altere el valor de la corriente circulante. En casos donde la
impedancia de salida no represente una limitación, las excelentes características en
frecuencia de esta configuración pueden aprovecharse en etapas de salida de alta
frecuencia obteniéndose una ganancia de tensión adicional en dicha etapa.
En lo que este proyecto se refiere, las arquitecturas escogidas ya incluyen sus
respectivas etapas de amplificación de tensión. El amplificador Miller utiliza una
configuración en fuente común con capacidad de compensación, mientras que los otros
dos esquemas emplean etapas cascote con un mejor desempeño en frecuencia.
Para el diseño de la etapa de salida, es importante tener presente que esta etapa debe
satisfacer ciertos requisitos importantes: Primero, entregar una señal con una cantidad
específica de potencia con niveles aceptables de distorsión. Segundo, presentar una baja
impedencia de salida, de tal forma que la ganancia de voltaje quede relativamente
insensible al valor de la impedencia de carga. Tercero, no debe imponer limitaciones
importantes en la respuesta de frecuencia del circuito y finalmente, tener un bajo
consumo de potencias en reposo.
Un análisis preliminar en DC demuestra que aunque el seguidor fuente sería la mejor
elección para la elaboración de una etapa de manejo de potencia con baja impedencia de
salida, las condiciones de polarización requerirían de un circuito más complejo
(Amplificador clase B o AB) para lograr simetría. Por esta razón, se utilizará una etapa
de salida sencilla en fuente común.
Por otra parte, las necesidades en frecuencia implícitas dentro de este proyecto obligan
una optimización en la etapa de potencia de forma que no represente una limitación
importante en la frecuencia de trabajo.
IEM-II-03-10
36
1.2.4.1 AMPLIFICADOR EN FUENTE COMÚN
El amplificador de fuente común se representa en la figura 2.22.
Figura 1.31. Amplificador en fuente común.
A fin de encontrar una mejor aproximación al comportamiento en alta frecuencia del
transistor en configuración fuente común, considérese el circuito equivalente sin
despreciar las componentes capacitivas Cgs, Cgd y la capacidad en el nodo de salida Cn.
Figura 1.32. Circuito equivalente fuente común.
Cuya función de transferencia es:
( ) ( )( ) ( ) ( )[ ] 12 ++++++++
−=
gdmsogdoogsgdsgdgsgsogdoso
mgdo
CgRrCCrCCRsCCCCCCRrsgsCr
sH
Ec. 1.21
con:
IEM-II-03-10
37
doo Rrrnmos
=
nLo CCC +=
Considerando los dos polos suficientemente separados, las raíces de la ecuación serán
entonces:
( ) ( ) gdsomgsgdsogdo CRrgCCRCCrP
++++≈
11 Ec. 1.22
gsogdogs
gdm
CCCCCCg
P++
≈2
gd
m
Cg
z ≈
Como se puede ver, Cgd juega un papel determinante en la posición de los polos y el
cero. Y junto con la resistencia de salida de la fuente de señal, define el polo dominante
de la función de transferencia.
Dada la fuerte dependencia entre las capacidades del modelo y las dimensiones
geométricas del transistor, y de la importancia de éstas como parámetros de diseño, es
conveniente obtener conclusiones a partir de simulaciones y no de un complejo análisis
matemático.
Por esto se realizaron un conjunto de simulaciones buscando el mejor comportamiento
en AC de la etapa alterando la geometría, la capacidad de carga y la resistencia de salida
de la fuente de señal. Los resultados se presentan a continuación:
1. Geometría
Como era de esperarse, para un mismo Vgs, la frecuencia de corte aumenta con el
tamano, sin embargo el ángulo de fase para dicha frecuencia es cada vez menor de
manera que esta ganancia adicional puede llevar a la inestabilidad del circuito completo.
El comportamiento de la fase antes de dicho punto es mejor entre mayor el tamaño del
transistor pues el polo dominante está a mayor frecuencia. Así que el tamaño más
apropiado sería aquel en el cual la frecuencia de corte coincide con el punto de
IEM-II-03-10
38
confluencia, aprovechando de esta forma la mayor frecuencia posible sin empeorar la
situación de la fase.
No debe olvidarse la relación inversa entre la corriente de polarización, la cual aumenta
con el tamaño, y la resistencia de salida. Este es un factor importante en el diseño de las
etapas de potencia.
2. Capacidad de carga
Como lo predice la teoría, la capacidad altera la velocidad de cualquier circuito no
siendo éste la excepción a la regla. Por esto, debe cuidarse el tamaño en etapas en
cascada pues lo que se gana con el tamaño en una de ellas puede perderse en la anterior.
Comparando la fase correspondiente a las respectivas frecuencia de corte para distintas
capacidades de carga, se observa un comportamiento menos crítico que en el caso
anterior. En general, a menor capacidad de carga, el polo dominante se ubica a mayor
frecuencia y su ángulo de fase se hace más negativo.
3. Resistencia de salida de la fuente de señal
Si se observa con cuidado la función de transferencia de la Ec. 1.21., puede advertirse
como en el límite cuando Rs tiende a cero, la función sólo presenta un polo con lo que la
fase no va más allá de los 9º y la ganancia presenta una única pendiente de -
20dB/decada. Al incrementar Rs, un polo del infinito se acerca al polo dominante
contribuyendo a la ganancia con otros -20dB y a la fase con 90º adicionales. Por esta
razón, es conveniente mantener el valor de Rs lo más bajo posible.
1.2.4.1.1
IEM-II-03-10
39
El esquema más simple de compensación consiste en reducir el ancho de banda del
amplificador. Para esto, se introduce un polo dominante del circuito, de tal forma que el
desplazamiento de la fase se reduzca a menos de 180º (en realidad, a menos de 135º)
cuando la ganancia de lazo abierto sea la unidad. Esto involucra un sacrificio en la
frecuencia de trabajo del amplificador.
Este nuevo polo dominante se logra al añadir una capacidad adecuada a la salida de la
etapa de amplificación diferencial. Sin embargo, esta conexión requeriría un valor
demasiado alto de capacidad, impracticable dentro de un circuito monolítico. Para
superar este inconveniente, se aprovecha el efecto de Miller es una etapa de ganancia
de tensión, reduciendo el valor de la capacidad de compensación a niveles manejables.
1.2.4.1.1.1.EFECTO MILLER
Considérese una red como la mostrada en la figura 1.32., donde una admitancia Y sirve
de puente entre los nodos 1 y 2, que a su vez pueden estar conectados a otras redes. El
efecto Miller permite los dos puertos de la red mediante el reemplazo de la admitancia
Y por dos admitancias a tierra en cada uno de los nodos.
Figura 1.33. Efecto Miller
Para poder reemplazar la admitancia en serie, es necesario asegurar que las tensiones y
las corrientes en los nodos se mantengan invariantes después de la transformación del
circuito.
De un análisis detallado se obtiene:
( )KYY −= 11 Ec. 1.23
IEM-II-03-10
40
( )KYY /112 −=
con: 1
2
VV
K =
Bajo estas circunstancias, el nodo 1 ve una admitancia mayor que la admitancia real
conectada entre 1 y 2 siempre que K sea mucho mayor que uno. Este es el efecto
multiplicado que se aprovecha para evitar la realización física de grandes capacidades,
lo que consumiría gran cantidad de área de dado.
Para ilustrar lo anterior. Obsérvese la figura 1.34., de un amplificador básico, donde
una etapa en fuente común es utilizando para generar el efecto Miller deseado sobre la
capacidad.
El circuito equivalente obtenido es idéntico al de la configuración en fuente común. Así,
utilizando los mismos resultados se tiene la función de transferencia.
( ) ( )( ) ( ) ( )[ ] 12 ++++++++
−=
MmsoMLogsMsMgsgsLMLso
mMo
CgRrCCrCCRsCCCCCCRrsgsCr
sH
Ec. 1.24
Y las raíces de la ecuación serán entonces:
( ) ( ) MsomgsMsLMo CRrgCCRCCrP
++++≈
11 Ec. 1.25
gsLMLgs
Mm
CCCCCCg
P++
≈2
M
m
Cg
z ≈
Las ecuaciones anteriores muestran que la magnitud del polo dominante [p1] se reduce
conforme CM aumenta, en tanto que [p2] aumenta con CM. Así, al incrementar CM se
produce una separación de polos que eventualmente puede verse como la eliminación
del segundo polo del sistema pues éste se coloca fuera de la banda de trabajo.
IEM-II-03-10
41
Para valores típicos de gm, la frecuencia del cero puede caer por debajo de la frecuencia
de ganancia unitaria del amplificador. En consecuencia de esto, la curva de ganancia se
aplana a partir de la frecuencia del cero mientras que en la misma región la fase se hace
90º más negativa debido al cero real positivo. En conclusión, el cero detiene la
reducción de ganancia que pretende estabilizar el amplificador y simultáneamente
empuja la fase en la dirección negativa empeorando la situación.
Desde otro punto de vista, la reactancia de CM disminuye conforme aumenta la
frecuencia llegando a establecerse un cortocircuito entre la entrada y la salida de la
etapa a muy alta frecuencia. La etapa queda entonces, conectada como diodo con una
perdida de fase de 180º.
Figura 1.34. Compensación por efecto MiIler.
El método más simple para eliminar el efecto del cero positivo es insertar una
resistencia de anulación en serie con la capacidad de compensación lo que modifica la
frecuencia del cero según:
Mzm
CRg
z
⎟⎟⎠
⎞⎜⎜⎝
⎛−
=1
1 Ec. 1.26
IEM-II-03-10
42
De la Ec. 1.26., se muestra que el cero desaparece cuando R2 es igual a 1/gm. De hecho,
la resistencia puede aumentar aun más para desplazar el cero al semiplano izquierdo así
mejorar la fase del amplificador.
A) Cero positivo B) Cero Negativo
1
2
/1/1
ffjffj
AAOvv ⋅+
⋅−=
1
2
/1/1
ffjffj
AAOvv ⋅+
⋅+=
21 / ffAAOh vv ⋅= 21 / ffAA
Oh vv ⋅=
Figura 1.35. Efecto del cero sobre la función de transferencia.
1.2.4.2 AMPLIFICADOR CASCODE
Los atributos principales de esta configuración son una muy alta resistencia de salida y
una inexistencia realimentación de alta frecuencia de la salida a la entrada a través de
Cgd como ocurre en fuente común. Esto debido a que la baja resistencia de entrada de la
compuerta común reduce fuertemente la ganancia de la etapa en fuente común, de tal
IEM-II-03-10
43
forma que el efecto Miller en la Cgd del transistor de entrada se minimiza y el ancho de
banda mejora.
El amplificador cascode se observa en la figura 1.36.
Figura 1.36. Etapa Cascode.
De una aproximación en baja frecuencia y pequeña señal, se tiene que el cascode
presenta mayor ganancia que una etapa fuente común mientras que el ancho de banda a
frecuencia unitaria es prácticamente idéntico. Esto se resume en las siguientes
expresiones, cuando RL tiende a infinito [SAN97]:
L
m
Cg
GBWπ2
1= Ec. 1.27
2211 omomv rgrgA = Ec. 1.28
En la figura 1.36., se presenta una comparación entre el comportamiento del cascode y
una etapa sencilla en fuente común. Nótese como el cascode tiene una ganancia mayor
pero el mismo GBW.
Para determinar el comportamiento en frecuencia de la etapa cascote se intento realizar
una simulación paramétrica en la corriente de polarización para las condiciones de
trabajo propias de este proyecto. Los niveles de tensión empleados ubican a los
transistores cerca de la tensión de estrangulamiento por lo cual, la configuración ofrece
alta sensibilidad a las dimensiones, especialmente del transistor en fuente común. Por
IEM-II-03-10
44
esto, fue necesario realizar simulaciones independientes para obtener el punto de
polarización adecuado.
Por parte de la resistencia de salida de la fuente de señal, ésta juega su papel en la
posición del segundo polo, siendo conveniente buscar un valor pequeño para alejarlo del
polo dominante con beneficios en el comportamiento de la fase.
Figura 1.37. Respuesta en frecuencia de la etapa cascote.
1 Corriente de Polarización
Como lo indica la Ec 1.27., el GWB está directamente relacionado con la raíz de la
corriente de polarización mientras que la ganancia disminuye por efecto de la resistencia
de carga, inversa al valor de la corriente. La posición del polo dominante se desplaza a
frecuencias mayores lo que representa un mejor comportamiento de la fase con el
aumento de la corriente.
2 Capacidad de Carga
En cuanto al efecto de la capacidad de carga, en la figura se observa inverso sobre la
posición del polo dominante, lo que disminuye el GBW como se esperaba. El polo
generado por Cgd, que esta etapa no sufre efecto Millar considerable. Ésta bastante
alejado del primer polo por lo cual la fase desciende lentamente a lo largo de la banda
de trabajo.
3. Resistencia de Salida de la Fuente de Señal
IEM-II-03-10
45
Por parte de la resistencia de salida de la fuente de señal, esta juega su papel en la
posición del segundo polo, siendo conveniente buscar un valor pequeño para alejarlo del
polo dominante con beneficios en el comportamiento de la fase.
1.2.5. CONSIDERACIONES PRÁCTICAS DE DISENO
1. Fuentes de Corriente.
En una fuente de corriente es importante tener en cuenta los siguientes aspectos:
a) Los transistores deben polarizarse en la región de saturación y con un L tal que
permite despreciar λ para obtener la característica ideal, lo que también
contribuye a un aumento en la resistencia de salida.
b) La tensión de salida es un factor importante por lo que deben preverse tensiones
de estrangulamiento pequeñas (Vp = Vgs – Vth) para minimizarla tensión mínima
a la que puede llegar la salida sin perder las características de la fuente de
corriente.
c) La resistencia de salida es inversamente proporcional a la corriente de
polarización. Si se reduce la tensión de estrangulamiento, la relación W/L deberá
compensar esa disminución para obtener la misma corriente, por esto, la
resistencia de salida permanecerá constante ante diferentes Vgs de polarización.
2. Par Diferencial
En el diseño del par diferencial deben tenerse en cuenta los siguientes aspectos:
a). La transconductancia de los transistores del par juega un papel importante dentro
de la ganancia y en la frecuencia de operación por tanto, la gm debe maximizarse.
Para lograrlo, deben mantenerse tensiones de polarización de compuertas bajas, así,
para una misma corriente de drenaje gm resulta aumenta.
IEM-II-03-10
46
b) La corriente de polarización juega un papel importante a saber: la ganancia de la
etapa es proporcional a 1/VId por lo que si se desea alta ganancia debe trabajarse
con baja corriente de polarización. Por otro lado, la frecuencia de operación es
proporcional a Vid por lo cual, si se desea gran ancho de banda, deben trabajarse
corrientes altas. En otras palabras, tratándose de la corriente de polarización, lo
que se gana en ganancia se pierde en frecuencia.
c) Dentro de las consideraciones para la estabilidad, el segundo polo de la función
de transferencia esta relacionado con la capacidad en el nodo de drenaje opuesto
a la salida del par diferencial. La localización de este polo determina la
estabilidad del circuito y será aceptable siempre que la frecuencia del polo sea
mayor a la GBW del amplificador. Como criterio de diseño puede tomarse tres
veces GBW.
d) A nivel de layout, tanto los transistores del par como los transistores de carga y
la manera de interconexión entre ellos y/o con el exterior, deben tener la mayor
simetría posible para evitar fallas de pareamiento que generen problemas de
modo común, offset,etc.
Para efectos de este proyecto, se escogió el par nMOS como la etapa de entrada de los
amplificadores a diseñar. De los resultados en DC se concluye que la fuente de
polarización debe trabajar hacia 1.3V por lo cual es necesaria la implementación de una
fuente cascode de bajo voltaje de salida.
3. Etapas de Amplificación
Los principales puntos a resaltar en cuanto a las etapas de amplificación son:
a) La ganancia de tensión esta relacionada de manera inversa con la corriente, de
tal forma que si se desean amplificadores de alta ganancia, las corrientes de
polarización deben ser pequeñas lo que sacrificaría frecuencia de trabajo.
b) En casos donde la frecuencia es el factor determinante, las etapas
amplificadoras manejan corrientes elevadas, que deben ser previstas en las
IEM-II-03-10
47
dimensiones de los caminos de alimentación, para no sobrepasar la densidad de
corriente límite de la tecnología empleada.
c) Cuando la finalidad del amplificador requiere un esquema realimentado, es
necesario asegurar la estabilidad en lazo cerrado mediante alguna técnica de
compensación. Esto puede realizarse internamente manipulando la función de
transferencia del circuito en lazo abierto, o externamente mediante una
capacidad de carga adecuada.
d) Por último, debe tenerse presente la importancia de una baja resistencia a la
salida del amplificador, puesto que ésta afecta la ganancia cuando la
impedencia de carga exige corriente del circuito. En general, esta resistencia
depende del inverso de la corriente de la etapa aunque empleada es
determinante en el nivel que dicha resistencia puede alcanzar.
IEM-II-03-10
48
2. METODOLOGIA DE DISEÑO UTILIZADA
2.1 Diseño
“Diseñar no es sólo emplear un conjunto de técnicas, es un proceso en el que
contribuyen muchas personas en los diferentes aspectos que dan lugar al producto final.
Cada una de estas personas ve el producto desde un punto de vista distinto, tiene una
experiencia diferente, y usa herramientas distintas, juntos convierten un concepto en un
proceso real” [GAJ97].
De acuerdo con ABET (Accreditation Board For Engineering And Technology):
“El Diseño en Ingeniería es el proceso de concebir una estrategia para que un sistema,
componente, o proceso, cumpla con unas necesidades especificas. Es un proceso de
toma de decisiones (a menudo iterativo) en el que las ciencias básicas, las matemáticas,
y las ciencias de la ingeniería, se aplican para transformar, de una manera óptima, los
recursos, hasta cumplir con los objetivos propuestos. Íntimamente ligados con estos
elementos fundamentales en el proceso de Diseño, están el establecimiento de criterios
y objetivos, la síntesis, el análisis, la construcción, la prueba y la evaluación”.
“Diseñar es diferente a solucionar problemas, aunque para diseñar se deban solucionar
problemas” [GAR00]; los diseños no siempre son obras de arte, aunque el diseño
demanda el ejercicio de la creatividad, el proceso de diseño abarca desde la manera de
concebir su funcionamiento hasta el desarrollo de un esquema de fabricación, muchas
personas están implicadas en este proceso desempeñando un papel especifico, por
ejemplo el departamento de ventas estudia las necesidades de mercado y determina los
requisitos.
IEM-II-03-10
49
2.2 Representaciones del Diseño
En el proceso de diseño, cada persona involucrada ve el producto desde un punto de
vista ligeramente diferente y necesita información específica para realizar su trabajo.
Por esta razón cada diseño requiere de varias representaciones o puntos de vista que se
diferencian en el tipo de información, además la misma representación requiere con
frecuencia distintos niveles de detalle en las diferentes fases del diseño o del ciclo de
fabricación. Los tres tipos más comunes de representaciones son de comportamiento,
estructura y de nivel físico.
2.2.1 Representación Comportamental
Una representación comportamental o funcional ve el diseño como una caja negra y se
centra en especificar su comportamiento en función de los valores de entrada y las
restricciones de tiempo. Una representación de comportamiento describe el
funcionamiento pero no la implementación de un diseño dado, definiendo la respuesta
de la caja negra para cualquier combinación de valores de entrada, pero sin describir la
forma de diseñar o construir la caja negra con unos componentes dados.
2.2.2 Representación Estructural
Una representación estructural, es aquella en la que se define la caja negra como un
conjunto de componentes y sus conexiones, a diferencia de una representación de
comportamiento, se especifica la implementación del diseño sin hacer referencia
explicita a su comportamiento, en algunos casos, el funcionamiento se puede deducir a
partir de sus componentes interconectados, sin embargo, es difícil deducir el
funcionamiento de un diseño de esta forma y se facilita cometer errores, ya que las
funciones de algunos componentes puede que no se usen con todo su potencial o pueden
ser modificadas codificando las entradas y salidas de los componentes.
IEM-II-03-10
50
2.2.3 Representación Física
Una representación física es aquella que especifica las características físicas de la caja
negra, dando las dimensiones, ubicación de cada componente y las conexiones
contenidas en la descripción estructural, mientras que la representación estructural
proporciona la conectividad del diseño, solamente la descripción física describe las
conexiones especiales concretas entre varios componentes.
En la Figura 2.1 se muestra cómo a partir de las especificaciones iniciales de un circuito
y con el fin de realizar su fabricación, el proceso de diseño atraviesa las tres etapas o
dominios de abstracción, se puede observar que la complejidad del diseño aumenta
drásticamente a medida que se va avanzando por las distintas fases al incrementar la
precisión y disminuir el nivel de abstracción.
Figura 2.1 Pirámide de complejidad y niveles de abstracción [VIL98]
IEM-II-03-10
51
2.3 Niveles de Abstracción
En el proceso de diseño de sistemas electrónicos, cualquiera de las tres representaciones
(comportamental, estructural, físico) pueden ser usadas en distintos niveles de
abstracción, en la que los niveles se definen por el tipo de objetos que usan.
Se pueden identificar cuatro tipos diferentes de abstracción en un sistema electrónico
digital: transistores, puertas, registros y componentes del procesador.
2.3.1 Nivel Transistor
La mayoría de los componentes en el nivel transistor son transistores, resistencias y
condensadores, que se combinan para formar circuitos que pueden dar una determinada
funcionalidad, esta funcionalidad normalmente se describe mediante un conjunto de
ecuaciones diferenciales o mediante algún tipo de relación corriente tensión. La
representación física de estos circuitos, denominados celdas, está formada por
componentes a nivel de transistor y los cables que los conectan.
2.3.2 Nivel de Puerta
Los componentes principales del nivel de puerta son puertas lógicas y biestables (flip-
flops). Las puertas y biestables son celdas digitales típicas que contienen entradas y
salidas en sus extremos. Estas celdas se pueden agrupar y situar en una superficie de
silicio para formar módulos o unidades aritméticas y de almacenamiento que se usan
como componentes básicos en el nivel de registro, se describen según su
comportamiento en términos de ecuaciones booleanas y diagramas de máquinas de
estados finitos.
2.3.3 Nivel de Transferencia de Registros
Los componentes principales del nivel de transferencia de registros son unidades
aritméticas y de almacenamiento, tales como sumadores, comparadores,
multiplicadores, contadores, registros, pilas y caminos de datos. Cada uno de estos
componentes registro es un módulo o unidad que tiene unas dimensiones fijas, un
tiempo de propagación fijo y un comportamiento determinado, fijado por sus entradas y
IEM-II-03-10
52
salidas de interconexión con otros módulos. Estos componentes registro se pueden
montar e interconectar en microchips, que se usan como componentes básicos del
siguiente nivel de abstracción.
2.3.4 Nivel de Procesador
El nivel más alto de abstracción se denomina nivel de procesador, ya que los
componentes básicos de este nivel son los procesadores, memorias, controladores e
interfaz, además de los microchips a la medida (“ASIC´s”). Generalmente uno o más de
estos componentes se colocan en una tarjeta de circuito impreso y se conectan con tiras
conductoras que están impresas en la tarjeta, en muchos casos se puede reducir las
dimensiones de la tarjeta usando un sustrato de silicio, en vez de una tarjeta de circuito
impreso, para conectar los microchips, en cuyo caso se denomina módulo multichip. El
comportamiento de un sistema que esta compuesto por estos componentes, se describe
usualmente mediante lenguaje natural, o una especificación ejecutable en un lenguaje de
descripción de hardware.
2.4 Diagramas de Diseño
2.4.1 Diagrama Y de Gajski y Kuhn
En la Figura 2.2 se muestra las diferentes representaciones del diseño (comportamental,
estructural y físico) en los diferentes niveles de abstracción (transistor, puertas,
transferencia de registros y procesador) descritos en los numerales anteriores, para un
sistema digital, representado en el diagrama Y de Gajski y Kuhn.
2.4.2 Diagrama Y modificado para diseño análogo [COR00]
Los niveles de abstracción y de representación mostrados en el diagrama Y de Gajski y
Kuhn están dados para diseño de sistemas digitales; para sistemas análogos se presentan
una serie de modificaciones para permitir una adecuada utilización de estos elementos.
En el diseño análogo se pueden considerar cuatro niveles de abstracción, manteniendo
los mismos tipos de descripciones, estos niveles son nivel de transistores y
componentes, de bloque, arquitectural y de sistema.
IEM-II-03-10
53
Nivel de transistores y componentes, este es el nivel mas bajo y contiene las primitivas
de los transistores y elementos pasivos.
Nivel de Bloque, son las funciones o celdas básicas constitutivas de todos los circuitos
análogos como espejos de corriente, etapas diferenciales, fuentes de corriente y voltaje,
etc. En este nivel los transistores son descritos con dimensiones parametrizables, las
señales con especificación del tipo al cual corresponden (voltajes y corrientes) y
también se dan detalles de interconexión entre los bloques.
Figura 2.2 Diagrama Y de Gajski y Kuhn [GAJ97]
En el nivel arquitectural, el sistema puede ser visto a un nivel funcional general, por
ejemplo puede ser un amplificador operacional, PLL´s, filtros, etc; los módulos son
divididos en entidades independientes con las especificaciones de desempeño para cada
uno de los bloques.
En el nivel de Sistema, el circuito puede ser modelado como una función global y por
medio de herramientas matemáticas, se puede describir el sistema con flujos de señal
para su posterior división en componentes.
IEM-II-03-10
54
Cada uno de estos niveles tiene su correspondencia en cada uno de los dominios del
diseño, en el dominio físico tiene una equivalencia lógica, si se realiza una descripción
en diagramas de bloques, se estaría hablando del dominio estructural y si se cuenta con
una descripción en lenguaje formal, se estaría trabajando en el dominio
comportamental.
En la Figura 2.3 se muestra un diagrama Y para sistemas análogos propuesto por
M.Corvacho [COR00], se puede observar las representaciones del diseño y los niveles
de abstracción que acaban de ser mencionados.
Figura 2.3 Diagrama Y modificado para sistemas análogos [COR00]
Para poder hacer la abstracción en el diseño análogo, se deben tener en cuenta una serie
de consideraciones:
Para la abstracción a nivel de sistema de los circuitos de señal mixta los sistemas
se pueden convertir en funciones de transferencia, es decir, relaciones entrada –
IEM-II-03-10
55
salida; las señales se especifican en un diagrama de flujo sin tener en cuenta su
naturaleza y sin semántica conservativa, son cantidades reales solamente y la
arquitectura se forma a partir de bloques independientes.
En el dominio comportamental hay que tener en cuenta los efectos de primer
orden y la no-idealidad de los componentes así como las restricciones de
desempeño del sistema y los parámetros de funcionamiento a los cuales esta
sujeto el circuito, esta abstracción se puede describir con ecuaciones algebraicas
y con estructuras de control propias de un HDL (Lenguajes de Descripción de
Hardware).
A nivel de circuito se especifica con transistores de tamaño variable para ajustar
las condiciones de funcionamiento y las señales se pueden expresar por su
naturaleza, corrientes y voltajes y respetando las leyes de conservación de
corrientes y voltajes de Kirchhoff y considerando los límites de manejo de cada
una de ellas
2.4.3 Esquema de Desarrollo Mixto
A partir de los diagramas de las Figuras 2.2 y 2.3 (Gajski y modificado para diseño
análogo), se puede establecer un tercer diagrama en el cual se representen los diferentes
niveles de abstracción, integrando en cada uno de ellos los elementos necesarios para
una metodología de diseño mixto.
Para diseño mixto se podrían considerar cuatro niveles de abstracción, estos niveles son:
transistor y componentes, componentes básicos, componentes funcionales y sistema.
El nivel más bajo es el de transistores y componentes como resistencias y
condensadores (en algunos casos se podría hablar de inductancias como en
diseños en RF), contiene información sobre modelos tipo SPICE, ecuaciones de
comportamiento y normas de diseño.
El nivel de componentes básicos, agrupa las puertas lógicas, Flip-Flop´s, espejos
de corriente etapas diferenciales, fuentes de voltaje y corriente, en este nivel los
transistores son descritos con dimensiones parametrizables y/o agrupados de tal
forma que formen el conjunto de celdas básicas a ser empleadas.
IEM-II-03-10
56
El nivel de componentes funcionales consiste en aquellos dispositivos que son
formados por la unión de varios componentes básicos, como pueden ser:
sumadores, comparadores, registros, amplificadores operacionales, PLL´s, filtros
y conversores A/D y D/A.
El nivel de sistema representa la unión de varios componentes funcionales para
crear de esta forma sistemas mixtos, que puedan ser modelados y que permita
lograr descripciones de estos con un gran nivel de abstracción.
La Figura 2.4, muestra el diagrama Y con estos niveles de abstracción en las diferentes
representaciones de diseño.
Figura 2.4 Diagrama Y modificado para sistemas mixtos
Cuando se emplean desarrollos mixtos, amparados en un mismo flujo de diseño se opta
por independizar los dispositivos análogos a los digitales, es decir, separar las
respectivas zonas y al final integrar los dos componentes en la parte final del diseño, la
Figura 2.5 muestra una integración de este tipo de flujos.
IEM-II-03-10
57
Figura 2.5 Flujo de diseño mixto
En este tipo de flujos el proceso de diseño se inicia a partir de las especificaciones del
sistema de a realizar, posteriormente se efectúa una partición del diseño en bloques
funcionales, donde se relacionan y ubican los diferentes elementos análogos y digitales
que lo constituyen, a continuación se detallan las restricciones que cada bloque va a
presentar y con esta información se procede a realizar una síntesis análoga y digital
ayudado por sus respectivas librerías de componentes, en este punto se genera cierta
información que puede ser empleada para replantear los objetivos iniciales, después de
este punto se procede a realizar los “layout” para cada parte y por último estos son
integrados para producir el “layout” final del sistema.
Un sistema mixto se puede dividir en tres partes, cada una de ellas bien definida y con
funciones específicas, estas partes son el procesamiento análogo de las señales, el
procesamiento digital de las señales y la unidad de control del procesamiento digital.
IEM-II-03-10
58
2.5 Metodologías de Diseño
La metodología es un concepto abstracto que hace referencia a procesos de diseño
genéricos que relacionan entre sí los distintos niveles de complejidad y abstracción
(funcional-comportamental, estructural, físico) por los que atraviesa el diseño de un
circuito o sistema electrónico.
Durante el proceso de diseño de un sistema, cualquiera de los niveles se puede usar más
de una vez, dependiendo de los objetivos, tecnologías, componentes, bibliotecas, y
alternativas de diseño diferentes que se quieran explorar. Como este proceso se podría
llevar a cabo potencialmente de diferentes formas, se debe escoger cuidadosamente una
metodología de diseño eficiente que determine el subconjunto adecuado de niveles de
abstracción, tareas de síntesis, el orden que han de ser ejecutadas y el tipo de
herramientas CAD a usar durante la ejecución de cada tarea en el proceso de diseño.
Las metodologías de diseño tienen ciertos objetivos que se pueden resumir en:
Establecer procesos de diseño que permitan reducir costos, tiempo y riesgos de
desarrollo, a la vez que se garantizan las prestaciones requeridas del producto
final.
Mantenerse, en la medida posible, independiente de las herramientas CAD y
alternativas tecnológicas disponibles para el desarrollo de un circuito.
Para alcanzar estos objetivos en cada etapa del diseño, se deben aplicar una serie de
principios como:
Abstracción, fija y define el nivel de abstracción que cada etapa permite, tanto al
diseñador de circuitos como al desarrollador de CAD, ignorando detalles ajenos
del nivel en el que sé esta trabajando.
Jerarquía y estructuración: permite reducir la complejidad del diseño mediante la
descomposición jerárquica del mismo hasta alcanzar bloques o módulos del
nivel de abstracción correspondiente.
Establecer una metodología significa definir las distintas etapas que recorrerán los
diferentes niveles de abstracción y fijar como evolucionarán a través de ellas,
empleando procesos manuales o automáticos de:
Síntesis: para pasar las descripciones de un determinado nivel de abstracción a
otras de nivel inferior con un mayor grado de detalle.
IEM-II-03-10
59
Análisis: extraer información de una descripción para facilitar una verificación
de prestaciones o volverla una descripción de nivel superior para validar
restricciones.
Verificación / simulación: para validar tanto la corrección de las descripciones
de cada etapa como la equivalencia entre las distintas etapas y niveles de
abstracción.
Estos tres tipos de procesos se concretan en distintas herramientas actuando en
diferentes niveles de abstracción.
Las metodologías siempre han hecho propuestas de refinamiento progresivo (proceso
“TOP-DOWN”) desde la idea inicial hasta la implementación final, pasando por
distintas etapas o niveles de abstracción. Sin embargo, los flujos reales de diseño se han
visto mucho más sujetos al estado de las herramientas de diseño que han seguido una
evolución ascendente (proceso “BOTTOM-UP”) para ir cubriendo progresivamente las
etapas de mayor complejidad desde el nivel físico al nivel funcional.
Debido a las limitaciones de herramientas CAD durante el proceso evolutivo de los años
ochenta, la metodología y los flujos de diseño implantados en esta época tenían un
fuerte componente de diseño basado en una composición jerárquica ascendente de
módulos y bloques hasta alcanzar el diseño completo, esta metodología presenta claras
limitaciones en términos de eficiencia, costos, tiempo y riesgos de desarrollo; con la
llegada de los HDL (“Hardware Description Languaje” – Lenguajes de descripción de
Hardware) y con el soporte de las herramientas de descripción, simulación y síntesis, se
están superando muchas de estas limitaciones y se está facilitando la implementación de
flujos de diseño descendentes que permiten abordar diseños más complejos con
mayores garantías de éxito.
La evolución de las tecnologías en materiales semiconductores y de fabricación va por
delante de las técnicas de diseño. Hoy en día son factibles CI (Circuitos Integrados) de
tal complejidad que permitan la integración de sistemas completos SoC ("Systems on
Chip").
IEM-II-03-10
60
2.5.1 Metodología “Bottom-Up”
Esta metodología se caracteriza por ser una composición jerárquica ascendente de
celdas, módulos y bloques hasta conformar la estructura jerárquica establecida.
En su primera fase presenta un proceso fuertemente manual, basado exclusivamente en
la experiencia adquirida por los diseñadores, no se contaba con mayor apoyo de
herramientas CAD y de metodologías que ayudaran en la toma de decisiones
importantes como la partición, arquitectura y bloques del diseño. Ante estas dificultades
no se le podía dedicar a esta fase ni el tiempo ni el esfuerzo adecuado y se abordaba
rápidamente una siguiente etapa de composición jerárquica ascendente, que implicaba
mucho trabajo y concentraba la mayor parte de los esfuerzos de diseño, dando así el
nombre de ascendente (“BOTTOM-UP”) a esta metodología.
En la Figura 2.6 se muestra un diagrama de flujo ascendente, donde se enlazan etapas de
captura de esquemas. Se detalla el esquema lógico de un módulo con base en lo
previamente descrito y en la biblioteca de celdas específicas de la tecnología
seleccionada, y en la simulación (lógica, temporal, fallos) para validar cada nuevo
módulo; este proceso de captura y simulación se repetía hasta completar toda la
estructura jerárquica del circuito. Esta parte del proceso se desarrolla con herramientas
tipo SPICE que permiten modelar los transistores con las características propias de la
tecnología con la cual se va a fabricar el diseño; posteriormente, con los diagramas
esquemáticos libres de errores y cumpliendo las prestaciones deseadas, se empezaba la
fase de diseño físico que incluye básicamente procesos de ubicación y conexionado,
seguidos de verificación a nivel de máscaras (topografía o "layout" del circuito), a
continuación se extraen de la topografía los retardos (reales) derivados de las
conexiones físicas finales y se reintroducen en los esquemáticos para poder proceder a
repetir las simulaciones “post-layout” y comparar que se siguen manteniendo las
prestaciones funcionales y temporales requeridas para el diseño.
Durante el diseño a nivel de puertas se debe tener en cuenta la “testability” o habilidad
de poder realizar una evaluación al circuito, esta parte es muy importante ya que incide
en el proceso de diseño, al tener que desarrollar un conjunto de vectores de prueba que
cubran el mayor numero de fallas que se puedan presentar en el CI, porque serán los que
IEM-II-03-10
61
se empleen en la fase de “test” estructural post-fabricación para determinar que circuitos
se dan por válidos y cuales no.
La capacidad de prueba de un CI es un tema crucial, pues un chip no revisable (bajo
cobertura de fallas de los vectores de prueba) se puede considerar inútil a efectos
prácticos, esto ha dado a lugar a las llamadas técnicas de diseño para pruebas (“Design
for testability, DFT”) que suponen un incremento de la complejidad final del circuito al
tener que incluir estructuras hardware específicas que ayudan a conseguir el nivel de
pruebas necesarias.
Figura 2.6 Metodología de Diseño “Bottom-Up”
IEM-II-03-10
62
Todos estos procesos se basaban en una tecnología especifica con la que se iba a
realizar el circuito y que se escogía antes de iniciar el proceso de diseño. Las principales
limitaciones de esta metodología de diseño, se podrían catalogar en las siguientes:
El particionado inicial, el desarrollo de la arquitectura y su descomposición jerárquica
descendente exigen una gran cantidad de decisiones criticas que solo se basaban en la
experiencia del diseñador, sin contar con algún soporte metodológico o algún
mecanismo para hacer evaluaciones previas.
La biblioteca de celdas y la tecnología de fabricación se seleccionaban antes de iniciarse
el proceso de diseño ascendente, ningún bloque podía simularse hasta no tener
completamente diseñados y simulados todos los componentes que lo integran.
Como una consecuencia de estas limitaciones, los errores o imprevistos derivados de la
precariedad con la que se realizaba la fase de análisis y descomposición jerárquica
descendente inicial, se detectaban en momentos muy avanzados del proceso de diseño.
El esfuerzo que se había invertido era muy elevado y había que corregir el problema
aunque fuera incluyendo parches y soluciones no-convencionales en el diseño, esto daba
lugar a procesos de diseño poco claros y bastante complicados, de tal forma que el
depurado, las modificaciones y el mantenimiento de un diseño se podían convertir en
tareas muy complejas.
Esta metodología facilitaba la propagación de problemas desde las fases iniciales hasta
las fases avanzadas del diseño, adicionalmente cuanto más tiempo se tardaba en detectar
un problema más difícil y costosa es su solución, por el esfuerzo acumulado, como por
la propia solución que se presentase. Al descubrir los problemas, las respectivas
soluciones ocasionaban la creación de estructuras innecesariamente complejas o poco
recomendables que podían dificultar la evolución y mantenimiento del diseño,
ocasionando que los esfuerzos realizados no pudiesen ser empleados, requiriendo un
rediseño completo del circuito. Todo esto tiene múltiples consecuencias las cuales
acaban suponiendo un incremento de los costos y el tiempo de desarrollo del producto
final.
IEM-II-03-10
63
2.5.2 Metodología “Top-Down”
Esta metodología se caracteriza por una descomposición jerárquica descendente del
circuito a diseñar, desde la especificación inicial del sistema, pasando por su descripción
en bloques y sub-bloques, hasta llegar al conjunto de módulos que aún estando descritos
a un nivel funcional, su diseño lógico fuera abordable desde la tecnología escogida a
partir de una biblioteca de celdas especificada.
El diseño descendente apuesta por la formalización y normalización de las tareas de
diseño desde las primeras etapas de concepción (especificaciones descritas en algún
HDL y por lo tanto, simulables) y se centran en promover el diseño a nivel
comportamental, facilitando la evaluación de soluciones alternativas desde ese mismo
nivel, dando lugar al llamado “Diseño de Alto Nivel”.
El objetivo es facilitar las tareas de diseño de alto nivel que va desde las
especificaciones iniciales hasta la descripción a nivel de transferencia de registros de la
arquitectura escogida, cuya síntesis permita obtener una descripción a nivel de
compuertas, a partir de este punto las listas de componentes y conexiones que se
obtienen ya pueden entrar en los procesos habituales de diseño físico (ubicación,
conexionado, verificación, extracción).
En la Figura 2.7 se muestra de forma esquemática y genérica el proceso de diseño
empleando la metodología Top-Down.
Aplicando el principio de abstracción antes mencionado, se trata también de
independizar el diseño a nivel funcional respecto del arquitectural, y este en relación al
físico, siendo las herramientas de síntesis quienes marcan esta independencia.
Las características y ventajas de los HDL en este caso, VHDL y VHDL-AMS, están
facilitando y potenciando el desarrollo e implantación de las metodologías de diseño
descendente que se basan en un uso intensivo de tales lenguajes (modelado del circuito
y de los bancos de prueba) convenientemente soportados durante todo el proceso de
diseño por herramientas de simulación, síntesis y proceso de análisis – verificación
IEM-II-03-10
64
Figura 2.7 Metodología de Diseño “Top-Down”
El diseño descendente empieza a partir de la idea o concepto que se desea implementar
en forma de sistema o circuito electrónico. Se ha de proceder a una primera etapa de
definición de especificaciones la cual ha sido la etapa menos formalizada y a la que no
se presta la atención que requiere, a pesar que los resultados de la misma guían o
determinan muchas de las decisiones posteriores durante el proceso de diseño. Con la
llegada de los HDL se estableció la tecnología base para dar el soporte necesario a la
actividad de concepción a nivel funcional, incluyendo la parte de
descripción/simulación de las especificaciones propias del diseño.
Las características del diseño, no solo incluyen información sobre el propio circuito, si
no también el entorno donde estará ubicado. A partir de esta información el proceso de
descripción HDL de las especificaciones da lugar a dos modelos:
IEM-II-03-10
65
El que contiene las especificaciones funcionales del circuito a diseñar, el cual
por lo general estará en un nivel de abstracción comportamental.
El modelo del entorno del circuito para validarlo en su contexto (banco de
pruebas, test-bench), este modelo puede tener diferentes funciones:
1 Reproducir el entorno de utilización del circuito.
2 Facilitar la generación de estímulos hacia el circuito y la recopilación de
resultados desde el mismo para analizar su comportamiento.
3 Comparación de resultados respecto a un modelo de referencia.
Estas últimas funciones están dirigidas a facilitar la comprobación del correcto
funcionamiento del circuito bajo pruebas, a través de procesos de simulación y análisis
de resultados.
Con estos dos tipos de modelos, ya se podrán realizar simulaciones comportamentales
que permiten depurar las especificaciones y comenzar a evaluar distintas alternativas de
partición del sistema.
Una vez se han fijado las especificaciones, se inicia el proceso de refinamiento gradual
de la descripción del circuito hasta alcanzar un modelo arquitectural RT ("Register
Transfer" – Transferencia de registros) que sea sintetizable mediante procesos
automáticos guiados por el diseñador, este mejoramiento puede afectar el banco de
pruebas con el fin de ajustar su precisión a la del modelo del circuito.
La primera fase de refinamiento gradual para pasar de una descripción comportamental
a una nivel RT está ahora en proceso de automatización y es conocida como síntesis
comportamental, posteriormente viene la etapa de síntesis RT-lógica que tiene por
objeto la obtención de un esquema o lista de componentes y sus interconexiones basado
en alguna biblioteca de celdas y módulos. El diseño resultante debe realizar la
funcionalidad especificada, respetar las prestaciones requeridas de área, velocidad,
consumo y garantizar la capacidad de prueba final del circuito.
Las herramientas de síntesis RT-lógica automáticas se implementan mediante distintos
procesos de síntesis encadenados de forma transparente al usuario, estos procesos son:
Síntesis RT, que determina los elementos de memoria y el conjunto de
ecuaciones lógicas u operadores necesarios, con base en las fases de partición,
IEM-II-03-10
66
distribución y asignación de recursos, bajo las condiciones impuestas por el
diseñador.
Síntesis lógica, que se encarga de optimizar las ecuaciones lógicas para
minimizar el hardware necesario a nivel de puertas y registros, empleando
algoritmos de reducción y asignación de estados, minimización lógica, etc.
Mapeo tecnológico, que es una fase, muchas veces intangible de la síntesis
IEM-II-03-10
67
La información tecnológica tiene distintos niveles de abstracción: topográfico(reglas
geométricas de diseño, área), eléctrico(características de los dispositivos, RC,
consumo), temporal(retardos) o funcional(celdas, módulos, funciones); que le permiten
tener una incidencia dinámica directa sobre los distintos procesos y niveles de
construcción y síntesis y por medio de ellos sobre las descripciones resultantes. Esta
información tecnológica empieza a intervenir en las etapas de síntesis lógica y mapeado
tecnológico incrementando su incidencia hasta llegar al diseño físico, que es donde tiene
una mayor importancia.
El incremento del nivel de abstracción de la información tecnológica permitirá una
intervención más pronta en el proceso de diseño y por lo tanto, facilitará la evaluación
de distintas alternativas tecnológicas y mejores resultados finales dentro de la tecnología
escogida, por otro lado, a medida que se haga un uso mas detallado de esta información,
las descripciones resultantes son cada vez más dependientes de la tecnología y de los
procesos de síntesis, que son los que realizan un mayor y mejor uso de este tipo de
información.
Los procesos de realimentación de la información se emplean para inyectar información
extraída de descripciones de bajo nivel y por lo tanto más dependientes de la
implementación final. En descripciones de niveles superiores de abstracción, la
realimentación no requiere de procesos muy elaborados, ya que solo transporta y añade
información a una cierta descripción, teniendo una incidencia más bien estática sobre el
diseño al no afectar directamente los procesos de construcción.
La incidencia de los flujos de información ascendentes en las distintas etapas del diseño,
marca un poco el grado de dependencia tecnológica de las mismas y de las
descripciones resultantes.
IEM-II-03-10
68
.
3. VHDL-AMS (Analog and Mixed Signals) – IEEE
Estándar 1076.1
3.1 Introducción
El IEEE – 1076.1 es un estándar que define un lenguaje para la descripción de hardware
y la simulación de sistemas análogos, digitales y mixtos. El lenguaje también es
conocido como VHDL-AMS y está construido sobre el estándar IEEE - 1076 (VHDL –
1993), extendido con adiciones y cambios para brindar capacidades de descripción y
simulación de modelos análogos, digitales y mixtos; posee semánticas conservativas y
no conservativas para la parte análoga de los sistemas.
Este lenguaje soporta diferentes niveles de abstracción en el dominio eléctrico, y se
IEM-II-03-10
69
diseño) de la “IEEE Computer Society” (Sociedad de Computo de la IEEE). El grupo de
trabajo aprobó el estándar en Junio de 1.997, el primer lanzamiento del estándar fue
aprobado por el “IEEE Standards Board” el 18 de Marzo de 1.999.
VHDL-AMS, es un gran esfuerzo para extender el VHDL hacia una descripción y
simulación de circuitos y sistemas análogos y mixtos.
3.2 Características del VHDL-AMS
El VHDL-AMS presenta una serie de características que resultan de gran ayuda a la
hora del modelamiento análogo. Para poder realizar esto presenta nuevos elementos que
constituyen las extensiones adicionadas.
En el anexo B se puede encontrar una guía de algunas de las semánticas típicas de
VHDL-AMS.
Las principales características del lenguaje son:
Está dirigido hacia la descripción y simulación agrupada de sistemas análogos,
digitales y mixtos
Las principales áreas de aplicación son: (“IC Design” - Diseño de CI), (“ASIC
Design” - Diseño de ASIC), “PCB (Printed Circuit Board) aplications” –
Aplicaciones de diseño de circuitos impresos) y diseño de sistemas eléctricos.
Permite descripciones jerárquicas y simulaciones de eventos continuos y
discretos, con semánticas conservativas y no-conservativas.
Soporta modelamiento a diferentes niveles de abstracción en los dominios
eléctricos y los no-eléctricos.
Cualquier descripción válida en VHDL también es válida en VHDL-AMS y
entrega los mismos resultados en su simulación.
La sintaxis y la semántica, disponibles en VHDL son empleadas de nuevo, por
lo tanto algunas construcciones existentes en 1076 son extendidas y se crean
otras para dar soporte a las semánticas análogas.
Un modelo VHDL-AMS consiste de una entidad y una o más arquitecturas.
La entidad especifica la interfaz del modelo con el mundo exterior, incluye la
descripción de los puertos del modelo y la definición de los parámetros
genéricos.
IEM-II-03-10
70
La arquitectura contiene la implementación del modelo, este puede ser escrito
empleando una descripción de tipo estructural, comportamental o una
combinación de elementos estructurales y comportamentales.
El modelamiento comportamental análogo, permite al diseñador desarrollar sus
propios modelos sin tener que contar con los que cualquier simulador ofrece,
además permite un control completo de los niveles de abstracción usados para
un modelo en particular, así como las características del sistema.
VHDL-AMS provee una manera de controlar la precisión numérica de la
solución a través de la especificación de tolerancias.
Suministra notaciones para expresar DAE´s (“Differential and Algebraic
Equations” - Ecuaciones diferenciales y algebraicas) y define las ecuaciones
implicadas por el modelo.
El estándar 1076.1 asume la existencia de un (“analog solver” – motor de
desarrollo de la parte análoga de un sistema), que es responsable de las variables
desconocidas del sistema.
3.3 Aspectos Comportamentales
3.3.1 “Quantities”
VHDL-AMS introduce una nueva clase de objetos (adicional a los objetos existentes:
constantes, variables, señales y archivos), denominado “quantity” y es usado para
representar los elementos desconocidos en las “DAE's”. Las cantidades pueden ser
escalares o composiciones (arreglos y apuntadores), pero deben tener subelementos
escalares o de tipo punto flotante.
Los “quantities” deben ser declarados antes de ser referenciados. Pueden ser declarados
en donde una señal pueda ser declarada, excepto en un “package” (empaque) VHDL. Se
pueden declarar como elementos de interfaz en la lista de puertos de un modelo. Cada
uno tiene un nodo similar al concepto de nodo de interfaz de señal, indicando la
dirección del flujo de señal.
IEM-II-03-10
71
Los “quantities” obtienen su valor del “analog solver” en tiempos específicos, los
llamados puntos de solución análogos, ninguno de los otros objetos consiguen su valor
de esta forma.
3.3.1.1 “Quantities” Implícitas
El lenguaje también define “quantities” implícitas, que no necesitan ser declaradas y
que se requieren para escribir las “DAE´s”, unos ejemplos son:
Q´dot, es la derivada de Q (Q es una “quantity”)
Q´integ, es la integral de Q
Q´slew (“max_rising_slope”, “max_folling_slope”), sigue a Q
Q´delayed (T), esta “quantity” presenta un retardo T, respecto a la Q original
Q´ltf (num, den), es la transformada de Laplace de Q
Q´zoh (T, initial_delay), toma el valor de la “quantity” y lo mantiene por un
tiempo T, donde vuelve a tomar un valor.
Q´ztf (num, den, T, initial_delay), transformada Z de la “quantity” Q
También se pueden aplicar a señales:
S´ramp (tr, tf), una “quantity” que sigue la señal S, pero con tiempos de subida y
bajada, si estos tiempos no son indicados el “analogsolver” los asume como 0.0
S´slew (max_rising_slope, max_folling_slope), semejante al comportamiento
que con la “quantity” pero en este caso se sigue a una señal
3.3.1.2 “Branch Quantities”
Existe un tipo especial de “quantity” que se denomina “branch quantity”, que
representan las variables desconocidas en las ecuaciones que describen sistemas
conservativos.
Un “branch quantity” esta definido entre dos terminales, su terminal mas (+) y su
terminal menos (-), que tengan la misma naturaleza o que pertenezcan al mismo
dominio (eléctrico, mecánico, etc.), la declaración de este tipo de “quantities” esta
definido por la declaración de dos “quantities” especificas “across” y “through”.
IEM-II-03-10
72
“Across quantities”, representan el esfuerzo de efectos tales como voltaje,
temperatura, presión entre dos puntos.
“Through quantities”, representan el flujo de efectos tales como corriente, flujo
de calor, tasa de flujo de líquidos.
3.3.2 “Simultaneus Statements” (Declaraciones Simultaneas)
Son una nueva clase de declaraciones en VHDL-AMS se emplean para expresar
ecuaciones diferenciales y algebraicas, contienen expresiones ordinarias VHDL que
pueden ser evaluadas en forma normal, estas declaraciones pueden aparecer donde sean
permitidas las asignaciones de señales concurrentes.
Las declaraciones o expresiones pueden tener valores compuestos; en este caso debe
existir un igualamiento de subelementos en la izquierda y en la derecha; se pueden
referir a señales, las expresiones pueden incluir constantes, y posiblemente llamados de
funciones definidos por el usuario.
Otras formas de declaraciones simultáneas incluyen “if” y “case”, estas declaraciones,
permiten la descripción de comportamientos por partes, cada una contiene una lista
arbitraria de declaraciones simultáneas y sus declaraciones parciales incluyendo “case”,
“and” e “if”.
Los “if statements” ofrecen una forma de definir conjuntos o ecuaciones que dependen
de alguna condición o del valor de alguna expresión, en el caso mas general el cambio
podría ocurrir dinámicamente, por lo tanto se deben manejar adecuadamente las
posibles discontinuidades.
3.3.3 “Tolerance Groups” (Grupos de Tolerancia)
El “analog solver” es el encargado de calcular los valores de los “quantities”
involucrados en las declaraciones simultáneas, y hacer que las relaciones entre las
exp_izq y las exp_der sean lo más cerca de cero, para controlar esto el lenguaje
introduce el concepto de grupos de tolerancia.
IEM-II-03-10
73
Los grupos de tolerancia son “quantities” que deben poseer la misma exactitud a los que
lo requieren, VHDL-AMS, permite asociar a una cadena llamada código de tolerancia a
los grupos de tolerancias, estos grupos son definidos por el subtipo de cada cantidad
(eléctrico, térmico, mecánico, etc.).
La interpretación del código de tolerancia se le deja al simulador, que debe permitir una
forma para asociar los códigos a los valores actuales que dependen de los algoritmos
usados en la simulación.
3.3.4 A/D “Interaction” (Interacción A/D)
La interacción Análoga – Digital consiste en asignar a una señal digital un valor o un
evento que depende de las características o del valor de una señal análoga.
Si en la simulación el valor de un “quantity” Q cruza un umbral E, ocurre un evento en
la señal booleana “Q´above”(E), por consiguiente el valor de esta señal es “TRUE”
(verdadero” si Q > E y “FALSE” (Falso) si Q < E, el valor cambia cuando hay un cruce
por ese umbral, estos cruces y cambios de valores en las señales son empleados para
realizar el modelamiento de los conversores A/D.
3.3.5 D/A Interaction (Interacción D/A)
La interacción Digital – Análoga consiste en asignarle a una señal análoga un valor
según los estados de una o algunas señales digitales.
El nombre de una señal podría ser empleada directamente en una declaración simultanea
para influir en la parte continua del modelo, con el objetivo que las reglas para las
expresiones VHDL sean cumplidas.
Se debe informar al “analog solver” cuando ocurre una discontinuidad, para hacer esto
se emplea la declaración “break”.
Un mecanismo para influenciar la solución continua con una señal es usar uno de los
“quantities” predefinidos “S´ramp”(“trise”, “tfall”) o “S´slew”(“rising_slope”,
“falling_slope”), donde S es una señal o de tipo punto flotante, estas “quantities” suben
IEM-II-03-10
74
o bajan linealmente entre los dos tiempos, desde el valor anterior de S, al nuevo valor de
S.
A partir de estas discontinuidades se pueden construir conversores D/A, las
discontinuidades también pueden ser introducidas por declaraciones de tipo “if”, una
declaración “break” es requerida por alguna razón ya que se puede presentar una
discontinuidad en algún “quantity” o en alguna primera derivada respecto al tiempo,
excepto si esta es causada por un “quantity” predefinido.
Estas interacciones A/D y D/A, son empleadas de distintas maneras en los modelos
realizados.
3.4 Aspectos Estructurales La estructura de la descripción de un sistema análogo o mixto es semejante a los
mecanismos empleados en VHDL, empleando unidades de diseño, implementaciones en
arquitecturas, declaración e instanciación de componentes, entre otros, sin embargo el
modelamiento de la interconexión de componentes análogos tiene un especial
significado porque han sido introducidos nuevos tipos de puntos de conexión.
3.4.1 “Conservative Systems” (Sistemas Conservativos)
Sistemas con semánticas conservativas, son aquellos que requieren la conservación de
leyes, por ejemplo sistemas eléctricos que obedecen las leyes de Corriente y Voltaje de
Kirchhoff.
En VHDL-AMS, las ecuaciones que describen los aspectos conservativos de un sistema
no necesitan ser explícitamente anotados por el diseñador, únicamente las ecuaciones
que constituyen el modelo son responsabilidad del diseñador.
3.4.2 “Natures” (Naturalezas)
Una naturaleza en VHDL-AMS define las propiedades del terminal, pueden ser
escalares o compuestos. Cada naturaleza escalar representa un dominio energético
IEM-II-03-10
75
diferente, su definición incluye los tipos de “quantities across” and “through” que
pertenecen a la naturaleza de los terminales y al terminal de referencia.
3.4.3 “Terminals” (Terminales)
El terminal es el segundo nuevo objeto introducido en VHDL-AMS, la principal
diferencia de los otros objetos radica en que debe ser declarado para ser de alguna
naturaleza, y no para tener algún valor.
Un terminal puede ser declarado en donde se permitan las declaraciones de señales,
particularmente un terminal puede ser un elemento de interfaz en la declaración de la
lista de puertos.
La declaración de un terminal T, puede crear dos “quantities” implícitas:
El “quantity” de referencia; el “T´reference” es un “across quantity” definido
entre T y el terminal de referencia de la naturaleza de T.
El “quantity” de contribución; el “T´contribution” es un “through quantity”,
cuyo valor es igual a la suma algebraica de todos los “branch quantities” que
inciden en T, con el signo correspondiente.
IEM-II-03-10
76
4. MODELAMIENTO DE CONVERSORES A/D (ANÁLOGO – DIGITALES)
4.1 Introducción Este proyecto tiene dentro de sus objetivos emplear el lenguaje VHDL-AMS como
herramienta de descripción, modelamiento y simulación para desarrollo de sistemas
mixtos (aquellos que poseen circuitos análogos y circuitos digitales), un ejemplo típico
de sistemas mixtos son los conversores análogos - digitales y digitales – análogos por el
manejo que realizan de señales digitales y análogas simultáneamente.
En este capítulo se presentan los modelos realizados a nivel comportamental y
estructural de los conversores análogos - digitales de tipo aproximaciones sucesivas
(SAR – “Sucessive Aproximation Register”) y paralelo (Flash).
Se resalta que las descripciones presentadas a continuación han sido realizadas en su
totalidad por el autor sin la ayuda de herramientas tipo CAD.
4.2 Modelamiento del Conversor Análogo - Digital de Aproximaciones
Sucesivas
Este tipo de conversores consta de un conversor Digital - Análogo, un Comparador, un
Registro de aproximaciones sucesivas y por lo general presenta un “Shift Register”
(registro de desplazamiento) para los datos de salida. Se requiere una entrada para la
señal análoga, la salida digital puede ser serie o paralela, adicionalmente se necesitan
como mínimo tres terminales de control, “Start of conversion” (inicio de conversión)
que da inicio a la secuencia de conversión A/D, “end of conversion” (fin de la
conversión) indica cuando termina la conversión y por último la entrada para el reloj del
sistema.
IEM-II-03-10
77
La operación empieza con la orden de inicio (“Start of conversion”), el registro de
aproximación sucesiva (SAR) conecta la secuencia de los números digitales, un número
por cada bit, a las entradas del conversor D/A. Este transforma cada número digital en
una salida análoga Vo, la tensión de entrada Vent se compara con Vo, el comparador le
informa al SAR cuando el Vent es mayor o menor que la salida del conversor D/A. Para
cada bit debe realizarse una comparación y estas se hacen comenzando con el bit más
significativo y terminan con el menos significativo. Al terminar las comparaciones el
SAR envía la señal de finalización de conversión y el equivalente digital del voltaje de
entrada está ahora presente en la salida digital del registro.
Se necesita un pulso de reloj para que el registro de aproximaciones sucesivas (SAR)
compare cada bit. Sin embargo, algunas veces se requiere un pulso adicional para
restablecer el registro antes de llevar a cabo la conversión. El tiempo que tarda la
conversión Análogo - Digital dependerá del número de bits y del periodo de reloj del
conversor.
En la Figura 4.1 se muestra el diagrama de bloques de este tipo de conversores:
Figura 4.1 Diagrama del conversor tipo SAR
Las siguientes descripciones corresponden a un conversor con una resolución de ocho
bits, la señal de entrada varía entre 0V y 10V de amplitud y se tiene un error de
cuantización de ±1/2 LSB.
IEM-II-03-10
78
4.2.1 Modelo Comportamental del Conversor de Aproximaciones Sucesivas
A partir de la descripción del comportamiento de estos conversores se ha realizado el
modelamiento de este.
>>> VHDL
-- Modelo Comportamental del Conversor de Aproximaciones Sucesivas - SAR
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE WORK.ELECTRICAL_SYSTEM.ALL; USE WORK.MATH_REAL.ALL; USE WORK.ALL; ENTITY adc IS END adc; ARCHITECTURE comp OF adc IS CONSTANT vmax : real := 5.0; CONSTANT vmin : real := -5.0; SIGNAL clock : STD_LOGIC; SIGNAL sofc : STD_LOGIC; SIGNAL ish : STD_LOGIC; SIGNAL eofc : STD_LOGIC; SIGNAL salida : STD_LOGIC_VECTOR (7 DOWNTO 0); CONSTANT t : real := 200.0e+6; CONSTANT initial_delay : real := 50.0e+6 ; CONSTANT sofcp : time := 100.0 ns; CONSTANT ishp : time := 100.0 ns; CONSTANT clop : time := 5.0 ns; CONSTANT delay : time := 0.0 us; CONSTANT del : time := 50.0 ns; QUANTITY q : real ; QUANTITY test : real ; QUANTITY entr_sh : real ; SIGNAL p1 : STD_LOGIC; BEGIN -- Descripción del reloj para inicio de conversión pulsproc : PROCESS BEGIN WAIT FOR delay; LOOP sofc <= '0'; WAIT FOR sofcp; sofc <= '1'; WAIT FOR sofcp; END LOOP; END PROCESS;
IEM-II-03-10
79
pulsproc0 : PROCESS BEGIN WAIT FOR del; LOOP ish <= '1'; WAIT FOR ishp; ish <= '0'; WAIT FOR ishp; END LOOP; END PROCESS; -- Reloj del sistema pulsproc1 : PROCESS BEGIN WAIT FOR delay; LOOP clock <= '1'; WAIT FOR clop; clock <= '0'; WAIT FOR clop; END LOOP; END PROCESS; -- Fuente de la señal a ser digitalizada q == 5.0 * sin (2.0 * 3.1415 * 100.0e3 * now); test == q - vmin; -- Muestreo de la señal entr_sh == test'zoh(t, initial_delay); clock_proc: process VARIABLE ent_sh : real; VARIABLE del_volt : real; VARIABLE salid : std_logic_vector (7 downto 0); VARIABLE contador : integer := salid'high; VARIABLE ind_conv : boolean := false; BEGIN WAIT ON sofc, clock; IF (sofc'event AND sofc = '1') OR (sofc = 'h') THEN del_volt := vmax -vmin; ent_sh := entr_sh; contador := salida'high; ind_conv := true; eofc <= '0'; END IF; -- Descripción del registro de aproximaciones sucesivas IF ((clock'event AND clock ='1') OR (clock ='h')) AND (ind_conv) THEN del_volt := del_volt / 2.0; IF ent_sh >= del_volt THEN salid(contador) := '1'; ent_sh := ent_sh - del_volt; ELSE salid(contador) := '0'; END IF;
IEM-II-03-10
80
-- Descripción fin de la conversión y mostrar los resultados. IF (contador = (0)) THEN eofc <= '1'; FOR i IN salid'high DOWNTO salid'low LOOP salida(i) <= salid(i); END LOOP; ind_conv := FALSE; ELSE contador := contador - 1; END IF; END IF; END PROCESS; END comp; Como está indicado, se han manejado varias señales de reloj diferentes. Una para iniciar
la conversión y otra para el reloj del sistema. Estos relojes son modelados con
“process”.
4.2.2 Modelo Estructural del Conversor de Aproximaciones Sucesivas
En esta descripción se han modelado los diferentes elementos que componen el
conversor de aproximaciones sucesivas y posteriormente son llamados en una
descripción estructural.
La descripción estructural donde se han unido los distintos componentes modelados, es
la siguiente:
-- Modelo estructural del Conversor de Aproximaciones Sucesivas LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE WORK.ELECTRICAL_SYSTEM.ALL; USE WORK.MATH_REAL.ALL; USE WORK.ALL; entity test is end test; architecture test of test is constant vmin : real := -5.0; CONSTANT sofcp : time := 100.0 ns; CONSTANT clop : time := 5.0 ns; CONSTANT delay : time := 0.0 us; quantity v1, v1a, v2, vs: real; signal dres : std_logic; signal start : std_logic;
IEM-II-03-10
81
signal reloj : std_logic; signal fin : std_logic; signal dat : std_logic_vector (7 downto 0); signal resultado : std_logic_vector (7 downto 0); begin -- Descripción del reloj para inicio de conversión pulsproc : PROCESS BEGIN WAIT FOR delay; LOOP start <= '0'; WAIT FOR sofcp; start <= '1'; WAIT FOR sofcp; END LOOP; END PROCESS; -- Reloj del sistema pulsproc1 : PROCESS BEGIN WAIT FOR delay; LOOP reloj <= '1'; WAIT FOR clop; reloj <= '0'; WAIT FOR clop; END LOOP; END PROCESS; -- Unión de los componentes comp : entity comparador(comparador) -- Comparador port map (vmas => vs, vmenos => v2, dout => dres); s_h : entity sh(sh) -- "Sample and Hold" port map (vin => v1a, vsh => vs); sar_reg : entity sar(sar) -- Registro de aproximaciones sucesivas
port map (ent_dato => dres, sofc => start, clock => reloj, eofc => fin, datos => dat);
dac_s : entity dac(dac) -- Conversor digital - análogo port map (salida => dat, vsal => v2); shift_reg : entity shift(shift) -- "Shift Register" port map (d_ent => dat, resul => resultado, mostrar => fin); -- Fuente de la señal a ser digitalizada v1 == 5.0 * sin (2.0 * 3.1415 * 100.0E+3 * now); v1a == v1 - vmin; end test; En los siguientes numerales se presentan las descripciones de cada elemento que hace
parte de este tipo de conversores.
IEM-II-03-10
82
4.2.2.1 Modelo del S/H (“Sample and Hold”) La descripción del muestreador y retenedor es la siguiente: library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity sh is
port (quantity vin, vsh : real); end sh; architecture sh of sh is
constant T : real := 200.0e+6; constant INITIAL_DELAY : real := 50.0e+6; constant vmin : real := -5.0;
begin vsh == vin'zoh(T, INITIAL_DELAY); -- Uso de una quantity implícita
end sh; 4.2.2.2 Modelo del Comparador El comparador del conversor fue modelado con el siguiente código: library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity comparador is
port (signal dout : out std_logic; quantity vmas, vmenos : real);
end comparador; architecture comparador of comparador is
quantity vent : real; begin
vent== vmenos - vmas; --Uso de interacciones A/D dout <= '0' when vent'above(0.0) else '1';
end comparador; 4.2.2.3 Modelo del Registro de Aproximaciones Sucesivas El registro de aproximaciones ha sido modelado empleando código VHDL sin ninguna
nueva extensión, este es un elemento puramente digital y este código puede ser
sintetizable.
Library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all;
IEM-II-03-10
83
use work.all; entity sar is
port (signal ent_dato: in std_logic; signal sofc: in std_logic; signal clock : in std_logic; signal eofc : out std_logic; signal datos : out std_logic_vector (7 downto 0));
end sar; architecture sar of sar is begin
sar0 : process begin
wait on sofc until sofc = '1' and sofc'event; for i in datos'range loop
datos(i) <= '0'; end loop; for i in datos'high downto 0 loop
if i = datos'high then eofc<= '0';
end if; wait on clock until (clock ='1' and clock'event); datos(i) <= '1'; wait on clock until (clock = '0' and clock'event); datos(i) <= ent_dato;
end loop; wait on clock until (clock ='1' and clock'event); eofc <= '1'; end process;
end sar; 4.2.2.4 Modelo del Conversor Digital - Análogo El conversor Digital - Análogo del conversor fué modelado realizando el siguiente
código:
Library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity dac is
port (signal salida : in std_logic_vector (7 downto 0); quantity vsal : real);
end dac; architecture dac of dac is
constant vmax : real := 10.0; quantity v7, v6, v5, v4, v3, v2, v1, v0 : real;
begin -- Uso de interacciones D/A if salida(7) ='1' use
IEM-II-03-10
84
v7== 1.0; else
v7== 0.0; end use; break on salida(7); if salida(6) ='1' use
v6== 2.0; else
v6== 0.0; end use; break on salida(6); if salida(5) ='1' use
v5== 4.0; else
v5== 0.0; end use; break on salida(5); if salida(4) ='1' use
v4== 8.0; else
v4== 0.0; end use; break on salida(4); if salida(3) ='1' use
v3== 16.0; else
v3== 0.0; end use; break on salida(3); if salida(2) ='1' use
v2== 32.0; else
v2== 0.0; end use; break on salida(2); if salida(1) ='1' use
v1== 64.0; else
v1== 0.0; end use; break on salida(1); if salida(0) ='1' use
v0== 128.0; else
v0== 0.0; end use; break on salida(0); vsal == (v7 + v6 + v5 + v4 + v3 + v2 + v1 + v0)*vmax/255.0;
end dac; 4.2.2.5 Modelo del “Shift Register” El registro de desplazamiento "Shift Register" es un elemento que se modeló con código
VHDL que puede ser sintetizable.
library IEEE;
IEM-II-03-10
85
use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity shift is
port (signal d_ent : in std_logic_vector (7 downto 0); signal resul : out std_logic_vector (7 downto 0); signal mostrar : std_logic);
end shift; architecture shift of shift is begin
shif9 : process begin
wait on mostrar; if mostrar ='1' and mostrar'event then
for i in d_ent'high downto 0 loop resul(i) <= d_ent(i);
end loop; end if;
end processend shift; 4.3 Modelamiento del Conversor Análogo - Digital Tipo Paralelo El conversor tipo paralelo tiene como principal característica su rapidez. Su
funcionamiento esta basado en una tensión de referencia y una red de resistiva que
establecen una resolución determinada. Cuando se aplica una señal para ser digitalizada
a las entradas positivas de todos los comparadores, sus salidas activan un codificador de
prioridad de [2n – 1] a [n] líneas y el codificador lógico genera un código binario que
representa la entrada análoga.
El tiempo de conversión de este conversor está limitado sólo por el tiempo de respuesta
de los comparadores y las compuertas lógicas. Al aumentar la resolución del conversor
se vuelve más costosa la gran rapidez del “Flash”, ya que aumenta con cada bit al doble
su complejidad.
En la Figura 4.2 se muestra el diagrama de este tipo de conversores. Las descripciones siguientes corresponden a un conversor paralelo con una resolución
de seis bits, y un error de ± 1/2 LSB, el código ha sido optimizado para intentar
disminuir ese error, ya que inicialmente se habían realizado unas descripciones con
error de ± 1 LSB. La señal de entrada tiene una amplitud entre 0V y 10V.
IEM-II-03-10
86
Figura 4.2 Diagrama conversor tipo paralelo 4.3.1 Modelo Comportamental La descripción comportamental del conversor tipo Paralelo, es la siguiente: library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity adc is end adc; architecture adc of adc is
constant Vmaxi : real := 5.0; constant Vmin : real := -5.0; signal in1, in2, in3, in4, in5, in6, in7, in8, in16 : STD_LOGIC; signal in9, in10, in11, in12, in13, in14, in15, in17 : STD_LOGIC; signal in18, in19, in20, in21, in22, in23, in24, in25 : STD_LOGIC; signal in26, in27, in28, in29, in30, in31, in32, in33 : STD_LOGIC; signal in34, in35, in36, in37, in38, in39, in40, in41 : STD_LOGIC; signal in42, in43, in44, in45, in46, in47, in48, in49 : STD_LOGIC;
IEM-II-03-10
87
signal in50, in51, in52, in53, in54, in55, in56, in57 : STD_LOGIC; signal in58, in59, in60, in61, in62, in63 : STD_LOGIC; signal p30, p31, p32, p33 : STD_LOGIC; signal salid : STD_LOGIC_VECTOR (5 downto 0); QUANTITY vmax, vrefm : real ; QUAN TITY test, q : real ;
begin
-- Fuente de la señal a ser digitalizada q == 5.0 * sin (2.0 * 3.1415 * 100.0E+3 * now); test == q - vmin; vmax == vmaxi - vmin; vrefm == vmax/126.0;
--Rango de comparadores
in1 <= '1' when test'above(1.0*vrefm) else '0'; in2 <= '1' when test'above(3.0*vrefm) else '0'; in3 <= '1' when test'above(5.0*vrefm) else '0'; in4 <= '1' when test'above(7.0*vrefm) else '0'; in5 <= '1' when test'above(9.0*vrefm) else '0'; in6 <= '1' when test'above(11.0*vrefm) else '0'; in7 <= '1' when test'above(13.0*vrefm) else '0'; in8 <= '1' when test'above(15.0*vrefm) else '0'; in9 <= '1' when test'above(17.0*vrefm) else '0'; in10 <= '1' when test'above(19.0*vrefm) else '0'; in11 <= '1' when test'above(21.0*vrefm) else '0'; in12 <= '1' when test'above(23.0*vrefm) else '0'; in13 <= '1' when test'above(25.0*vrefm) else '0'; in14 <= '1' when test'above(27.0*vrefm) else '0'; in15 <= '1' when test'above(29.0*vrefm) else '0'; in16 <= '1' when test'above(31.0*vrefm) else '0'; in17 <= '1' when test'above(33.0*vrefm) else '0'; in18 <= '1' when test'above(35.0*vrefm) else '0'; in19 <= '1' when test'above(37.0*vrefm) else '0'; in20 <= '1' when test'above(39.0*vrefm) else '0'; in21 <= '1' when test'above(41.0*vrefm) else '0'; in22 <= '1' when test'above(43.0*vrefm) else '0'; in23 <= '1' when test'above(45.0*vrefm) else '0'; in24 <= '1' when test'above(47.0*vrefm) else '0'; in25 <= '1' when test'above(49.0*vrefm) else '0'; in26 <= '1' when test'above(51.0*vrefm) else '0'; in27 <= '1' when test'above(53.0*vrefm) else '0'; in28 <= '1' when test'above(55.0*vrefm) else '0'; in29 <= '1' when test'above(57.0*vrefm) else '0'; in30 <= '1' when test'above(59.0*vrefm) else '0'; in31 <= '1' when test'above(61.0*vrefm) else '0'; in32 <= '1' when test'above(63.0*vrefm) else '0'; in33 <='1' when test'above(65.0*vrefm) else '0'; in34 <= '1' when test'above(67.0*vrefm) else '0'; in35 <='1' when test'above(69.0*vrefm) else '0'; in36 <= '1' when test'above(71.0*vrefm) else '0'; in37 <= '1' when test'above(73.0*vrefm) else '0'; in38 <= '1' when test'above(75.0*vrefm) else '0'; in39 <= '1' when test'above(77.0*vrefm) else '0'; in40 <= '1' when test'above(79.0*vrefm) else '0'; in41 <= '1' when test'above(81.0*vrefm) else '0'; in42 <= '1' when test'above(83.0*vrefm) else '0'; in43 <= '1' when test'above(85.0*vrefm) else '0'; in44 <= '1' when test'above(87.0*vrefm) else '0'; in45 <= '1' when test'above(89.0*vrefm) else '0';
IEM-II-03-10
88
in46 <= '1' when test'above(91.0*vrefm) else '0'; in47 <= '1' when test'above(93.0*vrefm) else '0'; in48 <='1' when test'above(95.0*vrefm) else '0'; in49 <= '1' when test'above(97.0*vrefm) else '0'; in50 <= '1' when test'above(99.0*vrefm) else '0'; in51 <= '1' when test'above(101.0*vrefm) else '0'; in52 <= '1' when test'above(103.0*vrefm) else '0'; in53 <= '1' when test'above(105.0*vrefm) else '0'; in54 <= '1' when test'above(107.0*vrefm) else '0'; in55 <= '1' when test'above(109.0*vrefm) else '0'; in56 <= '1' when test'above(111.0*vrefm) else '0'; in57 <= '1' when test'above(113.0*vrefm) else '0'; in58 <= '1' when test'above(115.0*vrefm) else '0'; in59 <= '1' when test'above(117.0*vrefm) else '0'; in60 <= '1' when test'above(119.0*vrefm) else '0'; in61 <= '1' when test'above(121.0*vrefm) else '0'; in62 <= '1' when test'above(123.0*vrefm) else '0'; in63 <= '1' when test'above(125.0*vrefm) else '0'; -- Ecuaciones del sistema de codificación
salid(5)<= in32; salid(4)<= in16 and (in32 xnor in48); salid(3)<= in8 and((not in32 and(in16 xnor in24)) or (in40 and(in48 xnor
in56))); salid(2)<= in4 and ((not in32 and ((not in16 and(in8 xnor in12)) or (in20 and(in24
xnor in28)))) or (in36 and((not in48 and(in40 xnor in44)) or (in52 and(in56 xnor in60)))));
salid(1) <= in2 and(( not in32 and((not in16 and ((not in8 and(not(in4 xor in6))) or (in4 and in6 and in8 and in10 and (in12 xnor in14)))) or (in18 and((not in24 and(in20 xnor in22)) or (in26 and(in28 xnor in30)))))) or (in34 and((not in48 and((not in40 and (in36 xnor in38)) or (in42 and(in44 xnor in46)))) or (in50 and((not in56 and(in52 xnor in54)) or (in58 and (in60 xnor in62)))))));
p30 <= in1 and(not in32 and(not in16 and((not in8 and((not in4 and(in2 xnor in3)) or (in5 and(in6 xnor in7)))) or (in9 and((not in12 and(in10 xnor in11)) or (in13 and(in14 xnor in15)))))));
p31 <= in1 and(not in32 and(in17 and ((not in24 and((not in20 and(in18 xnor in19)) or (in21 and(in22 xnor in23)))) or (in25 and((not in28 and(in26 xnor in27)) or (in29 and(in30 xnor in31)))))));
p32 <= in1 and (in33 and(not in48 and ((not in40 and((not in36 and(in34 xnor in35)) or (in37 and(in38 xnor in39)))) or (in41 and((not in44 and(in42 xnor in43)) or (in45 and(in46 xnor in47)))))));
p33 <= in1 and (in33 and(in49 and ((not in56 and((not in52 and(in50 xnor in51)) or (in53 and(in54 xnor in55)))) or (in57 and((not in60 and(in58 xnor in59)) or (in61 and(in62 xnor in63)))))));
salid(0) <= p30 or p31 or p32 or p33;
end adc; 4.3.2 Modelo Estructural Como se pudo apreciar, este tipo de conversores presenta un bloque de comparación y
un bloque de codificación, estos se han descrito y luego se han unido en la siguiente
descripción estructural. Library IEEE; use IEEE.std_logic_1164.all;
IEM-II-03-10
89
use work.electrical_system.all; use work.math_real.all; use work.all; entity test is end test; architecture test of test is
constant vmin : real := -5.0; quantity q1, q : real; signal salida : STD_LOGIC_VECTOR (5 downto 0); signal int : STD_LOGIC_VECTOR (63 downto 0);
begin
-- Unión de los componentes comp1 : entity comp(comp) -- Bloque de comparadores port map (ini => int, q => q1); deco : entity dec(dec) -- Codificadores de la señal de salida port map (i => int, salid => salida);
-- Fuente de la señal a ser digitalizada q == 5.0 * sin (2.0 * 3.1415 * 100.0E+3 * now); q1 == q - vmin;
end test;
4.3.2.1 Modelo de los Comparadores
El modelamiento del bloque de comparadores es el siguiente.
library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity comp is
port (signal ini : out std_logic_vector(63 downto 0); quantity q : real);
end comp; architecture comp of comp is
constant Vmaxi : real := 5.0; constant Vmin : real := -5.0; QUANTITY vmax, vrefm : real ; QUANTITY test : real ;
begin
test == q; vmax == vmaxi - vmin; vrefm == vmax/126.0; -- Uso de interacciones A/D in1 <= '1' when test'above(1.0*vrefm) else '0'; in2 <= '1' when test'above(3.0*vrefm) else '0'; in3 <= '1' when test'above(5.0*vrefm) else '0'; in4 <= '1' when test'above(7.0*vrefm) else '0'; in5 <= '1' when test'above(9.0*vrefm) else '0'; in6 <= '1' when test'above(11.0*vrefm) else '0';
IEM-II-03-10
90
in7 <= '1' when test'above(13.0*vrefm) else '0'; in8 <= '1' when test'above(15.0*vrefm) else '0'; in9 <= '1' when test'above(17.0*vrefm) else '0'; in10 <= '1' when test'above(19.0*vrefm) else '0'; in11 <= '1' when test'above(21.0*vrefm) else '0'; in12 <= '1' when test'above(23.0*vrefm) else '0'; in13 <= '1' when test'above(25.0*vrefm) else '0'; in14 <= '1' when test'above(27.0*vrefm) else '0'; in15 <= '1' when test'above(29.0*vrefm) else '0'; in16 <= '1' when test'above(31.0*vrefm) else '0'; in17 <= '1' when test'above(33.0*vrefm) else '0'; in18 <= '1' when test'above(35.0*vrefm) else '0'; in19 <= '1' when test'above(37.0*vrefm) else '0'; in20 <= '1' when test'above(39.0*vrefm) else '0'; in21 <= '1' when test'above(41.0*vrefm) else '0'; in22 <= '1' when test'above(43.0*vrefm) else '0'; in23 <= '1' when test'above(45.0*vrefm) else '0'; in24 <= '1' when test'above(47.0*vrefm) else '0'; in25 <= '1' when test'above(49.0*vrefm) else '0'; in26 <= '1' when test'above(51.0*vrefm) else '0'; in27 <= '1' when test'above(53.0*vrefm) else '0'; in28 <= '1' when test'above(55.0*vrefm) else '0'; in29 <= '1' when test'above(57.0*vrefm) else '0'; in30 <= '1' when test'above(59.0*vrefm) else '0'; in31 <= '1' when test'above(61.0*vrefm) else '0'; in32 <= '1' when test'above(63.0*vrefm) else '0'; in33 <='1' when test'above(65.0*vrefm) else '0'; in34 <= '1' when test'above(67.0*vrefm) else '0'; in35 <='1' when test'above(69.0*vrefm) else '0'; in36 <= '1' when test'above(71.0*vrefm) else '0'; in37 <= '1' when test'above(73.0*vrefm) else '0'; in38 <= '1' when test'above(75.0*vrefm) else '0'; in39 <= '1' when test'above(77.0*vrefm) else '0'; in40 <= '1' when test'above(79.0*vrefm) else '0'; in41 <= '1' when test'above(81.0*vrefm) else '0'; in42 <= '1' when test'above(83.0*vrefm) else '0'; in43 <= '1' when test'above(85.0*vrefm) else '0'; in44 <= '1' when test'above(87.0*vrefm) else '0'; in45 <= '1' when test'above(89.0*vrefm) else '0'; in46 <= '1' when test'above(91.0*vrefm) else '0'; in47 <= '1' when test'above(93.0*vrefm) else '0'; in48 <='1' when test'above(95.0*vrefm) else '0'; in49 <= '1' when test'above(97.0*vrefm) else '0'; in50 <= '1' when test'above(99.0*vrefm) else '0'; in51 <= '1' when test'above(101.0*vrefm) else '0'; in52 <= '1' when test'above(103.0*vrefm) else '0'; in53 <= '1' when test'above(105.0*vrefm) else '0'; in54 <= '1' when test'above(107.0*vrefm) else '0'; in55 <= '1' when test'above(109.0*vrefm) else '0'; in56 <= '1' when test'above(111.0*vrefm) else '0'; in57 <= '1' when test'above(113.0*vrefm) else '0'; in58 <= '1' when test'above(115.0*vrefm) else '0'; in59 <= '1' when test'above(117.0*vrefm) else '0'; in60 <= '1' when test'above(119.0*vrefm) else '0'; in61 <= '1' when test'above(121.0*vrefm) else '0'; in62 <= '1' when test'above(123.0*vrefm) else '0'; in63 <= '1' when test'above(125.0*vrefm) else '0';
end comp;
IEM-II-03-10
91
4.3.2.2 Modelo del Codificador
El siguiente es el modelamiento del bloque de codificación del conversor, las
ecuaciones empleadas son semejantes a las utilizadas en el modelo comportamental,
fueron deducidas y simplificadas.
library IEEE; use IEEE.std_logic_1164.all; use work.electrical_system.all; use work.math_real.all; use work.all; entity dec is
port (signal i : in std_logic_vector(63 downto 0); signal salid : out std_logic_vector (5 downto 0));
end dec; architecture dec of dec is
signal salida : std_logic_vector (5 downto 0); signal p30, p31, p32, p33 : STD_LOGIC;
begin -- Ecuaciones del codificador. salida(5) <= i(32); salida(4) <= i(16) and (i(32) xnor i(48)); salida(3) <= i(8) and((not i(32) and(i(16) xnor i(24))) or (i(40) and(i(48) xnor i(56)))); salida(2) <= i(4) and ((not i(32) and ((not i(16) and(i(8) xnor i(12))) or (i(20) and(i(24)
xnor i(28))))) or (i(36) and((not i(48) and(i(40) xnor i(44))) or (i(52) and(i(56) xnor i(60))))));
salida(1) <= i(2) and(( not i(32) and((not i(16) and ((not i(8) and(i(4) xnor i(6))) or (i(4) and i(6) and i(8) and i(10) and (i(12) xnor i(14))))) or (i(18) and((not i(24) and(i(20) xnor i(22))) or (i(26) and(i(28) xnor i(30))))))) or (i(34) and((not i(48) and((not i(40) and (i(36) xnor i(38))) or (i(42) and(i(44) xnor i(46))))) or (i(50) and((not i(56) and(i(52) xnor i(54))) or (i(58) and(i(60) xnor i(62))))))));
p30 <= i(1) and(not i(32) and(not i(16) and((not i(8) and((not i(4) and(i(2) xnor i(3))) or (i(5) and(i(6) xnor i(7))))) or (i(9) and((not i(12) and(i(10) xnor i(11))) or (i(13) and(i(14) xnor i(15))))))));
p31 <= i(1) and(not i(32) and(i(17) and ((not i(24) and((not i(20) and(i(18) xnor i(19))) or (i(21) and(i(22) xnor i(23))))) or (i(25) and((not i(28) and(i(26) xnor i(27))) or (i(29) and(i(30) xnor i(31))))))));
p32 <= i(1) and (i(33) and(not i(48) and ((not i(40) and((not i(36) and(i(34) xnor i(35))) or (i(37) and(i(38) xnor i(39))))) or (i(41) and((not i(44) and(i(42) xnor i(43))) or (i(45) and(i(46) xnor i(47))))))));
p33 <= i(1) and (i(33) and(i(49) and ((not i(56) and((not i(52) and(i(50) xnor i(51))) or (i(53) and(i(54) xnor i(55))))) or (i(57) and((not i(60) and(i(58) xnor i(59))) or (i(61) and(i(62) xnor i(63))))))));
salida(0) <= p30 or p31 or p32 or p33; salid(5) <= salida (5); salid(4) <= salida (4); salid(3) <= salida (3); salid(2) <= salida (2); salid(1) <= salida (1); salid(0) <= salida (0);
end dec;
IEM-II-03-10
92
5. RESULTADOS Y ANÁLISIS
5.1 Introducción
Las simulaciones fueron realizadas empleando el programa SMASH 4.2.12 Trial bajo
ambiente Windows XP Pro desarrollado por la empresa Dolphin, con el que se pueden
realizar simulaciones de descripciones realizadas en VHDL, VHDLAMS, Verilog, tipo
SPICE y ABCD (lenguaje propio desarrollado por Dolphin para descripciones
análogas).
En este capítulo se muestran los resultados obtenidos empleando dos tipos de fuente de
señal para cada modelo, la primera fuente es de tipo senoidal y la segunda fuente es de
tipo triangular.
Para realizar la fuente triangular, se debió construir una descripción adicional que fué
introducida en cada modelo, en el Anexo B se presenta el código de la fuente triangular.
El programa genera un archivo de reporte donde informa los errores que se han
presentado, en donde y la posible causa. También informa si existe alguna precaución
"warning" que se haya presentado, y finalmente cuando está realizada la simulación
genera un informe sobre los elementos VHDL y VHDL-AMS producidos y/ó generados
durante la simulación del modelo. En cada modelo se presentan los reportes que ha
entregado el programa.
5.2 Resultados del Modelo Comportamental del Conversor tipo SAR
5.2.1 Fuente Senoidal
El reporte obtenido en la simulación es el siguiente: Elaborated entity ADC unit COMP
Analog elements summary:
4 VHDL/AMS quantities
4 VHDL/AMS expressions
Digital elements summary:
15 Output pin(s)
17 VHDL signal(s)
IEM-II-03-10
93
15 VHDL driver(s)
3 VHDL dispatcher process(es)
4 VHDL process(es) Las siguientes Figuras muestran el comportamiento ante una entrada con forma senoidal
con una amplitud de 10Vpp.
En las distintas Figuras se pueden observar las señales análogas en la parte superior y en
la parte inferior las señales digitales.
En la Figura 5.1, se observan la señal análoga de entrada y la señal muestreada. Las
señales digitales que aparecen son: el reloj del sistema, la señal de inicio de muestreo,
de inicio al proceso de conversión, la señal de fin de conversión, y la salida del sistema
discriminando cada bit y el vector de salida.
En la Figura 5.2 se observa que el tiempo entre la orden de inicio de conversión (sofc),
y la señal de fin del mismo proceso (eofc) producida por el conversor, es de ocho ciclos
de reloj (clock) del sistema. En esta misma Figura se puede observar con un mayor
nivel de detalle el proceso de conversión del modelo realizado.
5.2.2 Fuente Triangular
El reporte obtenido en la simulación es el siguiente: Elaborated entity ADC unit COMP
Analog elements summary:
5 VHDL/AMS quantities
5 VHDL/AMS expressions
Digital elements summary:
19 Output pin(s)
23 VHDL signal(s)
19 VHDL driver(s)
5 VHDL dispatcher process(es)
5 VHDL process(es)
El resultado obtenido de esta simulación se observa en la Figura 5.3, las señales que
aparecen en esa Figura son las mismas señales que se mencionaron para la Figura 5.2
IEM-II-03-10
94
Figura 5.1 Conversor SAR comportamental, fuente senoida
IEM-II-03-10
95
Figura 5.2 Tiempos de simulación, conversor SAR, comportamental
IEM-II-03-10
96
Figura 5.3 Conversor SAR comportamental, fuente triangular
IEM-II-03-10
97
5.3 Resultados del Modelo Estructural del Conversor Tipo SAR
5.3.1 Fuente Senoidal
El reporte obtenido en la simulación es el siguiente:
Elaborated entity TEST unit TEST
Analog elements summary:
14 VHDL/AMS quantities
14 VHDL/AMS expressions
Digital elements summary:
24 Output pin(s)
26 VHDL signal(s)
24 VHDL driver(s)
6 VHDL dispatcher process(es)
5 VHDL process(es)
En la Figura 5.4 se muestra el resultado de la simulación del modelo estructural del
conversor SAR, se observan las señales análogas de muestreo y la entregada por el
DAC interno del conversor al comparador.
Las señales digitales mostradas, son inicio de conversión (start), fin de la conversión
(fin), y las salidas del conversor presentadas en vector, y bit por bit.
En la Figura 5.5, se ve con más detalle que el modelo tenga un tiempo de simulación de
ocho ciclos como en el anterior modelo (comportamental), también se logra apreciar el
comportamiento de la señal producida por el DAC realizando un seguimiento a la señal
de entrada al sistema, en este caso la señal muestreada.
IEM-II-03-10
98
Figura 5.4 Conversor SAR estructural, fuente senoidal
IEM-II-03-10
99
Figura 5.5 Tiempos de simulación, conversor SAR, estructural
IEM-II-03-10
100
5.3.2 Fuente Triangular
El reporte obtenido en la simulación es el siguiente: Elaborated entity TEST unit TEST
Analog elements summary:
15 VHDL/AMS quantities
15 VHDL/AMS expressions
Digital elements summary:
28 Output pin(s)
31 VHDL signal(s)
28 VHDL driver(s)
8 VHDL dispatcher process(es)
6 VHDL process(es)
En la Figura 5.6 se muestran los resultados de la simulación de este modelo con este
tipo de señal de entrada, las señales que aparecen son las indicadas en el modelo
estructural con entrada senoidal.
5.4 Resultados Modelo Comportamental del Conversor Tipo Paralelo
5.4.1 Fuente Senoidal
El reporte obtenido en la simulación es el siguiente: Elaborated entity ADC unit ADC
Analog elements summary:
4 VHDL/AMS quantities
4 VHDL/AMS expressions
Digital elements summary:
167 Output pin(s)
138 VHDL signal(s)
167 VHDL driver(s)
130 VHDL dispatcher process(es)
73 VHDL process(es)
En la Figura 5.7 se muestra el resultado obtenido en la simulación en el aparecen la
señal de entrada y las señales digitales de salida.
IEM-II-03-10
101
Figura 5.6 Conversor SAR estructural, fuente triangular
IEM-II-03-10
102
Figura 5.7 Conversor Flash, comportamental, fuente senoidal
IEM-II-03-10
103
5.4.2 Fuente Triangular
El reporte obtenido en la simulación es el siguiente: Elaborated entity ADC unit ADC
Analog elements summary:
5 VHDL/AMS quantities
5 VHDL/AMS expressions
Digital elements summary:
171 Output pin(s)
143 VHDL signal(s)
171 VHDL driver(s)
132 VHDL dispatcher process(es)
74 VHDL process(es)
En la Figura 5.8 se muestra el resultado de la simulación realizada empleando una
fuente triangular, las señales que son mostradas corresponden a la señal de entrada al
sistema y los seis bits de salida al igual que el vector de salida.
5.5 Resultados modelo estructural del conversor tipo paralelo
5.5.1 Fuente Senoidal
El reporte obtenido en la simulación es el siguiente: Elaborated entity TEST unit TEST
Analog elements summary:
5 VHDL/AMS quantities
5 VHDL/AMS expressions
Digital elements summary:
4237 Output pin(s)
148 VHDL signal(s)
4237 VHDL driver(s)
70 VHDL dispatcher process(es)
80 VHDL process(es)
En la Figura 5.9 se muestran los resultados de la simulación del modelo estructural del
conversor tipo paralelo, se puede apreciar la señal análoga de entrada y las señales
digitales de salida, tanto bit por bit como vector.
IEM-II-03-10
104
5.5.2 Fuente Triangular
El reporte obtenido en la simulación es el siguiente: Elaborated entity TEST unit TEST
Analog elements summary:
6 VHDL/AMS quantities
6 VHDL/AMS expressions
Digital elements summary:
4241 Output pin(s)
153 VHDL signal(s)
4241 VHDL driver(s)
72 VHDL dispatcher process(es)
81 VHDL process(es)
En la Figura 5.10 se muestra el resultado de la simulación de este modelo, con la fuente
triangular de entrada al sistema; las señales corresponden a la entrada del sistema y los
seis bits de salida del mismo.
Como se podrá observar, la salida en este tipo de conversores depende directamente de
la entrada y cambiará a medida que esta cambie, no presenta el mismo comportamiento
del SAR en el que la salida varía en intervalos definidos de tiempo.
IEM-II-03-10
105
Figura 5.8 Conversor Paralelo comportamental, fuente triangular
IEM-II-03-10
106
Figura 5.9 Conversor Paralelo estructural, fuente senoidal
IEM-II-03-10
107
Figura 5.10 Conversor Paralelo estructural, fuente triangular
IEM-II-03-10
108
5.6 Comparación Datos Simulaciones Comportamental y Estructural
del Conversor SAR
Los siguientes son los datos para cada simulación, discriminados por la fuente de la
respectiva simulación.
Tabla 5.1. Comparación SAR, fuente senoidal
Comportamental Estructural VHDL-AMS "quantities" 4 14 VHDL-AMS "expressions" 4 14 VHDL "signals" 17 26 VHDL "drivers" 15 24 VHDL "dispatch process" 3 6 VHDL "process" 4 5
Tabla 5.2. Comparación SAR, fuente triangular
Comportamental Estructural VHDL-AMS "quantities" 5 15 VHDL-AMS "expressions" 5 15 VHDL "signals" 23 31 VHDL "drivers" 19 28 VHDL "dispatch process" 5 8 VHDL "process" 5 6
En el caso de las simulaciones con fuente triangular existe una mayor cantidad de
elementos que con la fuente senoidal. Esto se debe al modelado que se requirió hacer
para simular la fuente de señal triangular, adicionalmente se puede observar que los
modelos estructurales presentan una mayor cantidad de señales y de expresiones que las
descripciones comportamentales, esto indica que a medida que el diseño se vaya
realizando a un mayor nivel de detalle (disminuyendo su nivel de abstracción) la
complejidad del mismo va aumentando paulatinamente.
IEM-II-03-10
109
5.7 Comparación Datos Simulaciones Comportamental y Estructural
del Conversor Tipo Paralelo
Los datos de las simulaciones, son presentados a continuación, agrupados por la señal
de alimentación.
Tabla 5.3. Comparación Paralelo, fuente senoidal
Comportamental Estructural VHDL-AMS "quantities" 4 5 VHDL-AMS "expressions" 4 5 VHDL "signals" 138 148 VHDL "drivers" 167 4237 VHDL "dispatch process" 130 76 VHDL "process" 73 80
Tabla 5.4. Comparación Paralelo, fuente triangular
Comportamental Estructural VHDL-AMS "quantities" 5 6 VHDL-AMS "expressions" 5 6 VHDL "signals" 143 153 VHDL "drivers" 171 4241 VHDL "dispatch process" 133 72 VHDL "process" 74 81
La cantidad de señales y de "drivers" VHDL es mayor en los modelos del conversor
tipo Paralelo que en los modelos del conversor tipo SAR, se debe tener en cuenta que el
tipo SAR presenta una mayor resolución que el paralelo, esto indica la mayor
complejidad en diseño y espacio físico que presenta un conversor tipo paralelo respecto
a al SAR y que en el mercado es traducido en costo final al usuario.
IEM-II-03-10
110
CONCLUSIONES Para la primera parte del proyecto es difícil obtener algún tipo de conclusión o aporte
pues el desarrollo en la elaboración de los amplificadores a nivel de layout pues nos
atamos a una herramienta la cual su manipulación es complicada y se nos dificulto
lograr tenerla a punto para la producción del proyecto.
Lo que si se logro fue una experiencia en el manejo del software CADENCE el cual en
el anexo A se entrega una especie de manual de referencia. El cual puede servir para
generaciones futuras se puedan regir por este manual de referencia para poder operar el
software teniendo algún tipo de guía.
Para sistemas mixtos en especial electrónicos, se puede realizar una partición del mismo
entre sus elementos análogos y digitales, para realizar un tratamiento independiente de
cada partición, integrándolos al final del proyecto en el mismo substrato.
Uno de los objetivos del VHDL-AMS es ser un medio unificado de desarrollo de
sistemas mixtos, con esto se busca ofrecer la misma herramienta de desarrollo en
ambiente digital y análogo. A nivel de síntesis se busca optimizar y lograr la
implementación física final, lo cual presenta grandes problemas por los diversos
parámetros relevantes en los circuitos análogos.
El aprovechamiento de las ventajas que ofrece una adecuada metodología de diseño, se
refleja en menores tiempos de desarrollo, mayor flexibilidad en el proceso de diseño y
en mejores prestaciones del mismo.
El empleo de lenguajes de descripción de hardware le ofrecen al diseñador lograr
mayores niveles de abstracción de los dispositivos a diseñar, otorgando con esto una
mayor integración de elementos nuevos que pueden ir depurándose paso a paso para
llegar al desarrollo final.
EL VHDL-AMS ha demostrado ser una poderosa herramienta para el modelamiento y
simulación de sistemas análogos y mixtos, sin embargo todavía hace falta camino por
IEM-II-03-10
111
recorrer para que logre obtener el mismo desarrollo que ha tenido su antecesor (VHDL)
en los procesos de diseño puramente digitales.
VHDL-AMS, permite modelar completamente SoC (Systems on Chip), ya que le ofrece
al diseñador la oportunidad de realizar un código VHDL totalmente sintetizable, y
diseñar un adecuado modelamiento de los sistemas de entrada – salida análogos que
pueda presentar.
En el desarrollo de los diversos modelos se debe tener cuidado con el manejo y la
integración que se presente con los terminales, “quantities” y las señales, sobre todo
ahora con la incorporación de nuevos objetos y naturalezas.
Por el momento, los entornos de diseño análogo programable no incorporan lenguajes
de descripción de hardware como el VHDL-AMS, pero en la actualidad es tema de
desarrollo e investigación en diferentes Universidades. Se espera que para el futuro
posean las mismas características de desarrollo como se maneja en los dispositivos
lógicos programables.
Los dispositivos de señal mixta programables están incursionando en el mercado. Pocas
por decir que una sola empresa es la que por el momento los comercializa, las otras
empresas investigadoras y desarrolladoras de este tipo de dispositivos están en etapas de
prueba.
Los resultados obtenidos en la simulación de los diferentes modelos, muestran que el
comportamiento obtenido es similar a los dispositivos disponibles en el mercado, sin
embargo no se han incluido retardos en el comportamiento de los elementos. Estos
comportamientos deben incluirse a medida que se va bajando de nivel de abstracción en
el diseño.
El lenguaje VHDL-AMS es de los primeros lenguajes de descripción de hardware para
sistemas análogos, lo cual es en definitiva una gran ayuda para el diseñador de sistemas
mixtos y análogos; también existe una versión del lenguaje Verilog con soporte de
manejo de señales análogas y mixtas.
IEM-II-03-10
112
El software empleado SMASH hace un manejo de errores de léxico muy eficiente y es
claro al identificar donde se produjo el error y la razón de este.
IEM-II-03-10
113
Bibliografía
[FRA88] FRANCO, Sergio. Design with Operational Amplifiers and Analog Integrated Circuits. McGraw Hill. 1988. [GRA95] GRAY, P. MEYER, R. Análisis y Diseño de Circuitos Integrados Analógicos. Prentice Hall. 1995. [HAS88] HASKARD, Malcom. Analog VLSI Design nMOS and CMOS. Prentice Hall. 1988 [JES97] JESPERS, Paul. MOSFET Modeling. Analog Integrated Circuit Design. IBERCHIP. Puebla. 1997. [KLI89] KLINKE, R., HOSTICKA, B.J., PFLEIDERER, H.J. A Very-High-Slew-Rate CMOS Operational Amplifier. IEEE Journal of Solid-State Circuits. Vol. 24. No3, Jun 1989. [SAN97] SANSEN, Willy. Basic Building Blocks. Analog Integrated Circuit Design. IBERCHIP. Puebla 1997. [SAN971] SANSEN, Willy. Operational Amplifiers 1. Analog Integrated Circuit Design. IBERCHIP. Puebla 1997. [VIL98] VILLAR, Eugenio & Otros. VHDL Lenguaje Estándar de Diseño Electrónico. McGraw Hill. Madrid. 1998. [CHR99] CHRISTEN, Ernst & BAKALAR Kenneth. VHDL-AMS – A Hardware Description Languaje for Analog and Mixed-Signal Applications. IEEE Transactions on Circuits and Systems-II: Analog and Digital Signal Processing, Vol. 46, No. 10, Oct. 99, pp 1263-1272. [OUD00] OUDINOT, Jean & VAGANAY, Caroline. Mixed-Signal ASIC Top-Down and Bottom-Up Design Methodologies using VHDL-AMS. Deep Submicron Technical Publication, Mentor Graphics, Nov. 2000
IEM-II-03-10
114
[VAC98] VACHOUX, Alain. Analog and Mixed-Signal Extensions to VHDL. Analog Integrated Circuits and Signal Processing. Kluwer Academic Publisher, Boston, 1998. [COR00] CORVACHO, Miguel A. Concepción de Celdas Análogas para Diseño a Alto Nivel. Universidad de Los Andes. Bogota. Ago, 2000. [GAR00] GARCIA, Antonio. Diseño de Sistemas Electrónicos. I Jornadas Iberoamericanas de Diseño Digital a Alto Nivel, CYTED, AECI, Colombia, Sep. 2000. [GAJ97] GAJSKI, Daniel D. Principios de Diseño Digital. Prentice Hall. Madrid, 1997. [IEE99] IEEE Standard VHDL analog and mixed-signal extensions, “IEEE Std 1076.1-1999”. Design Automation Standards Committee of the IEEE Computer Society, ISBN: 0-7381-1640-8, USA, Dic. 23. 1999. [JES01] JESPERS, Paul. Integrated Converters – D to A and A to D Architectures, Analysis and Simulation. Oxford University Press. New York 2001. [HUS01] HUSS, Sorin. Model Engineering Mixed-Signal Circuit Design. Kluwer Academic Publisher, Boston, 2001.
IEM-II-03-10
115
ANEXO A GUIA DE REFERENCIA PARA HACER UN LAYOUT
EN CADENCE.
Como es bien sabido CADENCE solo funciona bajo sistemas operativos específicos,
para este caso contamos con Solaris 7, que es bajo lenguaje de Unix. Para esto es
importante decir que el usuario de la herramienta debe conocer un poco de este sistema
operativo, de lo contrario le va a resultar algo complicado poder hacer uso de la misma.
Lo primero es definir las variables de entorno apropiadas para que se pueda empezar a
trabajar con la herramienta, esto se hace mediante la configuración de unas variables ya
anteriormente definidas y que el usuario que va a utilizar el software necesita tener.
prompt$> source cadence_2001 Cadence DFWII IC4.46 Installed prompt$> cd AMS_cad prompt$> source ams prompt$> amscyx
Luego de la última instrucción se despliegan dos nuevas ventanas las cuales son de
suma importancia pues una es el CIW “Command Interpreter Window” el cual permite
tener control sobre cualquier parte o herramienta de CADENCE.
Se pueden realizar varias operaciones con el CIW:
Abrir nuevas ventanas
Iniciar herramientas y cerrar aplicaciones de diseño.
Ver errores y advertencias e información adicional sobre lo diseñado.
Cambiar la configuración de su entorno de trabajo (Cambio de Librerías).
Se puede usar una línea de comandos para modificar archivos.
IEM-II-03-10
116
La nueva ventana que aparece es el “Library Manager”, el cual es una especie de
archivador y es en el cual se organizan los archivos (Librerías y celdas). Y en ellas
existen tres opciones: Library, Cell y View.
Con el Library Manager usted puede crear, borrar, mover, copiar, renombrar, editar las
propiedades e importar o exportar archivos de las librerías o las celdas.
La intención de esta parte del documento es mostrar un manual de referencia en el cual
el usuario pueda desarrollar un ejemplo de aplicación en el cual utilice la herramienta
Virtuoso para generar un layout, presentando los pasos o la metodología a seguir para
poder trabajar en CADENCE.
El siguiente diagrama de bloques servirá para dejar en claro cada uno de los pasos a
seguir en la metodología de un diseño para generar la representación esquemática de un
circuito y a su vez para ver su posterior layout.
IEM-II-03-10
117
A.1 Especificaciones de Diseño
Las especificaciones están atadas a la funcionalidad típica esperada del circuito
(Funciones Booleanas). También a el máximo los tiempos de retraso aceptables, el
área de silicón y otras propiedades como disipación de potencia. Sin embargo existe
IEM-II-03-10
118
A.2 Captura Esquemática
El método tradicional para capturar el diseño ya sea en los esquemáticos o en
diagramas de compuertas se trabaja con “schematic editor”.
Los editores esquemáticos proporcionan una manera simple e intuitiva para conectar
los componentes individuales que constituyen el diseño.
El dibujo esquemático resultante debe describir las propiedades eléctricas
principales de todos los componentes y sus interconexiones con precisión.
También se debe incluir en el esquemático las fuentes de voltaje y las conexiones de
tierra, así como todos “pines" de entrada y salida de su circuito.
Esta información es crucial para generar el netlist correspondiente que se usa en
fases posteriores del diseño.
Normalmente, algunas propiedades de los componentes (dimensiones de transistor)
se modifican seguidamente como resultado de las interconexiones entre los
dispositivos buscando optimizar reiterativamente el diseño.
A.3 Creación del Símbolo
Si el diseño del circuito consiste en componentes jerárquicos más pequeños (o
módulos), normalmente es muy beneficioso identificar tales módulos rápidamente y
asignar un símbolo correspondiente a ese bloque.
IEM-II-03-10
119
Este paso simplifica la representación esquemática del sistema.
El "símbolo" es un icono que simboliza la colección de todos los componentes
dentro del módulo.
A.4 Simulación
La actuación eléctrica y la funcionalidad del circuito deben verificarse usando una
herramienta de la Simulación. La simulación a este nivel detallada del diseño será la
primera aproximación a encontrar un buen diseño del sistema. Basado en resultados de
la simulación, el diseñador normalmente modifica algunas de las propiedades del
dispositivo (dimensiones de los transistores) para mejorar o corregir el desempeño del
diseño.
La fase de la simulación inicial también sirve descubrir algunos de los errores de diseño
que se pueden haber creado durante el paso de la entrada esquemático. Es bastante
común descubrir errores como malas conexiones o un cruce imprevisto de dos
dispositivos en el esquemático, “errores al pintar”.
La segunda fase de la simulación sigue después de la "extracción" del layout para
evaluar la actuación eléctrica del diseño completamente con precisión.
En la figura A.6 se puede observar una simulación de un esquemático general de un
amplificador.
IEM-II-03-10
120
A.5 Generacion de Layout.
La creación del esquema del layout es uno de los pasos más importantes en el diseño
full-custom, donde el diseñador describe las geometrías detalladas y el
posicionamiento relativo de cada capa de la máscara que será usada en la
fabricación real y usa a un editor denominado Layout Editor. El diseño del esquema
físico esta muy herméticamente unido a la actuación del circuito global (área,
velocidad y dispersión de poder) desde que la estructura física determina las
transconductancias de los transistores, las capacitancias parásitas y resistencias, y
obviamente, el área de silicón que se usa para comprender una cierta función.
Por otro lado, el layout detallado de las compuertas lógicas requiere un esfuerzo
muy intensivo.
El diseño físico (layout) de compuertas lógicas CMOS es un proceso reiterativo que
empieza con la topología del circuito y finaliza con la clasificación según el tamaño
de los transistores. Es sumamente importante que el diseño no debe violar ninguna
de las Reglas del diseño para asegurar una probabilidad alta de fabricación de todos
los rasgos descritos por el layout.
En la siguiente figura se observa un ejemplo de layout.
IEM-II-03-10
121
Existe otro nivel para generar un layout en el cual ya existen los transistores
definidos, lo que CADENCE define como “Automatic Layout”. Todas estas
aplicaciones se desarrollan mas adelante en los ejemplos de aplicación.
A.6 Chequeo de Reglas
El layout creado debe respetar un juego complejo de reglas de diseño para asegurar
una probabilidad más baja de defectos de fabricación. Una herramienta construida
en el Layout Editor, llamada Design Rule Checker, se usa para descubrir cualquier
violación de reglas durante y después del layout. Los errores descubiertos se
despliegan en la ventana de virtuoso con marcadores que indican la posición exacta
del error, y la regla correspondiente también se despliega en una ventana separada.
El diseñador debe realizar DRC varias veces y debe asegurarse que todos los errores
del esquema están finalmente corregidos del layout definitivo.
IEM-II-03-10
122
A.7 Extracción del Circuito.
La extracción del circuito se realiza después del diseño del layout y se completa para
crear un netlist detallado (o descripción del circuito) para la herramienta de la
simulación. El extractor del circuito es capaz de identificar los transistores individuales
y sus interconexiones (en varias capas), así como las resistencias parasitarias y
capacitancias que están inevitablemente presentes entre estas capas. Así, el "netlist
extraído" puede proporcionar una estimación muy exacta de las dimensiones reales y
parásitas del dispositivo que finalmente determinan la fabricación y desempeño del
circuito.
El netlist extraído y los parámetros son usados para realizar el siguiente paso del flujo
de diseño en CADENCE que es la comparación entre Layout y el esquemático en las
simulaciones de nivel de transistor.
IEM-II-03-10
123
A.8 Comparación de las simulaciones
CADENCE tiene una herramienta llamada LVS (Layout-versus-Schematic) que informa
que tanto el esquemático como la extracción son equivalentes.
LVS mantiene un nivel adicional de confianza la integridad del diseño, y asegura que el
esquema de la máscara es una realización correcta de la topología del circuito.
Un LVS exitoso no garantizará que el circuito extraído satisfará los requisitos
realmente.
Cualquier error que puede presentarse durante LVS (como conexiones imprevistas entre
los transistores, etc.) deben corregirse en el layout antes de proceder a la simulación del
post-layout.
También nota que el paso de la extracción debe repetirse cada vez se modifica el layout.
A.9 Simulación Post-Layout
La actuación eléctrica de un diseño full-custom puede ser analizada mejor realizando
una simulación del post-layout del netlist extraído del circuito.
IEM-II-03-10
124
Después de superar las pruebas de chequeo de reglas y la comparación LVS se
proporcionará una valoración clara de la velocidad del circuito, la influencia de los
efectos parásitos del circuito (como capacitancias parásitas y resistencias).
Si los resultados de simulación del post-layout no son satisfactorios, el diseñador debe
modificar algunas de las dimensiones del transistor y/o la topología del circuito para
lograr los resultados deseados.
La única forma de probar si el circuito diseñado funciona es después de su fabricación,
aunque las herramientas que posee CADENCE son muy buenas, no obstante se esta
atado a ciertos errores numéricos inevitables.
Para encontrar exactamente un manual de referencia se procede a explicar por medio de
un ejemplo sencillo el proceso de diseño requerido. El ejemplo que se va a usar es el de
un Inversor CMOS.
A.10 Ejemplo de una captura esquemática.
PRIMER PASO: ABRIR UNA NUEVA VENTANA DEL ESQUEMATICO.
1. Haga click en File en el menú del Library Manager y deslice el mouse hasta
llegar a New y luego escoger Cellview
Una nueva ventana se despliega y la cual se llama “Create New File”.
2. En la ventana de Create New File hay cuatro espacios los cuales se especifican a
continuación.
Library Name (Nombre de Librería)
Usted tiene que escoger su directorio del funcionamiento pulsando el
botón y sosteniendo el botón del ratón izquierdo en el campo de la
IEM-II-03-10
125
Biblioteca. Puesto que nuestro nombre de la biblioteca es "tutorial" en
este ejemplo, nosotros escogemos la etiqueta correspondiente, "tutorial".
Cell Name (Nombre de la celda)
Entre en el nombre de su celda para la que usted dibujará el esquemático.
En nuestro ejemplo, nosotros dibujaremos el esquemático de un inversor,
para que nosotros tecleemos "inverter" en el campo de Nombre de Celda.
View Name (Nombre de Vista o Tipo de visor)
El “Nombre de Vista” indica el nivel de la jerarquía del diseño. Usted
puede determinar que usted va a dibujar un símbolo o un esquemático o
un esquema en este campo sólo tecleando el nombre de vista
correspondiente. Desde que nosotros dibujaremos el esquemático de un
inversor, la opción de nombre de vista correcta es "schematic" para
nuestro ejemplo.
Tool (Herramienta para diseño)
Aquí, usted tiene que seleccionar la herramienta de edición de diseño. La
herramienta depende del nivel de la jerarquía de su diseño. Si usted pulsa
el botón y sostiene el botón del ratón izquierdo en el campo de la
herramienta, usted verá las herramientas disponibles. Se usarán sólo tres
de estas herramientas para todos los ejemplos.
Composer Schematic: Editor esquemático
IEM-II-03-10
126
Composer Symbol: Editor del símbolo
Esquema del virtuoso: Editor del esquema
Si escoge pintar un esquemático debe elegir "Composer Schematic".
Escogiendo a Composer Schematic. La herramienta seleccionada
convierte el Nombre de Vista a la correspondiente ventana de layout.
3. Finalmente haga click en “OK” para cerrar la ventana y abrir un nuevo esquema
para editar escogiendo la ventana de “Create New File”.
SEGUNDO PASO: ADICIONAR COMPONENTES
Nota: Para poder continuar con esta sección lo que se debe tener es que el editor de
esquemas se encuentra activo y dispuesto.
1. La primera cosa para hacer es agregar y poner componentes que se usarán en el
esquemático. Los componentes que se necesitan para un esquemático de un
inversor son los siguientes:
PMOS: p-tipo MOSFET
NMOS: n-tipo MOSFET
VDD: Fuente de voltaje
GND: Línea de tierra
Para agregar componentes, pulse el botón “Add” y de ese menú escoger
“Component”. (Agregue--> el Componente)
IEM-II-03-10
127
2. Aparece una nueva ventana.
Uno de los primeros ítems que aparecen en el menú es: “Add Component
Window”, en el cual se puede ingresar el nombre de la librería (Library Name),
de la celda (Cell Name) y del nombre (View Name) para ver cuando este objeto
va a ser adicionado al esquemático.
La otra opción es en la que aparecen los componentes que se tienen disponibles
para realizar el diseño (Component Browser).
3. Para empezar el diseño se escogen los componentes necesarios, es decir, los
transistores MOS del menú que aparece en la ventana del Component Browser.
Se debe tener cuidado en escoger los componentes de la librería correcta. Usted
puede cambiar la librería del componente simplemente pulsando el botón y
sosteniendo el botón del ratón izquierdo en el campo de la librería.
La biblioteca correcta es "NCSU_Analog_Parts", así selecciona esta librería si
no se selecciona cuando usted abrió el Component Browser.
Hay muchos fólderes bajo esta librería. Seleccione el "N_Transistors" pulsando
el botón una vez en un MOSFET de tipo n. La nueva ventana contiene muchos
IEM-II-03-10
128
símbolos, los que también se muestran en el cuadro. Escoja el transistor NMOS
pulsando el botón una vez en "nmos" que es un modelo de un MOSFET tipo n y
que tiene tres terminales.
Si usted mueve el cursor del ratón en la ventana esquemática, usted verá un
símbolo de un transistor NMOS iluminado (amarillo) que se mueve con el
movimiento del ratón. El diseñador decide donde colocar este transistor. Pulse el
botón en la ventana esquemática, donde usted quiere poner el transistor. Las dos
figuras siguientes permiten ver el transistor seleccionado sin haberse puesto y la
colocación final del transistor.
El mismo procedimiento se sigue para seleccionar el transistor de tipo PMOS, la
diferencia es que se escoge “pmos” del listado de los “P-Transistor” del fólder
Component Browser.
IEM-II-03-10
129
TERCER PASO: ADICIONAR LAS FUENTES DE VOLTAGE.
1.
IEM-II-03-10
130
2. Siguiendo el procedimiento anterior se puede hacer lo mismo para colocar
“gnd”.
3. Luego de haber colocado este último componente ya se finalizo el proceso de
colocar los componentes necesarios en este diseño.
Es importante tener en cuenta que la escogencia de la librería determina el tipo
de tecnología en el cual se esta trabajando.
Para salir del Component Browser presione la tecla “ESCAPE” (ESC) del
teclado y así cierra las ventanas que permiten adicionar componentes.
CUARTO PASO: CONECTAR LOS COMPONENTES.
1. Después de que todos los componentes estén colocados en su puesto, es
necesario conectarlos entre si para que realicen su función especifica.
En el menú de Virtuoso se escoge la opción de adicionar cable, es decir ir al
menú de “Add” y luego a la opción de “Wire (narrow)”. Add Wire (narrow)
IEM-II-03-10
131
2. Una nueva ventana se despliega: Add Wire.
En esta ventana usted puede cambiar el método de enrutamiento y la forma de
pintar.
Para comenzar se conecta el voltaje VDD de la fuente con una terminal del
transistor PMOS.
Cada componente tiene cuadrados rojos en sus terminales donde usted puede
hacer las conexiones. Conectando cualquier dos puntos se hace pulsando el
botón primero a uno de las terminales y desplazándose hacia el otro.
Durante estos pasos, se reciben mensajes siempre por la ventana esquemática. Si
usted sigue las instrucciones indicadas en ese campo, usted puede completar su
trabajo fácilmente. Cuando se realice esta conexión el mensaje que aparece será:
Point at the starting point for the router
Puesto que nosotros empezamos con alambrar el VDD y va al PMOS, nosotros
pulsamos el botón primero al centro del cuadrado rojo que corresponde al pin de
VDD.
IEM-II-03-10
132
Un extremo del alambre es ahora fijo, y usted comprenderá que los otros pines
del extremo se pueden mover según el indicador del ratón. Usted también verá
que el pin más cercano al extremo del alambre se resalta automáticamente. La
nueva sugerencia es la siguiente:
Point at ending point for the route.
3. Hacer Click en el otro pin donde se encuentra el terminal del transistor PMOS.
Este es el último paso para conectar dos nodos. El mismo procedimiento se
puede usar para conectar todas las terminales restantes y así completar la
conexión eléctrica del diseño.
Para terminar con la opción de realizar el cableado se presiona la tecla
“ESCAPE” (ESC) del teclado y así cierran las ventanas que permiten trazar
cables.
IEM-II-03-10
133
QUINTO PASO: EDITAR LAS PROPIEDADES DE LOS COMPONENTES.
Inicialmente los componentes que usted escoge de la librería vienen definidos con
unos valores predeterminados, los cuales se pueden modificar según sea la
necesidad del diseño.
1. Seleccione el transistor PMOS haciendo click sobre el.
Cuando esta operación se realiza aparece una un rectángulo blanco más brillante
encerrando el dispositivo a modificar.
2. Luego se escoge en el menú de edición: Properties y luego Object.
3. Edite las propiedades haciendo click en su correspondiente campo.
Usted puede cambiar los valores por Ancho o Longitud que dependen de sus
especificaciones de diseño. Normalmente, usted cambiará sólo el valor de Ancho
que simboliza el ancho del canal “W”. Los valores predefinidos por estas
propiedades son los valores disponibles más pequeños que se determinan por la
librería de tecnología.
IEM-II-03-10
134
Para revisar el ancho del canal del transistor, pulse el botón en el campo del
Ancho. Entonces entra en un nuevo valor que es un resultado de sus cálculos o
simplemente un valor inicial para ver cómo la actuación cambia dependiendo de
esta variable. Cuando se cambia de propiedades tiene que prestar atención a la
unidad que se usa. Por ejemplo el ancho del canal se cambia a 1200 nm
(nanómetros) qué es igual a 1.2 m (micrómetros).
4. Haga Click en OK después de editar las propiedades y se cierra la ventana de
Edit Object Properties.
Los parámetros más importantes (tipo, dimensiones) siempre aparecen en la
ventana del esquemático. Son fáciles de apreciar los cambios de las propiedades
de los dispositivos pues estas aparecen cerca del correspondiente transistor en el
esquemático.
IEM-II-03-10
135
SEXTO PASO: COLOCAR LOS PINES.
Usted debe poner los pines de Entrada/Salida (I/O) en su esquemático para
identificar las entradas y las salidas. Un pin puede ser una entrada o una salida o una
entrada-salida (vi-direccional) o un pin interruptor. Para este ejemplo solo se usa un
pin de entrada y un pin de salida.
1. Haga click en el menú de Add y luego baje el mouse hasta llegar a la opción de
pin.
2. Aparece una ventana que se llama “Add Pin”.
3. En el cajón donde se pide el nombre (Pin Names) se le coloca el nombre.
El nombre de la entrada en este ejemplo es "Inp" (nota que los nombres de los
pines pueden ser completamente arbitrarios). También, nótese que la opción de
Direction se pone como Entrada (input) que indica que el pin actual es un pin de
entrada.
IEM-II-03-10
136
4. Mueva el cursor del mouse hasta donde necesite colocar el pin de entrada.
Ahora se tiene el pin de la entrada con el nombre "Inp" que aparece en la
ventana esquemática. La siguiente imagen ilustra donde para este ejemplo
particular se debe colocar el pin.
5. Se hace la misma operación para el pin de salida.
6. Conecte los pines a sus correspondientes nodos.
El proceso de agregar una conexión o un cable ya fue descrito anteriormente. Click en Add y seleccione Wire (narrow). Click en el pin de entrada. => El final por ahora es flotante. Click en un punto del cable que une los dos transistores (PMOS y NMOS)
IEM-II-03-10
137
Click en el pin de salida. => El final por ahora es flotante.
Click en el nodo que se formo con el cable que une las dos compuertas de drain de
los dos transistores PMOS y NMOS.
Finalmente presione ESC para salir del modo de crear cable o conexión. Y
finalmente el esquemático se observa de la siguiente manera.
IEM-II-03-10
138
SEPTIMO PASO: CHEQUEAR Y SALVAR
1. Para realizar este paso se requiere que se ingrese al menú de Diseño (Design) y
ahí seleccione la herramienta necesaria para cumplir con este ultimo paso de la
captura esquemática -> “Check and Save”.
Durante esta guía didáctica, usted puede salvar su diseño seleccionando Save en
el menú Design. También se aconseja fuertemente que usted frecuentemente
salve sus diseños, cada vez después de que usted haga cambios significantes,
para que usted no pierda sus datos debido a una caída de la computadora o
debido a un error que puede pasar en un ambiente complicado como lo es
Solaris.
2. Revise los mensajes que aparecen en la Ventana del CIW anteriormente descrita,
en ella aparecerán si hay algún tipo de advertencia (warning) o algún error.
A.11 Ejemplo de Creación de Símbolo.
PRIMER PASO: ABRIR LA VENTANA DE UN ESQUEMATICO EXISTENTE.
1. Seleccione su librería haciendo click en la columna de library en el Library
Manager. Las celdas en la librería aparecen en la columna de celdas.
2. Seleccione su celda haciendo click en la columna del Library Manager.
IEM-II-03-10
139
Las diferentes opciones de vistas de las celdas aparecen. En este momento hasta
ahora se tiene la de “schematic” en la columna de “view”.
3. Seleccione su forma de de ver la celda del Library Manager. La forma de ver el
sistema aparece en la ventana de view.
4. En el Library Manager, seleccione abrir el archivo Open del menú de File.
File->Open. Esto hace que el diseño aparezca de nuevo.
Nota: Es importante dejar en claro que si se realizo el ejemplo anterior el programa
Virtuoso en su vista de esquemático ya estaba abierto lo cual indica que este primer
paso no seria necesario.
SEGUNDO PASO: CREAR EL CELLVIEW.
1. Del menú de diseño (Design) seleccione Create Cellview y en ella From
Cellview.
Design->Create Cellview->From Cellview.
Al hacer esa selección aparece inmediatamente otra ventana.
2. Revise que el nombre del cellview sea el correcto y haga click en OK
IEM-II-03-10
140
Antes de pulsar el botón OK, usted tiene que asegurarse que el target view
designado es symbol con el que se indica "To View Name" en la esquina del
abajo-derecha de la ventana. Si no, entonces usted puede cambiar el nombre de
vista designado a "symbol" pulsando el botón y sosteniendo el botón del ratón
izquierdo en la caja correspondiente.
TERCER PASO: LOCALIZACION DE PINES.
1. Cuando se hace click en OK en el cellview aparece una nueva ventana.
Es esta ventana Symbol Generation Options, se puede editar los atributos de los
pines y su localización. Por defecto, se tienen las entradas a la izquierda y las
salidas a la derecha.
Se pueden cambiar la localización de los pines simplemente poniendo el nombre
del pin en el lugar donde se solicita el nombre del pin.
2. Si no se desea cambiar y dar por finalizado la localización de los pines se
termina la edición del símbolo haciendo click en OK.
Esto genera que aparezca una nueva ventana en la cual se observa el nuevo
símbolo creado como una “caja negra”.
CUARTO PASO: EDICION DE LA FORMA DEL NUEVO SIMBOLO.
1. En la nueva ventana se muestra el nuevo símbolo.
La forma predefinida del icono del símbolo es un rectángulo, con los pines
localizados donde se definieron durante el paso anterior. Los cuadrados rojos
pequeños indican los puntos de conexión para cada pin correspondiente. El
rectángulo rojo que rodea el símbolo entero determina el área seleccionable del
símbolo cuando se usó en el esquemático.
IEM-II-03-10
141
2. Si no esta satisfecho con las propiedades del símbolo, entonces usted puede
crear un nuevo símbolo solamente editando el existente.
Los pasos a seguir para esta operación son los siguientes:
Delating/Replacing alguna de las partes existentes.
Adicionar las nuevas formas geométricas.
Cambie la localización de los pines y el nombre del símbolo.
Adicione las nuevas etiquetas.
QUINTO PASO: CHEQUEAR Y SALVAR.
1. Para revisar que las cosas se hicieron bien es importante utilizar la herramienta
que esta en el menú de Design: Check and Save.
Design->Check and Save.
IEM-II-03-10
142
A.12 Ejemplo de Simulación.
PRIMER PASO: ABRIR LA VENTANA DEL ESQUEMATICO.
Para este caso es importante tener en cuenta que hay que haber creado un símbolo de lo
que se va a simular pues gracias a este se puede proceder a realizar el diseño.
SEGUNDO PASO: SELECCIONE Y COLOQUE LOS COMPONENTES.
Nota: es importante que se necesita un nuevo esquemático.
1. Lo primero es adicionar y colocar los componentes los cuales van a ser usados
para simular, en este caso particular el inversor cuenta con:
Inversor SIMBOLO CREADO DEL INVERSOR VDD FUENTE DE VOLTAJE GND LINEA DE TIERRA Vdc FUENTE DE VOLTAJE DC
Vpulse Generador de onda en forma de pulso C Capacitancia o Condensador
2. Haga click en Add y seleccione Component.
Dos nuevas ventanas van a aparecer Component Browser y Add Component.
Haga click en la ventana de Add Component para activar Component Browser.
IEM-II-03-10
143
3. Es muy importante poner cuidado a la librería de la cual se van a tomar los
componentes.
El punto donde usted tiene que tener cuidado es que se trabaja con los
componentes de la biblioteca correcta. Usted puede cambiar la librería del
componente simplemente pulsando el botón y sosteniendo el botón del ratón
izquierdo en el campo de la librería. En este paso, se tienen dos librerías de la
fuente, uno es la librería del componente dada "NCSU_Analog_Parts", y la otra
es nuestra librería diseñada que contiene los componentes que nosotros
diseñamos previamente. El nombre de esta librería para este ejemplo es
"tutorial". Esto significa, que para poder usar el símbolo del inversor, se tiene
que cambiar la librería del Component Browser a nuestra librería, “tutorial”.
Esto puede hacerse, como explicó en pasos anteriores, pulsando el botón y
sosteniendo el botón del ratón izquierdo hasta que seleccione la librería
correspondiente en la lista de librerías.
Después de que la librería "tutorial" se selecciona, habrá una nueva lista de
componentes que se incluyen en ella. Cada símbolo que se creó dentro de esta
librería se presentará. Para que, pulsando el botón en "inverter" en la lista del
componente en el Component Browser, se pueda tener el símbolo que usted creó
para el inversor.
Se puede verificar que exactamente se esta trabajando con lo requerido
revisando en la ventana de Add Component y si además se le pide que aparezca
el símbolo creado en el esquemático este debe aparecer.
Que se vera finalmente como en la siguiente figura.
IEM-II-03-10
144
TERCER PASO: SELECCIONE Y COLOQUE LOS COMPONENTES.
1. Lo primero es adicionar y colocar los componentes los cuales van a ser usados
para simular, en este caso particular se abren los componentes de la librería de
“NCSU_Analog_Parts” y no de “tutorial”.
Primero se abre el fólder de “Supply_Nets” y se toma “vdd” y “gnd”.
Luego coloque las fuentes de voltaje “vdc” y “vpulse”, que se obtienen
de la carpeta que lleva como nombre: “Voltage Sources”.
IEM-II-03-10
145
Coloque el condensador como carga de salida, la cual esta en la carpeta
“R_L_C” y de ahí se selecciona la opción “cap”.
CUARTO PASO: CABLEADO DEL DISENO.
Para esto es importante hacer notar que lo que nos interesa en este caso particular es
unir cada uno de los componentes de la forma correcta y lo que se hará es un mapeo
grafico de los diferentes procesos para si llegar a tener finalmente todo unido.
Luego se conecta la carga y finalmente se tiene.
IEM-II-03-10
146
QUINTO PASO: DEFINA LAS FUENTES DE VOLTAJE
En este paso, se varían los parámetros necesarios para los componentes de las fuentes de
voltaje.
1. Editar las propiedades de la fuente voltaje DC.
Seleccione la fuente de DC pulsándola con un click de mouse. El componente
seleccionado es resaltado por una caja luminosa (rectángulo) alrededor de él.
Haga click en el menú de Edit arrastre el mouse hasta Properties y finalmente
hasta Object.
Inmediatamente aparecerá una nueva ventana que se llama: Edit Object
Properties (EOP).
IEM-II-03-10
147
En el campo de edición de la fuente DC en el EOP. Se coloca el valor de VDD
que para este ejemplo de aplicación es de 3.3V. es importante resaltar que este
valor depende de con que tecnología se este desarrollando el ejercicio de
aplicación.
Para finalizar la opción de editar el valor de la fuente VDC es solo hacer click en
OK y en el esquemático se puede ver que el cambio fue realizado con éxito.
2. Ahora hay que editar la fuente que es el generador de un pulso cuadrado, el cual
va a ser la entrada.
Utilizando la metodología anteriormente citada para el desarrollo del anterior de
la configuración de la fuente DC, se hará lo mismo en este caso.
IEM-II-03-10
148
Esto hace que aparezca una nueva ventana en la cual se encuentra la
configuración de la fuente de tipo de pulso.
Los parámetros que se utilizan para configurar esta fuente se ilustran mejor en la
siguiente grafica teórica que describe cada uno de los valores a colocar.
3. Se hace click finalmente en OK y se puede ver que los valores modificados
finalmente aparecen sobre el esquemático.
IEM-II-03-10
149
SEXTO PASO: DEFINA LA CAPACITANCIA DE CARGA.
1. Editar las propiedades del condensador que va a ser la carga del inversor.
Como se ha explicado en los pasos anteriores se procede igual para entrar a las
propiedades del dispositivo en el menú de Edit para llegar a la ventana de Edit
Object Properties. Para este caso particular solo nos interesa modificar el valor
de la capacitancia, para este caso especial se escogió un valor bastante pequeño
de 25fF (Femto Faradios). Al hacer click en OK en la ventana de Edit Object
Properties inmediatamente en el esquemático aparecerá la información
modificada.
2. Adicionalmente es importante marcar las variables que me van a servir de objeto
a simular, es decir etiquetar las variables que me van a interesar simular.
Para esto en el menú de Add seleccione la opción Wire Name, al deslizar hasta
allá el mouse lo que se va a lograr es la aparición de una nueva ventana en la que
se podrá colocar el nombre deseado, y en la cual se puede modificar el tamaño
de la letra a utilizar.
IEM-II-03-10
150
Para la aplicación se trabaja solo con una entrada y una salida, que finalmente
van a ser los que se van a trabajar, en este caso se hablara de “in” y de “out”.
Cuando se le da la opción de Hide se pasa directamente al esquemático donde
me solicita que seleccione el primer cable y luego de haber echo clic sobre el
cable que se conocerá como la entrada luego pedirá el de la salida “out”. Como
se ve en la siguiente figura al marcar el de la entrada la marca de “out” se resalta
en amarillo pues aun no ha sido asignada a ningún cable del diseño.
Y finalmente se cierra la opción de Add Label al darle OK o simplemente utilizar
la tecla de ESC del teclado.
IEM-II-03-10
151
3. Salve su diseño usando la herramienta Check and Save. Y hay que verificar que
el CIW no informa errores o advertencias.
SEPTIMO PASO: ABRIR LA VENTANA DEL SIMULADOR.
Después de haber hecho lo anterior se puede decir que se esta listo para simular el
diseño, el cual se puede utilizar gracias a una de las herramientas que trae CADENCE y
en especial esta herramienta de Virtuoso: el simulador se llama Analog Artist.
1. Abrir la ventana de “Analog Artist”.
Haga click en el menú de Tools, en ese momento aparece la ventana de Artist
Analog en la cual se distinguen cuatro campos principales: Diseño (Design),
Análisis (Analyces), Diseño de variables (Design variables) y las salidas
(Outputs).
OCTAVO PASO: EDITAR LOS PARAMETROS DEL SIMULADOR.
1. Haga click en el menú de Analyses y deslice el mouse hasta la opción de
Choose.
Luego de esto aparecerá una nueva ventana que se llama “Choosing Analyses”
en la cual se escoge el tipo de simulación que se va a realizar.
IEM-II-03-10
152
2. Haga click en “tran” en el menú de Analyses.
Hay muchas opciones del análisis disponible que usted puede escoger. Cada uno
de estas opciones proporciona una sub-región específica dentro de la ventana del
Choosing Analysis. Esta simulación es interesante puesto que nosotros queremos
obtener la información de retraso para el inversor, nosotros escogemos el tipo de
la simulación transciente, para que la simulación pueda verse dominio a tiempo.
Para este punto es importante escoger el tiempo en el que se va a detener la
simulación, que para el ejemplo especifico lo tomamos como 30ns.
3. Finalmente haga click en OK en la ventana de “Choosing Analysis” para cerrarlo
y volver a la ventana de “Analog Artist”.
Haga click en el menú de Tools, en ese momento aparece la ventana de Artist
Analog en la cual se distinguen cuatro campos principales: Diseño (Design),
Análisis (Analyces), Diseño de variables (Design variables) y las salidas
(Outputs).
IEM-II-03-10
153
NOVENO PASO: CORRER LA SIMULACION.
1. Haga click en el menú de Outputs y deslice el mouse hasta la opción de “To Be
Plotted” y luego siga deslizando el mouse hasta “Select on Schematic”.
Lo que genera que se abra el esquemático para que usted seleccione los nodos
que van a ser observados.
2. Haga Click en el circuito el cual usted necesita para ver la ventana del
esquemático. En este caso particular de aplicación las que interesan son la
entrada y la salida del diseño: “in” y “out”. Cada una de estas selecciones lo que
genera es que se logre ver en el Analog Artist la lista de salidas
3. Presione ESC para terminar con las variables a simular.
IEM-II-03-10
154
4. Inicie la simulación dirigiéndose al menú de “Simulation” y luego a la opción
“Run”.
5. La ventana del waveform aparece después de la simulación se completa. Incluye
el waveform de los nodos seleccionados trazado entre t=0 y la Parada despedida
a un tiempo de 30 ns.
Como se puede observar existen dos señales juntas, dibujadas en la misma axisa
y al mismo tiempo, y como se ve no es fácil distinguir una diferencia claro entre
las dos señales.
6. Para separar las dos respuestas dentro del Analog Artist Simulator se va al menú
de “Axes” y ahí dentro esta la opción de To Strip.
IEM-II-03-10
155
Y finalmente se puede ver que se logro separar las dos salidas.
A.12 Ejemplo de Construcción de Layout.
PRIMER PASO: IDEA DE DISEÑO.
Para este paso es importante tener en cuenta que hay que haber definido exactamente lo
que se necesita para así poder proceder a pintar las capas necesarias, las cuales
dependen de las restricciones que se tengo para trabajar, a nivel de mascara se trabaja
mas con las especificaciones de la tecnología en la cual se va a trabajar.
Para este ejemplo se van a construir un transistor NMOS y otro PMOS con las mismas
dimensiones: W = 1.2m y L = 0.6 m.
SEGUNDO PASO: CREAR EL CELLVIEW DE TIPO LAYOUT.
Nota: es importante que se necesita un nuevo esquemático.
1. Del Library Manager escoja File luego New y finalmente Cellview.
File->New->Cellview
IEM-II-03-10
156
2. Entre el nombre del cellview y escoja layout como cellview.
Al hacer esta operación aparecerá una caja de diálogo para la Design Library,
Cellname y Cellview. Asegúrese que el nombre de la librería corresponde a su
librería, escoge un nombre para su celda y escoge Virtuoso como la herramienta
de diseño. El cellview se seleccionará como layout.
TERCER PASO: VIRTUOSO Y LSW.
Después de colocarle nombre y tipo al Cellview aparecen de inmediato dos nuevas
ventanas, como lo muestra la siguiente figura.
1. LSW (Layer Selection Window)
Es en el cual se escogen las capas con las cuales se van a pintar el layout.
Permite al usuario seleccionar capas diferentes del layout. El virtuoso siempre
usará la capa seleccionada en el LSW. El LSW también puede ser acostumbrado a
determinar qué capas serán visibles y qué capas serán seleccionadas. Para
seleccionar una capa, simplemente pulse el botón en la capa deseada dentro del
LSW.
IEM-II-03-10
157
2. Virtuoso
El virtuoso es el editor principal de layouts de las herramientas que tiene
CADENCE. Hay una barra del botón pequeña en el lado izquierdo del editor.
Las funciones normalmente usadas pueden ser accedidas apretando estos
botones. Hay una línea de información en la parte superior de la ventana. Esta
línea de información, contiene el X y Y coordina del cursor, número de objetos
seleccionados, la distancia viajada en X y Y, la distancia total y el orden
actualmente en uso. Al fondo de la ventana, otra línea muestra qué función los
botones del ratón tienen en cualquier momento dado. Note que estas funciones
cambiarán conforme el orden que se ejecutara.
La mayoría de los órdenes en Virtuoso empezará un modo, el modo predefinido
es selección, con tal de que usted no escoja un nuevo modo que usted
permanecerá en ese modo. Dejar de cualquier modo y devolver al modo de la
selección predefinida se oprime "ESC".
CUARTO PASO: DIBUJE LA DIFUSION N ACTIVA.
Ahora nosotros empezaremos dibujando nuestro primer transistor el cual será el
transistor de NMOS del inversor de CMOS. Del esquemático, nosotros sabemos que
este transistor tiene una anchura del canal de 1.2m. El ancho del transistor
corresponderá al ancho del área activa. Nosotros seleccionaremos la capa de n-difusión
y dibujaremos un área activa rectangular para definir el transistor.
1. Del LSW escoja nactive.
2. En Virtuoso en el menú de Create seleccione Rectangule. (Create->Rectangle).
3. Dibujar la caja.
Usted está ahora en modo del rectángulo. Seleccione la primera esquina de
rectángulo en la ventana del esquema (usted puede seleccionar cualquier punto
dentro de la ventana pero puede intentar seleccionar un punto cerca del origen),
IEM-II-03-10
158
pulse el botón una vez, y entonces mueva el cursor del ratón a la esquina
opuesta. Usando la barra de información, dibuje una caja que es 3.6m
horizontal y 1.2m vertical. Todas las unidades están por defecto en
micrómetros. Se define la grilla con un valor para lambda y que los incrementos
se determinan según lo disponen las reglas de la tecnología, en este caso
simplemente el cursor incrementa 0.15m.
QUINTO PASO: DIBUJAR EL POLICILISIO.
1. Del LSW escoja la capa poly.
2. Del menú Misc se escoge Ruler para poder medir exactamente lo que se
requiere.
La regla es una función muy hábil. En nuestro caso nosotros necesitamos dibujar
el rectángulo del poly en el medio de la región de difusión. Además, las reglas
del diseño nos dicen que ese poly debe extenderse por lo menos a través de
0.6m (2 Lambda) del borde de la difusión. Una regla será de uso acostumbrado
para determinar la distancia horizontal de la verja del poly del borde de difusión,
mientras una segunda regla mostrará la cantidad mínima de extensión del poly
fuera de la difusión según las reglas de diseño.
3. Dibuje el rectángulo del Polisilicio.
IEM-II-03-10
159
SEXTO PASO: HACER CONTACTOS ACTIVOS.
1. Del LSW escoja la capa ca (Active Contact).
2. Use la regla para colocarlos a 0.3m de los límites de la difusión.
3. Cree un cuadrado con dimensiones de 0.6m dentro del área activa.
4. Del menú de Edit escoja copy (Edit->Copy).
IEM-II-03-10
160
Usted podría escoger dibujar el segundo contacto la misma manera como se
dibujado el primero. Sin embargo, copiando el existente también es una
alternativa viable.
La caja de diálogo de copia se usa seleccionando el modo a copiar. Para este
funcionamiento los valores predefinidos son apropiados. El Modo Instantáneo es
una opción interesante. Cuando el diseño es ortogonal que pone los objetos
copiados sólo seguirá un eje. Éste es un rasgo bueno para ayudarle a evitar
problemas de alineación.
5. Copie el contacto.
Después de que usted entra en el modo de la copia, un objeto debe seleccionarse.
Pulse el botón en el contacto, usted notará que el contorno de contacto atará a su
cursor. Ahora mueva el objeto, y pulsa el botón cuando usted está satisfecho con
la situación.
Se debe confirmar y medir exactamente donde se debe colocar para así respetar
las reglas de diseño que cada tecnología provee.
6. Finalmente se puede ver el contacto en su sitio respetando su ortogonalidad.
IEM-II-03-10
161
SEPTIMO PASO: CUBRIR EL CONTACTO DE METAL-1.
Los contactos activos de hecho sólo definen agujeros en el óxido (términos de
conexión). La conexión real a la región de difusión correspondiente es hecha por la capa
de Metal.
1. Del LSW escoja la capa del metal-1.
2. Dibuje dos rectángulos de 1.2m para cubrir los contactos.
Note que el metal debe exceder a los contactos por lo menos en 0.3m (para
nuestro ejemplo especial 1 lambda).
IEM-II-03-10
162
OCTAVO PASO: SELECCIONAR LA CAPA N.
Cada área de difusión de cada transistor debe seleccionarse sea el que sea: de tipo n o
tipo p. Esto se cumple definiendo el "la ventana: de tipo n (o tipo p) dopando
(implantando), a través de una capa de la máscara especial llamada nselect (pselect).
1. Del LSW escoja la capa del nselect.
2. Dibuje un rectángulo con esta difusión que se extiende en 0.6m toda el área de
la difusión n-activa (nactive)
NOVENO PASO: DIBUJAR LA DIFUSION P ACTIVA.
Este proceso es muy similar al anteriormente descrito para la región activa N
1. Del LSW escoja la capa del pactive.
2. Dibuje un rectángulo de 3.6m por 1.2m.
IEM-II-03-10
163
Sea cuidadoso en la colocación del nuevo transistor pues la idea es no hacer el
diseño sobre el otro transistor.
DECIMO PASO: DIBUJAR POR COMPLETO EL NUEVO TRANSISTOR.
Para este capitulo las imágenes van a hablar por si solas. Y sirven para reforzar el
procedimiento para pintar un transistor.
1. Dibujar la compuerta de polisilicio.
2. Poner los contactos
IEM-II-03-10
164
3. Cubrir los contactos con metal-1.
4. Dibuje la difusión de tipo p
IEM-II-03-10
165
DECIMO PRIMER PASO: DIBUJAR EL POSO N DEL TRANSISTOR.
En este proceso, el substrato de silicón se dopa originalmente con impurezas de tipo p.
Pueden comprenderse transistores de NMOS simplemente en este substrato del tipo p
creando áreas de difusión de tipo n. Sin embargo para los transistores de PMOS un
acercamiento diferente debe tomarse: Una región del tipo n más grande (pozo n) debe
crearse para que actué como un substrato para los transistores de PMOS.
Del punto de vista del proceso, el pozo n es una de las primeras estructuras en ser
formadas en la superficie durante fabricación. Aquí nosotros escogimos dibujar el pozo
n después de casi todo lo demás. Nota que la sucesión del dibujo de capas diferentes en
un esquema del layout es completamente arbitraria, no tiene que seguir la sucesión de la
fabricación real.
1. Seleccione la capa del nwell del LSW.
2. Dibuje un gran rectángulo de nwell que sea superior a la difusión P. Según las
reglas de diseño y para este caso en particular el nwell debe ser superior al área
activa P mínimo unas 6 lambdas.
IEM-II-03-10
166
DECIMO SEGUNDO PASO: COLOCAR EN UNA VERDADERA POSICION PARA
CONECTARLOS ENTRE SI.
En este ejemplo, nosotros no prestamos mucha atención a la ubicación de los
transistores mientras se construyeron. Con tal de que las reglas de diseño no se violen,
los transistores pueden ponerse en cualquier lugar de la grilla. Topológicamente
hablando es más deseable poner el transistor de PMOS directamente encima del
transistor de NMOS, lo cual permitiría un esquema más compacto.
1. Seleccione el transistor PMOS.
Primero se asegura que usted está en modo de la selección. Si usted está en
cualquier otro modo la salida de este modo es apretando "ESC". Ahora, usando
el ratón, pulse el botón y arrastre una caja que cubre su PMOS. Si usted tuviera
éxito, todos los objetos dentro del PMOS se resaltarían como en la figura debajo.
2. Del menú de Edit seleccione la opción Move.
Y luego de esto aparece una nueva ventana en la cual se puede definir el tipo de
desplazamiento que va a tener nuestro transistor. La opción que me permite
IEM-II-03-10
167
realizar estos cambios es Snap Mode y la idea es causar un giro considerable se
le coloca el efecto que se mueva Anyangle.
3. Escoja el punto de la referencia
Nos pedirán que encontremos un punto de la referencia para el objeto a ser
movido. El cursor agarrará prácticamente el objeto de ese punto de la referencia.
Puesto que nosotros queremos una colocación exacta, es aconsejable seleccionar
un punto para el que la alineación es más simple. La esquina entre la difusión y
el poly es un lugar bueno para agarrar el PMOS.
Después de que nosotros hemos escogido el punto de la referencia, el contorno
de la forma parecerá atado al cursor y nosotros podremos mover la forma
alrededor. La distancia mínima de difusión al borde del pozo n es 1.8m, el
PMOS y NMOS tienen que estar separados por lo menos 3.6m. Se puede
ayudar con la utilización de una regla para ayudar a encuadrar las dos formas y
medir la distancia.
4. Coloque el transistor
Usted puede soltar el objeto seleccionado (en este caso que consiste del nwell, el
p-activo, poly y contactos) en su posición final pulsando el botón una vez en el
botón izquierdo del ratón.
IEM-II-03-10
168
DECIMO TERCER PASO: CONECTAR LAS SALIDAS.
1. Dibuje un rectángulo entre las compuertas de drenaje de los transistores NMOS
y PMOS, en la parte de los contactos.
Note que el ancho mínimo del Metal-1 es 0.9m (3 lambdas), así se observa que
la capa de Metal-1 cubre los contactos. También que los transistores son
completamente simétricos, la fuente y el drain son intercambiables.
IEM-II-03-10
169
DECIMO CUARTO PASO: CONECTAR LAS ENTRADAS.
El próximo paso será conectar las compuertas o “gates” de ambos transistores que
formarán la entrada. Para hacer esto, nosotros podríamos usar el comando de rectangle
de nuevo, pero para esto vamos a variar utilizando otro método para lograr la conexión
deseada.
1. Seleccione la capa de “poly” de LSW.
2. Luego haga en el menú de Create que le busquen su Path.
Después de esta selección aparece una nueva ventana: que es la muestra las
opciones del path. En el modo de path se pueden dibujar líneas (o caminos) con
la capa seleccionada. El ancho de la línea puede ajustarse, el valor por defecto es
el ancho mínimo de la capa seleccionada.
3. Iniciar el Path.
Para iniciar el path lo que hay que hacer es ir debajo del PMOS en la terminal
del polisilicio y luego de esto se vera como una sombra.
4. Haga doble click en el path para finalizar.
Un click sencillo terminan la línea de segmento y doble click termina con el
path.
IEM-II-03-10
170
DECIMO QUINTO PASO: HACER EL METAL-1 PARA CONECTAR LA ENTRADA.
Ya se ha decidido en nuestro gráfico de flujo señalado que nosotros queremos la entrada
en Metal-1. Por consiguiente nosotros tenemos que hacer una conexión de la capa del
poly (polisilicio) a la capa de Metal-1.
Esta conexión puede ser hecha a mano dibujando una capa de contacto de poly entre
Metal-1 y poly, pero se puede usar el comando de path para agregar los contactos
automáticamente.
1. Empiece desde la línea de polisicilio que une las compuertas a dibujar un path
horizontal de poly.
2. En el bloque de las opciones del path (Path Options) haga click en el switch que
se llama Change To Layer y escoja Metal1.
Esto agregará un contacto automáticamente al extremo del camino actual, note
que ésta todavía será una línea fantasma o sombreada. Usted puede poner el
contacto a una cierta posición pulsando el botón una vez, después de esto el
camino continuará usando la nueva capa.
IEM-II-03-10
171
3. Finalice el Path.
Usted puede terminar el camino pulsando el botón dos veces. Note que usted no
podrá ver el contacto entre el metal y las capas del poly, habrá un cuadrado rojo
en cambio. Esto se llama un “instance”. Un instance es prácticamente un
esquema terminado que esta completamente incluido en su circuito. Puesto que
es un esquema completo, no es posible editar su esquema de dentro de su celda,
se dice que está en un nivel más bajo de jerarquía.
Por defecto, sólo la capa actual de jerarquía es visible. Usted puede apretar
SHIFT-F para ver todos los niveles de jerarquía. CTRL-F lo devolverá a ver sólo
una sola capa de jerarquía.
IEM-II-03-10
172
DECIMO SEXTO PASO: HACER LAS LINEAS DE POLARIZACION (POWER RAILS).
Luego de que los transistores están conectados, se tienen que agregar las líneas de
poder y las líneas de tierra. Normalmente un layout consiste en un número grande de
celdas para las cuales se necesita tener un riel general para tierra y otro para tierra.
Por consiguiente es común diseñar celdas con una especie de barraje que nos
permitirá hacer gran cantidad de conexiones a ella.
1. Dibuje la línea de poder (Power Rail) en Metal-1 por encima del PMOS.
2. Dibuje la línea de tierra también en Metal-1 por debajo del transistor NMOS.
Es importante cerciorarse de que se están conectando los transistores
respectivamente.
IEM-II-03-10
173
DECIMO SEPTIMO PASO: HACER CONTACTO PARA EL SUBSTRATO P.
Se debe garantizar que los substratos son realmente lo que son. La manera de hacer
esto es agregar contactos del substrato. Los transistores de NMOS tienen un
substrato del tipo p, nosotros tendremos que crear un contacto para este substrato de
tipo p.
1. Dibuje un cuadrado de la capa P-select al lado del transistor NMOS.
2. Dibuje una región activa de tipo P (pactive) dentro de esa área seleccionada (p-
select).
IEM-II-03-10
174
3. Dibuje un contacto activo dentro del cuadrado dentro el área activa de tipo p.
4. Haga una conexión de metal que una ese nuevo contacto y tierra.
DECIMO OCTAVO PASO: CONEXIÓN PARA EL SUBSTRATO P.
El transistor de PMOS se puso dentro de pozo de tipo n, este pozo también tiene que ser
unido con el potencial de VDD. Esto se hará con un contacto de substrato de tipo p.
Se pueden hacer los mismos pasos que se siguieron para el caso anterior, pero se
mostrara otra forma de hacerlo a continuación. Casi todas las conexiones internas ya
están disponibles como casos particulares en su librería. Se usara el instance metal-poly
mientras se conecta la entrada. Los instances similares también existen para las
conexiones del substrato.
IEM-II-03-10
175
1. Del menú de Create seleccione la opción Instance. Create->Instance.
De inmediato se despliega una nueva ventana de Instance Options.
Usted tendrá que proporcionar un nombre de la celda y de la librería. Puede ser
el caso que usted ya sabe el nombre de la celda y vista de la celda, pero en este
caso es mejor Hojear en su librería par no cometer errores en la escogencia de la
celda apropiada.
2. Mueva la “Instance” a la localización determinada.
Una vez usted ha seleccionado el caso, el cursor mostrará una imagen de la
“fantasma” que representa el caso, y usted podrá mover el caso a la situación
deseada.
IEM-II-03-10
176
3. Finalmente coloque el instance en su correspondiente lugar.
Se pulsa el botón para poner el instance. Usted permanecerá en el modo del
instance después de que usted ha puesto el instance, presione "ESC" para
remontarse de nuevo al modo de selección.
4. Realice la conexión a la polarización adecuada.
IEM-II-03-10
177
DECIMO NOVENO PASO: ENCERRAR EL CONTACTO DEL SUBSTRATO.
En el paso anterior nosotros pusimos el substrato de tipo n en contacto con el pozo de
tipo n. Desde que se había dibujado el pozo n se asumieron las reglas de diseño
apropiadas, las cuales dicen que no se puede tener ese contacto fuera del área del pozo.
Entonces se debe agrandar el pozo n, para que también cubra el contacto del substrato.
Una manera de hacer esto sería dibujar un rectángulo inmediato usando una capa del
pozo n. Existe otra manera que puede ser de utilidad, y esta es agrandar el rectángulo
del pozo n existente para que cubra el contacto.
1. Presione la tecla F4 en la barra superior del teclado.
Por defecto, el modo de la selección seleccionará objetos sólo enteros.
Apretando "F4" cambiarán este valor por defecto a la selección parcial. La barra
IEM-II-03-10
178
3. Pulse el botón para seleccionar el borde una vez más.
4. Mueva el ratón por encima del borde seleccionado (sin apretar cualquier otro
botón del ratón). Usted notará que el cursor cambia forma cuando usted está
cerca del borde.
5. Mantenga el botón presionado tanto como lo necesite agrandar sobre el borde
seleccionado.
Usted ha agarrado el borde, y con tal de que usted no suelte el botón del ratón se
estará "estiramiento" el borde. Mueva el borde del pozo n hasta que se cubra el
contacto del substrato.
A.13 Ejemplo de Chequeo de Reglas.
El dibujarse debe dibujarse según las reglas de diseño estrictas. Después de que usted ha
terminado su diseño, un programa automático verificará cada uno de sus dibujos y
basándose en las reglas de la tecnología especifica informar los errores y las
inconsistencias. Esta herramienta con la que cuenta Virtuoso se llama Design Rule
Checker (DRC).
El diseño de aplicación se termina cuando se comprueba que no existen errores en el.
1. Del menú Verify seleccione la opción DRC.
IEM-II-03-10
179
Esto automáticamente despliega una nueva ventana que se denomina DRC
Options.
2. Inicie DRC.
Cuando se le da la orden al DRC que revise el layout este reportara los errores en
la ventana CIW.
Usted tendrá que verificar los resultados del CIW. En este ejemplo nosotros
tenemos dos poly-a-poly contacto que reporta errores. Usted también puede ver
que el número de la regla para esto es 5.5, y se supone que el espacio es por lo
menos 1.5m. Los errores también se resaltan en el esquemático.
IEM-II-03-10
180
Este error se reporta como múltiples errores los cuales se corrigen solo
desplazando un poco el contacto hacia la izquierda.
Luego de mover el contacto el DRC reportara que ya no hay errores en la
ventana del CIW.
IEM-II-03-10
181
A.14 Ejemplo del Layout Definitivo.
A.15 Ejemplo de Extracción del Layout Definitivo.
El layout sólo contiene datos físicos. De hecho apenas contiene las coordenadas de
rectángulos de colores diferentes (diferenciados por capas). El proceso de extracción
identifica los dispositivos y genera un netlist asociado con el layout.
Asegúrese que usted tiene una ventana del layout con su diseño terminado y listo.
Asegúrese que el plan no contiene ningún error de DRC.
PRIMER PASO: EXTRACCION DEL LAYOUT DEFINITIVO.
Del menú de Verify seleccione la opción de extracción (Extract) Inicie DRC.
Verify->Extract
Una nueva ventana con opciones de la extracción aparecerá. Las opciones predefinidas
extraerán dispositivos sólo ideales. Este caso de ideal habría resultado en una lista muy
IEM-II-03-10
182
similar a la del esquemático. Para una representación más exacta, sin embargo, nosotros
tendremos que tener en cuenta los efectos parásitos. Para habilitar la extracción de
dispositivos parasitarios, un parámetro de la selección debe ser utilizado
Extract_parasitic_caps, que puede ser escrito o puede ser seleccionado del menú Set
Switches.
Este caso especial mencionado, Extract_parasitic_caps, se refiere a las capacitancias
parásitas que presenta el diseño.
Revise el CIW para verificar que no existan errores en la extracción.
Lo que va a generar es una nueva celda para ser vista que se denominara extracted.
SEGUNDO PASO: VER LA CELDA EXTRAIDA.
Se revisa en el Library Manager que en la columna del cellview se haya generado el
archivo “extracted”.
Si se le da la opción de abrir ese archivo de extracción abrirá un esquema que parece
casi idéntico al esquema usted ha extraído. Usted notará eso sólo los pines de I/O
aparecen como bloques del sólido y todas las otras formas aparece como contornos.
IEM-II-03-10
183
Los rectángulos rojos indican que hay varios casos dentro de esta jerarquía. Si se utiliza
SHIFT-F se podrá ver la jerarquía.
Esto revelará varios símbolos. Si usted hace subir verticalmente usted podrá identificar
elementos individuales, como transistores y condensadores. Usted notará que los
parámetros de estos dispositivos son los valores que los representan a ellos en la vista
del esquemático.
Aparte de sus dispositivos reales usted notará varios elementos, principalmente los
condensadores en su vista de la celda extraída. Éstos no son dispositivos reales, ellos
son capacitancias parásitas, efectos laterales formados por capas diferentes que usted
usó para su layout.
IEM-II-03-10
184
El próximo paso será la generación del correspondiente netlist extraído al esquemático.
Esto se llama el Esquemático Contra Layout. Esto asegurará que el esquemático que
nosotros hemos dibujado y el esquema son idénticos.
TERCER PASO: LAYOUT VERSUS ESQUEMATICO.
Virtuoso tiene una herramienta que permite hacer la comparación entre la extracción y
el netlist anteriormente diseñado a nivel esquemático.
Del menú de Verify seleccione la opción LVS (Layout Versus Schematic).
Si usted hubiera ejecutado un chequeo de LVS previamente, esto habría generado un
pequeño mensaje de advertencia. Asegúrese que la opción Form Contents este
seleccionada.
La mitad de las opciones de la ventana LVS se divide en dos partes. La parte en la
izquierda corresponde a la vista de la celda esquemática y la parte correcta corresponde
a la vista de la celda extraída que será comparada. Asegúrese que las entradas en estas
cajas representan los valores por su circuito.
Aunque hay varias opciones para LVS, las opciones predefinidas serán suficientes para
los funcionamientos básicos, Seleccione Run para empezar la comparación.
IEM-II-03-10
185
El algoritmo de la comparación correrá en el fondo, el resultado de la corrida de LVS se
desplegará en una caja del mensaje. Sea paciente, incluso para un plan muy pequeño
que los LVS ejecutan puede tardar algún tiempo (minutos).
Si aparece un mensaje en el cual expresa el éxito de la operación, esto indica que el
programa de LVS ha terminado la comparación del netlist, “NOT THAT THE
CIRCUITS MATCH”. Podría ser el caso que el LVS tuvo éxito comparando el netlists
y propuso el resultado que ambos circuitos eran diferentes.
Para ver el resultado real de un corrimiento de LVS usted tiene que examinar el
rendimiento de esta operación.
La parte más importante del informe puede encontrarse en la anterior figura. Declara
que los netlists emparejaron de hecho. Si usted descubre que hay una desigualdad, usted
debe regresar a la vista del esquema y debe corregir los errores.
La mayoría de las otras opciones en el LVS, es por encontrar desigualdades entre dos
netlists y para generar netlists que incluye efectos sólo parásitos pertinentes a una parte
del circuito.
IEM-II-03-10
186
CUARTO PASO: RESUME LAS DIFERENTES VISTAS GENERADAS EN TODO ESTE
PROCESO DE DISENO.
1. Vista esquemática.
2. Vista del Símbolo.
3. Vista del Layout.
IEM-II-03-10
187
4. Vista de la Extracción.
5. Vista del Test.
IEM-II-03-10
188
QUINTO PASO: SIMULACION DE LA CELDA EXTRAIDA.
Después de un LVS exitoso usted tendrá que dos celdas principales se verán para el
mismo circuito. El primero es el esquemático que es su diseño inicial (ideal), el segundo
es la extracción, eso es basado en el esquema y además del circuito básico incluye todo
el esquema asociado a los efectos parasitarios. Puesto que los dos de estas vistas se
refieren al mismo circuito se pueden intercambiar.
En este ejemplo nosotros vamos a correr de nuevo la simulación, pero se le dice al
simulador que utilice la vista de celda extraída en lugar de la vista de la celda
esquemática.
1. Inicie la herramienta Analog Artist
IEM-II-03-10
189
La línea que se obtiene para alterar se llama Switch View List. Esta entrada es
una lista pedida de vistas de la célula que contienen información que puede
simularse. El simulador (de hecho el netlister) investigará hasta que encuentre
uno de estos cellviews. La entrada predefinida no contiene un cellview extraído.
Se agregara una entrada simplemente para el cellview extraído delante del
cellview esquemático.
Como resultado de esta modificación, el simulador usará la vista de la célula
extraída de la célula, si está disponible.
3. Escoger el análisis.
En el ejemplo de la simulación se utilizo el análisis transciente ahora se va a
hacer un análisis DC, el menú de opciones de análisis DC permite hacer un
análisis de temperatura, de los parámetros componentes y de los parámetros de
los modelos.
IEM-II-03-10
190
En este caso utilice como variable de muestreo los parámetros de los
componentes: Component Parameter
Se pueden seleccionar los parámetros de la vista esquemática y luego solo se
hace click en el menú de Select Component.
Como cada componente tiene un numero de parámetros usted puede dar una lista
de parámetros asociados con el componente que usted selecciono.
En este ejemplo en particular se escogió el voltaje DC de la fuente de voltaje
como variable de muestreo.
Después de que se ha seleccionado la variable podemos decidir el rango donde la
variable cambiará.
IEM-II-03-10
191
Este ejemplo el voltaje DC cambia la fuente conectada a la entrada de 0 Voltios
a 3.3 Voltios.
El último parámetro determina cómo el barrido se realizará. Un barrido lineal
incrementará el valor del barrido inconstante por una cantidad fija. El ejemplo
debajo de los usos un tamaño del paso de 10 milivolts.
IEM-II-03-10
192
ANEXO B
SEMÁNTICAS EN VHDL-AMS
B.1 “Quantities”
Los “quantities” deben ser declarados antes de ser referenciados. Pueden ser declarados
en donde una señal pueda ser declarada, excepto en un empaque “package” VHDL. Se
pueden declarar como elementos de interfaz en la lista de puertos de un modelo. Cada
uno tiene un nodo similar al concepto de nodo de interfaz de señal, indicando la
dirección del flujo de señal.
Un ejemplo de declaración de “quantities” se muestra a continuación, donde se declaran
dos “quantities” de tipo real:
Quantity in1: real;
Quantity in2: real;
B.2 “Branch Quantities”
Un “branch quantity” esta definido entre dos terminales, su terminal mas (+) y su
terminal menos (-), que tengan la misma naturaleza o que pertenezcan al mismo
dominio (eléctrico, mecánico, etc.), la declaración de este tipo de “quantities” esta
definida por la declaración de dos “quantities” especificas “across” y “through”.
“Across quantities”, representan el esfuerzo de efectos tales como voltaje, temperatura,
presión entre 2 puntos.
“Through quantities”, representan el flujo de efectos tales como corriente, flujo de calor,
tasa de flujo de líquidos.
Estos “quantities” se definen de la siguiente forma:
Quantity vol1 across in1, in2 through p1 to p2;
Los “quantities” son del mismo tipo en el que se hayan declarado los puertos, en el
ejemplo anterior se asumía que el puerto era de tipo eléctrico.
IEM-II-03-10
193
B.3 “Simultaneus Statements” (Declaraciones Simultaneas)
La forma básica de este tipo de declaraciones tiene la siguiente sintaxis:
[label:]
exp_izq==exp_der;
Las expresiones exp_izq y exp_der pueden ser cualquier expresión VHDL válida.
Pueden aparecer “quantities” en ambos lados del "==". Las declaraciones o expresiones
pueden tener valores compuestos; en este caso debe existir un igualamiento de
subelementos en la izquierda y en la derecha, se pueden referir a señales. Las
expresiones pueden incluir constantes, y posiblemente llamados de funciones definidos
por el usuario.
Un ejemplo de declaraciones puede ser:
VXTOG==5.0 * sin (2.0 * 3.1415 * 400.0E+3*now);
Se está declarando una fuente con amplitud de 5 y frecuencia de 400KHz.
B.4 A/D “Interaction” (Interacción A/D)
IEM-II-03-10
194
B.5 D/A “Interaction” (Interacción D/A)
El nombre de una señal podría ser empleada directamente en una declaración simultanea
para influir en la parte continua del modelo, con el objetivo que las reglas para las
expresiones VHDL sean cumplidas.
Por ejemplo, la declaración:
q==s;
Donde q es un “quantity” y s es “signal” o una señal de tipo punto flotante, obliga que q
siga la señal s, en todo momento, sin embargo si esta señal cambia instantáneamente
introduce una discontinuidad en el valor de q cada vez que s cambia.
Se debe informar al “analog solver” cuando ocurre la discontinuidad, para hacer esto se
emplea la declaración “break”, por ejemplo la siguiente declaración:
Break on S;
Le informa al “analog solver” de una discontinuidad en el modelo cuando ocurre un
evento en S.
Un mecanismo para influenciar la solución continua con una señal es usar uno de los
“quantities” predefinidos “S´ramp” (trise, tfall) o “S´slew” (rising_slope, falling_slope),
donde S es una señal de tipo punto flotante, estas “quantities” suben o bajan linealmente
entre los dos tiempos, desde el valor anterior de S, al nuevo valor de S.
A partir de estas discontinuidades se pueden construir conversores D/A, las
discontinuidades también pueden ser introducidas por declaraciones de tipo “if”, una
declaración “break” es requerida por alguna razón ya que se puede presentar una
discontinuidad en algún “quantity” o en alguna primera derivada respecto al tiempo,
excepto si esta es causada por un “quantity” predefinido.
IEM-II-03-10
196
Un terminal puede ser declarado en donde se permitan las declaraciones de señales,
particularmente un terminal puede ser un elemento de interfaz en la declaración de la
lista de puertos.
La declaración de un terminal T, puede crear dos “quantities” implícitas: El “quantity”
de referencia; el “T´reference” que es un “across quantity” definido entre T y el terminal
de referencia de la naturaleza de T.
El “quantity” de contribución; el “T´contribution” es un “through quantity”, cuyo valor
es igual a la suma algebraica de todos los “branch quantities” que inciden en T, con el
signo correspondiente.
IEM-II-03-10
197
ANEXO C
RESULTADOS ADICIONALES
C.1 Introducción
Para cada modelo se realizaron simulaciones con tres entradas de señal diferentes, la
primer señal es de tipo senoidal, la segunda de tipo triangular, estos resultados se
pueden observar en el capítulo cinco, la señal empleada para este anexo esta compuesta
de tres funciones que varían en amplitud y fase.
C.2 Fuente Triangular
La señal triangular empleada en las simulaciones mostradas en el capitulo cinco, se
obtuvo a partir de una descripción VHDL-AMS, empleando “quantities” implícitas. El
código ha sido introducido en los modelos presentados en el capitulo cuatro para ser
posteriormente simulado.
El código desarrollado para modelar el comportamiento de esta fuente, es mostrado a
continuación:
Library IEEE;
Use IEEE.std_logic_1164.all; Use work.electrical_system.all; Use work.math_real.all; Use work.all; Entity Test is End Test;
Architecture Top of Test is
CONSTANT delay : time := 0us;
CONSTANT low : real := 0.0;
CONSTANT high : real := 10.0;
CONSTANT high_width : time := 1us;
IEM-II-03-10
198
CONSTANT low_width : time := 1us;
QUANTITY qramp : real ;
SIGNAL pulse : real := low;
Begin qramp == pulse'ramp(10.0e+8, 10.0e+8);
pulsproc : PROCESS Begin Wait for delay;
Loop pulse <= high;
Wait for high_width;
pulse <= low;
Wait for low_width;
End Loop;
End PROCESS;
End Top;
Se emplea un process para generar una señal cuadrada y con el uso de "quantities"
implícitas se ha obtenido la señal triangular.
C.3 Simulaciones Adicionales
La otra señal empleada, es producto de integrar funciones seno y coseno en una única
señal compuesta, esta señal esta descrita a continuación:
q == 3.0*sin(2.0*3.1415*250.0e3*now) - 2.0*cos(2.0*3.1415*150.0e+3*now)-
0.5*sin (2.0*3.1415*120.0e+3*now);
Con esta ecuación se modeló el comportamiento de una señal no convencional,
introduciendo esta línea de texto como señal de entrada a los diferentes conversores en
los diferentes modelos se obtuvieron conversiones de señales análogas en equivalentes
digitales.
La Figura C.1 muestra el resultado de la simulación del modelo comportamental del
conversor tipo SAR.
La Figura C.2 presenta el resultado del modelo estructural del conversor tipo SAR.
IEM-II-03-10
199
La Figura C.3 muestra la simulación del modelo comportamental del conversor
Paralelo.
La Figura C.4 presenta el resultado de la simulación del modelo estructural del
conversor Paralelo.
IEM-II-03-10
200
Figura C.1 Modelo Comportamental del conversor SAR, señal de entrada compuesta
IEM-II-03-10
201
Figura C.2 Modelo Estructural del conversor SAR, señal de entrada compuesta
IEM-II-03-10
202
Figura C.3 Modelo Comportamental del conversor Paralelo, señal de entrada
compuesta
IEM-II-03-10
203
Figura C.4 Modelo Estructural del conversor Paralelo, señal de entrada compuesta.
IEM-II-03-10
204
ANEXO D
MANUAL DE INSTALACIÓN DE LIBRERÍAS AMS 0.8 µm PSPICE Estudiantil ver. 9.0
Se creó una librería de partes y modelos para SPICE de los transistores pmos y nmos de
la tecnología AMS 0.8 µm. La librería fue creada bajo la versión 9.0 Estudiantil de
PSPICE para Windows.
Los modelos usados para esta librería son cmos de nivel 7 en condiciones promedio
típicas. (Typical mean condition) proporcionados por Europractice.
Los archivos necesarios para usarla son ams08.lib y ams08.slb. Las instrucciones para su instalación son las siguientes:
1. Copiar los archivos ams08.lib y ams08.slb al directorio de librerías de spice
(generalmente ..\orcad\spice\library)
2. Incluir la libería de símbolos ams08.slb en la configuración del editor. Si es la
versión estudiantil de evaluación, el límite de librerías es de 10, así que si al
instalar la librería de ams lo supera remueva temporalmente una librería que no
use frecuentemente. El editor de librerías se puede accesar bajo el menú:
Options > Editor Configuration > Library Settings ....
3. Incluir la librería de modelos de los transistores ams08.lib. Ésta se incluye bajo
el siguiente menú.
Analysis > Library and Include Files ....
Tenga en cuenta que al incluir la librería hay dos opciones. Add Library* y Add
Library. El asterisco (*) indica que la librería será incluida en futuros
esquemáticos.
4. Ahora solo debe buscar los transistores nmos y pmos bajo la librería ams08 en
Parts.
IEM-II-03-10
205
Se anexan los modelos de los transistores PMOS y NMOS cuyos símbolos
esquemáticos en SPICE son MODP y MODN respectivamente.
Modelo nmos
.MODEL MODN NMOS LEVEL=7 * ----------------------------------------------------------------- ************************* SIMULATION PARAMETERS ******************* * ----------------------------------------------------------------- * format : PSPICE * model : MOS BSIM3v3 * process : CY[EB] * revision : B; * extracted : CYE I310SE00; 1999-03; ese(487) * doc# : 9933006 REV_B * ----------------------------------------------------------------- * TYPICAL MEAN CONDITION * ----------------------------------------------------------------- * **** Flags *** +MOBMOD =1.000e+00 CAPMOD =2.000e+00 +NLEV =0 **** Threshold voltage related model parameters *** +K1 =1.183e+00 +K2 =-1.59e-01 K3 =1.404e-01 K3B =-3.19e-01 +NCH =6.937e+16 VTH0 =8.357e-01 +VOFF =-9.95e-02 DVT0 =3.368e+00 DVT1 =7.995e-01 +DVT2 =-1.72e-01 KETA =-2.55e-02 +PSCBE1 =4.194e+08 PSCBE2 =1.000e-04 +DVT0W =-3.78e-01 DVT1W =2.061e+05 DVT2W =-1.36e-01 **** Mobility related model parameters *** +UA =1.000e-12 UB =2.199e-18 UC =5.554e-11 +U0 =4.872e+02 **** Subthreshold related parameters *** +DSUB =5.000e-01 ETA0 =6.982e-03 ETAB =-2.63e-02 +NFACTOR=6.710e-01 **** Saturation related parameters *** +EM =4.100e+07 PCLM =1.101e+00 +PDIBLC1=4.797e-02 PDIBLC2=9.152e-04 DROUT =5.000e-01 +A0 =8.383e-01 A1 =0.000e+00 A2 =1.000e+00 +PVAG =0.000e+00 VSAT =9.079e+04 AGS =1.583e-01 +B0 =2.356e-07 B1 =0.000e+00 DELTA =1.000e-02 +PDIBLCB=3.040e-01 **** Geometry modulation related parameters *** +W0 =1.633e-06 DLC =2.090e-07 +DWC =3.853e-07 DWB =0.000e+00 DWG =0.000e+00 +LL =0.000e+00 LW =0.000e+00 LWL =0.000e+00 +LLN =1.000e+00 LWN =1.000e+00 WL =0.000e+00 +WW =0.000e+00 WWL =0.000e+00 WLN =1.000e+00 +WWN =1.000e+00 **** Temperature effect parameters *** +AT =3.300e+04 UTE =-1.80e+00 +KT1 =-4.11e-01 KT2 =2.200e-02 KT1L =0.000e+00 +UA1 =0.000e+00 UB1 =0.000e+00 UC1 =0.000e+00 +PRT =0.000e+00 **** Overlap capacitance related and dynamic model parameters *** +CGDO =3.500e-10 CGSO =3.500e-10 CGBO =1.500e-10 +CGDL =0.000e+00 CGSL =0.000e+00 CKAPPA =6.000e-01 +CF =0.000e+00 ELM =5.000e+00 +XPART =1.000e+00 CLC =1.000e-15 CLE =6.000e-01
IEM-II-03-10
206
**** Parasitic resistance and capacitance related model parameters +RDSW =1.776e+03 +CDSC =1.269e-03 CDSCB =3.987e-04 CDSCD =9.439e-05 +PRWB =0.000e+00 PRWG =0.000e+00 CIT =2.566e-05 **** Process and parameters extraction related model parameters * +TOX =1.585e-08 NGATE =0.000e+00 +NLX =1.000e-10 **** Substrate current related model parameters *** +ALPHA0 =0.000e+00 BETA0 =3.000e+01 **** Noise effect related model parameters *** +AF =1.451e+00 KF =2.330e-26 EF =1.000e+00 +NOIA =1.000e+20 NOIB =5.000e+04 NOIC =-1.40e-12 **** Common extrinsic model parameters *** +LINT =2.090e-07 WINT =3.853e-07 XJ =3.000e-07 +RSH =2.500e+01 JS =1.000e-05 +CJ =2.900e-04 CJSW =2.300e-10 +MJ =4.600e-01 MJSW =3.300e-01 +PB =8.600e-01 TT =0.000e+00 +PBSW =8.600e-01 Modelo pmos * ---------------------------------------------------------------- .MODEL MODP PMOS LEVEL=7 * ---------------------------------------------------------------- ****************** SIMULATION PARAMETERS ************************ * ---------------------------------------------------------------- * format : PSPICE * model : MOS BSIM3v3 * process : CY[BE] * revision : N/C; * extracted : CYE I310SE00; 1999-03; ese(487) * doc# : 9933006 REV_B * ---------------------------------------------------------------- * TYPICAL MEAN CONDITION * ---------------------------------------------------------------- * **** Flags *** +MOBMOD =1.000e+00 CAPMOD =2.000e+00 +NLEV =0 **** Threshold voltage related model parameters *** +K1 =5.752e-01 +K2 =-3.60e-02 K3 =8.354e+00 K3B =2.133e-01 +NCH =3.659e+16 VTH0 =-7.44e-01 +VOFF =-9.71e-02 DVT0 =7.075e-01 DVT1 =4.135e-01 +DVT2 =-1.98e-01 KETA =-1.18e-03 +PSCBE1 =1.459e+08 PSCBE2 =2.562e-07 +DVT0W =6.991e+00 DVT1W =6.689e+05 DVT2W =1.091e-01 **** Mobility related model parameters *** +UA =1.184e-09 UB =2.053e-18 UC =-2.36e-11 +U0 =1.972e+02 **** Subthreshold related parameters *** +DSUB =5.000e-01 ETA0 =6.488e-02 ETAB =-1.81e-02 +NFACTOR=6.729e-01 **** Saturation related parameters *** +EM =4.100e+07 PCLM =2.335e+00 +PDIBLC1=1.056e-02 PDIBLC2=2.002e-03 DROUT =5.000e-01 +A0 =6.233e-01 A1 =0.000e+00 A2 =1.000e+00 +PVAG =0.000e+00 VSAT =9.829e+04 AGS =1.540e-01 +B0 =2.667e-07 B1 =0.000e+00 DELTA =1.000e-02 +PDIBLCB=3.714e-01 **** Geometry modulation related parameters *** +W0 =6.651e-07 DLC =5.486e-08 +DWC =3.844e-07 DWB =0.000e+00 DWG =0.000e+00 +LL =0.000e+00 LW =0.000e+00 LWL =0.000e+00
IEM-II-03-10
207
+LLN =1.000e+00 LWN =1.000e+00 WL =0.000e+00 +WW =0.000e+00 WWL =0.000e+00 WLN =1.000e+00 +WWN =1.000e+00 **** Temperature effect parameters *** +AT =3.300e+04 UTE =-1.49e+00 +KT1 =-5.34e-01 KT2 =2.200e-02 KT1L =0.000e+00 +UA1 =0.000e+00 UB1 =0.000e+00 UC1 =0.000e+00 +PRT =0.000e+00 **** Overlap capacitance related and dynamic model parameters *** +CGDO =3.500e-10 CGSO =3.500e-10 CGBO =1.500e-10 +CGDL =0.000e+00 CGSL =0.000e+00 CKAPPA =6.000e-01 +CF =0.000e+00 ELM =5.000e+00 +XPART =1.000e+00 CLC =1.000e-15 CLE =6.000e-01 **** Parasitic resistance and capacitance related model parameters * +RDSW =2.979e+03 +CDSC =0.000e+00 CDSCB =1.000e-05 CDSCD =0.000e+00 +PRWB =0.000e+00 PRWG =0.000e+00 CIT =0.000e+00 **** Process and parameters extraction related model parameters *** +TOX =1.627e-08 NGATE =0.000e+00 +NLX =1.466e-07 **** Substrate current related model parameters *** +ALPHA0 =0.000e+00 BETA0 =3.000e+01 **** Noise effect related model parameters *** +AF =1.279e+00 KF =6.314e-29 EF =1.000e+00 +NOIA =1.000e+20 NOIB =5.000e+04 NOIC =-1.40e-12 **** Common extrinsic model parameters *** +LINT =5.486e-08 WINT =3.844e-07 XJ =3.000e-07 +RSH =4.800e+01 JS =4.000e-05 +CJ =4.900e-04 CJSW =2.100e-10 +MJ =4.700e-01 MJSW =2.900e-01 +PB =8.000e-01 TT =0.000e+00 +PBSW =8.000e-01
Top Related