reconocimiento unidad 2

5
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 299008 MICROELECTRÓNICA Actividad 07: Reconocimiento Unidad 2 1 NIVELES DE ABSTRACCIÓN Y REPRESENTACIONES DE UN CIRCUITO MICROELECTRÓNICO La descripción de un sistema en general, y de un circuito o sistema microelectrónico en particular, se basa en tres procesos: la jerarquización, la abstracción y la representación. El concepto de jerarquización, consiste en la subdivisión del sistema en bloques de forma recursiva para conseguir que el nivel de complejidad de cada parte sea abordable, ya que en la mayoría de los casos tratar todo el sistema de forma unitaria es imposible. No obstante, para determinar algunos aspectos será necesario manejar bloques de complejidad considerable y es por ello que deberemos describir el sistema de forma que sea posible manejar la información justa y necesaria y descartar los detalles que no necesitamos. En otros casos será necesario tener en cuenta todos los detalles y la información disponible, pero entonces deberemos centrarnos por separado en partes pequeñas del sistema cuyo nivel de complejidad sea tratable. Este proceso es el que denominamos abstracción. VARIABLES DE DISEÑO A NIVEL FÍSICO Este es el nivel que se corresponde con la tecnología mediante la que se implementará el sistema. En el caso de circuitos integrados CMOS se trata de una tecnología basada en materiales semiconductores, aislantes y metales dispuestos en capas en las que los elementos se interconectan tanto verticalmente atravesando las capas aislantes como horizontalmente por medio de pistas conductoras. Las variables que se manejan a este nivel están relacionadas con las propiedades de los materiales y con su forma. A este nivel el diseñador únicamente tiene control sobre el dibujo de las máscaras, por tanto la principal variable de diseño a optimizar será el área ocupada por cada elemento del sistema que repercutirá en el área global del CI. DIAGRAMA DE FLUJO DE DISEÑO Y HERRAMIENTAS DE AYUDA AL DISEÑO El diseño de un sistema electrónico es un proceso que permite obtener a partir de su especificación una implementación del mismo. La especificación de un sistema es una descripción de su función y otras características requeridas para su uso, como la velocidad, tecnología y consumo de potencia; es decir, hace referencia a ‘qué’ hace el sistema sin especificar cómo. La implementación de un sistema se refiere a ‘cómo’ éste está construido a partir de componentes más simples. Para cerrar el ciclo de todo el proceso, es necesario verificar mediante un proceso de análisis que la implementación final del sistema se comporta como describa su

Upload: epm78092222

Post on 27-Oct-2015

128 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reconocimiento Unidad 2

ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 299008 – MICROELECTRÓNICA

Actividad 07: Reconocimiento Unidad 2

1

NIVELES DE ABSTRACCIÓN Y REPRESENTACIONES DE UN CIRCUITO MICROELECTRÓNICO

La descripción de un sistema en general, y de un circuito o sistema microelectrónico en particular, se basa en tres procesos: la jerarquización, la abstracción y la representación. El concepto de jerarquización, consiste en la subdivisión del sistema en bloques de forma recursiva para conseguir que el nivel de complejidad de cada parte sea abordable, ya que en la mayoría de los casos tratar todo el sistema de forma unitaria es imposible. No obstante, para determinar algunos aspectos será necesario manejar bloques de complejidad considerable y es por ello que deberemos describir el sistema de forma que sea posible manejar la información justa y necesaria y descartar los detalles que no necesitamos. En otros casos será necesario tener en cuenta todos los detalles y la información disponible, pero entonces deberemos centrarnos por separado en partes pequeñas del sistema cuyo nivel de complejidad sea tratable. Este proceso es el que denominamos abstracción.

VARIABLES DE DISEÑO A NIVEL FÍSICO Este es el nivel que se corresponde con la tecnología mediante la que se implementará el sistema. En el caso de circuitos integrados CMOS se trata de una tecnología basada en materiales semiconductores, aislantes y metales dispuestos en capas en las que los elementos se interconectan tanto verticalmente atravesando las capas aislantes como horizontalmente por medio de pistas conductoras. Las variables que se manejan a este nivel están relacionadas con las propiedades de los materiales y con su forma. A este nivel el diseñador únicamente tiene control sobre el dibujo de las máscaras, por tanto la principal variable de diseño a optimizar será el área ocupada por cada elemento del sistema que repercutirá en el área global del CI.

DIAGRAMA DE FLUJO DE DISEÑO Y HERRAMIENTAS DE AYUDA AL DISEÑO

