La verificación inteligente , incluida la automatización del banco de pruebas inteligente , es una forma de verificación funcional de los diseños de hardware electrónico que se utiliza para verificar que un diseño se ajusta a las especificaciones antes de la fabricación del dispositivo. La verificación inteligente utiliza información derivada del diseño y la (s) especificación (es) para exponer errores en y entre las IP de hardware . Las herramientas de verificación inteligentes requieren considerablemente menos esfuerzo de ingeniería y orientación del usuario para lograr resultados de verificación que cumplan o superen 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 conocido como prueba de regresión con una función llamada retroalimentación de cobertura automatizada . Con la retroalimentación de cobertura automatizada, la descripción de la prueba se ajusta automáticamente a la funcionalidad de diseño de destino que no ha sido previamente verificada (o "cubierta") por otras pruebas existentes. Una propiedad clave de la retroalimentación de cobertura automatizada es que, dado el mismo entorno de prueba, el software cambiará automáticamente las pruebas para mejorar la cobertura del diseño funcional en respuesta a cambios en el diseño.
Las herramientas de verificación inteligente más nuevas pueden derivar las funciones esenciales que uno esperaría de un banco de pruebas (estímulo, cobertura y verificación) a partir de un modelo único, compacto y de alto nivel. El uso de un único modelo que represente y se parezca a la especificación original reduce en gran medida la posibilidad de errores humanos en el proceso de desarrollo del banco de pruebas que pueden conducir tanto a errores perdidos como a errores falsos.
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
- Aplicabilidad a todos los niveles de simulación para disminuir la dependencia de los programas del banco de pruebas
- Eliminando oportunidades de errores de programación e interpretaciones divergentes de la especificación, esp. entre equipos de IP y SoC
- Proporcionar instrucciones sobre por qué no se detectaron ciertos puntos de cobertura.
- Seguimiento automático de rutas a través de la estructura de diseño hasta los puntos de cobertura, para crear nuevas pruebas.
- Asegurarse de que varios aspectos del diseño solo se verifiquen una vez en los mismos conjuntos de prueba.
- Escalar la prueba automáticamente para diferentes configuraciones de hardware y software de un sistema.
- Soporte para diferentes metodologías de verificación como aleatorio restringido, dirigido, basado en gráficos, caso de uso basado en la misma herramienta.
La "Verificación inteligente" utiliza bancos de pruebas de simulación lógica existentes , y automáticamente apunta y maximiza los siguientes tipos de cobertura de diseño:
- Cobertura de código
- Cobertura de sucursales
- Cobertura de expresión
- Cobertura funcional
- Cobertura de afirmación
Historia
Lograr la confianza de que un diseño es funcionalmente correcto sigue siendo cada vez más difícil. Para contrarrestar estos problemas, a finales de la década de 1980 se hicieron populares los simuladores de lógica rápida y los lenguajes de descripción de hardware especializados , como Verilog y VHDL . En la década de 1990, las metodologías de simulación al azar restringidos surgieron utilizando lenguajes de verificación de hardware tales como Vera [1] y el correo , 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 restringidas, que basan la generación de pruebas en entradas externas en lugar de en la estructura de diseño. [2] La verificación inteligente está destinada a utilizar automáticamente el conocimiento del diseño durante la simulación, que se ha vuelto cada vez más importante en la última década debido al mayor tamaño y complejidad del diseño, y una separación entre el equipo de ingeniería que creó un diseño y el equipo que verifica su correcto funcionamiento. . [1]
Ha habido una investigación sustancial en el área de verificación inteligente y las herramientas comerciales que aprovechan esta técnica apenas están comenzando a surgir.
Ver también
Proveedores que ofrecen verificación inteligente
- Refinería lógica, Inc.
- Gráficos del mentor
- Synopsys (adquisición de NuSym)
- Breker
- Springsoft (adquisición de Certess)
- Sistemas Valtrix
Notas al pie
- ^ a b "Aprovechamiento de Design Insight para metodologías de verificación inteligente" , Embedded , junio de 2008.
- ^ "Prueba aleatoria restringida lucha por cumplir sus promesas" SCDSource , marzo de 2008.
Referencias
- "Mentor ofrece una herramienta de generación de banco de pruebas 'inteligente'", SDCSource , 18 de febrero de 2008.
- "Nusym se centra en la verificación inteligente" EETimes , mayo de 2008.
- "Levantando la niebla sobre la verificación inteligente", SCDSource , mayo de 2008.