Monitorización y muestreo

Muestreo

Ya hemos comentado los dos grandes tipos de covergroups:

  • “without event triggering”:
    • No disponen de ninguna especificación de cuando son muestreados los coverpoints.
    • Por tanto tiene que especificarse en el curso de ejecución el momento exacto donde tiene que hacerse el muestreo.
    • Dicho muestreo se realiza con un método asociado denominado “sample”
  • “with event triggering”:
    • Disponen de especificación de cuando son muestreados los coverpoints.
    • Esta especificación puede ser en flancos positivos o en flancos negativos del reloj.

En el primer caso está claro que el verificador decide en qué momento realiza el muestreo, puesto que es un muestreo inmediato.

Monitorización

Es conveniente que se sigan los pasos descritos en la creación del banco de pruebas para observar cómo se hace llegar los elementos monitorizados a estas pseudo clases denominadas covergroups.

A mi modo de ver la forma más elegante es mediante el uso combinado de un interfaz, con un “modport” de tipo monitor (ver pasos 4 o paso 5) y en el que en dicho modport se utilice como elemento de sincronización un clocking block muy característico porque todas sus señales son inputs.