El diseño de un sistema electrónico es un proceso que permite obtener a partir de su especificación una implementación del mismo. La especificación de un sistema es una descripción de su función y otras características requeridas para su uso, como la velocidad, tecnología y consumo de potencia; es decir, hace referencia a ‘qué’ hace el sistema sin especificar cómo. La implementación de un sistema se refiere a ‘cómo’ éste está construido a partir de componentes más simples. Para cerrar el ciclo de todo el proceso, es necesario verificar mediante un proceso de análisis que la implementación final del sistema se comporta como describa su

Page 2: Reconocimiento Unidad 2

ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 299008 – MICROELECTRÓNICA

Actividad 07: Reconocimiento Unidad 2

2

especificación, y en caso de no ser así, ésta debe refinarse y volver a recorrer el ciclo. Si el diseño es complejo, como ya se ha dicho anteriormente, es necesario recurrir a una estrategia de diseño jerárquico o multinivel.

COSTES DE LA FASE DE DISEÑO

En el proceso de diseño normalmente intervienen diversas personas y, especialmente si se trata del diseño de un sistema complejo, cada una de ellas se dedica a una tarea específica: simulación de alto nivel, síntesis, diseño físico, simulación eléctrica, verificación de integridad de señal (ruido), etc. A la hora de asignar un coste al proceso de diseño se realiza un cómputo global del tiempo dedicado al proyecto por parte de cada persona, y se suman las contribuciones de cada una, obteniéndose una medida de la dedicación de personal a dicho proyecto en unidades persona-tiempo. Lo que se obtiene es una medida del trabajo en términos de personal que ha representado el diseño. Por ejemplo, un proyecto de 18 personas-mes indica que 18 personas se han dedicado en exclusiva al proyecto durante un mes cada una, o que 9 personas se han dedicado durante dos meses, o el caso general, en que cada persona tiene una dedicación diferente y globalmente el proyecto tiene una asignación de 18 personas-mes.

MODELOS Y SIMULADORES ELÉCTRICOS

A este nivel el transistor y el resto de componentes se representan mediante componentes circuitales regidos por un modelo matemático que puede tener diversos grados de complejidad, en función de la exactitud que se precise. Este modelo se extrae del comportamiento real de los componentes aislados utilizando, o bien una formulación analítica, o bien un ajuste a las curvas empíricas. Las variables con las que trabajan estos modelos son la tensión y la corriente en los nodos y ramas del componente. Los modelos se expresan como una serie de expresiones donde intervienen estas variables eléctricas y unos parámetros que deben proporcionarse para cada tipo de componente.

La mayoría de estos parámetros, denominados parámetros de fabricación o tecnológicos dependen de la estructura física del dispositivo y sus materiales y vienen dados por el fabricante del circuito integrado en base a medidas experimentales que éste ha realizado sobre circuitos de prueba.

VHDL BÁSICO

Una alternativa para modelar diseños en un FPGA es utilizar HDL’s, los más conocidos son VHDL y Verilog ya que se trata de lenguajes estandarizados; sin embargo no son la única opción, existen otras alternativas como Handel-C y Abel, entre otros. VHDL fue desarrollado como un lenguaje para el modelado de

Page 3: Reconocimiento Unidad 2

ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 299008 – MICROELECTRÓNICA

Actividad 07: Reconocimiento Unidad 2

3

sistemas digitales. Proporciona una sintaxis amplia y flexible que permite el modelado estructural, en flujo de datos y de comportamiento de hardware. VHDL está regido bajo el estándar IEEE 1076-1993, lo que favoreció su adopción en la industria y se ve reflejado en las constantes mejoras de sus herramientas; debido a su estandarización, un código en VHDL puede ser portable a diferentes herramientas y también puede ser reutilizado en diferentes diseños.

VHDL es un lenguaje de descripción de hardware que se utiliza para modelar, documentar, simular, verificar y sistematizar un sistema digital. Por tanto abarca el ciclo completo de diseño, salvo el trazo físico o layout, desde las especificaciones iniciales hasta la construcción del prototipo hardware.

NIVELES DE DESCRIPCIÓN VHDL

VHDL es un lenguaje descriptor de hardware de gran generalidad derivada del lenguaje de alto nivel ADA43. Dispone de tipos abstractos para definir el formato y valores de señales, variables, constantes, etc. y proporciona amplias facilidades para la realización de algoritmos. Los diferentes niveles de descripción que maneja VHDL son los siguientes:

Nivel algorítmico: Es el nivel con mayor grado de abstracción. Aquí el diseñador solo describe el comportamiento del sistema, sin preocuparse de las señales o componentes internos del mismo. Por ello al referirse a él se suele hablar de nivel de comportamiento o descripción de alto nivel.

Nivel de transferencia de registros: (RTL, Register Transfer Level). Este nivel proporciona un cierto grado de abstracción con respecto al hardware, pero el diseñador se ve obligado a describir las distintas señales que interactúan en un circuito y su comportamiento en función de las entradas por medio de ecuaciones lógicas y sentencias de asignación.

Nivel lógico: Utiliza los recursos que el lenguaje proporciona para describir las interconexiones entre los distintos componentes de un circuito. Otra denominación habitual para referirse a este nivel es la de estructural.

MODELOS Y SIMULADORES DE ALTO NIVEL

Históricamente, la descripción más utilizada ha sido la RTL (del inglés Register Transfer Level). Dicho código RTL describe cada bit de estado en el sistema y todas las operaciones que pueden tener lugar en ese estado. Describe también cada registro, matriz de memoria, bloque aritmético y lógico. Esta descripción es de forma estructural, pero no tiene por qué corresponderse con la implementación

Page 4: Reconocimiento Unidad 2

ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 299008 – MICROELECTRÓNICA

Actividad 07: Reconocimiento Unidad 2

4

exacta que después tendrá cada bloque, ya que lo importante es describir la funcionalidad del sistema y sus partes y poder evaluarla conjuntamente. Dado que la representación es de tipo estructural, es posible utilizar también un esquemático para describir el sistema de forma RTL.

Posteriormente los avances en informática y herramientas CAD han permitido elevar aún más el nivel de abstracción y utilizar construcciones muy parecidas a las de los programas y algoritmos software (bucles, cláusulas if-then-else, etc.). El sistema queda descrito entonces de forma funcional. Existe la posibilidad de traducir una especificación HDL de este tipo funcional a una descripción RTL, y ésta es una de las tareas de los programas de síntesis.

VALIDACIÓN Y PRUEBA DE CIRCUITOS INTEGRADOS

Si bien durante la fase de diseño se tiene un acceso ilimitado a todos los nodos de un circuito, lo que permite observar respuestas de forma no restringida, este no es el caso de un componente fabricado; entonces el único acceso al circuito ha de realizarse a través de un número limitado de patillas de entrada/salida, por mucho que el componente sea extremadamente complejo en términos del número de posibles estados. A esto hay que añadir el hecho de que el equipamiento de pruebas de circuitos integrados suele ser extremadamente caro, por lo que cada segundo que se invierta en el test de un componente supondrá un incremento de su precio. Hay que tener en cuenta que los equipos de test actuales rondan los 10 millones de dólares, y en unos años su coste alcanzará los 50-100 millones de dólares para poder hacer frente a la complejidad y velocidad de los circuitos integrados que se avecinan.

Es conveniente, por tanto, considerar los aspectos de test desde las primeras etapas del proceso de diseño; modificaciones mínimas en estas etapas pueden ayudar a facilitar en gran medida la validación del componente. Esta aproximación al diseño, introduciendo las necesidades del test como parte de las especificaciones, se conoce como "diseño para la prueba" (DFT – Design For Testability). Cualquier estrategia DFT contiene una doble exigencia:

•Proporcionar la circuitería necesaria para que el procedimiento de prueba sea rápido y extensivo.

•Proporcionar los patrones de test (vectores de excitación) necesarios, de forma que la secuencia de test sea lo más corta posible, cubriendo a la vez la mayoría de los posibles fallos.

Page 5: Reconocimiento Unidad 2

ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 299008 – MICROELECTRÓNICA

Actividad 07: Reconocimiento Unidad 2

5

DISEÑO BOUNDARY-SCAN

Hasta hace poco, el problema del test sólo lo era realmente al nivel de los CI’s; el test de las tarjetas de circuito impreso quedaba facilitado por la abundante disponibilidad de puntos de test. El cuadro ha cambiado con la introducción de las técnicas avanzadas de encapsulado (montaje superficial o módulos multichip), y esto ha reducido significativamente la controlabilidad y observabilidad a este nivel, ya que el número de puntos donde pueden hacerse medidas se ha visto muy disminuido. Este problema puede abordarse extendiendo el concepto de test scan-based al nivel de tarjetas y componentes.

La aproximación resultante se denomina boundary-scan (cuya traducción podría ser "chequeo en las fronteras de los componentes") y se ha estandarizado para asegurar la compatibilidad entre los diferentes proveedores (JTAG - Joint Test Action Group), dando lugar a la norma IEEE 1149. En esencia, conecta los pines de I/O de los componentes de una tarjeta en una cadena serie de test.