Robert Murphy ( rmurphy ), miembro del personal técnico de Advanced Micro Devices
Jason Paquette ( Jason Paquette ), ingeniero de desarrollo de productos, Advanced Micro Devices

Resumen : Para maximizar el uso de los recursos de diseño y minimizar el tiempo de comercialización, los diseños de sistemas en chip (SoC) emplean una reutilización considerable de bloques funcionales. Esta reutilización proporciona la base para comparar el rendimiento y el rendimiento a nivel de bloque, lo que permite una depuración enfocada y mayores oportunidades de optimización. Este artículo describe el proceso de generación de mapas personalizados para su uso con la plataforma Graph Builder de JMP. Esta técnica ofrece un enfoque valioso para explorar señales basadas en el espacio con una herramienta altamente interactiva. Impulse la mejora de procesos aprovechando el potencial de los mapas personalizados en JMP.
Términos de índice : mapas personalizados, hipermapa de calor, análisis de causa raíz, SoC, sistema en chip, rendimiento.
I. INTRODUCCIÓN
El SoC actual suele ser un dispositivo relativamente grande, construido con tecnología de vanguardia en procesos de semiconductores que busca un rendimiento y una eficiencia energética cada vez mayores. Está compuesto por un conjunto de bloques, tanto replicados como únicos, que desempeñan diversas funciones del chip, como E/S, computación y gráficos. Estos bloques pueden representarse como un mapa según su posición física en la matriz. Al usar este tipo de mapa como mapa personalizado en JMP, un ingeniero o analista puede crear visualizaciones potentes que permiten una depuración más rápida de problemas de proceso, prueba o rendimiento. A su vez, esto facilita una aceleración del rendimiento y la calidad, y por lo tanto, un retorno de la inversión (ROI) más rápido para nuevos diseños de productos. Al combinar mapas de calor basados en matrices en Graph Builder según su ubicación física en una oblea, se revelan efectos previamente inadvertidos. Esto se debe a que muchos desafíos en la fabricación de semiconductores dependen en gran medida de la ubicación espacial dentro de una oblea, como los efectos de centro o borde. Una clara representación de estas dependencias posicionales reduce considerablemente la lista de posibles causas raíz y acelera la mejora del proceso.
II. BENEFICIOS DE USAR MAPAS PERSONALIZADOS
Actualmente, ingenieros y analistas disponen de diversas herramientas para identificar respuestas atípicas. Algunos ejemplos incluyen histogramas y diagramas de caja. Si bien son valiosas y muy utilizadas, estas herramientas carecen de la capacidad de ilustrar el posicionamiento físico para identificar patrones con mayor rapidez. Comprender estos patrones ayuda a reducir el alcance del análisis posterior y a aislar la causa raíz, lo que se traduce en tiempos de respuesta más rápidos para la depuración y la mejora del rendimiento.
Aunque este artículo se centra en la industria de los semiconductores, la aplicación de mapas personalizados puede resultar útil en muchos entornos con señales espaciales.
III. CREACIÓN DE MAPAS PERSONALIZADOS EN JMP
La generación de formas de mapa personalizadas en JMP se realiza conectando los vértices de cada forma, uno por uno. Para ello, JMP requiere la información de las coordenadas de los vértices en dos archivos de definición: un archivo "-Name" y un archivo "-XY". El archivo "-Name" contiene las columnas numéricas requeridas para el ID de forma y el nombre , mientras que el archivo "-XY" contiene el ID de forma, el ID de pieza y las coordenadas X e Y de los vértices. La columna "ID de forma" vincula las coordenadas del archivo "-XY" con los nombres de las formas del archivo "-Name".
Si las coordenadas del vértice están disponibles, los archivos '-Name' y '-XY' se pueden generar en unos pocos pasos.
Resuma el archivo de coordenadas para que cada forma ocupe una sola fila en la tabla de datos. Cree una columna "ID de forma" en orden ascendente (empezando por uno) y asigne a cada forma un ID único. El ID de forma debe ser la primera columna de la tabla. Guarde la tabla como " $$$ -Name.jmp", donde $$$ es el prefijo seleccionado. Este archivo debe incluir una columna con un nombre intuitivo para cada forma. En las propiedades de esta columna, seleccione "Rol de mapa" y configúrelo como "Definición de nombre de forma" (véase la Figura 1). Este paso es importante, ya que los valores de esta columna se utilizarán para vincular datos sin procesar para las superposiciones.
- Higo.1. Nombre de forma Definición Mapa Rol Propiedad Configuración
Con la tabla de coordenadas original aún abierta, integre la columna única de ID de forma recién creada y ordene la tabla en orden ascendente por ID de forma. Guarde la tabla de datos como ' $$$ -XY.jmp', donde $$$ debe ser el mismo prefijo usado para el archivo '-Name'.
Este archivo '-XY' requiere cuatro columnas obligatorias, Identificación de forma , X , Y y Identificación de la pieza . En su estado actual, el archivo debería tener toda esta información y es posible que solo necesite que se cambie el nombre de las columnas. Sin embargo, faltará la columna Identificación de la pieza . Esta columna esencialmente le dice a JMP si ciertas formas tienen partes múltiples e independientes, como el estado de Hawái que se compone de varias islas. A menudo es el caso en que cada forma tiene solo una parte. En esos casos, la columna Part ID se puede establecer como todos unos. Las columnas X e Y contienen las coordenadas de cada vértice en cada forma. Un detalle sutil que vale la pena destacar es que el orden de aparición de los vértices de cada forma en el archivo '-XY' es importante, ya que puede llevar a representaciones inexactas de las formas, si está mal configurado. Usando el archivo de mapeo '-XY', JMP traza formas pasando de vértice a vértice (comenzando desde la primera fila en el archivo hasta la última). Un nuevo trazado comienza con cada nuevo Shape ID o Part ID. La figura 2 muestra un ejemplo de cómo el orden de los vértices marca la diferencia a la hora de trazar una forma rectangular simple.
- Higo.2Ordenación correcta e incorrecta de vértices para figuras
Si los datos de coordenadas sin procesar son consistentes en varios tipos de mapas personalizados, un script en lenguaje de script JMP (JSL) para crear los archivos de definición de forma '-XY' y '-Name' resultaría útil.
Para obtener más información sobre la generación de mapas personalizados, consulte el siguiente recurso: Ayuda>Contenido de la ayuda>Gráficos esenciales>Crear mapas>Generador de gráficos>Archivos de mapas personalizados.
Un último punto a tener en cuenta es que los archivos de definición de forma '-Name' y '-XY' deben guardarse dentro del mismo directorio con el mismo prefijo para que el mapeo funcione correctamente.
IV. USO DE MAPAS PERSONALIZADOS
Una vez configurados los archivos de definición, se pueden importar datos a JMP. Se requiere un último paso de preparación para vincular los datos con los archivos de definición de mapas personalizados antes de visualizarlos en el Constructor de Gráficos. Debe haber una columna en los datos con valores idénticos a los de la columna "Definición de Nombre de Forma" definida en el archivo "-Name"; de lo contrario, JMP no podrá vincular el mapa personalizado.
Para vincular la tabla de datos al mapa personalizado, abra las propiedades de la columna de la tabla de datos que almacena los nombres de las formas. En la propiedad Rol de Mapa, asegúrese de que la opción "Uso de Nombre de Forma" esté seleccionada y seleccione el archivo "-Name" como "Tabla de datos de nombres de mapa" con la columna de definición de forma adecuada (véase la Figura 3). Tenga en cuenta que en JMP11 estas opciones no tienen un cuadro de diálogo interactivo para buscar el archivo "-Name", por lo que deberá copiarlo y pegarlo o escribirlo en el cuadro de texto (incluida la extensión ".jmp").
- Higo.3. Nombre de forma Usar mapa Rol Archivo Selección
JMP también permite colocar los archivos '-Name' y '-XY' en un directorio específico que el software verifica automáticamente. Sin embargo, en nuestra aplicación usamos nombres de forma idénticos con diferentes asignaciones en distintos SoC. Por lo tanto, para evitar conflictos de nombres, utilizamos el método de selección de archivos. Consulte la Ayuda de JMP para encontrar la ubicación automática del directorio según el sistema operativo de su ordenador.
Una vez finalizada la preparación, abra el Constructor de Gráficos y arrastre y suelte la columna de forma vinculada desde la tabla de datos hasta la zona de colocación de Formas del Mapa, en la esquina inferior izquierda de la ventana (véase la Figura 4). JMP mostrará en la pantalla todas las instancias de forma presentes en la tabla de datos y en los archivos de definición de forma.
- Higo.4. Ubicación de la zona de colocación de formas del mapa del generador de gráficos
Puede haber casos en los que ciertas formas de la tabla de datos no sean reconocidas por los archivos de definición de forma. Esto puede deberse a nombres diferentes, a convenciones de nomenclatura diferentes o simplemente a que no aparecen en la lista. Estas formas no reconocidas se muestran en la parte inferior de la ventana del Constructor de Gráficos como "Formas de mapa no encontradas" (véase la Figura 5). Para incorporar estas formas faltantes, es necesario modificar los datos para que coincidan con los archivos de definición de forma o actualizarlos.
- Higo.5Visualización del generador de gráficos cuando no se reconocen las formas en los datos
En este punto, las columnas de datos se pueden arrastrar y soltar en la zona de colocación de Color , que proporciona las superposiciones de color adecuadas según los datos de la columna y los tipos de modelado.
La siguiente sección revisará algunos ejemplos detallados que describen diferentes escenarios de casos de uso e historias de éxito.
V. EJEMPLOS
- A. Datos de rendimiento
Como se mencionó en la introducción, la ventaja de la reutilización de bloques en los diseños de SoC permite comparar el rendimiento y el rendimiento de bloques individuales. Es muy común contar con procedimientos de prueba como Scan (flip-flops y lógica común) y la autoprueba integrada (BIST, prueba y reparación de memoria) que se organizan a nivel de bloque. En el caso de los SoC, estos bloques se denominan mosaicos. La Figura 6 muestra el rendimiento de una prueba específica para cada mosaico agregando los resultados de miles de unidades. Los mosaicos en rojo (y numerados en blanco) son mosaicos con valores atípicos de bajo rendimiento que requieren mayor atención. En la siguiente subsección se mostrará que existe otra fuerza que impulsa estos valores atípicos, que no es evidente en esta vista.
- Higo.6Mapa de calor de rendimiento de mosaicos SoC con valores atípicos
- B. Hipermapas de calor
Siguiendo con el ejemplo de rendimiento anterior, existe un conjunto obvio de mosaicos atípicos. Sin embargo, no está claro qué podría estar mal con ellos. La Figura 7 representa el hipermapa de calor que anida cada vista de mosaico de SoC para cada ubicación de matriz en la oblea, haciendo uso de las zonas de colocación del Grupo X y el Grupo Y. Las ubicaciones de matriz que están escasamente pobladas tienen bajas tasas de fallos de mosaico. Los valores atípicos numerados de la Figura 6 se han añadido a la Figura 7, representando las ubicaciones de matriz que hacen que esos rendimientos de mosaico sean menores. Para los mosaicos 1 , 2 y 3 , la razón principal es que son mosaicos de esquina adyacentes al borde de la oblea para ciertas ubicaciones de matriz X e Y. Cuando están inmediatamente junto al borde de la oblea, estos mosaicos están sujetos a efectos de borde en los procesos de fabricación de obleas que no ocurren en otras áreas de la oblea. Para ver más claramente un hipermapa de calor con muchos objetos, puede ser útil filtrar los niveles de referencia o esperados de la variable de color. La Figura 7 se ha filtrado de esta manera. El impacto en el rendimiento de la placa 4 se centra principalmente en el centro de la oblea, donde también se conocen los efectos de variación debido al proceso de fabricación. Los procesos de fabricación inducen diversas irregularidades en la oblea, que suelen ser más pronunciadas en las regiones central y de borde. Este hipermapa de calor permitió comprender rápidamente dónde se encontraban las áreas problemáticas sin tener que invertir recursos para determinar si las placas necesitaban optimización de diseño.
- Higo.7Mapa de calor a nivel de oblea que resalta las ubicaciones de matrices atípicas mediante el filtrado de la tasa de rendimiento base.
- C. Datos paramétricos
La Figura 8 muestra un ejemplo de cómo se pueden visualizar datos paramétricos en un hipermapa de calor a nivel de oblea. Cada mosaico mostrado contiene una estructura de medición analógica cuyo valor se utiliza como métrica para correlacionarlo con el rendimiento del dispositivo. La tabla de datos contiene cientos de obleas, y esta vista en particular muestra el valor medio de la medición de cada mosaico en cada punto de la matriz. Los restos familiares del proceso de fabricación se evidencian claramente mediante los círculos concéntricos representados en la superposición.
- Higo.8Mapa de calor hiperbárico a nivel de oblea de la estructura de caracterización analógica
VI. Casos de éxito
El producto de alto volumen mostró una tesela atípica notable con un rendimiento inferior al de otras (véase la Figura 9). En este caso, el rojo representa las tesela con menor rendimiento y el azul, las tesela con mayor rendimiento.
- Figura 9. Rendimiento inicial a nivel de SoC con observación de mosaicos atípicos
Un análisis posterior mediante mapas de calor permitió descubrir que se trataba de una señal sistemática del borde de la oblea para la placa atípica en el borde inferior izquierdo de la oblea, donde esta placa se encontraba adyacente al borde de la oblea (véase la Figura 10). Esta señal se comunicó a la fundición, lo que les llevó a implementar una mejora del proceso: ajustes optimizados de la litografía en el borde extremo de la oblea. El rendimiento general de la oblea mejoró significativamente gracias a esta mejora del proceso.
- Fig. 10. Observación a nivel de oblea de un mosaico atípico en el borde inferior izquierdo de la oblea.
Antes de la visualización del hipermapa de calor, la investigación inicial de esta señal de rendimiento se centraba en la propia placa, es decir, en la dirección incorrecta en este caso. Una vez que la correlación del rendimiento del borde de la oblea fue clara, el propietario correcto pudo iniciar de inmediato un esfuerzo de mejora continua.
VII. CONSEJOS Y TRUCOS
A.Mostrar formas faltantes
Justo debajo del cuadro de selección de columnas en la plataforma Graph Builder, se encuentra la casilla " Mostrar formas faltantes ". Al seleccionarla, se muestran los contornos de las formas que están en los archivos de definición, pero que no se encuentran en la tabla de datos actual (véase la Figura 11). Esto resulta útil para detectar datos faltantes u obtener una visión general del mapa.
- Fig. 11. Casilla de verificación para mostrar formas faltantes en el generador de gráficos
B.Habilitación de superposiciones de etiquetas de datos
Activar la función de pasar el cursor sobre las formas o que se muestren etiquetas sobre cada una es útil para identificar patrones rápidamente. Al hacer clic derecho en la(s) columna(s) deseada(s) y seleccionar Etiquetar/Desetiquetar por primera vez, se muestran los datos de la columna al pasar el cursor sobre las formas en el Constructor de Gráficos. Para mostrar las etiquetas estáticamente en las formas, seleccione las filas de la tabla de datos que desee y seleccione Etiquetar/Desetiquetar .
DO.Automatización con filtros y conmutador de columnas
Al analizar datos de volumen, la búsqueda de patrones sutiles puede ser una tarea ardua, por lo que minimizar los clics siempre ayuda. Usar las funciones de Automatización de filtros y Selector de columnas (Generador de gráficos, Flecha roja > Script) es una forma eficiente de analizar grandes cantidades de datos espaciales con diferentes condiciones.
D.Paginación de cuadros con JMP12
La plataforma Graph Builder presenta algunas mejoras notables en su funcionalidad con la reciente actualización de JMP12, en concreto, la posibilidad de dividir el informe en varios marcos mediante la zona de colocación de páginas . Al colocar una columna de datos en esta zona de colocación, se generan varias instancias del marco Graph Builder según el número de valores únicos que contenga. El informe puede guardarse como un documento HTML interactivo para compartirse.
Y.Segmentación de fotogramas con zonas de colocación de grupos y envolturas
Como se observa en el ejemplo del hipermapa de calor de oblea, las tramas se pueden segmentar mediante columnas anidadas dentro de las zonas de colocación del Grupo X y el Grupo Y. El hipermapa de calor de oblea utilizó las coordenadas X e Y de la matriz para la segmentación, pero se puede usar cualquier columna. Otros ejemplos frecuentes son el punto de prueba de voltaje, la temperatura de prueba y el punto de prueba de frecuencia. La zona de colocación Envoltura ofrece una funcionalidad similar con un uso más eficiente del espacio, pero no permite la anidación de columnas. Al hacer clic con el botón derecho en las Variables de Grupo, el usuario puede seleccionar el número de niveles a la vista para ampliar eficazmente las regiones de interés (véase la Figura 12).
- Fig. 12. Selección de niveles en la opción Ver dentroGrupoZonas variables
F.Modificar la configuración de color del generador de gráficos
Al analizar datos de superposición de mapas personalizados, una simple modificación de la configuración de color suele resaltar significativamente la apariencia de patrones atípicos. Los autores recomiendan usar un fondo oscuro (Gráfico > Color de fondo) con un tema de color secuencial para datos de una sola dirección (rendimiento, velocidad, etc.) y un tema de color divergente para datos bilaterales. Se puede acceder a los temas de color en la Configuración de degradado haciendo clic derecho en la leyenda. Por defecto, el Constructor de gráficos añade un borde gris alrededor de cada forma, de un píxel de ancho, que puede eclipsar algunas de las formas más pequeñas. Para eliminar este borde, haga clic derecho en el marco, seleccione Personalizar > Formas del mapa y cambie el ancho de línea a cero.
VIII. PROBLEMAS CONOCIDOS y precauciones
- A. Es posible que las formas superpuestas no muestren el color deseado
Esto ocurre cuando hay formas definidas en el mapa personalizado con regiones superpuestas. En la Figura 13, los bloques ACP y gnb comparten una región común, pero solo se usa un color. Es importante tener esto en cuenta al crear mapas personalizados que contengan formas superpuestas.
- Fig. 13. Superposición de colores incorrecta de dos formas superpuestas
- B. Arrastrar la etiqueta para crear un puntero muestra una fila sin etiquetar
La Figura 14 muestra cómo al arrastrar una etiqueta deseada (borde negro punteado), aparecía una etiqueta extraña (borde rojo punteado) en una fila sin etiquetar. Este problema se solucionó en JMP 12.
- Fig. 14. Al arrastrar la etiqueta (negra) aparece una fila sin etiqueta (roja).
- C. Cambiar los niveles en la vista restablece las personalizaciones del marco
La figura 15 muestra la progresión de la primera configuración de las personalizaciones del marco para la vista predeterminada, la selección de cuatro niveles en la vista con una de las variables de Grupo y, finalmente, al volver a la vista original, se pierden las personalizaciones aplicadas originalmente.
- Fig. 15. El cambio de nivel en la función de vista provoca la pérdida de personalizaciones del marco.
- Tablas de propiedades y resumen de columnas de rol de D.Map
Si una columna tiene aplicada la propiedad Rol de Mapa y se resume la tabla de datos (con esa columna incluida), el Constructor de Gráficos no reconoce la propiedad de la columna. Simplemente indica que no se encontró ningún archivo de forma, aunque se haya definido en la propiedad Rol de Mapa. La solución alternativa es eliminar la propiedad Rol de Mapa y volver a añadirla. Como alternativa, si el archivo se guarda, se cierra y se vuelve a abrir, la propiedad Rol de Mapa funcionará correctamente.
- E. No se puede actualizar la propiedad del rol del mapa
Al usar la propiedad de la columna Rol de Mapa, se observó que, una vez establecida y aplicado un archivo de definición de forma, al seleccionar un archivo diferente, la configuración del nuevo archivo no se actualiza. Además, la columna de definición de forma no se puede actualizar. La solución alternativa consiste en eliminar la propiedad Rol de Mapa y volver a agregarla con la nueva configuración de archivo y columna.
IX. OPORTUNIDADES DE MEJORA
Los mapas personalizados de la plataforma Graph Builder son una herramienta excepcional para analizar patrones correlacionados con datos espaciales, gracias a su excepcional interfaz interactiva. Como se señala en este documento, esta función ha permitido un análisis de causa raíz exitoso, con un impacto financiero real. Con un uso extensivo de esta funcionalidad, sus beneficios son evidentes, y ampliar su utilidad con algunas optimizaciones solo conducirá a mejores resultados.
A continuación se presentan algunas oportunidades de mejora que los autores han recopilado en función de sus experiencias.
A.Más opciones para los niveles a la vista
El Constructor de Gráficos permite segmentar la vista mediante zonas de colocación de Grupo en los ejes X e Y. El menú contextual ofrece algunas opciones para configurar el número de niveles en la vista, pero es bastante rígido (véase la Figura 16). A menudo se desea tener más de cuatro niveles en la vista (pero menos que todos), pero actualmente esta opción no existe. Esto podría modificarse para que sea dinámico según el número de valores en la columna de grupo.
- Fig. 16. Niveles en las opciones de visualización limitados a 1-4 o todos
B.Admite paginación de varias columnas
Esta función es increíblemente útil para explorar rápidamente múltiples vistas con un simple desplazamiento del ratón. Podría optimizarse aún más si permitiera dividir los marcos con más de una columna, similar a la función " Por" de otras plataformas. La solución alternativa actual es crear una nueva columna y concatenar los datos de varias para obtener diferentes combinaciones, pero la paginación de varias columnas sería una solución más sencilla.
X. RECONOCIMIENTO
Los autores agradecen a Paul Shook su ayuda para añadir un formato de salida especial al software de planos de planta de AMD, lo que facilita considerablemente la conversión al formato de mapas personalizado de JMP. Asimismo, agradecemos a los analistas de AMD su ayuda para evaluar el uso de mapas personalizados para la visualización del rendimiento del SoC en JMP.
AMD, el logotipo de flecha de AMD y sus combinaciones son marcas comerciales de Advanced Micro Devices, Inc. Otros nombres de productos utilizados en esta publicación son solo para fines de identificación y pueden ser marcas comerciales de sus respectivas empresas.