Las herramientas, metodologías y flujos que han existido desde los albores del diseño de semiconductores se están desmoronando, pero esta vez no hay un gran grupo de investigadores que propongan soluciones potenciales. La industria está sola para formular esas ideas, y eso requerirá mucha cooperación entre las empresas, fábricas y diseñadores de EDA, lo que no ha sido su punto fuerte en el pasado.
Es difícil optimizar algo cuando no se puede analizar, y el análisis se está volviendo mucho más difícil porque muchos de los problemas en los grandes productos semiconductores son multifísicos o son una combinación de hardware y software, sistema, placa. , paquete IC, intercalador, chip y bloque IP. En el pasado, la forma en que se abordaban los problemas era un enfoque de divide y vencerás. A veces esto se hace jerárquicamente, como verificar completamente un bloque antes de integrarlo, o a veces aislando un problema, como con el cruce del dominio del reloj.
Sin embargo, cada vez más algunos problemas se resisten a este tipo de enfoques y la industria aún tiene que encontrar una solución fácil. Por ejemplo, cuestiones como la seguridad son cuestiones a nivel del sistema. Lo mismo ocurre con muchos problemas de rendimiento o potencia. Incluso cuestiones como la alimentación y la integridad de la señal tienen que lidiar con una jerarquía que abarca desde IP hasta el sistema, a través de una compleja interconexión de muchas capas, cada una de las cuales tradicionalmente se ha adaptado a un conjunto diferente de herramientas.
Esto crea un nuevo conjunto de problemas de modelado y requiere que algunas herramientas existentes asuman un papel mucho más importante que en el pasado. Alternativamente, la industria tendrá que tomarse en serio la cuestión de imponer restricciones a los diseños, de modo que el análisis sea posible. Si bien esta industria está comenzando a reconocer los problemas, hoy los está abordando de manera poco sistemática. Hasta ahora nadie ha propuesto una solución general que se extienda al futuro.
Es un juego de números. "Si se tiene en cuenta todo el sistema, el número de rincones se está disparando", afirma Shekhar Kapoor, director senior de marketing de Sinopsis. “Hoy en día, los enfoques siguen volviendo a la forma jerárquica de hacer las cosas de dividir y vencerás, y también a encontrar formas de reducir el número de escenarios con los que hay que lidiar. Sin ellos, los requisitos computacionales serán enormes. Y para que puedas dar de alta los sistemas, el camino será mucho, mucho más largo”.
Los enfoques jerárquicos siguen siendo útiles para algunas cosas. "El principio de abstracción se utiliza en lugares donde la complejidad fundamental del análisis es demasiado compleja", dice Prakash Narain, presidente y director ejecutivo de Real Intent. “En simulación, lo utilizamos en términos de modelos funcionales de bus y análisis de temporización estática. Lo usamos creando modelos de temporización a nivel de E/S, cruces de dominios de reloj, técnicas de cierre de sesión estáticas para cruces de dominios de reloj, cruces de dominios de reinicio. Todos estos son lugares donde utilizamos con éxito técnicas jerárquicas”.
La reducción de esquinas a menudo implica decisiones de diseño. "¿Por qué no evitar los cruces de dominios?", dice Kapoor de Synopsys. “Simplemente mantenga el diseño asíncrono, donde cada una de las piezas esté sincronizada por sí sola. De esa forma podrás gestionar el número de esquinas de esa pieza en particular. Luego, además de eso, puedes utilizar técnicas de reducción de esquinas. Con enfoques jerárquicos para el análisis de tiempos, cronometramos cada parte por separado y luego ambas junto con las restricciones, y fusionamos las esquinas”.
¿Qué se entiende por caminos que aumentan en todas partes? "Mucha gente quiere realizar análisis de sistemas de matrices múltiples", dice Mick Posner, director senior de HPC IP en Synopsys. “Las soluciones de integridad de señal y energía solían centrarse en la matriz, pasando por el paquete hasta la PCB. Ahora se ha convertido en troquel, intercalador, empaquetamiento, PCB. Esto es especialmente cierto para las interfaces de alto rendimiento, como 112G, y las interfaces de memoria, donde se presta mucha atención al impacto de ese intercalador o capa de enrutamiento. Tenemos que encontrar la manera de empaquetar esa información con la IP, lo cual a veces es imposible porque no sabemos cómo se utiliza esa IP. Podemos proporcionarles un flujo de referencia que les muestre cómo realizan ese análisis”.
El problema es que hacer algunas de las abstracciones necesarias es difícil. "Los requisitos de abstracción son muy específicos de la aplicación", dice Narain de Real Intent. “Dependen de la tecnología y son diferentes de un producto a otro, incluso para esa aplicación. Dependen de la tecnología que utiliza cada producto para implementar la funcionalidad. Luego debes considerar el nivel de precisión que estás buscando. Será muy específico para una aplicación y la tecnología, y los estándares realmente se aplicarán más adelante porque es un proceso muy difícil de lograr”.
Posner proporciona un ejemplo específico. “Para HBM3, presentamos un diseño de referencia. Es un diseño de referencia de nuestro propio chip de prueba. Desarrollamos una PHY, pero cuando hacemos un chip de prueba, también tenemos que desarrollar un intercalador que se conecte a la pila de HBM. Tenemos que hacer todo de forma similar a lo que tendría que hacer un cliente. Entonces podrán aprovechar ese flujo. Pero, por supuesto, ese fue nuestro chip de prueba. Pueden reutilizar el flujo, pero los datos reales serán específicos de cómo dispongan ese intercalador”.
El problema del modelado
La razón de estas dificultades es la falta de modelos y de medios para generarlos. Los modelos son compensaciones entre fidelidad, precisión y rendimiento. Los modelos de alta precisión tienden a tener buena fidelidad pero se ejecutan lentamente, mientras que los modelos que se ejecutan más rápido pierden algo en términos de precisión, fidelidad o ambas. Los modelos requeridos son tanto modelos funcionales como no funcionales.
Hemos estado lidiando con el problema en el dominio funcional por un tiempo, pero se requiere más trabajo. "Para la verificación funcional hacemos algunos modelos", dice Neil Hand, director de estrategia para tecnología de verificación de diseño en EDA de Siemens. “Tenemos precisión de ciclo, precisión de conjunto de instrucciones, etc. Pero quieres tener una forma de moverte fácilmente entre ellos. Con el modelado híbrido, tienes la capacidad de lo que ellos llaman correr rápido y luego correr con precisión. Sobre la marcha, debe poder cambiar el modelo. Por ejemplo, alguien podría iniciar el sistema operativo en un modelo de ejecución rápida menos preciso y luego cambiar el estado de diseño a un modelo de ejecución precisa. Ahora pueden avanzar desde ese punto con mucha más granularidad y mucha más fidelidad en el modelo mismo. Necesitamos desarrollar capacidades aún mayores para cambiar entre fidelidades cuando las necesite”.
Hoy en día, se utiliza una metodología similar para la verificación de integración y nivel de bloque. "Cuando compras un núcleo Arm, no verificas su funcionalidad", dice Simon Davidmann, fundador y director ejecutivo de Software Imperas. “Se verifica la integración del mismo. Ahí es donde entran empresas como Breker. Tienes estos bloques, pero ¿cómo puedes comprobar que todos se hablan bien entre sí? No lo haces de la misma manera que verificarías un bloque con UVM o Verilog, que es lo que usas para la verificación a nivel de bloque. La jerarquía en la verificación consiste en hacer que todos los bloques funcionen, probarlos individualmente, luego juntarlos y preocuparse por las pruebas de integración. Pero requieren metodologías diferentes”.
El problema siempre ha sido que crear estos modelos requiere tiempo y esfuerzo, y cada modelo debe verificarse para garantizar la coherencia. "Para la arquitectura también se necesitan propiedades no funcionales, como detalles de sincronización", dice Tim Kogel, ingeniero principal de creación de prototipos virtuales de Synopsys. “Esto implica un esfuerzo considerablemente mayor para construir los modelos. Si bien la industria ha establecido niveles más altos de abstracción, no ha tenido tanto éxito en la creación de herramientas para construir estos modelos de rendimiento no funcionales. Por ejemplo, el software ve los elementos de procesamiento como unidades de recursos más abstractas, y luego puede tener modelos más detallados del subsistema de interconexión y memoria, o la red entre los diferentes chips. Arteris y Arm los proporcionan para redes coherentes, para varios tipos de IP de interconexión y también para los controladores de memoria, que son las piezas clave de la integración”.
Se requieren más herramientas de generación de modelos. "Cuando analizas un diseño utilizando patrones particulares, tienes la capacidad de crear un modelo abstracto", dice Malik Vasirikala, director y especialista de producto de Ansys. “Por ejemplo, cuando analizo el interior de un chip, también sé cómo se comporta desde la perspectiva de la interfaz. Puedo crear un modelo como si estuviera viendo toda esta parte desde la periferia o en el límite del chip con el mundo externo. Luego, cuando analizo otro chip conectado a él, no necesito los detalles internos del chip. Simplemente conecto ese modelo de comportamiento a este análisis y listo”.
Pero hay lagunas. "Lo que falta es una mejor integración e intercambio de datos entre los mundos físicos y los mundos virtuales", dice Kogel de Synopsys. "Necesitamos un modelo arquitectónico basado en información de planos de planta aprendida y geometrías aprendidas que, cuando se migran al nivel de prototipo virtual, ayudan a validar el rendimiento, la potencia y la temperatura en función de la actividad de la aplicación real".
¿Cuándo terminaste?
La finalización es uno de los problemas en cualquier tarea de análisis. ¿Has cubierto los casos importantes? Existen métricas de cobertura para la verificación funcional a nivel de bloque, pero este es otro modelo más que debe migrarse a niveles más altos de abstracciones y a dominios no funcionales. "Si está ejecutando parte de su verificación en el ámbito de RTL y parte en el prototipo virtual, ¿cómo fusiona esos elementos de cobertura?" pregunta Hand de Siemens. "Hoy eso se hace a través de la cobertura funcional, pero existe la oportunidad, especialmente cuando se analiza la generación de estímulos, cuando se utiliza IA en el lado de la cobertura, de comenzar a inferir información de diferentes tipos de cobertura".
El mundo del software ha sido muy laxo en este sentido. "No creo que exista un enfoque o una metodología estándar para la cobertura", dice Davidmann de Imperas. “Hasta donde yo sé, no hay ninguna automatización que la gente haya realizado en torno al software que sea equivalente a puntos de cobertura y grupos de cobertura en HDL. Existen verificadores de protocolos para verificación y análisis. Y puedes construir estadísticas, donde puedes observar las funciones, o observar los accesos a variables. Dada la falta de estandarización, proporcionamos las herramientas necesarias, pero el usuario tendría que construirlas él mismo”.
Una vez que se tiene una noción de cobertura, es posible pensar en optimizar la verificación. “Ya sea un estímulo portátil en su forma actual o algo que se base en esas nociones, necesitamos generar escenarios a nivel del sistema”, dice Hand. “¿Podemos tomar eso e ir un nivel más alto e ir con los prototipos virtuales y el modelado del sistema y generar escenarios en sistemas robustos? Será cada vez más importante a medida que los sistemas se integren cada vez más”.
Otros están de acuerdo. "Lo que se desea es tener esta continuidad entre el nivel de IP, el nivel de SoC y luego la verificación en silicio", afirma Kogel. “El estímulo portátil es una forma de lograrlo. Luego también puede ejecutar lo que era un caso de prueba abstracto, como un programa en un núcleo integrado, y luego en el prototipo virtual. En ese sentido amplio, se trata de la verificación del concepto arquitectónico. Luego, ejecutas RTL con software en un emulador, en un prototipo de FPGA, y eso puede usarse para validar el rendimiento porque es más como "lo que ves es lo que obtienes". No es un modelo virtual de alto nivel. "
Fig. 1: Múltiples niveles de modelos y objetivos de verificación. Fuente: Sinopsis
Otra forma de abordar la verificación de la integración es mediante el cumplimiento funcional. "Hay un intento en Arm llamado 'sistema listo' para definir lo que significa ser compatible y capaz de iniciar un sistema operativo", dice Nick Heaton, distinguido ingeniero y arquitecto de verificación de SoC en Cadencia. “Si se aprueba su implementación, no tendrá que modificar las versiones del sistema operativo de Red Hat ni nada parecido. Simplemente comenzarán con eso. Este es un contrato entre el software y el hardware. El estímulo portátil intenta hacer eso de una manera más generalizada, y lo llamamos VIP porque es una especie de contenido listo para usar que entregamos, digamos, a un nivel de coherencia. Probamos todas las permutaciones de coherencia y podemos ofrecerlas básicamente a cualquier plataforma, ya sea Arm o RISC-V o cualquier otra ".
El problema de depuración
Una cosa es poder ejecutar un modelo, pero otro nivel de complejidad es encontrar y solucionar un problema en un modelo o en cómo se utiliza el modelo. "Si está depurando software en hardware o en una FPGA, obtiene un gdb que se conecta a él y puede realizar un solo paso en el flujo de instrucciones de un procesador", dice Davidmann. “Pero el problema surge cuando tienen 10 o más procesadores y necesitan saber cuándo 'esto' escribe en 'aquello', ¿cómo se ve esto? El análisis y la depuración deben realizarse de forma holística para poder verlo todo. Esto tiene que involucrar las pilas de software para que se pueda observar el comportamiento de la plataforma”.
Este es un conjunto de demandas diferente al de simplemente depurar hardware. "A medida que comenzamos a realizar pruebas de integración de hardware/software, comenzamos a ver más capacidades de depuración de software integradas en el entorno de depuración de prototipos virtuales", dice Hand. “A medida que lo ponemos a disposición de los diseñadores de sistemas, tenemos la oportunidad de analizar los modelos de uso y ¿cuáles son los entornos de diseño en los que esos equipos quieren trabajar? ¿Cómo podemos incorporar eso? Quiere que los diseñadores de sistemas interactúen con los prototipos virtuales de una manera que sea significativa para ellos. Se trata de identificar a los usuarios finales y asignarles los modelos de uso. Es un área en la que hay mucho que podemos hacer y hay mucho que deberíamos hacer”.
Las herramientas y metodologías deben adaptarse a las necesidades de cada nivel. "Las personas que realizan la verificación de la integración no son las que conocen cada uno de los bloques", dice Heaton de Cadence. “El tiempo de depuración o de respuesta es cada vez más importante. La cantidad de ciclos de depuración que puede ejecutar en un día es críticamente problemática. Si las herramientas pueden indicarle el lugar del primer pedido, puede ahorrar horas de depuración. Estamos en el comienzo de este viaje. El aprendizaje está en marcha y la forma en que utilizamos esas herramientas es algo que mejorará”.
La IA puede ayudar. "A pesar de que los humanos tenemos la mejor red neuronal, nuestra E/S sigue siendo más o menos en serie", dice Matt Graham, director del grupo de ingeniería de productos de Cadence. “Tal vez podamos manejar dos o tres vías paralelas, pero ciertamente no más que eso. Las máquinas pueden considerar todas estas cosas en paralelo. Podrían usar un algoritmo simple, o un conjunto simple de IA, para hacer algo a través de esa cosa masivamente paralela y altamente integrada. Pero eso es diferente de lo que podemos hacer nosotros mismos. Tal vez sean cosas como la última vez que tuvimos una revisión o qué cambió, o identificar dónde difiere el comportamiento o cuáles fueron los parámetros que se cambiaron en una IP”.
Conclusión
La complejidad del sistema está abrumando a muchas de las herramientas y metodologías existentes en la actualidad. Las técnicas utilizadas en el pasado, aunque siguen siendo valiosas, no son suficientes. La industria ha estado viendo muchos de estos problemas en el área de verificación funcional, pero eso es sólo la punta del iceberg. Dado el poco progreso que se ha logrado en el área mejor comprendida, no es probable que el progreso sea rápido en muchas de las otras áreas, en particular aquellas impulsadas por envases avanzados.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://semiengineering.com/design-and-verification-methodologies-breaking-down/
- 1
- 10
- a
- Poder
- Nuestra Empresa
- RESUMEN
- Mi Cuenta
- la exactitud
- preciso
- Lograr
- a través de
- actividad
- avanzado
- AI
- algoritmo
- Todos
- hacerlo
- análisis
- analizar
- el análisis de
- y
- Otra
- Aplicación
- enfoque
- enfoques
- arquitectónico
- arquitectura
- Reservada
- áreas
- ARM
- en torno a
- Automatización
- Hoy Disponibles
- Atrás
- basado
- Básicamente
- porque
- a las que has recomendado
- se convierte en
- cada vez
- antes
- Comienzo
- "Ser"
- MEJOR
- mejores
- entre
- más grande
- Bloquear
- Bloques
- tablero
- Ruptura
- llevar
- general
- build
- Construir la
- construye
- autobús
- comprar
- Cadencia
- llamar al
- , que son
- capacidades
- capaz
- case
- cases
- ceo
- ciertamente
- comprobar
- chip
- Papas fritas
- COHERENTE
- combinación
- cómo
- viniendo
- Empresas
- integraciones
- complejidad
- compliance
- obediente
- concepto
- conectado
- conecta
- Considerar
- restricciones
- contenido
- contrato
- cooperación
- Core
- Esquina
- esquinas
- curso
- Protectora
- cobertura
- cubierto
- Para crear
- crea
- Creamos
- Current
- cliente
- de ciclos
- datos
- día
- acuerdo
- tratar
- decisiones
- entregamos
- entregar
- demandas
- dependiente
- Diseño
- diseñadores
- diseños
- detalle
- detallado
- detalles
- desarrollar
- desarrollado
- El
- una experiencia diferente
- difícil
- dificultades
- Director
- Distinguido
- "Hacer"
- dominio
- dominios
- No
- DE INSCRIPCIÓN
- impulsados
- cada una
- pasan fácilmente
- esfuerzo
- ya sea
- elementos
- integrado
- ingeniero
- Ingeniería
- garantizar
- Entorno
- ambientes
- Equivalente a
- especialmente
- se establece
- Incluso
- todo
- ejemplo
- Intercambio
- ejecutar
- existente
- ampliar
- externo
- Moda
- RÁPIDO
- más rápida
- pocos
- fidelidad
- Higo
- Encuentre
- la búsqueda de
- Nombre
- Fijar
- de tus señales
- Flujos
- Focus
- seguir
- formulario
- adelante
- fundador
- Fundador y CEO
- FPGA
- Desde
- completamente
- funcional
- a la fatiga
- funciones
- fundamental
- futuras
- juego
- General
- la generación de
- generación de AHSS
- obtener
- Donar
- dado
- Go
- Goals
- va
- candidato
- mayor
- Grupo procesos
- Grupo
- encargarse de
- Materiales
- ¿Qué
- ayuda
- jerarquía
- de alto nivel
- Alto rendimiento
- más alto
- altamente
- holístico
- HORAS
- Cómo
- Como Hacer
- HPC
- HTTPS
- enorme
- Humanos
- Híbrido
- ideas
- identificar
- Impacto
- implementar
- implementación
- importante
- imponente
- imposible
- in
- incorporar
- creciente
- cada vez más
- Individualmente
- energético
- información
- COMPLETAMENTE
- integración
- integridad
- intención
- interactuar
- Interfaz
- las interfaces
- interno
- involucrar
- IP
- cuestiones
- IT
- artículos
- sí mismo
- Kapoor
- Guardar
- Clave
- Tipo
- Saber
- especialistas
- Falta
- large
- Apellidos
- .
- ponedoras
- aprendido
- aprendizaje
- Nivel
- Apalancamiento
- que otros
- pequeño
- por más tiempo
- Mira
- parece
- Lote
- Máquinas
- hecho
- Realizar
- gestionan
- manera
- muchos
- cartografía
- Marketing
- macizamente
- Match
- max-ancho
- significativo
- significa
- Salud Cerebral
- ir
- la fusión de
- metodologías
- Metodología
- Métrica
- podría
- que falta
- modelo
- modelado
- modelos
- modificar
- más,
- MEJOR DE TU
- emocionante
- múltiples
- necesario
- ¿ Necesita ayuda
- del sistema,
- telecomunicaciones
- Neural
- red neural
- Nuevo
- Noción
- número
- números
- ONE
- funcionamiento
- sistema operativo
- Oportunidad
- Optimización
- optimizando
- solicite
- OS
- Otro
- EL DESARROLLADOR
- paquete
- embalaje
- Paralelo
- parámetros
- parte
- particular
- particularmente
- pasa
- pasado
- camino
- .
- Personas
- actuación
- la perspectiva
- los libros físicos
- pieza
- piezas
- Colocar
- Lugares
- plataforma
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- punto
- puntos
- alberca
- posible
- posible
- industria
- Prakash
- presidente
- Director de la escuela
- principio
- Problema
- problemas
- tratamiento
- procesadores
- Producto
- Productos
- Programa
- Progreso
- propiedades
- propuesto
- protocolo
- prototipo
- prototipos
- prototipado
- proporcionar
- proporciona un
- real
- reino
- razón
- reconocer
- Rojo
- Red Hat
- reducir
- diseño de referencia
- Estrenos
- exigir
- Requisitos
- Requisitos
- requiere
- investigadores
- Recurso
- robusto
- Función
- Ejecutar
- correr
- mismo
- Guardar
- escenarios
- EN LINEA
- ver
- la búsqueda de
- ve
- semiconductor
- mayor
- sentido
- de serie
- grave
- set
- tienes
- Shows
- firmar
- Signal
- similares
- Simon
- sencillos
- simulación
- desde
- soltero
- Despacio
- So
- hasta aquí
- Software
- a medida
- Soluciones
- algo
- Alguien
- algo
- Fuente
- se extiende
- especialista
- soluciones y
- montón
- Stacks
- estándar
- estándares de salud
- comienzo
- Comience a
- Estado
- statistics
- paso
- Sin embargo
- estímulo
- Estrategia
- stream
- fuerte
- exitosos
- Con éxito
- tal
- suficiente
- suministro
- Switch
- te
- Todas las funciones a su disposición
- adaptado
- ¡Prepárate!
- toma
- hablar
- Tarea
- equipos
- técnicas
- Tecnología
- términos
- test
- Pruebas
- pruebas
- La
- El Área
- El futuro de las
- su
- sí mismos
- térmico
- cosa
- cosas
- Tres
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- Tim
- equipo
- Programado
- sincronización
- de estilista
- a
- hoy
- juntos
- demasiado
- parte superior
- hacia
- tradicionalmente
- verdadero
- tipos
- entendido
- En curso
- unidades que
- us
- utilizan el
- Usuario
- usuarios
- utilizado
- Utilizando
- VALIDAR
- validación
- Valioso
- diversos
- Verificación
- verificadas
- verificar
- verificando
- VIP
- Virtual
- mundos virtuales
- Ver ahora
- formas
- ¿
- sean
- que
- mientras
- QUIENES
- seguirá
- sin
- Actividades:
- rutina de ejercicio
- trabajando
- mundo
- mundo
- se
- la escritura
- tú
- zephyrnet