stringtranslate.com

Verificación funcional

La verificación funcional es la tarea de verificar que el diseño lógico se ajusta a la especificación. [1] La verificación funcional intenta responder a la pregunta "¿Este diseño propuesto hace lo que se pretende?" [2] Esto es complejo y requiere la mayor parte del tiempo y el esfuerzo (hasta el 70% del tiempo de diseño y desarrollo) [1] en la mayoría de los proyectos de diseño de sistemas electrónicos de gran envergadura. La verificación funcional es una parte de una verificación de diseño más amplia que, además de la verificación funcional, considera aspectos no funcionales como la sincronización, el diseño y la potencia. [3]

Fondo

Aunque el número de transistores aumentó exponencialmente según la ley de Moore , el aumento del número de ingenieros y el tiempo necesario para producir los diseños solo aumentan linealmente . A medida que aumenta la complejidad de los transistores, también aumenta el número de errores de codificación. La mayoría de los errores en la codificación lógica provienen de una codificación descuidada (12,7 %), una mala comunicación (11,4 %) y desafíos de microarquitectura (9,3 %). [1] Por lo tanto, se producen herramientas de automatización del diseño electrónico (EDA) para ponerse al día con la complejidad del diseño de transistores. Los lenguajes como Verilog y VHDL se introducen junto con las herramientas EDA. [1]

La verificación funcional es muy difícil debido al gran volumen de casos de prueba posibles que existen incluso en un diseño simple. Con frecuencia, hay más de 10^80 pruebas posibles para verificar exhaustivamente un diseño, una cantidad que es imposible de lograr en una vida. Este esfuerzo es equivalente a la verificación de un programa y es NP-hard o incluso peor, y no se ha encontrado ninguna solución que funcione bien en todos los casos. Sin embargo, se puede atacar con muchos métodos. Ninguno de ellos es perfecto, pero cada uno puede ser útil en ciertas circunstancias:

Tipos

Existen tres tipos de verificación funcional, a saber: verificación funcional dinámica, verificación funcional/estática/dinámica híbrida y verificación estática. [1]

La verificación basada en simulación (también llamada " verificación dinámica ") se utiliza ampliamente para "simular" el diseño, ya que este método se escala muy fácilmente. Se proporciona un estímulo para ejercitar cada línea en el código HDL. Se crea un banco de pruebas para verificar funcionalmente el diseño al proporcionar escenarios significativos para verificar que, dada cierta información, el diseño funciona según las especificaciones.

Un entorno de simulación normalmente se compone de varios tipos de componentes:

Se definen diferentes métricas de cobertura para evaluar si el diseño se ha utilizado adecuadamente. Estas incluyen la cobertura funcional (¿se ha utilizado cada funcionalidad del diseño?), la cobertura de declaraciones (¿se ha utilizado cada línea de HDL?) y la cobertura de sucursales (¿se ha utilizado cada dirección de cada sucursal?).

Véase también

Referencias

  1. ^ abcde Molina, A; Cadenas, O (8 de septiembre de 2006). «Verificación funcional: enfoques y desafíos». Investigación Aplicada Latinoamericana . 37. ISSN  0327-0793. Archivado desde el original el 16 de octubre de 2022. Consultado el 12 de octubre de 2022 .
  2. ^ Rezaeian, Banafsheh. "Metodología de simulación y verificación de circuitos integrados automotrices de señal mixta". CiteSeerX 10.1.1.724.527 . 
  3. ^ Stroud, Charles E; Change, Yao-Chang (2009). "CAPÍTULO 1 – Introducción". Verificación del diseño . págs. 1–38. doi :10.1016/B978-0-12-374364-0.50008-4. ISBN 978-0-12-374364-0Archivado desde el original el 12 de octubre de 2022 . Consultado el 11 de octubre de 2022 . {{cite book}}: |journal=ignorado ( ayuda )