You are on page 1of 11

Act 9: Lección evaluativa No. 2

Diagrama de la ‘y’ y procedimientos involucrados en el

diseño

A partir del diagrama de la ‘Y’ pueden de?nirse una serie de procedimientos usuales en el entorno de diseño que nos permiten, ya sea manualmente, o mediante el uso de herramientas informáticas de ayuda al diseño, la traducción de una representación a otra o el paso de un nivel de abstracción a otro. Estos procesos son:

. Abstracción: procedimiento consistente en traducir un sistema desde un nivel inferior, más detallado, a un nivel superior, menos detallado. Aplicable en cualquier vista de diseño.

. Refinamiento: procedimiento opuesto a la abstracción mediante el cual se obtiene una descripción más detallada y completa de un sistema a partir de su descripción en un nivel superior.

. Síntesis: a cualquier nivel de abstracción; este procedimiento se utiliza para traducir una representación funcional en su equivalente estructural.

. Análisis: es el proceso inverso a la síntesis y consiste en encontrar una descripción funcional o abstracta para un sistema descrito estructuralmente. Su principal uso es el de comprobar que una estructura obtenida mediante un proceso de diseño complejo se comporta de acuerdo a la descripción funcional original del mismo (sus especi?caciones).

. Optimización: es un proceso local a cada nivel de abstracción en el que se intenta encontrar la descripción del sistema a ese mismo nivel que maximice o minimice una serie de criterios o variables de diseño. Mediante este procedimiento no se pasa de una vista a otra del sistema ni se cambia de nivel de abstracción.

. Generación: consiste en la obtención de la implementación real de una estructura determinada. En la mayoría de los casos supone descender un nivel de abstracción y pasar de una representación estructural a una física.

. Extracción: proceso inverso al anterior. Dos ejemplos usuales de ese procedimiento son la extracción de componentes parásitos a partir del diagrama de máscaras, que se añaden a la descripción a nivel eléctrico del circuito (su esquemático), y la extracción de retardos a partir del esquemático eléctrico para ser utilizados en el nivel lógico.

Act 9: Lección evaluativa No. 2

El proceso en el que se obtienen las máscaras de un circuito a partir de su esquema eléctrico o la obtención de ese esquema eléctrico a partir de su descripción mediante ecuaciones booleanas sería:

Su respuesta :

Generación

Correcto

Diseño descendente, diseño ascendente

En la estrategia de diseño descendente (denominada tradicionalmente top- down en inglés), el sistema se descompone en subsistemas, los cuales a su vez son descompuestos en subsistemas más simples hasta que se llega a un nivel jerárquico en el cual los subsistemas pueden ser realizados directamente con módulos disponibles. Este método tiene la desventaja que la descomposición en un nivel particular debe ser hecha de forma que se optimice la implementación final del sistema global, pero no existe ningún procedimiento sistemático que permita asegurar esto. El éxito de esta estrategia depende de la experiencia del diseñador al escoger una descomposición adecuada para cada nivel.

En la otra posible estrategia de diseño multinivel los módulos existentes se conectan para formar subsistemas, y éstos se conectan a otros subsistemas hasta que el sistema tiene la funcionalidad requerida por su especificación. Esta estrategia de denomina diseño ascendente (en inglés bottom-up). Esta metodología de diseño tiene una desventaja análoga a la anterior. La composición de los subsistemas debe hacerse de forma que resulte en un funcionamiento correcto de acuerdo con la especificación del sistema. De nuevo, no existe en general ningún procedimiento sistemático que asegure que esto sea así.

La estrategia de diseño en la cual los módulos existentes se conectan entre sí para formar subsistemas, y estos se conectan con otros subsistemas es conocido como diseño bottom-up

Su respuesta :

Verdadero

Correcto

Flujo de diseño típico en ASIC’s

