Una pregunta general sobre la verificación desde cero

0

No soy un gran experto en la verificación de hardware, quiero decir que sé cuál es el propósito de la verificación (básicamente, verificar si el sistema se espera que haga) y he usado algunas herramientas para la verificación, normalmente diseño un equivalente en software que usa el lenguaje C / C ++ y que comparo de alguna manera el equivalente VHDL / Verilog con este.

Sin embargo, parece que la mayoría de estas herramientas no son gratuitas, me preguntaba si es posible utilizar una técnica de verificación muy simple desde cero. La mayoría de estas herramientas, por lo que sé, utilizan la lógica de primer orden para analizar el software y el código HDL. ¿Existe algún enfoque muy simple (que no sea una simulación exhaustiva) que pueda implementarse fácilmente por él mismo para verificar la equivalencia?

Tal vez haya un algoritmo muy simple que pueda usarse fácilmente, y no lo sé.

Thx

    
pregunta user8469759

2 respuestas

2

La verificación es un campo enorme. Al igual que en el software, hay muchos niveles de verificación, por ejemplo. Cobertura de código, cobertura de ruta, etc. Todo depende de la aplicación. LED parpadeante: verifica la frecuencia en la simulación; El sistema de control que mantiene a su turbofan por debajo de su punto de fusión: es mejor que lo pruebe.

Podemos dividir la verificación en dos categorías principales: funcional y formal. Su cadena de herramientas generalmente viene con capacidades de verificación funcional, es decir, pone algo en la entrada y verifica la salida. Digamos que estás diseñando un sumador. Lo que puede hacer es crear un banco de pruebas, poner cada combinación posible en la entrada y comparar la salida. Esto es lo que necesitaba hacer recientemente para un sumador de Kogge-Stone que estaba diseñando para un FPGA.

Si gasta algo de dinero, puede comprar herramientas que pueden hacer cobertura de código, cobertura de ruta, etc. También puede hacerlo con algunas herramientas de código abierto también. Si gasta mucho dinero, puede obtener una herramienta de verificación formal, que prueba que su diseño es equivalente a la especificación. Esto puede ser realmente importante en algunos campos.

Le sugeriría que comience a ver los bancos de pruebas, si no ha realizado la verificación anteriormente. Esto le dará una buena introducción a la verificación funcional.

    
respondido por el user110971
0

Si entiendo la pregunta correctamente, necesita convertir su modelo C / C ++ de software en un banco de pruebas de verificación, usando System Verilog, C # o algo así. Podría ser incluso sencillo. Entonces necesita conectar este modelo de banco de pruebas a hardware HDL en su entorno de diseño HDL. Para obtener algo de automatización y evitar la comparación visual de la forma de onda, su banco de pruebas puede / debe incluir una variedad de comprobaciones lógicas de sus vectores de E / S en puntos críticos de tiempo. Por lo general, este proceso toma el 90% del tiempo de diseño, y ninguna herramienta puede hacer este trabajo por usted, simple o complejo.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas