Solution Final automne 2009 - Moodle
Solution Final automne 2009 - Moodle
Solution Final automne 2009 - Moodle
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