domingo, 27 de junio de 2010

Modelado de dispositivos activos

Modelado de dispositivos activos de Microondas utilizando código Verilog-A

El gran avance tecnológico producido en los últimos años en el ámbito de las comunicaciones, ha incrementado la complejidad de los dispositivos de RF y microondas. Todo ello ha ido acompañado de un refinamiento de las herramientas CAD de alta frecuencia utilizadas en simulación, exigiéndoles que muestren la máxima fidelidad posible a la realidad de su funcionamiento con la seguridad de que el prototipo funcione a la primera. Por esta razón, grandes empresas han invertido en el desarrollo de software de simulación de RF y microondas como pueden ser Agilent ADS, GENESYS, HSPICE ó AWR
Microwave Office, y en el caso de los tres primeros, soportan la utilización de Verilog-A, un completo lenguaje de programación que permite definir cualquier tipo de circuito para su posterior simulación. Este último punto es de gran importancia debido a que como norma general la creación continua de nuevos modelos y la necesidad de trabajar con ellos hace imprescindible una herramienta que simplifique su modelado. A raíz de la participación nuestro grupo de investigación en la red de excelencia Europea TARGET [1], se adoptó Verilog-A como lenguaje para la descripción de aquellos modelos compactos de dispositivos activos de RF y microondas que habitualmente no aparecen en librerías comerciales. En esta comunicación se mostrará la flexibilidad, potencia y transportabilidad entre plataformas de este lenguaje en la descripción de modelos de dispositivos de RF y microondas. Para ello se presentarán, simulaciones de dispositivos de microondas en dos plataformas distintas disponibles en el Dpto. de Ingeniería de Comunicaciones de la Universidad de Cantabria: ADS y GENESYS ambas de Agilent Technologies.


El lenguaje Verilog-A
El lenguaje Verilog-A ha sido utilizado durante la última década para descripción hardware analógico, de alto nivel y su implementación en simuladores comerciales que soporten dicho estándar del IEEE. Los modelos descritos con el lenguaje Verilog-A se comportan idénticamente que los modelos internos o built-in de cualquiera que sea el programa en el que son compilados. Con la especial ventaja que a diferencia de los que ya se encuentran incluidos, se puede modificar fácilmente la descripción del dispositivo y por tanto realizar tantos cambios como interese. Además, es un lenguaje en continua evolución ya que existen organismos como The Compact Model Council interesados en extender este metalenguaje a diversas ramas de la ciencia e ingeniería. Pero sin duda la característica que hace más atractivo el uso de Verilog-A es su portabilidad, ya que partiendo de un fichero base en código ASCII,
éste puede ser compilado y simulado en diferentes plataformas de simulación (Agilent GENESYS, ADS, HSPICE, etc…) permitiendo además cualquier tipo de análisis soportado por el simulador: DC, scattering, balance armónico, transitorio, etc.

Funcionamiento deVerilog-A
Las claves del funcionamiento del lenguaje Verilog-A consisten son dos:
• Un compilador que genera dinámicamente una librería enlazable ó DLL dynamic link library a partir de ficheros ASCII.
• Un entorno de tiempo de ejecución RTE run-time enviroment distinto para cada simulador en  cuestión.

El programador del modelo proporciona la relación constitutiva entre las entradas y salidas (tensiones,
corrientes o cargas), los nombres de los parámetros y los rangos de validez de variables y expresiones a utilizar, mientras que el compilador de Verilog- A gestiona las interacciones necesarias entre el modelo
desarrollado y el simulador utilizado. El fichero con el código fuente Verilog- A, es un fichero de texto
plano o ASCII que tiene extensión .VA, el compilador produce un archivo compilado (.CML) del modelo independiente, que presenta portabilidad, esto es, aunque haya sido desarrollado por un simulador concreto, puede compartirse por muchos tipos de simuladores obteniéndose los mismos
resultados. Un esquema sencillo del proceso es el mostrado en la Figura a continuación:
Estructura de un fi chero fuente .VA en Verilog-A
Un fichero fuente en Verilog-A (extensión .va) tiene dos parte principales diferenciadas:
Declaración de la interfaz del módulo: Parte en la que se define el nombre del módulo, definición de los puertos de entrada y salida y los parámetros que vayan a ser utilizados en el modelo
en concreto.