La secuencia básica de pasos para diseñar un ASIC (circuito integrado de aplicación específca son:

1.Entrada del diseño: Introducción del diseño en un entorno de diseño de ASIC’s ya sea utilizando un lenguaje descriptor de hardware (HDL) como los que veremos en el apartado siguiente o bien una entrada de su esquema o captura de esquemáticos.

  • 2. Síntesis lógica y/o analógica: Utilizando un sintetizador lógico

automático es posible producir un listado (netlist en inglés) que describe la lógica y sus conexiones. Por el contrario las partes analógicas deben sintetizarse manualmente, si bien existen algunas herramientas en fase de desarrollo que permiten algún tipo de síntesis automática analógica.

  • 3. Partición del sistema: División del sistema en secciones que puedan

ser implementadas independientemente y luego conectadas entre sí.

  • 4. Simulación pre-layout:

5.Planificación de la superficie: Distribución de los bloques del ASIC sobre la super?cie del chip.

6.Colocación: Distribución de las celdas dentro de un bloque.

7.Conexionado: Realización de las conexiones entre celdas y bloques.

8.Extracción: Obtención de modelos eléctricos de las interconexiones y elementos parásitos del circuito a partir de las máscaras y los parámetros del proceso de fabricación.

  • 9. Simulación post-layout: Comprobación de que el diseño funciona

correctamente una vez incorporado el efecto de las interconexiones y elementos parásitos.

Comprobación de que el diseño funciona correctamente.

El paso del diseño en ASIC´s donde se realiza la distribución de las celdas dentro de un bloque, es conocido como:

Su respuesta :

Colocación

Correcto

Costes de diferentes alternativas de diseño de circuitos integrados

Full Custom

Tradicionalmente, un diseño Full Custom (FC) se entiende que es aquel en el que el layout se optimiza a mano. Por ejemplo, en el caso de utilizar lógicas no estándar, es posible que no haya librerías con los componentes adecuados, y se hace necesario diseñar específcamente los bloques a utilizar. Otra razón puede ser la modi?cación manual de algunos bloques para mejorar sus prestaciones, dimensionando específcamente los transistores que lo componen.

El resultado es un circuito normalmente de altas prestaciones y de área muy reducida, pero el inconveniente es un coste de diseño muy elevado (sobre todo en personas-tiempo).

Actualmente la alta complejidad de los sistemas que se diseñan hace impracticable la estrategia FC para el chip completo, pero muchos sistemas siguen teniendo partes críticas optimizadas manualmente, con lo que los diseños FC son en realidad en parte FC y en parte un diseño basado en librerías (Standard Cell).

Standard Cell

Un diseño Standard Cell (SC) se basa en una librería de celdas (componentes funcionales), todas con la misma altura. Esto permite disponerlas de forma contigua formando un conjunto de filas y espacios entre ellas. Es posible generar una librería SC o añadir elementos a una librería existente con bloques que sean necesarios para un diseño concreto. En este caso, los bloques deben diseñarse con la altura correcta para que se puedan usar en el entorno de diseño SC.

Por una parte la uniformidad de altura en las celdas simplifca mucho la interconexión de los bloques, con lo cual es posible un proceso más automatizado que requiere menos intervención humana. Por otra parte, el hecho de usar una librería implica que los bloques no están optimizados en prestaciones, y al ser de altura fija, tampoco lo están, en general, en área. Como resultado, un diseño basado enteramente en SC tiene un coste significativamente menor en personas-tiempo que el FC, pero el área resultante es mayor.

Este tipo de preguntas consta de un enunciado, problema o contexto a partir del cual se plantean cuatro opciones numeradas de 1 a 4, el estudiante debe seleccionar la combinación de dos más opciones que responda adecuadamente a la pregunta y marcarla en la hoja de respuesta, de acuerdo con la siguiente información:

Marque A, si 1 y 2 son correctas.

Marque B, si 1 y 3 son correctas.

Marque C, si 2 y 4 son correctas

Marque D, si 3 y 4 son correctas

De acuerdo a lo anterior, dos de las características que presenta un diseño Full Custom respecto al diseño Standard Cell son:

  • 1. Bajo costo

  • 2. Bajas prestaciones

  • 3. Área reducida

  • 4. El layout se optimiza a mano

Su respuesta :

3 y 4

Correcto

Característica principales de VHDL

Tres son las características principales que incorpora VHDL enfocadas a facilitar o permitir la descripción de hardware: un modelo de estructura, un modelo de concurrencia y un modelo de tiempo

Modelo de estructura

De forma natural cualquier sistema electrónico puede dividirse en subsistemas más pequeños. Por ello VHDL incorpora el concepto de estructura. Esta característica nos permite realizar el modelo de un sistema digital cualquiera a partir de la referencia a las distintas partes que lo forman y especifican la conexión entre estas. Cada una de las partes, a su vez, pueden estar modelas de forma estructural a partir de sus componentes, o bien estar descritas de forma funcional, usando los recursos de descripción algorítmica del lenguaje.

Modelo de concurrencia

El hardware es por definición concurrente, en última instancia cualquier dispositivo digital está formado de un mar de puertas lógicas, todas ellas funcionando en paralelo. El elemento básico que ofrece VHDL para modelar paralelismo es el proceso (process).

Un proceso puede entenderse como un programa, se compone de sentencias, puede llamar a subprogramas, puede definir datos locales, etc. En general, un proceso describe un comportamiento y el código que contiene se ejecuta de forma secuencial. Pero todos los procesos contenidos en una descripción VHDL se ejecutan de forma paralela. Desde este punto de vista un modelo VHDL puede entenderse como un mar de programas secuenciales ejecutándose de forma paralela. De hecho cualquier descripción VHDL es transformada en un conjunto de procesos concurrentes equivalentes, y este mar de procesos concurrentes es la información de entrada del simulador.

Modelo de tiempo

Una de las finalidades del modelado en VHDL del hardware es poder observar su comportamiento a lo largo del tiempo (simulación). El concepto de tiempo es fundamental para definir cómo se desarrolla la simulación de una descripción VHDL. La simulación de un modelo VHDL es una simulación dirigida por eventos. Esto significa que el simulador mantiene unas listas de eventos (cambios en las señales internas del modelo y también de las entradas y salidas) que se han de producir a lo largo del tiempo de simulación. Como el comportamiento del modelo es estable mientras no se produzca un evento, la tarea del simulador consiste en avanzar el tiempo de simulación hasta el siguiente evento y calcular sus consecuencias sobre la lista de eventos futuros.

De acuerdo a la anterior información, la gráfica que se muestra representa:

De acuerdo a la anterior información, la gráfica que se muestra representa: Su respuesta : Modelo

Su respuesta :

Modelo de concurrencia

Correcto

Etapas básicas en el proceso de diseño

Síntesis

Se puede definir como la traducción de la descripción de un diseño a una representación de circuito de bajo nivel (netlist). El proceso de síntesis depende de la tecnología empleada, en otras palabras, el paso de una descripción en VHDL hacia un conjunto de netlist es diferente de un dispositivo a otro. El proceso de síntesis convierte el diseño a una estructura de datos interna, traduciendo el "comportamiento" descrito en alto nivel a una descripción de nivel RTL. La descripción RTL especifica registros, señales de entrada y salida y la lógica combinacional entre ellas. Algunas herramientas de síntesis traducen estructuras de datos en funciones lógicas optimizadas según la arquitectura elegida.

Optimización

El proceso de optimización depende de tres variables:

La forma de las expresiones booleanas.

El tipo de recursos disponibles.

Las directivas de síntesis utilizadas (tanto automáticas como propias de

usuario).

La optimización de una estructura PLD o CPLD implica la simplificación de las expresiones lógicas a una suma mínima de términos producto, además también se optimiza el número de literales. Para ello se utilizan técnicas de simplificación de la forma canónica en una suma de términos producto. La optimización para FPGAs típicamente requiere que la lógica se exprese en factores comunes que se puedan utilizar en diferentes partes del diseño.

Ajuste

El ajuste es el proceso por el que se toma la lógica producida por la síntesis y la optimización y se "coloca" en un dispositivo lógico, transformando la lógica (en caso de ser necesario) para obtener el mejor ajuste. Ajuste es un término utilizado habitualmente para describir el proceso de colocar los recursos en arquitecturas del tipo CPLD.

Cuando la arquitectura es una FPGA el proceso se suele denominar ruteo y colocación, ya que se colocan bloques lógicos en diferentes células del FPGA y posteriormente se interconectan entre sí o hacia bloques de entrada/salida. El proceso de ajuste en un CPLD puede ser complejo, ya que el modo en que la lógica se puede poner en un dispositivo concreto suele ser variado.

La etapa en la cual implica simplificar de expresiones lógicas es conocida como:

Su respuesta :

Optimización

Correcto

Síntesis de alto nivel

La síntesis de la arquitectura se basa en el principio de que todo sistema puede modelarse mediante una serie de operaciones y sus dependencias. El primer paso del proceso de síntesis consiste en traducir la especificación que el diseñador realiza utilizando uno de los lenguajes HDL en una representación basada en operadores (denominados recursos) y sus dependencias. Estas representaciones formales pueden ser de varios tipos, pero todas se basan en grafos. El proceso de síntesis consiste en identi?car los recursos hardware

que pueden implementar las operaciones. Esto se realiza mediante dos procesos: scheduling y binding. El proceso de scheduling consiste en determinar el orden en que se realizaran las operaciones y el proceso de binding consiste en repartir las operaciones entre los recursos disponibles. Estos dos procesos se realizan iterativamente dentro de un bucle de optimización en el que se fijan como objetivos, bien realizar las operaciones con el mínimo número de recursos posible, bien realizarlas en el menor tiempo posible, bien un compromiso entre ambos. Como vemos, la principal característica del proceso de síntesis es la existencia de múltiples soluciones.

De acuerdo a la lectura anterior, seleccione la afirmación correcta:

Su respuesta :

La síntesis de alto nivel se realiza para identificar los recursos de hardware necesarios para implementar en las operaciones.

Correcto

Procedimiento de test

Las pruebas de fabricación se pueden clasificar en tres categorías según la meta perseguida:

Test diagnóstico. Se utiliza durante la depuración de un chip o tarjeta y su objetivo es, dado un componente erróneo, identificar y localizar el fallo.

Test funcional (test go/no go). Determina si un componente fabricado es o no funcional.

Este problema es más simple que el del test diagnóstico, ya que la respuesta buscada es un sí o un no. Este test se aplica a cada componente fabricado, por lo que es exigible que sea lo más simple y rápido posible.

Test paramétrico. Verifica el cumplimiento de las especificaciones de un conjunto de parámetros no discretos (márgenes de ruido, retardos de propagación o frecuencias máximas de reloj) bajo una variedad de condiciones de trabajo, tales como diferentes temperaturas y tensiones de alimentación. Los tests paramétricos se subdividen a su vez en estáticos y dinámicos.

El test paramétrico verifica el cumplimiento de las especificaciones de un conjunto de parámetros no discretos (márgenes de ruido, retardos de propagación o frecuencias máximas de reloj) por lo tanto se exige que sea lo más rápido y simple posible.

Su respuesta :

Falso

Correcto

Aspectos del DFT

Cuando se considera la testabilidad de los diseños, dos propiedades son importantes:

Controlabilidad, que mide la facilidad de llevar un nodo de un circuito a una determinada condición utilizando sólo los pines de entrada. Así, un nodo será fácilmente controlable si puede ser llevado a la condición mediante un solo vector de entrada; por el contrario su controlabilidad será baja si necesita una secuencia amplia de vectores.

Observabilidad, que mide la facilidad de observar el valor de un nodo en los pines de salida. Un nodo con alta observabilidad puede ser monitorizado directamente en los pines de salida; un nodo con baja observabilidad necesita un cierto número de ciclos antes de que su estado aparezca en las salidas.

Los circuitos combinacionales pertenecen a la clase de circuitos fácilmente observables y controlables, dado que cualquier nodo puede ser controlado y observado en un único ciclo. En el caso de los circuitos secuenciales estas propiedades hay que buscarlas mediante técnicas DFT, que pueden agruparse en tres categorías: test ad hoc, test scan-based y self-test.

Los circuitos secuenciales son observables fácilmente y no requieren de técnicas DFT

Su respuesta :

Falso

Correcto

Rendimiento del proceso de fabricación (yield)

Dado un proceso de fabricación en el que se producen N circuitos integrados de los que N v son válidos, definimos rendimiento del proceso Y (yield) como N v / N. La modelización del rendimiento de un proceso ha sido un tema de investigación durante muchos años, y el modelo más sencillo (1960) se fundamenta en una distribución de Poisson de defectos puntuales en el área del chip (A), idéntica a lo largo de toda la superficie de la oblea. En esta situación, y suponiendo que un defecto puntual siempre produce un fallo en el comportamiento del chip, el rendimiento de fabricación de un chip de área A se obtiene de la probabilidad de que en un proceso estadístico de Poisson no haya ningún defecto, es decir:

Y = N v / N = exp(- D o A)

donde D o es el parámetro de la distribución que define la densidad de defectos del proceso de fabricación. Este parámetro puede cambiar con el tiempo, y es relativamente alto cuando el proceso es nuevo y va disminuyendo a medida que el proceso se hace maduro.

De la ecuación del rendimiento podemos concluir que:

Su respuesta :

Si el parámetro Do es muy grande, entonces el rendimiento es bajo.

Correcto