28.01.2015 Views

Solution Final automne 2009 - Moodle

Solution Final automne 2009 - Moodle

Solution Final automne 2009 - Moodle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Packet pkt_sent = new(); // Packet object from Driver<br />

covergroup Arith_Cov;<br />

src1_cov: coverpoint pkt_sent.src1 {<br />

bins zero = {0};<br />

bins allfs = {32'hffffffff};<br />

bins special1 = {32'h55555555};<br />

bins special2 = {32'haaaaaaaa};<br />

bins positive = {[0:'1]} iff(pkt_sent.src1[31] == 1'b0);<br />

bins negative = {[0:'1]} iff(pkt_sent.src1[31] == 1'b1);<br />

}<br />

src2_cov: coverpoint pkt_sent.src2 {<br />

bins zero = {0};<br />

bins allfs = {32'hffffffff};<br />

bins special1 = {32'h55555555};<br />

bins special2 = {32'haaaaaaaa};<br />

bins positive = {[0:'1]} iff(pkt_sent.src2[31] == 1'b0);<br />

bins negative = {[0:'1]} iff(pkt_sent.src2[31] == 1'b1);<br />

}<br />

opselect_cov: coverpoint pkt_sent.opselect_gen {<br />

bins shift = {0};<br />

bins arith = {1};<br />

bins mem = {[4:5]};<br />

}<br />

opselect_cov_arith: coverpoint pkt_sent.opselect_gen {<br />

bins arith = {1};<br />

}<br />

opselect_cov_shift: coverpoint pkt_sent.opselect_gen {<br />

bins shift = {0};<br />

}<br />

arithm_opn_cov: coverpoint pkt_sent.operation_gen {<br />

bins arith_logic_ops = {[0:7]} iff(pkt_sent.opselect_gen==1);<br />

}<br />

shift_opn_cov: coverpoint pkt_sent.operation_gen {<br />

bins shift_ops = {[0:3]} iff(pkt_sent.opselect_gen==0);<br />

arith_cov2: cross src1_cov, src2_cov, opselect_cov_arith, arithm_opn_cov<br />

shift_cov2: cross src1_cov, src2_cov, opselect_cov_shift, shift_opn_cov<br />

}<br />

endgroup<br />

Figure 5.2 Points de couverture demandés<br />

Page 13 de 14

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

Saved successfully!

Ooh no, something went wrong!