Descripción del comportamiento del módulo. Parte en la que se incluyen tanto las variables locales empleadas como el bloque analógico que describe el funcionamiento del modelo. La definición de los puertos nos indica la naturaleza de los mismos (si son de tipo eléctrico o no), además de si se trata de puertos de entrada input, de salida output o bien bidireccionales inout.
Los parámetros del módulo son las constantes utilizadas por el modelo, si bien pueden ser de varias naturalezas (real, entero, etc.) pudiendo ser añadido un rango de valores entre los que pueden ser utilizados, conviene seguir las recomendaciones de Coram, para una correcta descripción de las mismas. Una vez compilado el fichero pueden ser modificados libremente por el usuario desde el propio simulador.

Simulación de dispositivos activos de microondas utilizando lenguaje Verilog-A
De los numerosos casos estudiados, en esta comunicación, se presentarán dos casos: el de un diodo de microondas y el de un transistor PHEMT de microondas de la foundry PHILIPS. En ambos casos se ha utilizado exactamente el mismo fichero fuente para los dos simuladores utilizados. El fichero fuente para la simulación de un diodo típico de microondas tanto en DC como en scattering se muestra en la Figura siguiente:
Las ecuaciones utilizadas para el modelo, así como el fichero fuente del transistor PHEMT han sido omitidos por falta de espacio, pero una explicación exhaustiva de cómo ha sido implementado el modelo completo en lenguaje Verilog-A puede encontrarse en [6]. En la Fig 3(a) y Fig 3 (b) se muestra el resultado de la simulación en DC para las dos plataformas utilizadas de las curvas I-V del mismo diodo, como puede observarse la concordancia es plena en ambas. En la Fig. 4 (a) y en la Fig. 4 (b) se muestran los esquemáticos utilizados para simular el comportamiento del diodo en RF (scattering)
bajo las dos aplicaciones. Como se puede apreciar en la Fig. 4 (c) y en la Fig. 4 (d) las simulaciones llevados a cabo con parámetros de scattering en ADS y GENESYS son exactamente iguales.


El modelo de PHEMT utilizado está basado en el desarrollado por nuestro grupo en [7], y posteriormente modificado en [8]. Una explicación exhaustiva de cómo ha sido implementado el modelo completo en lenguaje Verilog-A puede encontrarse en [6].



Para finalizar, en la Fig. 6 se puede observar la simulación de los parámetros de Scattering para el punto de trabajo Vgs=-1 V, Vds= 2V. La Fig 6 (a) se muestra la simulación de los parámetros S11 (traza azul), S22 (traza marrón) y S12 (traza verde) realizados en GENESYS. La Fig 6 (b) S11 (traza roja), S22 (traza lila) y S12 (traza azul) realizados en ADS. Las Fig 6 (c) y 6 (d) muestran la simulación del párametro S21 para GENESYS y ADS respectivamente. De todo esto se puede inferir que lo único que cambia en el aspecto de los resultados es el propio interfaz gráfico del software utilizado en la simulación, ya que las expresiones y los modelos utilizados son idénticos en ambos casos, dejándose la elección de la plataforma a la que el diseñador tenga disponible en su laboratorio.

Conclusiones: Este trabajo demuestra que el lenguaje Verilog-A es apropiado y ofrece excelentes resultados en el modelado de dispositivos activos de microondas independientemente del simulador utilizado. La capacidad de reutilizar el mismo código fuente en diferentes simuladores comerciales es muy importante tanto para modeladores como diseñadores a la hora de poder utilizar el mismo modelo en distintas plataformas comerciales. Esta propiedad evita el tener que reescribir el código para diferentes plataformas de simulación, y eliminar de esta manera el error que esto conlleva. Debido a ello no es necesario desarrollar diferentes modelos para diferentes plataformas CAD y tenerlos que validar en cada simulador tal como se venía haciendo hasta ahora.


By Edgar Alberto Servita 18.856.338
CAF

No hay comentarios:

Publicar un comentario