• No se han encontrado resultados

Configuraci´ on del Test 2

4. Dise˜ no metodol´ ogico de monitores de verificaci´ on para unidades de

4.5. Evaluaci´ on de los componentes de verificaci´ on

4.5.2. Configuraci´ on del Test 2

Granularidad s, e, r = b = 5, 10, 50, 100 Operaciones: Suma y Resta

Codificaci´on de Operaciones: 000 para Suma y 001 para Resta Formato de operandos: binary64, binary32

Estrategias de Redondeo: Todas las estrategias Coverpoints activos: 4.18 a4.38 descriptos en 4.3.2 #hits c: 2

#hits m: 2

Valor umbral ct 5 %, 10 %, 50 % Objetivo de la cobertura G : 100 %

Cap´ıtulo 4. Dise˜no metodol´ogico de monitores de verificaci´on para unidades de

punto flotante 81

Figura 4.6: Cobertura Total para las diferentes capacidades de bins

No se detectan errores funcionales durante la ejecuci´on.

A lo largo de ambas pruebas, existe un punto donde el crecimiento de la perfor- mance se detiene y se mantiene asint´otica cercano al 80 %. La Fig. 4.6 muestra las tendencias de la cobertura para bins de diferentes tama˜os. Esto se debe a que un CRT produce cambios imperceptibles en la cobertura total dado que se comienzan a generar casos de iguales caracter´ısticas a los antes ya generados. La cobertura per- manece asint´otica al 80 % para el resto de la simulaci´on. En la Fig.4.7 se muestra el resultado de aplicar una estrategia mixta para diferentes valores de umbral. La mejora en la performance de la cobertura utilizando una estrategia mixta con un cierto valor umbral ct puede ser medida de la siguiente forma:

perfct =

T ime of CRT T ime CDVct

(4.39) Para una estructura de cobertura con b=100 (la m´as lenta en lograr el 100 % de cobertura) se aplica la estrategia mixta. La performance para los diferentes valores umbrales se resume en la Tabla 4.1

Cap´ıtulo 4. Dise˜no metodol´ogico de monitores de verificaci´on para unidades de

punto flotante 82

Cuadro 4.1: Performance del generador de entradas utilizando estrategia mixta

ct =5 % de IPTC ct = 10 % de IPTC ct = 50 % de IPTC

Tiempo (ciclos) 221648 187210 100232

Aceleraci´on 1.4x 1.9x 4.3x

Figura 4.7: Cobertura de entrada utilizando estrategia mixta (b=100)

tra en la Fig.4.8

La flexibilidad del monitor se demuestra al poder ajustar diferentes par´ametros para los distintos tests sin reescribir ni una s´ola l´ınea de c´odigo. La reusabilidad del monitor queda garantizada al tener que escribir s´olo los casos extremos cuando se agrega una nueva operaci´on a verificar. El procedimiento de comprobaci´on el mode- lo de referencia y la infraestructura de cobertura est´an preparados para incorporar nuevas operaciones aritm´eticas del est´andar tales como divisi´on y multiplicaci´on. Finalmente, el modelo es f´acilmente instanciable dentro de un m´odulo Verilog/Sys- temVerilog.

4.6.

Conclusiones del cap´ıtulo

Este Cap´ıtulo presenta el desarrollo de dos componentes claves para la verificaci´on de FPUs. Luego de describir los casos m´as significativos del est´andar IEEE754-

Cap´ıtulo 4. Dise˜no metodol´ogico de monitores de verificaci´on para unidades de

punto flotante 83

Figura 4.8: Cobertura total utilizando una estrategia mixta

2008 FPU, el Cap´ıtulo se orienta en la generaci´on de casos de entrada basados en esas caracter´ısticas. En particular, se presenta como caso de estudio la verificaci´on de las operaciones de suma y resta. Dado que los casos de entrada generados no alcanzan a cubrir la verificaci´on total del dise˜no, se inicia una etapa de generaci´on de est´ımulos bas´andose en la cobertura. Con el objetivo de proveer un an´alisis completo de la cobertura, se establece una serie de pasos para definir el dise˜no de un monitor funcional. Primero, se dividen tanto el dominio de entrada como el de salida en bins de igual tama˜no. Luego los casos extremos son definidos expl´ıcitamente

Ambos componentes se implementan en SystemVerilog y luego son evaluados como parte de un entorno de verificaci´on de FPU basado el el framework OVM. Como DUVs se instancian dos dise˜nos de FPU diferentes; uno que utiliza representaci´on decimal y otro con representaci´on binaria. Dado que no se han encontrado errores funcionales en ambos dise˜nos durante la ejecuci´on de los tests, puede concluirse que ambos cumplen con el est´andar.

Por otro lado, las pruebas muestran que un CRT crea casos solapados que provo- can el congelamiento en la cobertura total del dise˜no. Para mejorar este inconvenien- te, la semilla de generaci´on de n´umeros aleatoria es cambiada. Si bien la semilla fue reemplazada dos veces, no se encontraron cambios significativos en la performance. La verificaci´on continua con una fase de CVD. Se observa que este enfoque no s´olo acelera el proceso de verificaci´on hasta 4.5x sino que tambi´en es capaz de encontrar

Cap´ıtulo 4. Dise˜no metodol´ogico de monitores de verificaci´on para unidades de

punto flotante 84

casos no cubiertos.

La construcci´on estructurada y gen´erica del monitor muestra que es posible lograr componentes de verificaci´on de gran flexibilidad y reusabilidad.

Cap´ıtulo 5

Verificaci´on automatizada

5.1.

Introducci´on

En el capitulo 2 se mencion´o la importancia de que la fase de verificaci´on funcional sea independiente de la fase de dise˜no. Es frecuente que tanto el plan de verificaci´on como un entorno para la verificaci´on preliminar de un dise˜no est´e disponible antes de la primer versi´on de ´este. Es por eso que tanto en el presente cap´ıtulo como en el siguiente, se propone un enfoque de la verificaci´on funcional como herramienta para asistencia al equipo de dise˜no. La asistencia que aqu´ı se propone apunta a, adem´as de indicarle al dise˜nador s´ı lo implementado responde a las especificaciones funcionales, proveer de una herramienta de an´alisis y de depuraci´on. En particular, y siguiendo con el eje central de la tesis, se presentan aportes destinados al an´alisis de dise˜nos que involucran operaciones de punto fijo y punto flotante aplicando verificaci´on basada en simulaci´on.

En este Cap´ıtulo se presentan enfoques para la automatizaci´on de pruebas den- tro de un entorno simulado as´ı como estrategias para el an´alisis de resultados de las mismas. A diferencia de los Cap´ıtulos 3 y 4, la automatizaci´on que aqu´ı se presenta v´a m´as all´a de la generaci´on autom´atica de entradas. Primero, se aborda la auto- matizaci´on para la creaci´on de escenarios reales con gran precisi´on y mayor nivel de complejidad. Segundo, se propone el an´alisis de resultados orientado a proveer informaci´on sobre errores, desviaciones o cobertura de c´odigo. Finalmente, la auto- matizaci´on tambi´en involucra la presentaci´on de los resultados de manera tal que