28.01.2015 Views

Solution Final automne 2009 - Moodle

Solution Final automne 2009 - Moodle

Solution Final automne 2009 - Moodle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

INF8500 Examen final Automne <strong>2009</strong><br />

Figure 5.1 Contraites System Verilog lors de la génération aléatoire d’un stimulis<br />

a) Comme on peut le voir, la plage des registres src1 et src2 est redéfinie pour tenir compte<br />

des négatifs et des points particuliers désirés, ce qui n’était pas le cas de l’exemple<br />

présenté au dernier cours. Également, on se concentre ici sur les opérations<br />

arithmétiques et sur le décalage. On suppose que l’opération de mémoire est OK.<br />

b) En ce qui concerne les points de couverture, nous avons avons défini des points de<br />

couverture très spécifiques pour que les couvertures croisées soient réalisées uniquement<br />

sur l'ensemble de possibilitées voulues (toutes les fonctions arithmétiques et toutes les<br />

fonctions de déplacement (« shift »). Pour ce faire, nous avons défini les points de<br />

couverture opselect_cov_arithm, opselect_cov_shift, arithm_cov et shift_opn_cov. Ces<br />

points de couverture servent à réaliser une sélection (intersect) uniquement sur ce qui est<br />

désiré : le premier pour le sélecteur d'opération arithmétique, le deuxième pour les<br />

déplacement. Ensuite, les deux suivants sont remplis pour toutes les opérations<br />

arithmétiques (ADD, ADDU, SUB, …) et le dernier pour les opérations de déplacement.<br />

Ainsi, les couvertures croisées définies arith_cov2 et shift_cov2 permettent de faire<br />

automatiquement pour la première les couvertures de toutes les opérations arithmétiques<br />

et pour la deuxième toutes les opérations de déplacement<br />

c) La couverture fonctionnelle pourrait tendre vers 100% car les limitations de a) et de b)<br />

permettent une intersection fini (e.g. -10 à 10 pour les entrées, 8 opération arithmétiques<br />

et 4 opérations de décalage). Il faut bien comprendre que cette couverture représente<br />

l'ensemble des cas spécifiques définis dans les contraintes du générateur de paquet.<br />

Page 12 de 14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!