¿Cómo se sabe si su periférico maestro/esclavo que implementa un bus estándar está haciendo el trabajo correctamente? [cerrado]

Hay muchos buses estándar como Avalon-MM, Avalon-ST, Wishbone, AMBA-AXI, AMBA-AHB, AMBA_APB, etc. Estos buses estándar han sido diseñados para tener una estructura no trivial para que puedan usarse en muchas aplicaciones diferentes. Esto plantea la pregunta, ¿cómo se verifica que la implementación del periférico maestro o esclavo que utiliza uno de estos buses sea correcta?

Según el comentario anterior, puede encontrar recursos (ya probados), lo que permite simplificar las pruebas. www.osvvm.org es una fuente de IP de verificación para AXI al menos, como una de las facilidades que ofrece.

Respuestas (1)

Igual que todos los diseños: pruebas, pruebas y más pruebas. Es importante destacar que esto debe hacerse con un plan, en lugar de simplemente usarlo y esperar que haya cubierto todos los casos. Esto podría ser pruebas dirigidas, pruebas de remojo, formales, etc. Los protocolos pueden ser muy complejos, por lo que es muy probable que no utilice todas las características y señales de un protocolo determinado. Esto le permite limitar su espacio de verificación.

Para los protocolos más comunes, existen piezas de verificación IP (VIP) diseñadas para hacer exactamente lo que estás pidiendo, incluidos planes, puntos de cobertura, etc. Por ejemplo, Synopsys (sin afiliación) ofrece VIP para todos los protocolos AMBA. Por supuesto, debe confiar en que lo han implementado correctamente, pero puede estar seguro de que han hecho un mejor trabajo que el que probablemente haya hecho usted solo.

Esa IP probablemente va a ser bastante cara, debo decir.
Sí, ¡pero mucho más barato (probablemente) que volver a girar o recuperar un diseño roto! Esto fue solo un ejemplo como una búsqueda rápida, seguro que habrá otros más baratos/gratis.