La verificación inteligente , que incluye la automatización de bancos de pruebas inteligentes , es una forma de verificación funcional de diseños de hardware electrónico que se utiliza para comprobar que un diseño cumple con las especificaciones antes de la fabricación del dispositivo. La verificación inteligente utiliza información derivada del diseño y las especificaciones para detectar errores dentro y entre las IP de hardware . Las herramientas de verificación inteligente requieren considerablemente menos esfuerzo de ingeniería y menos orientación del usuario para lograr resultados de verificación que igualan o superan el enfoque estándar de escribir un programa de banco de pruebas.
La primera generación de herramientas de verificación inteligente optimizó una parte del proceso de verificación conocida como pruebas de regresión con una función llamada retroalimentación de cobertura automatizada . Con esta función, la descripción de la prueba se ajusta automáticamente para abarcar funcionalidades de diseño que no han sido verificadas (o "cubiertas") previamente por otras pruebas existentes. Una propiedad clave de la retroalimentación de cobertura automatizada es que, dado el mismo entorno de prueba, el software modificará automáticamente las pruebas para mejorar la cobertura funcional del diseño en respuesta a los cambios en el mismo.
Las herramientas de verificación inteligente más recientes permiten derivar las funciones esenciales de un banco de pruebas (estímulo, cobertura y verificación) a partir de un único modelo compacto de alto nivel. El uso de un modelo único que represente y se asemeje a la especificación original reduce considerablemente la probabilidad de errores humanos en el proceso de desarrollo del banco de pruebas, los cuales pueden provocar tanto errores no detectados como falsos fallos.
Otras propiedades de la verificación inteligente pueden incluir:
- Proporcionar resultados de verificación iguales o superiores a los de un programa de banco de pruebas, pero impulsados por un modelo compacto de alto nivel.
- Aplicable a todos los niveles de simulación para disminuir la dependencia de los programas de banco de pruebas.
- Eliminar las oportunidades de errores de programación e interpretaciones divergentes de la especificación, especialmente entre los equipos de IP y SoC.
- Proporcionar indicaciones sobre por qué no se detectaron ciertos puntos de cobertura.
- Realiza un seguimiento automático de las rutas a través de la estructura del diseño hasta los puntos de cobertura, para crear nuevas pruebas.
- Garantizar que los distintos aspectos del diseño se verifiquen solo una vez en los mismos conjuntos de pruebas.
- Escalado automático de la prueba para diferentes configuraciones de hardware y software de un sistema.
- Compatibilidad con diferentes metodologías de verificación, como la aleatoria restringida, la dirigida, la basada en grafos y la basada en casos de uso, todo en una misma herramienta.
La "Verificación Inteligente" utiliza bancos de pruebas de simulación lógica existentes y automáticamente apunta a los siguientes tipos de cobertura de diseño y los maximiza:
- Cobertura de código
- Cobertura de sucursales
- Cobertura de expresión
- Cobertura funcional
- Cobertura de la afirmación
Historia
Lograr la certeza de que un diseño es funcionalmente correcto se vuelve cada vez más difícil. Para contrarrestar estos problemas, a finales de la década de 1980 se popularizaron los simuladores lógicos rápidos y los lenguajes de descripción de hardware especializados como Verilog y VHDL . En la década de 1990, surgieron metodologías de simulación aleatoria restringida que utilizaban lenguajes de verificación de hardware como Vera [ 1 ] y e , así como SystemVerilog (en 2002), para mejorar aún más la calidad y el tiempo de verificación.
Los enfoques de verificación inteligente complementan las metodologías de simulación aleatoria restringida, que basan la generación de pruebas en la entrada externa en lugar de la estructura del diseño. [ 2 ] La verificación inteligente tiene como objetivo utilizar automáticamente el conocimiento del diseño durante la simulación, lo cual se ha vuelto cada vez más importante en la última década debido al aumento del tamaño y la complejidad del diseño, y a la separación entre el equipo de ingeniería que creó un diseño y el equipo que verifica su correcto funcionamiento. [ 1 ]
Se han realizado numerosas investigaciones en el ámbito de la verificación inteligente, y las herramientas comerciales que aprovechan esta técnica están empezando a surgir.
Véase también
Proveedores que ofrecen verificación inteligente
- Refinería Logic, Inc.
- Gráficos de Mentor
- Synopsys (adquisición de NuSym)
- Breker
- Springsoft (adquisición de Certess)
- Sistemas Valtrix
Notas a pie de página
Referencias
- "Mentor ofrece una herramienta 'inteligente' para la generación de bancos de pruebas", SDCSource , 18 de febrero de 2008.
- "Nusym se centra en la verificación inteligente" EETimes , mayo de 2008.
- "Desvelando las dudas sobre la verificación inteligente", SCDSource , mayo de 2008.
- Verificación de circuitos electrónicos