En las pruebas posteriores al silicio, tenemos una prueba de validación funcional donde se desarrollan las pruebas de C para verificar la funcionalidad del SoC, a través de una interfaz JTAG conectada a la PCB TAP y controlada mediante algún software como Code Composer Studio.
También, hay pruebas estructurales en las que se prueban diferentes tipos de modelos de fallas, como atascos, puentes, retardo de puerta, retardo de ruta, etc. a través de la lógica de autoprueba incorporada y algunos a través de ATE.
Mi pregunta es, ¿por qué se requieren dos niveles de prueba? Si un módulo en el interior del núcleo tiene algún fallo, ¿no es suficiente la validación funcional para detectar el error?